a
    kº”hä` ã                   @   s  d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZmZmZmZ d dl m!Z!m"Z" d dl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z; d dl<m=Z=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZDmEZE d dlFmGZG d dlHmIZI d dlJmKZK d dlLmMZM d dlNmOZOmPZP d dlQmRZR d dlSmTZT d dlmUZUmVZV d dlWmXZXmYZY d dlZm[Z[ d dl\m]Z] d dl^m_Z_m`Z`maZa edƒ\ZbZcZded d!d"Zeed#d!d$\ZfZged%d!d&Zhed'd!d(Zied%d!d)Zjed'd!d*Zked+d!d,Zled-d!d.Zmed/d!d0Zned-d!d1Zoed/d!d2Zped3d!d4Zqed5d!d6Zred7d!d!d8Zsd9d:„ Ztd;d<„ Zud=d>„ Zvd?d@„ ZwdAdB„ ZxdCdD„ ZydEdF„ ZzdGdH„ Z{dIdJ„ Z|dKdL„ Z}dMdN„ Z~dOdP„ ZdQdR„ Z€dSdT„ ZdUdV„ Z‚dWdX„ ZƒdYdZ„ Z„d[d\„ Z…d]d^„ Z†e`d_d`„ ƒZ‡dadb„ Zˆdcdd„ Z‰dedf„ ZŠdgdh„ Z‹didj„ ZŒdkdl„ Ze_dmdn„ ƒZŽdodp„ Zdqdr„ Ze`dsdt„ ƒZ‘dudv„ Z’dwdx„ Z“dydz„ Z”d{d|„ Z•d}d~„ Z–dd€„ Z—dd‚„ Z˜dƒd„„ Z™d…d†„ Zšd‡dˆ„ Z›d‰dŠ„ Zœd‹dŒ„ ZddŽ„ Zždd„ ZŸd‘d’„ Z d“d”„ Z¡d•d–„ Z¢d—d˜„ Z£d™dš„ Z¤d›dœ„ Z¥ddž„ Z¦dŸd „ Z§d¡d¢„ Z¨d£d¤„ Z©d¥d¦„ Zªd§d¨„ Z«d©dª„ Z¬d«d¬„ Z­d­d®„ Z®d¯d°„ Z¯d±d²„ Z°d³d´„ Z±dµd¶„ Z²d·d¸„ Z³d¹dº„ Z´d»d¼„ Zµd½d¾„ Z¶d¿dÀ„ Z·e`dÁdÂ„ ƒZ¸e`dÃdÄ„ ƒZ¹e`dÅdÆ„ ƒZºdÇdÈ„ Z»dÉdÊ„ Z¼dËdÌ„ Z½dÍdÎ„ Z¾dÏdÐ„ Z¿dÑdÒ„ ZÀdÓdÔ„ ZÁdÕdÖ„ ZÂd×dØ„ ZÃdÙdÚ„ ZÄdÛdÜ„ ZÅdÝdÞ„ ZÆdßdà„ ZÇdádâ„ ZÈdãdä„ ZÉdådæ„ ZÊdçdè„ ZËdédê„ ZÌdëdì„ ZÍdídî„ ZÎdïdð„ ZÏdñdò„ ZÐdódô„ ZÑdõdö„ ZÒd÷dø„ ZÓdùdú„ ZÔdûdü„ ZÕdýdþ„ ZÖdÿd „ Z×dd„ ZØdd„ ZÙdS (  é    )ÚAccumBounds)ÚAdd)ÚLambdaÚdiff)ÚMod)ÚMul)ÚEÚFloatÚIÚRationalÚnanÚooÚpiÚzoo)ÚPow)ÚS)ÚSymbolÚsymbols)ÚargÚ	conjugateÚimÚre)ÚexpÚlog)ÚacothÚasinhÚatanhÚcoshÚcothÚsinhÚtanh)Úsqrt)ÚacosÚacotÚacscÚasecÚasinÚatanÚatan2ÚcosÚcotÚcscÚsecÚsinÚsincÚtan)ÚbesseljÚjn)Ú	Heaviside)ÚMatrix)ÚcancelÚgcd)Úlimit)ÚO)Úseries)ÚImageSet)Ú	FiniteSetÚInterval)Úsimplify)Ú	unchanged)ÚArgumentIndexErrorÚ	PoleError)ÚNeÚEq)Ú	Piecewise)ÚSetExpr)ÚXFAILÚslowÚraiseszx y zÚrT©Úrealzk m©ÚintegerÚp©ÚpositiveÚn©Únegative)Únonpositive©ZnonnegativeÚnz)ÚnonzeroÚep)Zextended_positiveÚen)Zextended_negative)Zextended_nonpositive)Zextended_nonnegativeÚenz)Zextended_nonzeroÚa)Ú	algebraicÚna)rU   rZ   c            	      C   s6  t dƒ\} }t ddd}tjtdƒks*J ‚ttƒtu s:J ‚ttƒtu sJJ ‚ttƒtddƒks`J ‚ttƒttƒ tddƒks~J ‚ttt ƒtt ks–J ‚tt t ƒt t ks²J ‚d	ttƒ t	j
u sÈJ ‚d	ttƒ t	j
u sÞJ ‚d	ttƒ tddƒksøJ ‚d
ttƒ tddƒksJ ‚td	ƒd	ks&J ‚t|t ƒtt|ƒ ksDJ ‚tt| ƒƒ| ksZJ ‚tt| ƒƒ| td| d  ƒ ks€J ‚tt| ƒƒtd| d  ƒks¢J ‚tt| ƒƒdtdd| d   ƒ|   ksÐJ ‚tt| ƒƒd|  ksêJ ‚tt| ƒƒtdd| d   ƒksJ ‚tt|| ƒƒ|t| d |d  ƒ ks<J ‚ttt ƒttƒt ksZJ ‚tt t ƒttƒ t ks|J ‚tdt ƒtdƒ t ksœJ ‚ttƒd	ks®J ‚tt ƒd	ksÂJ ‚tdt ƒd	ksØJ ‚tdt ƒd	ksîJ ‚tddd  t ƒd	ksJ ‚tddd  t ƒd	ks*J ‚ttd ƒdks@J ‚tt d ƒdksXJ ‚tttd
dƒ ƒdkstJ ‚tttddƒ ƒdksJ ‚t dddd}t ddd}tt| d ƒd|d t	j  ksÒJ ‚ttt d ƒjtksîJ ‚tt| d ƒd	ksJ ‚ttt ƒd	ksJ ‚ttt ƒ td¡ttt d ƒ td¡ksPJ ‚ttd ƒt	jtdƒ kspJ ‚tttddƒ ƒtddƒtdƒ ksšJ ‚ttd ƒt	jtdƒ ksºJ ‚tt d ƒtddƒtdƒ ksàJ ‚tttddƒ ƒt	jtdƒ ksJ ‚tttddƒ ƒtddƒtdƒ ks0J ‚ttd ƒt	jksHJ ‚tt d ƒtddƒksfJ ‚tttddƒ ƒtddƒksˆJ ‚tttddƒ ƒtddƒksªJ ‚tttdd
ƒ ƒtd
td
ƒ d ƒksÖJ ‚tttdd
ƒ ƒtd
td
ƒ d ƒksJ ‚tttdd
ƒ ƒtttdd
ƒ ƒks,J ‚tttdd
ƒ ƒtttdd
ƒ ƒksVJ ‚tttdd
ƒ ƒtttdd
ƒ ƒ ks‚J ‚tttdd
ƒ ƒtttdd
ƒ ƒ ks®J ‚tttdd
ƒ ƒtttdd
ƒ ƒ ksÚJ ‚ttd ƒtdtdƒ d ƒks J ‚ttd ƒtddƒtd
ƒd  ks(J ‚ttd ƒtdƒ d tdƒd  ksTJ ‚tttd
dƒ ƒtdƒd tdƒd  ks„J ‚tttddƒ ƒtdƒ d tdƒd  ks¶J ‚tttddƒ ƒtdƒd tdƒd  ksæJ ‚tttdd ƒ ƒttd  ƒks
J ‚tttd!d ƒ ƒttd  ƒ ks0J ‚tttd"d ƒ ƒttd  ƒ ksVJ ‚tttd#d ƒ ƒttd  ƒkszJ ‚t| t ƒt| ƒt ks˜J ‚ttt ƒd	ks®J ‚tdt t ƒd	ksÈJ ‚tdt t d ƒtdƒksêJ ‚tdt t tt  d ƒdtdt   tdƒ k	s$J ‚ttt t ƒttt ƒt k	sJJ ‚ttƒjdu 	s^J ‚td	dd$j	srJ ‚ttƒjd u 	s†J ‚ttƒjdu 	sšJ ‚t d%dd&}tt| ƒj	sºJ ‚t d'ddd(}t|ƒj!du 	sÜJ ‚t|ƒj!d u 	sðJ ‚t"tt#| ƒt$|ƒ ƒtƒdu 
sJ ‚t"tt#| ƒ t$|ƒ ƒtƒdu 
s:J ‚tt%t&d	dƒƒƒt%t't(| t| ƒƒt&d	dƒƒƒk
spJ ‚t)t*dd)ƒƒd*d+g D ]T}t*|d d ƒD ]<}|t | } t+t,t| ƒƒtt,| ƒƒ ƒ}|d,k 
sšJ ‚
qš
q†td	dd$j-du 
sôJ ‚ttt dd$j-du sJ ‚tt.dddd$dd$j-du s2J ‚d S )-Núx yÚzT©Z	imaginaryé   éÿÿÿÿéþÿÿÿé   r   é   é   é   éýÿÿÿé
   éI   é   ég   ÚneF©rK   ÚevenÚe©rm   é   é   éûÿÿÿé   éûÿÿé   éùÿÿÿéõÿÿÿéh   éi   éj   é˜ÿÿÿé–ÿÿÿ©ÚevaluateÚq©ÚrationalÚqn)r   rU   é   é<   éU   çê-™—q=)/r   r-   Únargsr:   r   r   r   r   r
   r   ÚZeror   r&   r'   r!   r"   r#   r$   r%   r(   r   r   ÚHalfÚkÚfuncÚsubsÚmrG   Úis_realÚis_algebraicrY   r[   r   Úis_rationalÚ
isinstancer   r   rC   r;   r9   r   ÚlistÚrangeÚabsÚfloatÚis_zeror   )	ÚxÚyr]   rk   rn   r   r‚   ÚdrO   © rš   úa/var/www/auris/lib/python3.9/site-packages/sympy/functions/elementary/tests/test_trigonometric.pyÚtest_sin3   sÂ    &".&," (2 * &&*"",,**,,,&(,020$&&$":&$& ÿrœ   c                  C   sÖ   dD ]Ì} t d|  | d ƒD ]´}|t |  }t|td  ƒt|ƒksRJ d|| f ƒ‚t|td  ƒt|ƒ ks|J d|| f ƒ‚t|ƒt|td  ƒks¤J d|| f ƒ‚t|ƒ t|td  ƒksJ d|| f ƒ‚qqd S )N)r_   rb   rp   rd   rc   re   rg   ru   é   é   é   é   é(   r„   éx   ra   rb   úfails for %d*pi/%d)r“   r   r-   r)   )r™   rO   r—   rš   rš   r›   Útest_sin_cos²   s    (*(r¤   c                   C   sN   t tƒ tdd¡ttd d  td d  td d  ttd ƒ ksJJ ‚d S )	Nr   é	   rp   re   rc   r¢   ri   i°  )r-   r—   r8   r7   rš   rš   rš   r›   Útest_sin_series¼   s    2ÿr¦   c                   C   s  t tƒ t¡t ttt ƒtt t ƒ  d ks6J ‚t tƒ t¡dttd ƒ dttd ƒd   kslJ ‚t tƒ t¡tdtt	tƒdƒtt
ttƒdƒ@ fdttd ƒ ttd ƒd d  dfƒksÊJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksNJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksÒJ ‚t t tƒƒ t¡ td¡ ¡ t tƒ t¡ tt dƒ¡ ¡ ksJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksVJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ks˜J ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksÚJ ‚t ttƒƒ t¡ttt   d ttt  d  ksJ ‚t tƒ t¡dttƒ ks4J ‚t tƒ t¡tttd  ddks\J ‚t tƒ t¡dtttd  dd ksˆJ ‚t ttƒƒ t¡t ttƒƒks¬J ‚t tƒ t¡ttt d ƒttjtƒ ksÜJ ‚t tƒ t¡ td¡t dƒks J ‚d S )Nrb   r_   r   Trp   Fr}   )r-   r—   Úrewriter   r
   r/   r*   rB   rA   r   r   r   r   rŒ   rO   r   r    r   r)   r   r   r+   r,   r0   r!   r   r‰   rš   rš   rš   r›   Útest_sin_rewriteÁ   sŒ    66"&ÿÿÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
: (,$0r¨   c                 C   sp   ddl m} t| |ƒsJ ‚|| |ƒƒ| |ƒks2J ‚|| t|dddƒƒ|ksPJ ‚t| |ƒ| ƒ ¡ dk slJ ‚d S )Nr   )Úexpand_trigr_   Fr}   ç»½×Ùß|Û=)Úsympy.core.functionr©   r=   r   r”   rO   )ÚfÚirn   r©   rš   rš   r›   Ú_test_extrigà   s
    r®   c                   C   s  t tt ƒjddt tƒttƒ ttƒt tƒ  ks8J ‚t tt ƒjddt tƒttƒ ttƒt tƒ  kspJ ‚t tt ƒjddttƒt tƒ t tƒttƒ  ks¨J ‚t dt ƒjdddt tƒ ttƒ ksÔJ ‚t dt ƒjdddt tƒd  dt tƒ  ks
J ‚t dt ƒjdddt tƒd  ttƒ dt tƒ ttƒ  ksPJ ‚t dt d ƒjddt dt d d	d
ks‚J ‚t ttd  ƒjddt td ƒttƒ ttd ƒt tƒ  ksÈJ ‚tt ddt dƒ tdƒ ƒ tt ddt dƒd  dt dƒ  ƒ d S )NT©Ztrigrb   rp   éüÿÿÿrd   éøÿÿÿrq   Fr}   r_   )r-   r—   r˜   Úexpandr)   r   r®   rš   rš   rš   r›   Útest_sin_expansionê   s    888,6F2Fr³   c                   C   s~  t tt tƒƒtddƒksJ ‚t tdtƒƒtddƒks:J ‚t tt dƒƒtddƒksXJ ‚t tddtj ƒƒtddƒkszJ ‚t tdtjtddƒ ƒƒtddƒks¢J ‚t ttjtddƒ tjtddƒ ƒƒtdt tjtddƒ ƒƒksæJ ‚t ttjd tjd ƒƒtt tjd ƒt tjd ƒƒks$J ‚t ttjtddƒ tjtdd	ƒ ƒƒtt tjtdd	ƒ ƒt tjtddƒ ƒƒkszJ ‚d S )
Nr`   r_   r   rb   rp   rd   ri   rc   re   )r-   r   r   r   ÚPir   rš   rš   rš   r›   Útest_sin_AccumBoundsù   s    "(D>rµ   c                   C   s*   t tƒ ¡ ttƒksJ ‚ttdd„ ƒ d S )Nc                   S   s   t tƒ d¡S ©Nrb   )r-   r—   Úfdiffrš   rš   rš   r›   Ú<lambda>  ó    z test_sin_fdiff.<locals>.<lambda>)r-   r—   r·   r)   rF   r>   rš   rš   rš   r›   Útest_sin_fdiff  s    rº   c                   C   s  t t ƒt tƒ ksJ ‚tt ƒttƒks.J ‚tt ƒttƒ ksFJ ‚tt ƒttƒ ks^J ‚t tt ƒt tƒ ksxJ ‚t tdt  ƒt tƒks”J ‚t tdt  ƒt tƒ ks²J ‚t tdt  ƒt tƒksÎJ ‚t tdt  ƒt tƒ ksìJ ‚ttt ƒttƒ ksJ ‚ttdt  ƒttƒks&J ‚ttdt  ƒttƒ ksFJ ‚ttdt  ƒttƒksdJ ‚ttdt  ƒttƒ ks„J ‚ttt ƒttƒksžJ ‚ttdt  ƒttƒks¼J ‚ttt ƒttƒksÖJ ‚ttdt  ƒttƒksôJ ‚t td t ƒttƒksJ ‚t ttddƒ t ƒttƒ ks8J ‚t ttddƒ t ƒttƒks\J ‚ttd t ƒt tƒkszJ ‚tttddƒ t ƒt tƒ ks J ‚tttddƒ t ƒt tƒksÄJ ‚ttd t ƒttƒksâJ ‚tttddƒ t ƒttƒksJ ‚tttddƒ t ƒttƒks*J ‚ttd t ƒttƒksHJ ‚tttddƒ t ƒttƒkslJ ‚tttddƒ t ƒttƒksJ ‚t td t ƒttƒks®J ‚ttd t ƒt tƒ ksÎJ ‚ttd t ƒttƒ ksîJ ‚ttd t ƒttƒ ksJ ‚d S )Nrb   rp   rd   rc   )r-   r—   r)   r/   r*   r   r   rš   rš   rš   r›   Útest_trig_symmetry	  sD      &$&$$$$$  r»   c                  C   s	  t dƒ\} }tjtdƒksJ ‚ttƒtu s.J ‚ttƒtddƒksDJ ‚ttƒttƒ tddƒksbJ ‚ttt ƒtu svJ ‚tt t ƒtu sŒJ ‚ttƒtu sœJ ‚tdƒdks¬J ‚tt	| ƒƒ| ksÀJ ‚tt
| ƒƒdtd| d  ƒ ksäJ ‚tt| ƒƒtd| d  ƒksJ ‚tt| ƒƒdtdd| d   ƒ ks0J ‚tt| ƒƒtdd| d   ƒksVJ ‚tt| ƒƒd|  kspJ ‚tt|| ƒƒ| t| d |d  ƒ ksœJ ‚ttt ƒttƒks¶J ‚tt t ƒttƒksÒJ ‚tdt ƒtdƒksìJ ‚ttd ƒdksJ ‚tt d ƒdksJ ‚ttd ƒdks0J ‚tt d ƒdksHJ ‚tddd	  d t d ƒdksnJ ‚td
dd  d t d ƒdks”J ‚t dddd}t ddd}tt| d ƒdksÈJ ‚tt| d ƒd|d  ksêJ ‚ttƒdksüJ ‚tt ƒdksJ ‚tdt ƒdks&J ‚tdt ƒdks<J ‚tdt ƒdksRJ ‚ttd ƒtjksjJ ‚tttddƒ ƒtddƒksŒJ ‚ttd ƒtjtdƒ ks¬J ‚tt d ƒtjtdƒ ksÎJ ‚tttddƒ ƒtddƒtdƒ ksøJ ‚tttddƒ ƒtddƒtdƒ ks"J ‚ttd ƒtjtdƒ ksBJ ‚tt d ƒtjtdƒ ksdJ ‚tttd
dƒ ƒtddƒtdƒ ksŽJ ‚tttddƒ ƒtddƒtdƒ ks¸J ‚tttddƒ ƒtdƒd d ksàJ ‚tttddƒ ƒtdƒd d ksJ ‚tttddƒ ƒtttddƒ ƒ ks4J ‚tttddƒ ƒtttddƒ ƒ ks`J ‚tttddƒ ƒtttddƒ ƒ ksŒJ ‚tttddƒ ƒtttddƒ ƒks¶J ‚tttddƒ ƒtttddƒ ƒ ksâJ ‚ttd ƒtdtdƒ d ƒksJ ‚ttd ƒtdƒd tdƒd  ks2J ‚tttddƒ ƒtdƒ d tdƒd  ksdJ ‚tttd
dƒ ƒtdƒd tdƒd  ks”J ‚tttddƒ ƒtdƒ d tdƒd  ksÆJ ‚tttddƒ ƒttd ƒ ksìJ ‚tttddƒ ƒttd ƒ ksJ ‚tttddƒ ƒttd ƒ ks8J ‚tttddƒ ƒttd ƒ ks^J ‚t| t ƒt| ƒksxJ ‚ttt t ƒttt ƒksšJ ‚ttƒjdu s®J ‚tddd jsÂJ ‚ttƒjd u sÖJ ‚ttƒjdu sêJ ‚td!dd"}tt| ƒjs
J ‚tttdd
ƒ ƒjs$J ‚ttt ƒdt ks>J ‚tdt t ƒdksXJ ‚tddd jdu spJ ‚ttddƒƒjdu sŠJ ‚ttddd dd jd u sªJ ‚ttdd#ƒƒd$d%g D ]T}td| d ƒD ]<}|t | } t t!t| ƒƒtt!| ƒƒ ƒ}|d&k sÔJ ‚qÔqÀd S )'Nr\   r_   r`   ra   rb   r   rf   rg   rh   ri   rj   rO   TFrl   rn   ro   rc   rs   rp   rd   é   re   rr   rt   ru   rx   ry   rz   r{   r|   r}   r   r€   rƒ   r„   r…   r†   )"r   r)   r‡   r:   r   r   r   r
   r   r"   r'   r!   r&   r#   r$   r%   r(   r   r   r   r‰   r   rŠ   rG   rŽ   r   rY   r[   r   r–   r’   r“   r”   r•   )r—   r˜   rO   rn   r   r™   rš   rš   r›   Útest_cos.  sž    $"*&,&&"" "** "**((,,,*,&*202&&&&" r½   c                  C   st   t ddƒ} ttttfD ]X}|| t ƒ|td ƒks6J ‚|dt ƒ|td ƒksRJ ‚|dt ƒ|dt ƒksJ ‚qd S )Nz!123456789012345678901234567890.25Ú rd   g     €@rs   gÍÌÌÌÌÌ@ghfffffæ?)r	   r-   r)   r/   r*   r   )ÚcÚclsrš   rš   r›   Útest_issue_6190—  s
    
rÁ   c                   C   sZ   t tƒ tdd¡dtd d  td d  td d  td	 d
  ttd ƒ ksVJ ‚d S )Nr   r¥   r_   rb   rd   rŸ   re   éÐ  rs   i€  )r)   r—   r8   r7   rš   rš   rš   r›   Útest_cos_seriesŸ  s    >ÿrÃ   c                	   C   s  t tƒ t¡ttt ƒd tt t ƒd  ks4J ‚t tƒ t¡dttd ƒd  dttd ƒd   ksnJ ‚t tƒ t¡tdtt	tƒdƒtt
tdt ƒdƒ@ fttd ƒd d ttd ƒd d  dfƒksÔJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksXJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksšJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksÜJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksJ ‚t t tƒƒ t¡ td¡ ¡ t tƒ t¡ tt dƒ¡ ¡ ks`J ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ks¢J ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksäJ ‚t ttƒƒ t¡tt d tt  d  ksJ ‚t tƒ t¡dttƒ ks6J ‚t tƒ t¡tttd  ddks^J ‚t tƒ t¡dtt td  dd ksŒJ ‚t ttƒƒ t¡t ttƒƒks°J ‚t tƒ t¡tttt d ƒttj tƒ ttdƒfdƒksòJ ‚t tƒ t¡ td¡t dƒksJ ‚d S )	Nrb   r_   r   Trp   Fr}   ©r_   T)r)   r—   r§   r   r
   r/   r*   rB   rA   r   r   r   r   rŒ   rO   r   r    r   r-   r   r   r,   r+   r0   r!   r   r‰   r@   rš   rš   rš   r›   Útest_cos_rewrite¤  s’    4:&*ÿÿÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
ÿÿÿ
2 (.$&þrÅ   c                   C   s  t tt ƒjddt tƒt tƒ ttƒttƒ  ks8J ‚t tt ƒjddt tƒt tƒ ttƒttƒ  kspJ ‚t tt ƒjddt tƒt tƒ ttƒttƒ  ks¨J ‚t dt ƒjdddt tƒd  d ksÔJ ‚t dt ƒjdddt tƒd  dt tƒ  ks
J ‚t dt ƒjdddt tƒd  dt tƒd   d ksHJ ‚t dt d ƒjddt dt d d	d
kszJ ‚t ttd  ƒjddt td ƒt tƒ ttd ƒttƒ  ksÀJ ‚tt ddt dƒd  d ƒ tt ddt dƒd  dt dƒ  ƒ d S )NTr¯   rb   r_   rp   rd   rs   rq   Fr}   )r)   r—   r˜   r²   r-   r   r®   rš   rš   rš   r›   Útest_cos_expansionÆ  s    888,6>2FrÆ   c                   C   sŒ  t tt tƒƒtddƒksJ ‚t tdtƒƒtddƒks:J ‚t tt dƒƒtddƒksXJ ‚t tddtj ƒƒtddƒkszJ ‚t ttj d tjd ƒƒtt tj d ƒdƒks°J ‚t ttjtddƒ tjtddƒ ƒƒtdt tjtddƒ ƒƒksôJ ‚t ttjtddƒ tjtddƒ ƒƒtt tjtddƒ ƒt tjtddƒ ƒƒksJJ ‚t ttjd tjd ƒƒtt tjd ƒt tjd ƒƒksˆJ ‚d S )Nr`   r_   r   rb   rp   rd   rc   )r)   r   r   r   r´   r   rš   rš   rš   r›   Útest_cos_AccumBoundsÓ  s    "6DVrÇ   c                   C   s,   t tƒ ¡ ttƒ ksJ ‚ttdd„ ƒ d S )Nc                   S   s   t tƒ d¡S r¶   )r)   r—   r·   rš   rš   rš   r›   r¸   à  r¹   z test_cos_fdiff.<locals>.<lambda>)r)   r—   r·   r-   rF   r>   rš   rš   rš   r›   Útest_cos_fdiffÞ  s    rÈ   c                  C   s
  t tƒtu sJ ‚t tƒtu s J ‚t tƒtt tƒks8J ‚t tƒt tƒ tt tƒksXJ ‚t jtdƒksjJ ‚t tt ƒtks~J ‚t t t ƒt ks–J ‚t dƒdks¦J ‚t tt	ƒƒt	ksºJ ‚t t
t	ƒƒt	tdt	d  ƒ ksÞJ ‚t tt	ƒƒtdt	d  ƒt	 ksJ ‚t tt	ƒƒdt	 ksJ ‚t tt	ƒƒdtddt	d   ƒt	  ksLJ ‚t tt	ƒƒtddt	d   ƒt	 ksvJ ‚t ttt	ƒƒtt	 ks’J ‚t tt ƒttƒt ks°J ‚t t t ƒttƒ t ksÒJ ‚t dt ƒtdƒ t ksòJ ‚t tƒdksJ ‚t t ƒdksJ ‚t dt ƒdks.J ‚t dt ƒdksDJ ‚t ddd  t ƒdksbJ ‚t td ƒtu sxJ ‚t ttddƒ ƒtu s”J ‚t td ƒtdƒks®J ‚t ttddƒ ƒtdƒksÎJ ‚t td	 ƒtju sæJ ‚t t d	 ƒtju s J ‚t ttd
d	ƒ ƒtju sJ ‚t ttdd	ƒ ƒtju s<J ‚t td ƒtddtdƒ  ƒksbJ ‚t ttddƒ ƒtddtdƒ  ƒksŽJ ‚t ttddƒ ƒtddtdƒ  ƒ ks¼J ‚t ttddƒ ƒtddtdƒ  ƒ ksêJ ‚t td ƒdtdƒ ksJ ‚t t d ƒdtdƒ ks(J ‚t ttddƒ ƒdtdƒ ksLJ ‚t ttddƒ ƒdtdƒ kspJ ‚t td ƒdtdƒ ksŽJ ‚t ttddƒ ƒdtdƒ ks²J ‚t ttddƒ ƒdtdƒ ksÖJ ‚t ttddƒ ƒdtdƒ ksúJ ‚t td ƒtddtdƒ d  ƒks$J ‚t ttddƒ ƒtddtdƒ d  ƒksTJ ‚t ttd
dƒ ƒtddtdƒ d  ƒ ks†J ‚t ttddƒ ƒtddtdƒ d  ƒ ks¸J ‚t td ƒtdƒ d ksØJ ‚t ttddƒ ƒtdƒd ksüJ ‚t ttddƒ ƒtdƒ d ks"J ‚t ttddƒ ƒtdƒd ksFJ ‚t td ƒ ¡ dtdƒ tdƒ tdƒ ksxJ ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ ks°J ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ ksèJ ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ ks J ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ ksXJ ‚t ttd
dƒ ƒ ¡ dtdƒ tdƒ tdƒ ksJ ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ ksÈJ ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ ks J ‚t t	t ƒtt	ƒt ksJ ‚t tt ƒdks4J ‚t d
t t ƒdksNJ ‚t tt t ƒttt ƒt kstJ ‚t tƒjd u sˆJ ‚t tƒjdu sœJ ‚t dddjs°J ‚t tƒjd u sÄJ ‚t tƒjdu sØJ ‚t ttddƒ ƒt ttddƒ ƒk	sJ ‚t ttddƒ ƒt ttddƒ ƒ k	s.J ‚t ttddƒ ƒt ttddƒ ƒk	sXJ ‚t ttddƒ ƒt td ƒk	s|J ‚t ttd dƒ ƒt td ƒ k	s¢J ‚t tƒj d u 	s¶J ‚t tt ƒj du 	sÎJ ‚t tt	tdƒd   ƒdt	  } |  !t	¡ddt t	d   k
sJ ‚d S )!Nr_   r   rb   ra   rf   rg   rh   rp   rd   rq   rc   é   éðÿÿÿre   r`   ri   rr   rs   iáÿÿÿru   r¼   rŸ   é   é   é   TFr}   rw   r   é   éñÿÿÿ)"r/   r   r   r   r   r‡   r:   r
   r'   r—   r&   r!   r"   r#   r$   r%   r(   r˜   r   r    r   r   ÚOneÚNegativeOneÚradsimprŠ   rG   rŽ   Úis_extended_realr   rY   r[   Ú	is_finiteÚas_leading_term©r¬   rš   rš   r›   Útest_tanã  sš     $&.*"  &,.. $$$$$*022 $&$28888888&*,*$& r×   c                   C   sV   t tƒ tdd¡ttd d  dtd  d  dtd  d	  ttd ƒ ksRJ ‚d S )
Nr   r¥   rp   rb   rc   r   rq   ri   i;  )r/   r—   r8   r7   rš   rš   rš   r›   Útest_tan_seriesK  s    :ÿrØ   c                  C   s<  t t t ƒt tt ƒ } }ttƒ t ¡t| |  | |  ksBJ ‚ttƒ t¡dttƒd  tdt ƒ kspJ ‚ttƒ t¡tttjd  ddttƒ ks J ‚ttƒ t	¡dt	tƒ ks¾J ‚tt
tƒƒ t ¡ td¡ ¡ ttƒ t ¡ tt
dƒ¡ ¡ ks J ‚tttƒƒ t ¡ td¡ ¡ ttƒ t ¡ ttdƒ¡ ¡ ksBJ ‚tttƒƒ t ¡ td¡ ¡ ttƒ t ¡ ttdƒ¡ ¡ ks„J ‚tttƒƒ t ¡ td¡ ¡ ttƒ t ¡ ttdƒ¡ ¡ ksÆJ ‚tttƒƒ t ¡ td¡ ¡ ttƒ t ¡ ttdƒ¡ ¡ ksJ ‚tttƒƒ t ¡ td¡ ¡ ttƒ t ¡ ttdƒ¡ ¡ ksJJ ‚tttƒƒ t ¡ td¡ ¡ ttƒ t ¡ ttdƒ¡ ¡ ksŒJ ‚tt	tƒƒ t ¡ td¡ ¡ ttƒ t ¡ tt	dƒ¡ ¡ ksÎJ ‚tttƒƒ t¡ttt  tt   tt  tt   ksJ ‚ttƒ t¡ttƒtttd  dd ks>J ‚ttƒ t¡tt td  ddttƒ kspJ ‚tttƒƒ t¡tttƒƒks”J ‚tttddƒ dd t¡ttdƒd tddƒ ƒtdd	ƒtdƒd	   ksæJ ‚ttƒ t¡ttjtƒttj tƒ ksJ ‚ttƒ t¡ td
¡td
ƒks8J ‚d S )Nrb   Fr}   r_   rp   rc   rs   r`   rd   r   )r   r—   r
   r/   r§   r-   r)   r   r´   r*   r   rŒ   rO   r   r    r   r   r   r,   r   r+   r   r!   r0   r‰   )Úneg_expÚpos_exprš   rš   r›   Útest_tan_rewriteP  s0    &.0BBBBBBBB@02$&ÿÿ.rÛ   c                   C   s
  dt td ƒttd ƒ ttd ƒ  t¡ks2J ‚dt td ƒttd ƒ ttd ƒ  t¡ksdJ ‚ttd ƒ t¡ttd ƒks†J ‚tttddƒ ƒ t¡tttddƒ ƒks´J ‚tttddƒ dd	 t¡ttdƒd tddƒ ƒtd
dƒtdƒd   ksJ ‚d S )Nr   é"   rq   rÌ   rs   rb   rc   Fr}   r`   rd   )r)   r   r/   r-   r§   Úpowr   r!   rš   rš   rš   r›   Útest_tan_rewrite_slowh  s    22".&ÿÿrÞ   c                   C   s~   t tƒ t tƒt¡tksJ ‚t tƒ tt¡t tƒks8J ‚t tƒ ttjd ¡tu sVJ ‚t tƒ ttjtddƒ ¡tu szJ ‚d S )Nrb   rp   )r/   r—   rŒ   r˜   r   r´   r   r   rš   rš   rš   r›   Útest_tan_subsr  s    rß   c                   C   s2  t tt ƒjddt tƒt tƒ dt tƒt tƒ    ¡ ks@J ‚t tt ƒjddt tƒt tƒ dt tƒt tƒ    ¡ ks€J ‚t tt t ƒjddt tƒt tƒ t tƒ t tƒt tƒ t tƒ  dt tƒt tƒ  t tƒt tƒ  t tƒt tƒ    ¡ ksJ ‚dt dt ƒjdd t ¡ t tƒtddƒfg¡d d ksHJ ‚dt dt ƒjdd t ¡ t tƒtdd	ƒfg¡d
 d ksŠJ ‚dt dt td  ƒjdd t ¡ t tƒtdd	ƒfg¡d d ksÔJ ‚t	t ddt dƒ dt dƒd   ƒ t	t dt dƒd  dt dƒ  ddt dƒd    ƒ d S )NTr¯   r_   r   rb   ri   rŸ   rp   rc   é7   é%   rd   éï   )
r/   r—   r˜   r²   r]   r§   rŒ   r   r   r®   rš   rš   rš   r›   Útest_tan_expansiony  s    @@.2ÿÿBBJ$rã   c                   C   s   t tt tƒƒtt tƒks J ‚t ttjd tjtddƒ ƒƒtt tƒksPJ ‚t ttjd tjd ƒƒtt tjd ƒt tjd ƒƒksŒJ ‚d S )Nrp   rb   re   )r/   r   r   r   r´   r   rš   rš   rš   r›   Útest_tan_AccumBounds†  s     0rä   c                   C   s2   t tƒ ¡ t tƒd d ks J ‚ttdd„ ƒ d S )Nrb   r_   c                   S   s   t tƒ d¡S r¶   )r/   r—   r·   rš   rš   rš   r›   r¸   Ž  r¹   z test_tan_fdiff.<locals>.<lambda>)r/   r—   r·   rF   r>   rš   rš   rš   r›   Útest_tan_fdiffŒ  s     rå   c                  C   sª  t tƒtu sJ ‚t jtdƒks"J ‚t tt ƒt ks8J ‚t t t ƒtksNJ ‚t tƒtu s^J ‚t dƒtu snJ ‚t dt ƒtu s‚J ‚t tt	ƒƒt	ks–J ‚t t
t	ƒƒdt	 ks®J ‚t tt	ƒƒtdt	d  ƒt	 ksÒJ ‚t tt	ƒƒt	tdt	d  ƒ ksöJ ‚t tt	ƒƒtddt	d   ƒt	 ks J ‚t tt	ƒƒdtddt	d   ƒt	  ksNJ ‚t ttt	ƒƒt	t ksjJ ‚t tt ƒttƒ t ksŠJ ‚t t t ƒttƒt ksªJ ‚t dt ƒtdƒt ksÈJ ‚t tƒt dt ƒ  krôt dt ƒksún J ‚t t ƒt dt ƒ  kr(t dt ƒks.n J ‚t td ƒdksDJ ‚t t d ƒdks\J ‚t ttddƒ ƒdksxJ ‚t ttddƒ ƒdks”J ‚t td ƒdtdƒ ks²J ‚t ttddƒ ƒdtdƒ ksÖJ ‚t td	 ƒtju sîJ ‚t t d	 ƒtju sJ ‚t ttd
d	ƒ ƒtju s&J ‚t ttdd	ƒ ƒtju sDJ ‚t td ƒtdƒks^J ‚t t d ƒtdƒ ks|J ‚t ttddƒ ƒtdƒksœJ ‚t ttddƒ ƒtdƒks¼J ‚t td ƒdtdƒ ksÚJ ‚t ttddƒ ƒdtdƒ ksþJ ‚t ttddƒ ƒdtdƒ ks"J ‚t ttddƒ ƒdtdƒ ksFJ ‚t td ƒtdƒd ksdJ ‚t ttddƒ ƒtdƒ d ksŠJ ‚t ttddƒ ƒtdƒd ks®J ‚t ttddƒ ƒtdƒ d ksÔJ ‚t td ƒ ¡ tdƒtdƒ d tdƒ ksJ ‚t ttddƒ ƒ ¡ tdƒ tdƒ d tdƒ ks@J ‚t ttddƒ ƒ ¡ tdƒ tdƒ d tdƒ kszJ ‚t ttddƒ ƒ ¡ tdƒtdƒ d tdƒ ks²J ‚t ttddƒ ƒ ¡ tdƒ tdƒ d tdƒ ksìJ ‚t ttd
dƒ ƒ ¡ tdƒtdƒ d tdƒ ks$J ‚t ttddƒ ƒ ¡ tdƒtdƒ d tdƒ ks\J ‚t ttddƒ ƒ ¡ tdƒ tdƒ d tdƒ ks–J ‚t t	t ƒtt	ƒ t ks¶J ‚t tt t ƒttt ƒ t ksÞJ ‚t tƒjd u sòJ ‚t tƒjdu sJ ‚t tƒjd u sJ ‚t tƒjdu s.J ‚t ttddƒ ƒt ttddƒ ƒksXJ ‚t ttddƒ ƒt ttddƒ ƒ ks„J ‚t ttddƒ ƒt ttddƒ ƒks®J ‚t ttddƒ ƒt ttddƒ ƒksØJ ‚t ttddƒ ƒt ttddƒ ƒ ksJ ‚t t	ƒjd u sJ ‚t tƒjd u s,J ‚t ddd} t | ƒjdu sLJ ‚t t	ƒ !t	dt ¡tu sjJ ‚t tt	d	  ƒdt	  }| "t	¡ddt t	d   ks¦J ‚d S )Nr_   r   rb   ra   rp   rf   rc   ri   rd   rq   re   rr   rs   r`   ru   r¼   rŸ   rË   rÌ   rÍ   TFrg   rw   é'   rÜ   i×ÿÿÿr­   r^   )#r*   r   r‡   r:   r   r
   r   r   r#   r—   r'   r&   r!   r"   r$   r%   r(   r˜   r   r   r   rÐ   rÑ   rÒ   rŠ   rG   rŽ   rÓ   rY   r   r[   rÔ   r   rŒ   rÕ   )r­   r¬   rš   rš   r›   Útest_cot‘  s†    $$*.  24$  $$$&$&2::8:88: (*,**,rç   c                   C   s˜   t tttddƒ ƒtttddƒ ƒ tttddƒ ƒ d  ¡ ƒdk sJJ ‚t tttddƒ ƒtttddƒ ƒ tttddƒ ƒ d  ¡ ƒdk s”J ‚d S )Nrs   r   r_   g›+¡†›„=rd   )r”   r/   r   r   r)   r-   Úevalfr*   rš   rš   rš   r›   Útest_tan_cot_sin_cos_evalfì  s    Jré   c                   C   sˆ   dt ttddƒ ƒtttddƒ ƒ tttddƒ ƒ  ¡ ksBJ ‚dtttddƒ ƒtttddƒ ƒ tttddƒ ƒ  ¡ ks„J ‚d S )Nr_   rs   r   rd   )r/   r   r   r)   r-   Úratsimpr*   rš   rš   rš   r›   Útest_tan_cot_sin_cos_ratsimpð  s    Brë   c                   C   sP  t tƒ tdd¡dt td  td d  dtd  d  td	 d
  ttd ƒ ksZJ ‚t td td  ƒ tdd¡td dtd   td  dt  d ttƒ ks¬J ‚t tdt  ƒ tdd¡dtt  tt d  ttd ƒ ksîJ ‚t tƒ dt¡dt ksJ ‚t tƒ dt¡tju s(J ‚t tƒ dt¡td  d ksLJ ‚d S )Nr   r¥   r_   rp   é-   rb   rc   i±  ri   iu  rd   r°   ra   r`   )r*   r—   r8   r7   r   Útaylor_termr   rˆ   rš   rš   rš   r›   Útest_cot_seriesö  s    Bÿ.ÿBrî   c                  C   sl  t t t ƒt tt ƒ } }ttƒ t ¡t||   ||   ksBJ ‚ttƒ t¡tdt ƒdttƒd   kspJ ‚ttƒ t¡ttƒtttd  dd ksžJ ‚ttƒ t¡dttƒ ks¼J ‚dd„ }|t	ƒ |t
ƒ |tƒ |tƒ |tƒ |tƒ |tƒ tttƒƒ t¡t tt  tt   tt  tt   ks>J ‚ttƒ t¡tttd  ddttƒ ksnJ ‚ttƒ t¡ttƒtt td  dd ks J ‚tttƒƒ t¡tttƒƒksÄJ ‚tttddƒ dd t¡tdd	ƒtdƒd	  ttdƒd
 tdd
ƒ ƒ ksJ ‚ttƒ t¡ttj tƒttjtƒ ksDJ ‚ttƒ t¡ td¡tdƒkshJ ‚d S )Nrb   Fr}   r_   c                 S   sF   t | tƒƒ t¡t tƒ t¡ t| tƒ¡ }| t¡ ¡ dksBJ ‚d S ©Nr   )r*   r—   r§   r   rŒ   r²   )r‹   r]   rš   rš   r›   Úcheck  s    ,ztest_cot_rewrite.<locals>.checkrc   r`   rd   rs   r   )r   r—   r
   r*   r§   r-   r)   r   r/   r   r   r    r   r   r   r,   r+   r   r!   r0   r   r‰   rŒ   )rÙ   rÚ   rð   rš   rš   r›   Útest_cot_rewrite  s,    &..B02$.ÿ.rñ   c                   C   s.  t ttddƒ ƒ t¡ ¡ tttddƒ ƒtttddƒ ƒ  t¡ ¡ ksNJ ‚t ttddƒ ƒ t¡tttddƒ ƒtttddƒ ƒ  t¡ks”J ‚t td ƒ t¡t td ƒks¶J ‚t td ƒ t¡t td ƒksØJ ‚t ttddƒ dd t¡td	dƒtdƒd  ttdƒd
 tdd
ƒ ƒ ks*J ‚d S )Nrd   rÜ   rq   rÌ   rb   rc   Fr}   r`   rs   )	r*   r   r   r§   rÝ   rê   r)   r-   r!   rš   rš   rš   r›   Útest_cot_rewrite_slow  s    ,ÿ(ÿ"".ÿrò   c                   C   sn   t tƒ t tƒt¡tksJ ‚t tƒ tt¡t tƒks8J ‚t tƒ td¡tu sPJ ‚t tƒ ttj¡tu sjJ ‚d S rï   )r*   r—   rŒ   r˜   r   r   r´   rš   rš   rš   r›   Útest_cot_subs(  s    ró   c                   C   sÐ  t tt ƒjdd ¡ t tƒt tƒ d t tƒt tƒ  ks@J ‚t tt ƒjdd ¡ t tƒt t ƒ d t tƒt t ƒ  ks„J ‚t tt t ƒjdd ¡ t tƒt tƒ t tƒ t tƒ t tƒ t tƒ dt tƒt tƒ  t tƒt tƒ  t tƒt tƒ   ks
J ‚t dt ƒjdd ¡ t tƒd d t tƒ dt tƒd  d  ksTJ ‚t dt ƒjddt tƒd ddt tƒ   ksŠJ ‚t dt ƒjdd ¡ t tƒd d t tƒ dt tƒd  d  ksÔJ ‚t dt td  ƒjdd ¡ ttƒd  dttƒd   dttƒd   dttƒ  d ttƒd dttƒd   dttƒd   dttƒ  d  kstJ ‚t	t ddt dƒd  dt dƒ  ƒ t	t dd	t dƒ t dƒd  ddt dƒd    ƒ d S )
NTr¯   r_   r`   rp   rb   rd   re   rf   )
r*   r—   r˜   r²   Ztogetherr]   r   r4   r/   r®   rš   rš   rš   r›   Útest_cot_expansion/  s4    "ÿ$ÿ
.2ÿÿ
*ÿ
6ÿÿ<:þ$rô   c                   C   sŒ   t tt tƒƒtt tƒks J ‚t ttj d tjd ƒƒtt tƒksLJ ‚t ttjd tjd ƒƒtt tjd ƒt tjd ƒƒksˆJ ‚d S )Nrp   re   )r*   r   r   r   r´   rš   rš   rš   r›   Útest_cot_AccumBoundsC  s     ,rõ   c                   C   s4   t tƒ ¡ t tƒd  d ks"J ‚ttdd„ ƒ d S )Nrb   r_   c                   S   s   t tƒ d¡S r¶   )r*   r—   r·   rš   rš   rš   r›   r¸   K  r¹   z test_cot_fdiff.<locals>.<lambda>)r*   r—   r·   rF   r>   rš   rš   rš   r›   Útest_cot_fdiffI  s    "rö   c                  C   sÜ  t ttƒtƒsJ ‚tddd} t| ƒtju s0J ‚ttjƒtju sDJ ‚ttjƒtju sXJ ‚ttj	ƒtj	u slJ ‚ttj
ƒtj	u s€J ‚tdddd}t|t ƒtju s¤J ‚t| t ƒtju s¼J ‚ttd ƒdt ksÔJ ‚tt d ƒdt ksîJ ‚tttddƒ ƒddt  ksJ ‚tttddƒ ƒd	dt  ks6J ‚tt ƒttƒksNJ ‚ttƒ t¡ttƒt ttƒtd   ks~J ‚ttƒ t¡ttƒt  t¡ks¤J ‚ttƒ tt¡ttƒ dttƒ t  dttƒ td   t ksìJ ‚ttƒ tt¡ttƒt  tt¡ksJ ‚tttƒ t¡td
ƒd
ks6J ‚tttƒ tt¡td
ƒtdƒ d ksbJ ‚ttƒ ¡ dtd d  td d  ttd ƒ ksœJ ‚ttƒ t¡td
tƒksºJ ‚ttƒ t¡tttƒt ttd
ƒfdƒksêJ ‚ttddjdu sJ ‚td
ddjdu sJ ‚t|t ddjdu s6J ‚ttƒjd u sJJ ‚tdddd}ttƒjd u slJ ‚t|ƒjdu s€J ‚tt| ƒjdu s˜J ‚ttd ƒjdu s°J ‚ttƒjd u sÄJ ‚t|ƒjdu sØJ ‚d S )NÚsT©ZzerorO   )rK   rU   rb   rc   ri   ra   r   r_   rp   re   rd   r¢   rÄ   Fr}   Úxr)rI   rU   éd   )r‘   r.   r—   r   r   rÐ   ÚInfinityrˆ   ÚNegativeInfinityÚNaNZComplexInfinityr   r   r   r)   r-   r6   r8   r7   r§   r1   rB   r@   r–   rŽ   r
   rÔ   )r÷   rO   rù   rš   rš   r›   Ú	test_sincN  sF    $$0&H* ,
:0rþ   c                  C   s  t tƒtu sJ ‚t jtdƒks"J ‚t tƒt t ks8J ‚t t ƒtt ksNJ ‚t tƒtu s^J ‚t dƒdksnJ ‚t dƒtd ks‚J ‚t dƒt d ks˜J ‚t tdƒd ƒtd ks´J ‚t tdƒ d ƒt d ksÔJ ‚t tdƒd ƒtd ksðJ ‚t tdƒ d ƒt d ksJ ‚t tdtdƒ d ƒƒtd ks8J ‚t tdtdƒ d ƒ ƒt d ksbJ ‚t t	j
ƒtd	 kszJ ‚t tddƒƒt d	 ks˜J ‚t tdtdƒ ƒd ƒtd ks¾J ‚t tdtdƒ ƒ d ƒt d ksèJ ‚t tdƒd d ƒtd
 ks
J ‚t tdƒd  d ƒt d
 ks0J ‚t tdƒd tdƒ ƒtd ksVJ ‚t tdƒd  tdƒ ƒt d ks€J ‚dD ]\} t| d  | d d ƒD ]<}t|| ƒdkr t t|t |  ƒƒ|t |  ks J ‚q q„t tƒ t¡dtdtd  ƒ ks
J ‚t dddjdu s"J ‚t dƒjdu s6J ‚t tƒjd u sJJ ‚t dt ƒt tdƒ ksjJ ‚t tddƒddjdu sˆJ ‚t tddƒddjdu s¦J ‚t tƒjd u sºJ ‚t ttddƒƒƒtddƒt ksàJ ‚t ttddƒƒƒtddƒt ksJ ‚tt ttƒƒsJ ‚d S )Nr_   r   rb   r`   rp   rd   rc   rs   re   rg   ru   ©rc   re   rs   rg   ru   çš™™™™™É?Fr}   Tra   ri   rv   )r&   r   r‡   r:   r   r
   r   r   r!   r   r‰   r   r“   r5   r-   r—   r   rŽ   rG   r   Úis_positiverL   r=   r)   )r™   rO   rš   rš   r›   Ú	test_asin‚  sJ     "&*&*"&&*.( &&r  c                  C   s¦   t tƒ tdd¡ttd d  dtd  d  dtd  d  ttd ƒ ksRJ ‚t tƒ dt¡} | dtd  d kszJ ‚t tƒ dt| d¡dtd  d ks¢J ‚d S )	Nr   r¥   rp   re   rc   r¡   ri   ép   )r&   r—   r8   r7   rí   ©Zt5rš   rš   r›   Útest_asin_series³  s    :ÿr  c                   C   s  t tƒ t¡tksJ ‚t td ƒ t¡td ks4J ‚t td ƒ t¡t d ksTJ ‚t dt ƒjtddtttƒ td  ttdƒ  ksŽJ ‚t dt ƒjtddt ttƒ dt d  ttdƒ  ksÎJ ‚t tt d ƒjtddtt dƒ ksøJ ‚t t t d ƒjtddt dƒks"J ‚t tt d ƒjtddt dƒ ksLJ ‚t t t d ƒjtddt t dƒ ks|J ‚t t td  t d ƒjtddt d ttdtdƒ ƒ  ksÄJ ‚t t td  t d ƒjtddt d ttdtdƒ ƒ  ksJ ‚d S )Nr_   rb   ©Úcdirr`   rp   )r&   r—   rÕ   r   r
   r   r!   rš   rš   rš   r›   Útest_asin_leading_term»  s     :@***0Hr  c                	   C   s
  t tƒ t¡t ttt tdtd  ƒ ƒ ks4J ‚t tƒ t¡dttdtdtd  ƒ  ƒ ksfJ ‚t tƒ t¡tj	d ttƒ ksŠJ ‚t tƒ t
¡dt
ttd  d ƒd t ƒ ks¾J ‚t tƒ t¡tdt ƒ td  ksæJ ‚t tƒ t¡tdt ƒksJ ‚d S )Nr_   rb   )r&   r—   r§   r   r
   r!   r'   r"   r   r´   r#   r%   r   r$   rš   rš   rš   r›   Útest_asin_rewriteÌ  s    42$4(r	  c                   C   s6   t tƒ ¡ dtdtd  ƒ ks$J ‚ttdd„ ƒ d S )Nr_   rb   c                   S   s   t tƒ d¡S r¶   )r&   r—   r·   rš   rš   rš   r›   r¸   ×  r¹   z!test_asin_fdiff.<locals>.<lambda>)r&   r—   r·   r!   rF   r>   rš   rš   rš   r›   Útest_asin_fdiffÕ  s    $r
  c                  C   sÒ  t tƒtu sJ ‚t tƒtu s J ‚t jtdƒks2J ‚t tƒtt ksFJ ‚t t ƒt t ks^J ‚t dƒtd ksrJ ‚t tj	ƒtd ksˆJ ‚t t
ddƒƒtt
ddƒ ks¨J ‚t dƒdks¸J ‚t dƒtksÈJ ‚t tdƒd ƒtd ksäJ ‚t tdƒ d ƒtt
ddƒ ks
J ‚tddƒD ]è} t| ƒD ]Ø}t|| ƒdkr t t|t |  ƒƒ|t |  ksZJ ‚t t|t |  ƒ ƒt|t |   ks†J ‚t t|t |  ƒƒtd tt|t |  ƒƒ ks¼J ‚t t|t |  ƒ ƒtd tt|t |  ƒ ƒ ks J ‚q qt dt ƒtd tdt ƒ ks$J ‚t tƒ t¡dtdtd  ƒ ksLJ ‚t d	ƒjd
u s`J ‚t dƒjdu stJ ‚t tƒjd u sˆJ ‚t t
ddƒddjd
u s¦J ‚t t
ddƒddjd
u sÄJ ‚t t
ddƒddjdu sâJ ‚t tƒjd u söJ ‚t dt ƒ ¡ t dt ƒksJ ‚t dt ƒ ¡ t dt ƒks:J ‚t t
ddƒƒ ¡ t t
ddƒƒks`J ‚t t
ddƒƒ ¡ t t
ddƒƒks†J ‚t ttt  ƒ ¡ t ttt  ƒks°J ‚t tƒ ¡ t ttƒƒksÎJ ‚d S )Nr_   r   rb   rp   r`   rd   rc   rË   r   Tra   Fri   r}   rg   rf   )r"   r   r   r‡   r:   r   r
   r   r   r‰   r   r!   r“   r5   r)   r-   r&   r—   r   rŽ   rG   r  rL   r   rO   r]   )r™   Únumrš   rš   r›   Ú	test_acosÚ  sD     &&,6B&(""&&*r  c                   C   sþ  t tƒ t¡td ksJ ‚t td ƒ t¡tdƒtt ƒ ksBJ ‚t td ƒ t¡tks\J ‚t dt ƒjtddt ttƒ ttdƒ  ksJ ‚t dt ƒjtddtttƒ dt  ttdƒ  ksÊJ ‚t tt d ƒjtddt dƒ ksòJ ‚t t t d ƒjtddt dƒksJ ‚t tt d ƒjtddt dƒksDJ ‚t t t d ƒjtdddt t dƒ ksvJ ‚t t td  t d ƒjtddttttdƒd ƒ  ks¸J ‚t t td  t d ƒjtddttttdƒd ƒ  ksúJ ‚d S )Nrb   r_   r  r`   ra   rp   )r"   r—   rÕ   r   r!   r
   r   rš   rš   rš   r›   Útest_acos_leading_term	  s    (4:(*(2Br  c                  C   s  t tƒ tdd¡td t td d  dtd  d  dtd  d	  ttd ƒ ksZJ ‚t tƒ tdd¡td ttƒ tdd¡ ksŠJ ‚t tƒ dt¡} | d
td  d ks²J ‚t tƒ dt| d¡dtd  d	 ksÚJ ‚t tƒ dt¡td ksöJ ‚t tƒ dt¡tju sJ ‚d S )Nr   rs   rb   rp   re   rc   r¡   ri   r  rf   rr   )	r"   r—   r8   r   r7   r&   rí   r   rˆ   r  rš   rš   r›   Útest_acos_series  s    Bÿ0(r  c                	   C   sn  t tƒ t¡td tttt tdtd  ƒ ƒ  ks:J ‚t tƒ t¡tt ttd ƒ d  d ttdtd  ƒt ƒ ks‚J ‚t dƒ t¡tj	d ksžJ ‚t dƒ t¡t dƒ t¡ks¾J ‚t tƒ t
¡tj	d t
tƒ ksâJ ‚t tƒ t¡dtttd  d ƒd t ƒ td  ks J ‚t tƒ t¡tdt ƒks@J ‚t tƒ t¡tdt ƒ td  ksjJ ‚d S )Nrb   r_   ra   r   ç      à?)r"   r—   r§   r   r   r
   r!   r'   r   r´   r&   r#   r%   r$   rš   rš   rš   r›   Útest_acos_rewrite%  s    :H $> r  c                   C   s6   t tƒ ¡ dtdtd  ƒ ks$J ‚ttdd„ ƒ d S )Nr`   r_   rb   c                   S   s   t tƒ d¡S r¶   )r"   r—   r·   rš   rš   rš   r›   r¸   2  r¹   z!test_acos_fdiff.<locals>.<lambda>)r"   r—   r·   r!   rF   r>   rš   rš   rš   r›   Útest_acos_fdiff0  s    $r  c                  C   sh  t tƒtu sJ ‚t jtdƒks"J ‚t tƒtd ks6J ‚t t ƒt d ksNJ ‚t tƒtt d td ƒksnJ ‚t dƒdks~J ‚t dƒtd ks’J ‚t tdƒƒtd ksªJ ‚t dtdƒ  ƒtt	ddƒ ksÎJ ‚t tddtdƒ  ƒƒtd ksòJ ‚t tddtdƒ d  ƒ ƒt d	 ks J ‚t tddtdƒ d  ƒƒtt	dd	ƒ ksPJ ‚t d
tdƒ ƒt d kspJ ‚t dtdƒ ƒtt	ddƒ ks”J ‚t d
tdƒ ƒtt	ddƒ ks¸J ‚dD ]\} t
| d  | d d ƒD ]<}t|| ƒdkrØt t|t |  ƒƒ|t |  ksØJ ‚qØq¼t tƒtd ks0J ‚t tƒ t¡ddtd   ksTJ ‚t tƒjdu shJ ‚t d
t ƒt tdƒ ksˆJ ‚tt ttƒƒsœJ ‚t tt	ddƒƒƒt	ddƒtd  ksÆJ ‚tt	ddƒƒjdu sàJ ‚ttttttttttt fD ]f}|js|j!d u r„|j"t |ƒj"u s*J ‚|j#t |ƒj#u s@J ‚|j$t |ƒj$u sVJ ‚|j%t |ƒj%u slJ ‚|j&t |ƒj&u sòJ ‚nn|j't |ƒj"u sšJ ‚|j(t |ƒj#u s°J ‚|j)t |ƒj$u sÆJ ‚|j*t |ƒj%u sÜJ ‚|j+t |ƒj&u sòJ ‚|j't |ƒj'u sJ ‚|j(t |ƒj(u sJ ‚|j)t |ƒj)u s4J ‚|j*t |ƒj*u sJJ ‚|j+t |ƒj+u súJ ‚qúd S )Nr_   rb   r   rd   rp   rf   rs   rc   rg   ra   ru   rr   rÿ   Tr`   F),r'   r   r‡   r:   r   r   r   r   r!   r   r“   r5   r/   r—   r   rG   rŽ   r
   r   r=   r*   r#   r   rL   rO   ÚnpÚnnrT   rV   rW   ÚenpÚennrX   rÓ   Z
is_nonzeror  Úis_negativeZis_nonpositiveÚis_nonnegativeZis_extended_nonzeroZis_extended_positiveZis_extended_negativeZis_extended_nonpositiveZis_extended_nonnegative)r™   r  r÷   rš   rš   r›   Ú	test_atan5  sV     $$.0 $$.$ * r  c                   C   s¼  t tƒ t¡ttdtt  ƒtdtt  ƒ  d ks:J ‚t tƒ t¡tdttd d ƒ ƒ td  ttd ƒ t ks~J ‚t tƒ t¡ttd ƒtdttd d ƒ ƒ t ks¸J ‚t tƒ t	¡t	dt ƒksÖJ ‚t tƒ t
¡ttd ƒt
ttd d ƒƒ t ksJ ‚t tƒ t¡tttd d ƒƒ td  ttd ƒ t ksPJ ‚t dt ƒ ¡ t tƒ t¡jtdt idks„J ‚t dt ƒ ¡ t tƒ t¡jtdt idks¸J ‚d S )Nr_   rb   rr   ©rŒ   rc   )r'   r—   r§   r   r
   r&   r!   r   r"   r#   r%   r$   rè   rš   rš   rš   r›   Útest_atan_rewritel  s    :D:8B4r  c                   C   s2   t tƒ ¡ dtd d  ks J ‚ttdd„ ƒ d S )Nr_   rb   c                   S   s   t tƒ d¡S r¶   )r'   r—   r·   rš   rš   rš   r›   r¸   z  r¹   z!test_atan_fdiff.<locals>.<lambda>)r'   r—   r·   rF   r>   rš   rš   rš   r›   Útest_atan_fdiffx  s     r  c                   C   s¼  t tƒ t¡tksJ ‚t dt ƒjtddtd ks8J ‚t dt ƒjtddt d ks\J ‚t tt ƒjtddt ttƒ d td  ttdƒ d  ks J ‚t tt ƒjtddt ttƒ d dt d  ttdƒ d  ksèJ ‚t tt ƒjtddtttƒ d td  ttdƒ d  ks,J ‚t tt ƒjtddtttƒ d td  ttdƒ d  kspJ ‚t tdt  ƒjtddttdƒ ksœJ ‚t tdt  ƒjtddt ttdƒ  ksÎJ ‚t tdt  ƒjtddtttdƒ  ksþJ ‚t tdt  ƒjtddt tdƒ ks,J ‚t dt tt  td  ƒjtddt d ttdƒ d  ksrJ ‚t dt tt  td  ƒjtddt d ttdƒ d  ks¸J ‚d S )Nr_   r  rb   r`   rd   rp   )r'   r—   rÕ   r   r
   r   r   rš   rš   rš   r›   Útest_atan_leading_term}  s    "$DHDD,20.Fr  c            	   
      s¾  t jtdƒksJ ‚t ddƒtju s&J ‚t ddƒdks8J ‚t ddƒtd ksNJ ‚t ddƒtd ksdJ ‚t ddƒttddƒ ks€J ‚t ddƒtks’J ‚t ddƒttddƒ ks®J ‚t ddƒt d ksÆJ ‚t ddƒt d ksÞJ ‚tdd	d
} tdd	d}t || ƒ}t t	| t|  t
| d |d  ƒ ƒ }|df| tff}| |¡| |¡ksTJ ‚tdd	d‰ tdd	d‰t ˆˆ ƒtˆˆ  ƒt ksŒJ ‚tdd	d‰t ˆˆ ƒtˆˆ  ƒt ks¸J ‚tdƒ‰t ˆˆ ƒt ˆˆ ddksÞJ ‚tdd	d}t d|ƒdksþJ ‚tdd	d}t d|ƒtksJ ‚t ˆtƒdks2J ‚t ˆt ƒdt ttˆƒtjƒ t ks`J ‚t ˆˆ ƒ t	¡t t	ˆ tˆ  t
ˆ d ˆd  ƒ ƒ ks J ‚t ddƒtju s¶J ‚t ˆˆ ƒtˆ tˆ  ƒ }| ˆ dˆdi¡ t¡dksòJ ‚| ˆ dˆdt i¡ t¡t tt	t
dƒt d ƒ  ks2J ‚| ˆ dt ˆdi¡ t¡t d tt	t
dƒt ƒ  ksrJ ‚| ˆ dt ˆdt i¡ t¡t ttddƒƒ ttddƒƒ ksºJ ‚tdd	d
} tdd	d}t | |ƒ}| t¡}| t|di}|t t	tt|  | ƒt
t| d |d  ƒƒ ƒ tt|  | t
| d |d  ƒ ƒ ksRJ ‚||  |¡ d¡slJ ‚t dˆ ƒ t¡tttˆ ƒdk fdtˆ dƒftd	fƒks¨J ‚t d|ƒ t¡tt|dk fdt|dƒftjd	fƒksâJ ‚t d| ƒsþJ |tƒdkƒ‚t d||  ƒ t¡tt|dk fdƒks*J ‚t ˆˆ ƒ t¡tdtˆˆ t
ˆ d ˆd  ƒ  ƒ tˆdƒfttˆ ƒdk fdtˆ ƒdkttˆ ƒdƒB ftd	fƒks¢J ‚tt ˆ ˆƒƒt tˆ ƒtˆƒƒksÈJ ‚tt ˆˆ ƒˆ ƒˆ ˆ d ˆd   ksôJ ‚tt ˆˆ ƒˆƒˆ ˆ d ˆd   ksJ ‚ttt ˆˆ ƒ t	¡ˆ ƒƒˆ ˆ d ˆd   ksTJ ‚ttt ˆˆ ƒ t	¡ˆƒƒˆ ˆ d ˆd   ksˆJ ‚tt ddƒ d¡ƒdks¦J ‚tt ‡ ‡fdd„ƒ d S )Nrb   r   r_   rd   r`   rp   rf   r­   Tr^   rG   rH   r—   rP   r˜   rS   Fr}   ÚurM   rc   ra   )r   Tz0.46365c                      s   t ˆ ˆƒ d¡S )Nrp   )r(   r·   rš   ©r—   r˜   rš   r›   r¸   ×  r¹   ztest_atan2.<locals>.<lambda>)!r(   r‡   r:   r   rý   r   r   r   r
   r   r!   rŒ   r   r'   r   r2   r   r‰   r§   r   r”   ÚequalsrB   r@   r   r   r   r   r<   Ústrrè   rF   r>   )	r­   rG   ÚeqZansZrepsr  Úexrn   r§   rš   r  r›   Ú
test_atan2  s~    
*  .@"@@H

`þ:,,ü&,*64r#  c                  C   sB   G dd„ dt ƒ} | dƒ}| dƒ}tt||ƒ ¡ d ƒdks>J ‚d S )Nc                   @   s   e Zd ZdZdd„ ZdS )ztest_issue_17461.<locals>.ATc                 S   s   t dƒS )Ng      @)r	   )ÚselfÚprecrš   rš   r›   Ú_eval_evalfÝ  s    z'test_issue_17461.<locals>.A._eval_evalfN)Ú__name__Ú
__module__Ú__qualname__rÓ   r&  rš   rš   rš   r›   ÚAÚ  s   r*  ÚXÚYg-DTû!é?rª   )r   r”   r(   rè   )r*  r—   r˜   rš   rš   r›   Útest_issue_17461Ù  s    r-  c                   C   s(  t tƒtu sJ ‚t jtdƒks"J ‚t t ƒdks4J ‚t tƒdksDJ ‚t tƒdksTJ ‚t dƒtd kshJ ‚t dƒtd ks|J ‚t tdƒd ƒtd ks˜J ‚t dtdƒ ƒtd ks´J ‚t dtdƒ ƒt d ksÒJ ‚t tƒ 	t¡ddtd   ksôJ ‚t t
ƒjdu sJ ‚t tt ƒt ttƒ ks(J ‚t dt ƒttdƒ ksFJ ‚t tƒjd u sZJ ‚t tƒjd	u snJ ‚t tƒjdu s‚J ‚t tƒjd	u s–J ‚t tddƒƒjd	u s°J ‚tt ttƒƒsÄJ ‚tt ttƒƒsØJ ‚t ttddƒƒƒtddƒksúJ ‚t ttddƒƒƒtddƒtd  ks$J ‚d S )
Nr_   r   rd   rb   rp   r`   Tra   F)r#   r   r‡   r:   r   r   r   r!   r—   r   rG   rÓ   r
   r   r  rO   rL   r   r   r=   r*   r/   rš   rš   rš   r›   Ú	test_acotä  s.    " "r.  c                   C   sè  t tƒ t¡ttdtt  ƒtdtt  ƒ  d ks:J ‚t tƒ t¡ttttd  ƒttd  d ƒ ƒ td   ttd ƒ ksŠJ ‚t tƒ t¡tttd ƒ tttd  ƒttd  d ƒ ƒ ksÐJ ‚t tƒ t	¡t	dt ƒksîJ ‚t tƒ t
¡tttd ƒ t
ttd d td  ƒƒ ks.J ‚t tƒ t¡ttttd d td  ƒƒ td   ttd ƒ ksxJ ‚t t d ƒ ¡ t tƒ t¡jtt d idks°J ‚t td ƒ ¡ t tƒ t¡jttd idksäJ ‚d S )Nr_   rb   ra   rc   r  )r#   r—   r§   r   r
   r&   r!   r   r"   r'   r%   r$   rè   rš   rš   rš   r›   Útest_acot_rewrite  s    :PF@J8r/  c                   C   s2   t tƒ ¡ dtd d  ks J ‚ttdd„ ƒ d S )Nr`   rb   r_   c                   S   s   t tƒ d¡S r¶   )r#   r—   r·   rš   rš   rš   r›   r¸     r¹   z!test_acot_fdiff.<locals>.<lambda>)r#   r—   r·   rF   r>   rš   rš   rš   r›   Útest_acot_fdiff  s     r0  c                   C   sÚ  t dt ƒ t¡tksJ ‚t tt ƒjtddtttƒ d td  ttdƒ d  ks\J ‚t tt ƒjtddtttƒ d td  ttdƒ d  ksžJ ‚t tt ƒjtddt ttƒ d td  ttdƒ d  ksâJ ‚t tt ƒjtddt ttƒ d dt d  ttdƒ d  ks,J ‚t tƒjtddtd ksLJ ‚t tƒjtddt d ksnJ ‚t ttd  ƒjtddttttdƒd ƒ  ks¦J ‚t ttd  ƒjtddt ttdƒd ƒ ksÜJ ‚t ttd  ƒjtddtttdƒd ƒ ksJ ‚t ttd  ƒjtddt tttdƒd ƒ  ksJJ ‚t td tt  td  ƒjtddt d ttdƒ d  ksJ ‚t td tt  td  ƒjtddt d ttdƒ d  ksÖJ ‚d S )Nr_   r  rb   rd   r`   rp   )r#   r—   rÕ   r
   r   r   r   r   rš   rš   rš   r›   Útest_acot_leading_term  s    BBDJ "864:Fr1  c                   C   s   t tƒjtfksJ ‚d S ©N)r-   r—   Úargsrš   rš   rš   r›   Útest_attributes$  s    r4  c                   C   sn   t td t ƒttƒksJ ‚t tt ƒt tƒks4J ‚ttd t ƒt tƒksPJ ‚ttt ƒttƒ ksjJ ‚d S r¶   )r-   r   r—   r)   rš   rš   rš   r›   Útest_sincos_rewrite(  s    r5  c                 C   s   | |ƒj d | kS )zMChecks that the expr has been rewritten using f(-x) -> f(x)
    arg : -x
    r   ©r3  ©r‹   r   rš   rš   r›   Ú_check_even_rewrite/  s    r8  c                 C   s   | |ƒj jS )zNChecks that the expr has been rewritten using f(-x) -> -f(x)
    arg : -x
    )r‹   Zis_Mulr7  rš   rš   r›   Ú_check_odd_rewrite6  s    r9  c                 C   s   | |ƒj d |kS )z%Checks that the expr is not rewrittenr   r6  r7  rš   rš   r›   Ú_check_no_rewrite=  s    r:  c                  C   sö   t dƒ} tdƒ}t g}ttttttg}ddd  t t d t	 t
 t	 t
 g}|D ]J}|D ]}t||ƒs\J ‚q\t|| | ƒs‚J ‚|t	t
 ƒ|t
t	 ƒksTJ ‚qT|D ]L}|D ]}t||ƒs¬J ‚q¬t|| | ƒsÒJ ‚|t	t
 ƒ|t
t	 ƒ ks¤J ‚q¤d S )Nrb   r_   r`   é   ry   )r)   r-   r/   r*   r&   r'   r#   r   r   r—   r˜   r8  r:  r9  )rY   Úbrm   ÚoddZ
with_minusr‹   Úexprrš   rš   r›   Útest_evenodd_rewriteB  s.    *ÿ
ÿ
ÿÿr?  c                   C   s`   t tƒ t¡tksJ ‚ttƒ t¡dks,J ‚ttƒ t¡tksBJ ‚ttƒ t¡dt ks\J ‚d S ©Nr_   )r-   r—   rÕ   r)   r/   r*   rš   rš   rš   r›   Útest_as_leading_term_issue_5272V  s    rA  c                  C   sB  t dt ƒ t¡tddƒks J ‚t tjƒ t¡t tjƒks>J ‚tdt ƒ t¡tddƒks^J ‚ttjƒ t¡ttjƒks|J ‚tdt ƒ t¡ttjtj	ƒks J ‚t
dt ƒ t¡ttjtj	ƒksÄJ ‚tdt ƒ t¡ttjtj	ƒksèJ ‚tdt ƒ t¡ttjtj	ƒksJ ‚t ttd  ƒdt  } |  t¡td ks>J ‚d S )Nr_   r`   rd   rp   )r-   r—   rÕ   r   r   r‰   r)   r,   rü   rû   r+   r/   r*   r   rÖ   rš   rš   r›   Útest_leading_terms]  s      $$$&rB  c                   C   s¨  t ttd td ƒ t¡ttd td  ƒ t¡ ƒdks>J ‚t ttt ƒ tdd¡tttƒ tdd¡ tdtƒ tdƒ ƒttd ƒksŽJ ‚t ttt ƒ tdd¡tttƒ tdd¡ ttdƒ ttƒ ƒttd d tdfƒksèJ ‚t ttt t ƒ tdd¡ttt tƒ tdd¡ tdt dƒ tdt ƒ ƒttd d tdfƒksTJ ‚ttttƒgƒ 	ttg¡tttd td   t td td   ggƒks¤J ‚d S )Nrb   r_   r   rc   rd   rp   )
r4   r(   r—   r   r'   r˜   r8   r7   r3   Zjacobianrš   rš   rš   r›   Útest_atan2_expansionl  s2    >*ÿÿ
ÿ*ÿÿÿ2ÿ
ÿÿ
.ÿrC  c                  C   sD   dd„ } | t dddƒ | t dddƒ | tdddƒ | tdddƒ d S )Nc                 S   sB   t | d| ƒ ¡ | dt ƒjt|d ¡  t|¡ ƒ|k s>J ‚d S )Nr_   )Údir)r”   rè   r—   r8   ZremoveOrŒ   )rO   Úvr™   rn   rš   rš   r›   Úty  s
    0ÿÿztest_aseries.<locals>.tgš™™™™™¹?ú+gñhãˆµøä>gš™™™™™¹¿ú-)r'   r#   )rF  rš   rš   r›   Útest_aseriesx  s
    rI  c                  C   sÈ	  t ddd} t ddd}t ddd}td|  t ƒd	ks<J ‚td|  t ƒd
ksTJ ‚td|  t ƒd
kslJ ‚td|  t ƒtu s„J ‚td|  t ƒtt|  ƒks¤J ‚td|  t ƒd
ks¼J ‚td|  t ƒd
ksÔJ ‚td|  t ƒtu sìJ ‚td|  t ƒd	ksJ ‚td|  t ƒd
ks J ‚td|  t ƒd
ks:J ‚td|  t ƒtu sTJ ‚td|  t ƒtt|  ƒksvJ ‚td|  t ƒd
ksJ ‚td|  t ƒd
ksªJ ‚td|  t ƒtu sÄJ ‚td|  t ƒtdt |  ƒksêJ ‚td|  t ƒtdt |  ƒksJ ‚td|  t ƒtdt |  ƒks6J ‚td|  t ƒtdt |  ƒks\J ‚td| t ƒd	ksvJ ‚td| t ƒd
ksJ ‚td| t ƒd
ksªJ ‚td| t ƒtu sÄJ ‚td| t ƒd	ksÞJ ‚td| t ƒd
ksøJ ‚td| t ƒd
ksJ ‚td| t ƒtu s,J ‚td| t ƒd	ksFJ ‚td| t ƒd
ks`J ‚td| t ƒd
kszJ ‚td| t ƒtu s”J ‚td| t ƒd	ks®J ‚td| t ƒd
ksÈJ ‚td| t ƒd
ksâJ ‚td| t ƒtu süJ ‚td| t ƒtdt | ƒks"J ‚td| t ƒtdt | ƒksHJ ‚td| t ƒtdt | ƒksnJ ‚td| t ƒtdt | ƒks”J ‚td| t ƒd	ks®J ‚td| t ƒd
ksÈJ ‚td| t ƒd
ksâJ ‚td| t ƒtu süJ ‚td| t ƒdksJ ‚td| t ƒd
ks0J ‚td| t ƒd
ksJJ ‚td| t ƒtu sdJ ‚td| t ƒd	ks~J ‚td| t ƒd
ks˜J ‚td| t ƒd
ks²J ‚td| t ƒtu sÌJ ‚td| t ƒdksæJ ‚td| t ƒd
ks J ‚td| t ƒd
ksJ ‚td| t ƒtu s4J ‚td| t ƒtdt | ƒksZJ ‚td| t ƒtdt | ƒks€J ‚td| t ƒtdt | ƒks¦J ‚td| t ƒtdt | ƒksÌJ ‚tdt t ƒtdt t ƒksòJ ‚tdt t ƒtdt t ƒksJ ‚tdt t ƒtdt t ƒks>J ‚tdt t ƒtdt t ƒksdJ ‚tdt t ƒtdt t ƒksŠJ ‚tdt t ƒtdt t ƒks°J ‚tdt t ƒtdt t ƒksÖJ ‚tdt t ƒtdt t ƒksüJ ‚tdt t ƒtdt t ƒks"J ‚tdt t ƒtdt t ƒksHJ ‚tdt t ƒtdt t ƒksnJ ‚tdt t ƒtdt t ƒks”J ‚tdt t ƒtdt t ƒksºJ ‚tdt t ƒtdt t ƒksàJ ‚tdt t ƒtdt t ƒk	sJ ‚tdt t ƒtdt t ƒk	s,J ‚tdt t ƒtdt t ƒk	sRJ ‚tdt t ƒtdt t ƒk	sxJ ‚tdt t ƒtdt t ƒk	sžJ ‚tdt t ƒtdt t ƒk	sÄJ ‚d S )Nr­   TrJ   rn   ro   Úo)r=  rd   r_   r   rp   g      @g      @g      @r  r`   )r   r)   r   r-   r/   r*   r   r—   )r­   rn   rJ  rš   rš   r›   Útest_issue_4420‚  s¦     "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&rK  c                   C   s´   t tdd„ ƒ t tdd„ ƒ ttƒ ¡ tks0J ‚ttƒ ¡ tksDJ ‚t tdd„ ƒ t tdd„ ƒ ttƒ ¡ t	kstJ ‚t
tƒ ¡ tksˆJ ‚ttƒ ¡ tksœJ ‚ttƒ ¡ tks°J ‚d S )Nc                   S   s   t tƒ ¡ S r2  )r-   r—   Úinverserš   rš   rš   r›   r¸   ð  r¹   ztest_inverses.<locals>.<lambda>c                   S   s   t tƒ ¡ S r2  )r)   r—   rL  rš   rš   rš   r›   r¸   ñ  r¹   c                   S   s   t tƒ ¡ S r2  )r+   r—   rL  rš   rš   rš   r›   r¸   ô  r¹   c                   S   s   t tƒ ¡ S r2  )r,   r—   rL  rš   rš   rš   r›   r¸   õ  r¹   )rF   ÚAttributeErrorr/   r—   rL  r'   r*   r#   r&   r-   r"   r)   rš   rš   rš   r›   Útest_inversesï  s    rN  c                  C   sØ  t ddd\} }| |t  }dD ]°}t|ƒj|dt| ƒt|ƒ t| ƒt|ƒ fksZJ ‚t|ƒj|dt| ƒt|ƒ t| ƒ t|ƒ fksJ ‚t|ƒj|dtd|  ƒtd|  ƒtd| ƒ  td| ƒtd|  ƒtd| ƒ  fksìJ ‚t|ƒj|dtd|  ƒ td|  ƒtd| ƒ  td| ƒtd|  ƒtd| ƒ  fksLJ ‚t| ƒj|dt| ƒdfksnJ ‚t| ƒj|dt| ƒdfksJ ‚t| ƒj|dt| ƒdfks²J ‚t| ƒj|dt| ƒdfks J ‚q d S )Nza bTrH   )TF)Údeeprb   r   )	r   r
   r-   Úas_real_imagr   r)   r   r/   r*   )rY   r<  r]   rO  rš   rš   r›   Útest_real_imagü  s>    
ÿÿÿÿÿ ÿ"
ÿ"ÿ
$
ÿ"ÿ"""rQ  c            	      C   sb  dD ]} dD  ]ü}||  }t dt|d d d dƒƒD ]Ò}dt||ƒkr8|t | }t|ƒ t¡}t|ƒ t¡}| tt¡rŽJ d||f ƒ‚| tt¡rªJ d||f ƒ‚dt	t| 
d¡ƒ| 
d¡ ƒksÚJ d||f ƒ‚dt	t| 
d¡ƒ| 
d¡ ƒks8J d||f ƒ‚q8qqttd	 ƒ t¡tttd
 ƒd tj ƒksBJ ‚tttddƒ d dd t¡ttttddƒ ƒ d tj ƒ ksŒJ ‚ttdttjdddd t¡dks¶J ‚ttd d ƒ}dttdƒ d ƒ ttdƒd ƒ d dtdƒ ttdƒd ƒ d  ttdƒd ƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  ttdƒ d ƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  dtdƒ ttdƒd ƒ d  tdƒttdƒ d ƒ d  dtdƒ ttdƒ d ƒ d  tdƒttdƒ d ƒ tdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  dtdƒ d  tdƒttdƒ ttdƒd ƒ ttdƒd tdƒttdƒ d ƒ d  tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ ƒ d dtdƒ ttdƒd tdƒttdƒ d ƒ d  tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ ƒ tdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  dtdƒ ttdƒ d ƒ ttdƒd tdƒttdƒ d ƒ d  tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ ƒ d  tdƒttdƒd tdƒttdƒ d ƒ d  tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ ƒ tdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  ttdƒd tdƒttdƒ d ƒ d  tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ ƒd  tj ttdƒ d ƒttdƒd tdƒttdƒ d ƒ d  tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ ƒ tdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tdƒttdƒ d ƒ ttdƒd tdƒttdƒ d ƒ d  tdƒtdtdƒ ttdƒd ƒ tdƒttdƒ d ƒ  tdƒttdƒ d ƒ  dtdƒ  d ƒ d  tddƒ ƒ d  ƒ d  }| t¡|k
sðJ ‚| ¡ | ¡ ksJ ‚ttd d ƒ t¡ttd ƒtttddƒ ƒ ttd ƒtttddƒ ƒ  ks^J ‚d S )N©r_   rp   rc   rq   ©r_   rs   r_   rb   rg   r£   çü©ñÒMbP?rc   rÎ   ri   rÏ   r¼   Fr}   rd   r`   rp   rq   rf   é@   rÜ   é€   r±   re   é    rË   r   rs   r¥   )r“   Úminr5   r   r-   r§   r!   r)   Úhasr”   rè   r   r‰   r   r   rO   )	rL   rF  rO   r­   r—   Ús1Úc1rn   rY   rš   rš   r›   Útest_sincos_rewrite_sqrt  s   

 062ÿ"ÿ
ÿÿ
(ÿÿ6ÿ
ÿÿÿþÿ
ÿ,ÿÿ
ÿÿÿþýû2ÿÿ
ÿÿÿúøø	 ÷	ÿ6ÿ
ÿÿÿþ÷õ,ÿ2ÿÿ
ÿÿÿþýý42ÿÿ
ÿÿÿÿý,ÿÿ
ÿÿýüü	(ÿ2ÿÿ
ÿÿÿþýý÷02ÿÿ
ÿÿÿÿý,ÿÿ
ÿÿýüó*2ÿÿ
ÿÿÿÿþþîë,ÿÿ"ÿÿ
þþþÿýÿÿ
þþýûë$ÿ2ÿÿ
ÿÿÿþüüæâôÿ,:ÿr\  c                   C   s2   t td ƒ t¡ d¡t td ƒ d¡ks.J ‚d S )Ni  rU  )r)   r   r§   r!   rè   rš   rš   rš   r›   Útest_sincos_rewrite_sqrt_257^  s    r]  c               	   C   sD  dD ]8} dD ],}||  }t dt|d d d dƒƒD ] }dt||ƒkr8|t | }d| |krÎd| d| krÎt|ƒ t¡}| tt¡ržJ d||f ƒ‚dt	t| 
d	¡ƒ| 
d
¡ ƒksÎJ d||f ƒ‚|dkr8||kr8t|ƒ t¡}| tt¡r
J d||f ƒ‚dt	t| 
d	¡ƒ| 
d
¡ ƒks8J d||f ƒ‚q8qqd S )NrR  rS  r_   rb   rg   rp   r£   rT  ri   rd   r   )r“   rX  r5   r   r/   r§   r!   rY  r*   r”   rè   )rL   rF  rO   r­   r—   Út1r[  rš   rš   r›   Útest_tancot_rewrite_sqrtc  s    

"0r_  c               	   C   s&  t ddd} t dƒ}tjtdƒks&J ‚ttƒtu s6J ‚tdƒdksFJ ‚ttƒdksVJ ‚ttd ƒtu sjJ ‚tt d ƒtu s€J ‚ttd	 ƒdtd
ƒ d
 ks J ‚ttd
 ƒdks´J ‚tttddƒ ƒtu sÎJ ‚tttddƒ ƒtttddƒ ƒ ksøJ ‚tttd
dƒ ƒtdƒ ksJ ‚tt	ƒdt
dƒ ks4J ‚t| t	 ƒdt
| ƒ ksRJ ‚t|  ƒt| ƒksjJ ‚tt| ƒƒ| ks€J ‚t|ƒ ¡ tt|ƒƒksžJ ‚t|ƒ ¡ tt|ƒƒt
t|ƒƒ tt|ƒƒd tt|ƒƒd  tt|ƒƒd t
t|ƒƒd    tt|ƒƒtt|ƒƒ tt|ƒƒd tt|ƒƒd  tt|ƒƒd t
t|ƒƒd    fks`J ‚t| ƒjdddt| ƒ ks‚J ‚td|  ƒjddddt| ƒd  d  ks´J ‚t| ƒjdksÈJ ‚t|ƒjd ksÜJ ‚ttƒjd u sðJ ‚ttƒjdu sJ ‚t| ƒ ¡ t| ƒksJ ‚tdddjdks6J ‚t| ƒjd ksJJ ‚ttd ddjdksfJ ‚tt| ƒ| dd	dd| d d  d| d  d  t| d	 ƒ ks¬J ‚ttt| ƒƒƒd| d d  d| d  d  t| d	 ƒ ksîJ ‚ttt| ƒƒ| td
 d dddt| ttd
dƒ  ƒ | ttd
dƒ  td
dƒ d  | ttd
dƒ  tddƒ d  t| ttd
dƒ  d | ttd
dƒ fƒ ks˜J ‚t| ƒ | ¡t| ƒt| ƒ ks¼J ‚t|ƒ d|¡d|d  d ksâJ ‚t|ƒ d	|¡d|d	  d ksJ ‚t|ƒ d|¡dks"J ‚d S )Nr—   TrH   r]   r_   r   r`   rb   re   rp   rc   r¥   ri   rd   r¯   Fr}   ©Zx0rO   rŸ   é`   ru   é    é=   rÂ   ) r   r,   r‡   r:   r   r   r   r!   r   r
   r   r%   r   rP  r)   r   r   r-   r   r²   rÓ   rŽ   rY   r   r[   rÕ   rÔ   r8   r7   r   r/   rí   )r—   r]   rš   rš   r›   Útest_secv  sd     *"
4ÿ4ÿþÿ
"2FB8ÿ(ÿÿ
$&&rd  c                   C   s  t tƒ t¡dttt ƒd tt t ƒd   ks8J ‚t tƒ t¡dttƒ ksVJ ‚t tƒ t¡ttd ƒd d ttd ƒd  d  ks’J ‚t tƒ t¡t tƒks¬J ‚t tƒ t¡t tƒksÆJ ‚t t	ƒ t
¡t
t	d ƒd d t
t	d ƒd d  ksJ ‚t tƒ t¡dtttd  dd ks.J ‚t tƒ t¡ttd ƒd d ttd ƒd  d  kslJ ‚t tƒ t¡tt td  ddks–J ‚t tƒ t¡ttdƒttt ƒttj tƒ  ttdƒfdƒksÜJ ‚t tƒ t¡ td¡t dƒks J ‚d S )Nr_   rb   Fr}   r   rÄ   )r,   r—   r§   r   r
   r)   r/   rÝ   r!   r]   r*   r-   r   r+   r0   rB   r   r‰   r@   rŒ   rš   rš   rš   r›   Útest_sec_rewriteµ  s    8<<,>**þre  c                   C   s2   t tƒ ¡ ttƒt tƒ ks J ‚ttdd„ ƒ d S )Nc                   S   s   t tƒ d¡S r¶   )r,   r—   r·   rš   rš   rš   r›   r¸   È  r¹   z test_sec_fdiff.<locals>.<lambda>)r,   r—   r·   r/   rF   r>   rš   rš   rš   r›   Útest_sec_fdiffÆ  s     rf  c                     s  t ddd‰ t dƒ} tdƒ}dtdƒ }| |¡dks:J ‚| |¡dksLJ ‚tjtdƒks^J ‚tdƒtu snJ ‚ttƒtu s~J ‚ttƒtu sŽJ ‚ttd ƒdks¢J ‚tt d ƒdks¸J ‚ttd	 ƒdksÌJ ‚ttd
 ƒdt	d
ƒ d
 ksìJ ‚ttt
ddƒ ƒdksJ ‚ttt
ddƒ ƒttt
ddƒ ƒ ks4J ‚ttt
d
dƒ ƒt	dƒksTJ ‚ttƒt tdƒ kspJ ‚tˆ t ƒt tˆ ƒ ksJ ‚tˆ  ƒtˆ ƒ ksªJ ‚ttˆ ƒƒˆ ksÀJ ‚t| ƒ ¡ tt| ƒƒksÞJ ‚t| ƒ ¡ tt| ƒƒtt| ƒƒ tt| ƒƒd tt| ƒƒd  tt| ƒƒd tt| ƒƒd    tt| ƒƒ tt| ƒƒ tt| ƒƒd tt| ƒƒd  tt| ƒƒd tt| ƒƒd    fks¢J ‚tˆ ƒjdddtˆ ƒ ksÄJ ‚tdˆ  ƒjddddtˆ ƒ tˆ ƒ  ksöJ ‚tˆ ƒjdks
J ‚t| ƒjd ksJ ‚ttƒjd u s2J ‚ttƒjdu sFJ ‚tˆ ƒ ¡ tˆ ƒks`J ‚tdddjdksxJ ‚tˆ ƒjd ksŒJ ‚ttd ddjdks¨J ‚ttˆ ƒˆ td d	ddˆ td  d d  dˆ td  d  d  tˆ td  d	 ˆ td fƒ ksJ ‚ttˆ ƒˆ dd	ddˆ  ˆ d	  dˆ d
  d  dˆ d  d  tˆ d	 ƒ ksjJ ‚tˆ ƒ ˆ ¡tˆ ƒ tˆ ƒ ksJ ‚tˆ ƒ  dˆ ¡dksªJ ‚tˆ ƒ  d
ˆ ¡dˆ d
  d ksÐJ ‚tˆ ƒ  dˆ ¡dˆ d  d ksöJ ‚t!t"‡ fdd„ƒ d S )Nr—   TrH   r]   r_   r   rb   r`   re   rp   rc   r¥   ri   rd   r¯   Fr}   r`  rŸ   ih  é   i;  c                      s   t ˆ ƒ d¡S r¶   )r+   r·   rš   ©r—   rš   r›   r¸   	  r¹   ztest_csc.<locals>.<lambda>)#r   r+   r-   r  r‡   r:   r   r   r   r!   r   r
   r   r$   r   rP  r   r   r   r)   r²   rÓ   rŽ   rY   r   r[   rÕ   rÔ   r8   r7   r   r*   rí   rF   r>   )r]   ZcosecantÚ	alternaterš   rh  r›   Útest_cscË  sh     ,  
4ÿ6ÿþÿ
"2Lÿ
:ÿ
&&&rj  c                  C   s^  t ddd} t| ƒtu sJ ‚ttƒtu s,J ‚tdƒdks<J ‚tdƒtksLJ ‚ttƒtd ks`J ‚tt ƒtd ksvJ ‚ttƒtd ksŠJ ‚ttttdd	ƒ ƒƒttd
d	ƒ ks²J ‚tdtdƒ ƒttddƒ ksÔJ ‚tdtd
ƒ ƒtd ksðJ ‚ttd	dtdƒ  ƒƒtd ksJ ‚ttd	dtdƒ  ƒ ƒttddƒ ksDJ ‚ttddtdƒ d  ƒƒttd
dƒ kstJ ‚ttddtdƒ d  ƒ ƒttddƒ ks¦J ‚ttdƒtdƒ ƒttddƒ ksÎJ ‚dD ]è}t	|ƒD ]Ø}t
||ƒdkrÞtt|t | ƒƒ|t | ksJ ‚tt|t | ƒ ƒt|t |  ksDJ ‚tt|t | ƒƒtd tt|t | ƒƒ kszJ ‚tt|t | ƒ ƒtd tt|t | ƒ ƒ ksÞJ ‚qÞqÒttƒ t¡dtd tddtd   ƒ  ksðJ ‚ttƒ t¡tttddtd   ƒtt  ƒ td  ks0J ‚ttƒ t¡tdt ƒ td  ksZJ ‚ttƒ t¡tdt ƒkszJ ‚ttƒ t¡tdttd ƒt   d ttd ƒtttd d ƒƒ t  ksÎJ ‚ttƒ t¡tdttd ƒt   d ttd ƒtdttd d ƒ ƒ t  ks&J ‚ttƒ t¡ttƒ td  ksLJ ‚ttdd„ ƒ d S )Nr]   Trø   r_   r   r`   rb   rË   rd   rp   rc   re   rs   rg   ri   r¼   ru   )rp   rd   re   c                   S   s   t tƒ d¡S r¶   )r%   r—   r·   rš   rš   rš   r›   r¸   1  r¹   ztest_asec.<locals>.<lambda>)r   r%   r   r   r   r   r,   r   r!   r“   r5   r+   r$   r—   r   r§   r   r
   r&   r"   r'   r#   rF   r>   )r]   r™   r  rš   rš   r›   Ú	test_asec  sF    ("&.02(&,6B4@* >ÿ
Bÿ
&rk  c                  C   s|   t tjƒjdu sJ ‚tdddd} t | ƒjdu s4J ‚t tƒjd u sFJ ‚t tƒjd u sXJ ‚tdddd}t |ƒjdu sxJ ‚d S )NFrO   T)rN   rK   rF  ©rI   Zfinite)r%   r   r‰   rŽ   r   rÓ   r—   rG   )rO   rF  rš   rš   r›   Útest_asec_is_real4  s    rm  c                   C   s  t dt ƒ t¡td ksJ ‚t td ƒ t¡tdƒttƒ ksDJ ‚t td ƒ t¡tks^J ‚t tƒjtddt ttƒ ttdƒ  ksŽJ ‚t tƒjtddtttƒ dt  ttdƒ  ksÄJ ‚t tt d ƒjtddt dƒksêJ ‚t t t d ƒjtddt dƒ ksJ ‚t tt d ƒjtdddt t dƒ ksFJ ‚t t t d ƒjtddt dƒkspJ ‚t t td  t tdƒd  ƒjtddtttdtdƒ ƒ  ksºJ ‚t t td  t tdƒd  ƒjtddtttdtdƒ ƒ  ksJ ‚d S )Nr_   rb   r  r`   r  ç      à¿rp   )r%   r—   rÕ   r   r!   r
   r   r   rš   rš   rš   r›   Útest_asec_leading_term>  s    &06&,0*Jro  c                  C   sâ   t tƒ tdd¡ttdƒ tttƒ  ttd  d  dt td  d  dt td  d	  d
t td  d  ttd ƒ ks†J ‚t tƒ dt¡} | dt td  d ks²J ‚t tƒ dt| d¡dt td  d	 ksÞJ ‚d S )Nr   r¥   rb   rd   rp   rW  rc   re   ra  é#   rs   r;  rf   rr   )r%   r—   r8   r
   r   r7   rí   )Zt4rš   rš   r›   Útest_asec_seriesO  s    :ÿÿ
ÿÿrq  c                   C   s´  t tƒtu sJ ‚t dƒtd ks$J ‚t dƒt d ks:J ‚t tƒdksJJ ‚t t ƒdks\J ‚t tƒdkslJ ‚t dƒtu s|J ‚t tdƒƒdt ks”J ‚t tdƒƒdt ks¬J ‚t td	ƒƒd	dt  ksÈJ ‚tt ttƒƒsÚJ ‚tt ttƒƒsìJ ‚t dt	dƒ ƒtd ks
J ‚t ttt
d
dƒ ƒƒt d ks0J ‚t t	ddt	dƒ d  ƒƒtd ksZJ ‚t t	ddt	dƒ d  ƒ ƒt d ksˆJ ‚t dƒt d	 ks J ‚t t	ddt	dƒ  ƒ ƒt d ksÊJ ‚t t	ddt	dƒ  ƒƒtt
ddƒ ksöJ ‚t dt	dƒ ƒtd ksJ ‚t t	dƒt	d	ƒ ƒtt
ddƒ ks<J ‚t tƒ t¡dtd t	ddtd   ƒ  kspJ ‚t tƒ t¡t tt	ddtd   ƒtt  ƒ ksªJ ‚t tƒ t¡tdt ƒksÊJ ‚t tƒ t¡tdt ƒ td  ksôJ ‚t tƒ t¡tt	td d ƒƒ td  t	td ƒ t ks6J ‚t tƒ t¡tdt	td d ƒ ƒ td  t	td ƒ t ks|J ‚t tƒ t¡ttƒ td  ks¢J ‚ttdd„ ƒ d S )Nr_   rb   r`   r   rp   rf   rd   r°   re   rË   rc   ra   rs   rg   rr   ru   c                   S   s   t tƒ d¡S r¶   )r$   r—   r·   rš   rš   rš   r›   r¸   z  r¹   ztest_acsc.<locals>.<lambda>)r$   r   r   r   r   r+   r=   r—   r,   r!   r   r   r§   r   r
   r&   r"   r'   r#   r%   rF   r>   rš   rš   rš   r›   Ú	test_acscX  s>    &*.*,(4: *,ÿ
F&rr  c                   C   s  t tƒ t¡t tƒksJ ‚t tƒ t¡t tƒks4J ‚t tƒ t¡dt ttt ƒtt t ƒ  kshJ ‚t tƒ t¡dttƒ ks†J ‚t tƒ t¡ttd ƒd d dttd ƒ  ks¼J ‚t tƒ t	¡t	td ƒd d dt	td ƒ  ksòJ ‚t tƒ t
¡dt
ttd  dd ksJ ‚t tƒ t¡tt td  ddksHJ ‚t dttttƒ ƒ ƒ t
¡dt
t d d t
ttttƒ ƒ tt
t d ttttƒ  dd  dd ks¼J ‚t tƒ t¡tdƒttt ƒttjtƒ  ksðJ ‚t tƒ t¡ td¡t dƒksJ ‚d S )Nrb   r_   Fr}   r`   r   )r+   r—   r§   rÝ   r!   r   r
   r-   r/   r*   r)   r   r,   r0   r   r‰   rŒ   rš   rš   rš   r›   Útest_csc_rewrite}  s"    466,*""ÿÿÿ
4rs  c                   C   s  t dt ƒ t¡tksJ ‚t td ƒ t¡td ks8J ‚t td ƒ t¡t d ksXJ ‚t tƒjtddtttƒ td  ttdƒ  ksŽJ ‚t tƒjtddt ttƒ dt d  ttdƒ  ksÊJ ‚t tt d ƒjtddt dƒksðJ ‚t t t d ƒjtddtt dƒ ksJ ‚t tt d ƒjtddt t dƒ ksLJ ‚t t t d ƒjtddt dƒ ksxJ ‚t t td  t tdƒd  ƒjtddt d tttdƒd ƒ  ksÈJ ‚t t td  t tdƒd  ƒjtddt d tttdƒd ƒ  ksJ ‚d S )Nr_   rb   r  r`   rp   r  rn  )r$   r—   rÕ   r   r
   r   r   r!   rš   rš   rš   r›   Útest_acsc_leading_term  s     6<&..,Prt  c                  C   sì   t tƒ tdd¡t tdƒ td  tttƒ  ttd  d  dt td  d  dt td  d	  d
t td  d  ttd ƒ ksJ ‚t tƒ dt¡} | dt td  d	 ks¼J ‚t tƒ dt| d¡d
t td  d ksèJ ‚d S )Nr   r¥   rb   rd   rp   rW  rc   re   ra  rp  rs   r;  )r$   r—   r8   r
   r   r   r7   rí   )Zt6rš   rš   r›   Útest_acsc_series¡  s    0ÿÿÿ
ÿÿru  c                   C   sè  t td ƒ tdd t¡t dƒ t tdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ kszJ ‚t td ƒ tdd t ¡t dƒtdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ ksðJ ‚t td ƒ tdd t¡t dƒ tdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ kshJ ‚t td ƒ tdd t ¡t dƒt tdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ ksäJ ‚t dt ƒ tdd ¡td tdƒtt ƒ  tdƒt tdƒd   d  dtdƒ t tdƒd   d	  ttd ƒ ksfJ ‚t d
t ƒ tdd ¡t d tdƒttƒ  tdƒttdƒd   d  dtdƒ ttdƒd   d	  ttd ƒ ksäJ ‚t ttƒƒ tdd ¡td tdƒtt ƒ  tdƒt tdƒd   d  tdƒt tdƒd   d  ttd ƒ ksbJ ‚t ttƒ ƒ tdd ¡t d tdƒtt ƒ  tdƒt tdƒd   d  tdƒt tdƒd   d  ttd ƒ ksäJ ‚d S )Nrb   rd   rp   r¥   rÉ   r_   ru   rc   rb  r`   re   r¢   )	r&   r—   Ú_eval_nseriesr
   r   r!   r7   r   r   rš   rš   rš   r›   Útest_asin_nseriesª  s€    "ÿÿÿ
ÿ
ÿÿÿ
ÿ
ÿÿÿ
ÿ"ÿÿÿ
ÿ,ÿ ÿ
ÿ,ÿÿ
ÿ,ÿÿ
ÿ0ÿÿ
ÿrw  c                   C   sÌ  t td ƒ tdd t¡t dƒ tdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ ksvJ ‚t td ƒ tdd t ¡t dƒtdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ ksìJ ‚t td ƒ tdd t¡t dƒtdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ ksbJ ‚t td ƒ tdd t ¡t dƒ dt  tdƒt t d  tdƒt td  d  tdƒt td  d  ttd ƒ ksäJ ‚t dt ƒ tdd ¡tdƒtt ƒ tdƒt tdƒd   d  dtdƒ t td	ƒd   d
  ttd ƒ ks^J ‚t dt ƒ tdd ¡ttdƒttƒ  tdƒttdƒd   d  dtdƒ ttd	ƒd   d
  ttd ƒ ksÖJ ‚t ttƒƒ tdd ¡tdƒtt ƒ tdƒt tdƒd   d  tdƒt td	ƒd   d  ttd ƒ ksLJ ‚t ttƒ ƒ tdd ¡ttdƒtt ƒ  tdƒt tdƒd   d  tdƒt td	ƒd   d  ttd ƒ ksÈJ ‚d S )Nrb   rd   rp   r¥   rÉ   ra   r_   ru   rc   rb  r`   re   r¢   )	r"   r—   rv  r
   r!   r7   r   r   r   rš   rš   rš   r›   Útest_acos_nseries¾  st    2ÿÿ
ÿ
2ÿÿ
ÿ
0ÿÿ
ÿ(ÿÿÿ
ÿ$ÿ ÿ
ÿ&ÿÿ
ÿ$ÿÿ
ÿ*ÿÿ
ÿrx  c                   C   sü  t tdt  ƒ tdd d¡ttdƒ td  dt td  d  dtd  d  ttd ƒ ksdJ ‚t tdt  ƒ tdd d¡ttdƒ t td  dt td  d  dtd  d  ttd ƒ ksÌJ ‚t tdt  ƒ tdd d¡t tdƒ t td  dt td  d  dtd  d  ttd ƒ ks8J ‚t tdt  ƒ tdd d¡t tdƒ td  dt td  d  dtd  d  ttd ƒ ks J ‚t dt ƒ tdd d¡td t ttd ƒ ksÖJ ‚t dt ƒ tdd d¡t d t ttd ƒ ksJ ‚t tt ƒ tdd ¡ttdƒ d td  tttƒ d  td  ttd  d	  td d
  ttd ƒ ks‚J ‚t tt ƒ tdd ¡t tdƒ d td  tttƒ d  td  ttd  d	  td d
  ttd ƒ ksøJ ‚d S )Nrb   rd   r_   rp   r¥   rË   éQ   r`   é   é0   )r'   r—   r
   rv  r   r7   r   r   rš   rš   rš   r›   Útest_atan_nseriesÒ  sp    ,ÿÿ
ÿ
(ÿÿÿ
ÿ
*ÿÿÿ
ÿ.ÿÿ
ÿ68*ÿÿÿ
ÿ
ÿ,ÿÿÿ
ÿ
ÿr|  c                   C   sD  t ttdƒd t  ƒ tdd d¡t ttdƒd ƒ t dt d  dt td  d  dtd  d  ttd ƒ ks~J ‚t ttdƒd t  ƒ tdd d	¡t ttdƒd ƒ dt d  dt td  d  dtd  d  ttd ƒ ksøJ ‚t ttdƒd t  ƒ tdd d¡tttdƒd ƒ dt d  dt td  d  dtd  d  ttd ƒ ksrJ ‚t ttdƒd t  ƒ tdd d	¡tttdƒd ƒ t dt d  dt td  d  dtd  d  ttd ƒ ksðJ ‚t tƒ tdd d¡td t ttd ƒ ks"J ‚t tƒ tdd d	¡t d t ttd ƒ ksVJ ‚t tt ƒ tdd ¡t tdƒ d td  tttƒ d  td  ttd  d
  td d  ttd ƒ ksÌJ ‚t tt ƒ tdd ¡ttdƒ d td  tttƒ d  td  ttd  d
  td d  ttd ƒ ks@J ‚d S )Nr_   rb   rd   rp   rs   r¥   r  ry  r`   rz  r{  )	r#   r—   r   r
   rv  r   r   r7   r   rš   rš   rš   r›   Útest_acot_nseriesä  s€    6ÿ
ÿÿÿ
ÿ
6
ÿÿÿ
ÿ
4
ÿÿÿ
ÿ4ÿ
ÿÿÿ
ÿ24,ÿÿÿ
ÿ
ÿ*ÿÿÿ
ÿ
ÿr}  c                   C   s>  t ttdƒd  ƒ tdd t¡t tdƒd ƒdtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ksJ ‚t ttdƒd  ƒ tdd t ¡t tdƒd ƒ dtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ks&J ‚t ttdƒd  ƒ tdd t¡t tdƒ d ƒ dt  dtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ksÄJ ‚t ttdƒd  ƒ tdd t ¡t tdƒ d ƒdtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ksZJ ‚t dt ƒ tdd ¡tdƒttƒ dtdƒ ttdƒd   d	  d
tdƒ ttdƒd   d  ttd ƒ ksÒJ ‚t dt ƒ tdd ¡ttdƒtt ƒ  dtdƒ t tdƒd   d	  d
tdƒ t tdƒd   d  ttd ƒ ksTJ ‚t ttƒƒ tdd ¡tdƒttƒ tdƒttdƒd   d  tdƒttdƒd   d  ttd ƒ ksÄJ ‚t ttƒ ƒ tdd ¡ttdƒttƒ  tdƒttdƒd   d  tdƒttdƒd   d  ttd ƒ ks:J ‚d S ©Nr_   rb   rd   rp   rs   r¥   rz  rc   ru   é+   rb  r`   re   r¢   )	r%   r—   r   rv  r
   r!   r7   r   r   rš   rš   rš   r›   Útest_asec_nseriesö  s„    ,ÿÿÿ
ÿ
0ÿÿÿ
ÿ0ÿÿÿÿ
ÿ0ÿÿÿ
ÿ"ÿÿ
ÿ( ÿ ÿ
ÿ"ÿÿ
ÿ(ÿÿ
ÿr€  c                   C   sV  t ttdƒd  ƒ tdd t¡t tdƒd ƒdtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ksJ ‚t ttdƒd  ƒ tdd t ¡t tdƒd ƒ t dtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ks*J ‚t ttdƒd  ƒ tdd t¡t tdƒd ƒt dtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ksÀJ ‚t ttdƒd  ƒ tdd t ¡t tdƒd ƒ dtdƒ t t d  dtdƒ t td  d  dtdƒ t td  d  ttd ƒ ksVJ ‚t dt ƒ tdd ¡td tdƒttƒ  dtdƒ ttdƒd   d	  d
tdƒ ttdƒd   d  ttd ƒ ksÖJ ‚t dt ƒ tdd ¡t d tdƒtt ƒ  dtdƒ t tdƒd   d	  d
tdƒ t tdƒd   d  ttd ƒ ks^J ‚t ttƒƒ tdd ¡td tdƒttƒ  tdƒttdƒd   d  tdƒttdƒd   d  ttd ƒ ksÖJ ‚t ttƒ ƒ tdd ¡t d tdƒttƒ  tdƒttdƒd   d  tdƒttdƒd   d  ttd ƒ ksRJ ‚d S r~  )	r$   r—   r   rv  r
   r!   r7   r   r   rš   rš   rš   r›   Útest_acsc_nseries
  s„    ,ÿÿÿ
ÿ
0ÿÿÿÿ
ÿ0ÿÿÿ
ÿ0ÿÿÿ
ÿ*ÿÿ
ÿ. ÿ ÿ
ÿ*ÿÿ
ÿ.ÿÿ
ÿr  c                  C   sF   t ddd} t| ƒjd u sJ ‚t| ƒjd u s0J ‚t| ƒjd u sBJ ‚d S )NrO   TrJ   )r   r-   Zis_irrationalr)   r/   ©rO   rš   rš   r›   Útest_issue_8653  s    rƒ  c                  C   s(   t dddd} t| d ƒjdu s$J ‚d S )NrO   T)rK   rN   r_   )r   r'   r  r‚  rš   rš   r›   Útest_issue_9157%  s    r„  c                     s‚  t dƒ\‰ } tˆ ƒ ¡ dt ks$J ‚tˆ ƒ ¡ dt ks<J ‚tˆ ƒ ¡ tksPJ ‚tˆ ƒ ¡ tksdJ ‚tˆ ƒ ¡ dt ks|J ‚tˆ ƒ ¡ dt ks”J ‚tdˆ  ƒ ¡ tks¬J ‚tdˆ  d ƒ ¡ td ksÌJ ‚tdˆ  ƒ ¡ tt	ddƒ ksîJ ‚tˆ |  ƒ ˆ ¡dt t
| ƒ ksJ ‚tdˆ  |  dt  ƒ | ¡dt t
dˆ  ƒ ksNJ ‚tdˆ  ƒ | ¡tju slJ ‚tt‡ fdd„ƒ d S )	Nzx, yrb   rd   re   rf   rp   c                      s   t ˆ d ƒ ˆ ¡S r¶   )r-   Úperiodrš   rh  rš   r›   r¸   9  r¹   z"test_trig_period.<locals>.<lambda>)r   r-   r…  r   r)   r/   r*   r,   r+   r   r”   r   rˆ   rF   ÚNotImplementedError)r˜   rš   rh  r›   Útest_trig_period*  s     "(8r‡  c                   C   s8   t tƒ t¡t tƒksJ ‚t tƒ t¡t tƒks4J ‚d S r2  )r-   r—   r§   r!   rÝ   rš   rš   rš   r›   Útest_issue_7171<  s    rˆ  c                  C   s~   t ddd\} }tdtdt | dƒftt| ƒt|  dfƒ}tdtdt | dƒftt| ƒdfƒ}| t¡|kszJ ‚d S )Nzw, kTrH   r_   rb   r   )r   rB   rA   r   r-   r.   r§   )ÚwrŠ   ÚFZsolnrš   rš   r›   Útest_issue_11864A  s    0(r‹  c                  C   s`  t dddd} t| ƒjd u s J ‚t| ƒjd u s2J ‚t| ƒjdu sDJ ‚t| ƒjd u sVJ ‚t| ƒjd u shJ ‚t| ƒjdu szJ ‚tt	ƒjd u sŒJ ‚tt
ƒjd u sžJ ‚tt	ƒjd u s°J ‚tt
ƒjd u sÂJ ‚tt	ƒjd u sÔJ ‚tt
ƒjd u sæJ ‚tt	ƒjd u søJ ‚tt
ƒjd u sJ ‚tt	ƒjdu s J ‚tt
ƒjdu s4J ‚tt	ƒjdu sHJ ‚tt
ƒjdu s\J ‚d S )Nr]   FTrl  )r   r-   rŽ   r)   r/   r,   r+   r*   r&   rL   rO   r%   r"   r$   r'   r  r  r#   )r]   rš   rš   r›   Útest_real_assumptionsG  s&    rŒ  c                   C   s–  t tdƒƒdt krNt d dt   kr6td krNn ntdƒtdt ƒksRJ ‚t tdƒƒdtd  kr¬t d dtd    krtd kr¬n ntdƒtdtd  ƒks°J ‚ttdƒƒt d d krdt d d   krìtkrn ntdƒtt d d ƒksJ ‚ttdƒƒdt d krhddt d   krJtkrhn ntdƒtdt d ƒkslJ ‚ttdƒƒddt  krÄdddt    kr¦tkrÄn ntdƒtddt  ƒksÈJ ‚ttd	ƒƒd
t d	 kr*t d d
t d	   k rtd k r*n ntd	ƒtd
t d	 ƒks.J ‚ttdƒƒd
t d krt d d
t d   k rrtd k rn ntdƒtd
t d ƒks”J ‚ttdƒƒdttddƒ  krt d dttddƒ    k rätd k rn n tdƒtdttddƒ  ƒksJ ‚t	tdƒƒd
t d krnt d d
t d   k rPtd krnn ntdƒtd
t d ƒksrJ ‚t	tdƒƒdttddƒ  kræt d dttddƒ    k rÂtd kræn n tdƒtdttddƒ  ƒksêJ ‚t
tdƒƒddt  krBdddt    kr$tkrBn ntdƒtddt  ƒksFJ ‚t
tdƒƒdttddƒ  kr°ddttddƒ    krŒtkr°n n tdƒtdttddƒ  ƒks´J ‚ttdƒƒdt d krt d dt d   krøtd krn ntdƒtdt d ƒksJ ‚ttdƒƒttddƒ d krŽt d ttddƒ d   krjtd krŽn n tdƒtttddƒ d ƒks’J ‚d S )Nrb   ra   r   rž   éúÿÿÿr    iâÿÿÿrg   rq   rr   r   ru   iôÿÿÿri   rÌ   iíÿÿÿrË   r¼   rw   rd   ióÿÿÿr¥   rÎ   r°   rv   )r&   r-   r   r)   r"   r'   r/   r*   r   r#   r%   r,   r+   r$   rš   rš   rš   r›   Útest_issue_14320\  s    R^`\\ffxfx\nfrŽ  c                  C   sò  t dt d ƒt dƒksJ ‚t dt d ƒt dƒks8J ‚t td ƒt dƒ ksRJ ‚t td ƒt dƒ kslJ ‚tdt d ƒtdƒksˆJ ‚tdt d ƒtdƒ ks¦J ‚ttd ƒtdƒ ksÀJ ‚ttd ƒtdƒksØJ ‚tdƒ} ttd |  ƒt | ƒksüJ ‚ttd |  ƒt | ƒksJ ‚tttddƒ |  ƒt | ƒ ks@J ‚tttddƒ |  ƒt | ƒ ksfJ ‚t td |  ƒt| ƒks„J ‚t td |  ƒt| ƒ ks¤J ‚t ttddƒ |  ƒt| ƒksÈJ ‚t ttddƒ |  ƒt| ƒ ksîJ ‚d S )Nrb   r¼   rq   r—   rp   )r,   r   r+   r   r   rh  rš   rš   r›   Útest_issue_14543n  s"    && $r  c                  C   s0   t ttttdƒ   ƒ} |  ¡ | dfks,J ‚d S )Nr_   r   )r'   r
   r/   rP  )r>  rš   rš   r›   Útest_as_real_imag…  s    r  c                  C   s*   t tjtd d  ƒ} |  ¡ dks&J ‚d S )Nrd   g      Ð?rs   )r)   r   r´   r—   r…  )Ze3rš   rš   r›   Útest_issue_18746  s    r‘  c                   C   sx   t ttd ƒttƒtd ks J ‚t ttd d ƒttƒtd ksDJ ‚t ttdt ƒtdt ƒ ƒttƒtd kstJ ‚d S )Nrb   r_   )r6   r'   r—   r   r   r   rš   rš   rš   r›   Útest_issue_25833’  s     $r’  c                   C   s  t ttƒt ƒ t¡td ks"J ‚ttdd„ ƒ tttƒt ƒ t¡td ksRJ ‚ttdd„ ƒ tttƒt ƒ t¡dks~J ‚ttdd„ ƒ t	ttƒt ƒ t¡td ks®J ‚ttdd„ ƒ t
ttƒt ƒ t¡dksÚJ ‚ttd	d„ ƒ tttƒt ƒ t¡td ksJ ‚ttd
d„ ƒ d S )Nrd   c                   S   s   t tdt ƒƒ t¡S r@  )r'   r   r—   rÕ   rš   rš   rš   r›   r¸   ›  r¹   z"test_issue_25847.<locals>.<lambda>rb   c                   S   s   t tdt ƒƒ t¡S r@  )r&   r   r—   rÕ   rš   rš   rš   r›   r¸   Ÿ  r¹   r   c                   S   s   t tdt ƒƒ t¡S r@  )r"   r   r—   rÕ   rš   rš   rš   r›   r¸   £  r¹   c                   S   s   t tdt ƒƒ t¡S r@  )r#   r   r—   rÕ   rš   rš   rš   r›   r¸   §  r¹   c                   S   s   t tdt ƒƒ t¡S r@  )r%   r   r—   rÕ   rš   rš   rš   r›   r¸   «  r¹   c                   S   s   t tdt ƒƒ t¡S r@  )r$   r   r—   rÕ   rš   rš   rš   r›   r¸   ¯  r¹   )r'   r-   r—   rÕ   r   rF   r?   r&   r"   r#   r%   r$   rš   rš   rš   r›   Útest_issue_25847˜  s    """$r“  c                   C   s°  t tt ƒ tt¡ddtd   dt td   ddtd    ttd   dt  td  ttd ttfƒ ksvJ ‚t tt ƒ tt ¡ddtd   dt td   ddtd    ttd   dt  td  ttd tt fƒ ksðJ ‚t tt ƒ tt¡ddtd   dt td   ddtd    ttd   dt  td  ttd ttfƒ kshJ ‚t tt ƒ tt ¡ddtd   dt td   ddtd    ttd   dt  td  ttd tt fƒ ksäJ ‚ttt ƒ tt¡ddtd   dt td   ddtd    ttd   dt  ttd ttfƒ ksTJ ‚ttt ƒ tt ¡ddtd   dt td   ddtd    ttd   dt  ttd tt fƒ ksÈJ ‚ttt ƒ tt¡ddtd   dt td   ddtd    ttd   dt  ttd ttfƒ ks8J ‚ttt ƒ tt ¡ddtd   dt td   ddtd    ttd   dt  ttd tt fƒ ks¬J ‚d S )	NrÊ   rc   rb   rd   rp   r_   r  rz  )r'   r—   r
   r8   r   r   r7   r#   rš   rš   rš   r›   Útest_issue_23843±  s    vzx|ptpr”  N)ÚZ!sympy.calculus.accumulationboundsr   Zsympy.core.addr   r«   r   r   Zsympy.core.modr   Zsympy.core.mulr   Zsympy.core.numbersr   r	   r
   r   r   r   r   r   Zsympy.core.powerr   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   r   r   r   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   r    Z(sympy.functions.elementary.miscellaneousr!   Z(sympy.functions.elementary.trigonometricr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Zsympy.functions.special.besselr0   r1   Z'sympy.functions.special.delta_functionsr2   Zsympy.matrices.denser3   Zsympy.polys.polytoolsr4   r5   Zsympy.series.limitsr6   Zsympy.series.orderr7   Zsympy.series.seriesr8   Zsympy.sets.fancysetsr9   Zsympy.sets.setsr:   r;   Zsympy.simplify.simplifyr<   Zsympy.core.exprr=   r>   r?   Zsympy.core.relationalr@   rA   Z$sympy.functions.elementary.piecewiserB   Zsympy.sets.setexprrC   Zsympy.testing.pytestrD   rE   rF   r—   r˜   r]   rG   rŠ   r   rL   rO   r  r  rT   rV   rW   r  r  rX   rY   r[   rœ   r¤   r¦   r¨   r®   r³   rµ   rº   r»   r½   rÁ   rÃ   rÅ   rÆ   rÇ   rÈ   r×   rØ   rÛ   rÞ   rß   rã   rä   rå   rç   ré   rë   rî   rñ   rò   ró   rô   rõ   rö   rþ   r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r#  r-  r.  r/  r0  r1  r4  r5  r8  r9  r:  r?  rA  rB  rC  rI  rK  rN  rQ  r\  r]  r_  rd  re  rf  rj  rk  rm  ro  rq  rr  rs  rt  ru  rw  rx  r|  r}  r€  r  rƒ  r„  r‡  rˆ  r‹  rŒ  rŽ  r  r  r‘  r’  r“  r”  rš   rš   rš   r›   Ú<module>   s0  ($@

%i"h
	[

41	/7I
m
O

?A(
	%	
