o
    GZŽ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   s$  t dƒ\} }t ddd}tjtdƒksJ ‚ttƒtu sJ ‚ttƒtu s%J ‚ttƒtddƒks0J ‚ttƒttƒ tddƒks?J ‚ttt ƒtt ksKJ ‚tt t ƒt t ksYJ ‚d	ttƒ t	j
u sdJ ‚d	ttƒ t	j
u soJ ‚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sŸJ ‚tt| ƒƒ| ks©J ‚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s$J ‚tt t ƒttƒ t ks5J ‚tdt ƒtdƒ t ksEJ ‚ttƒd	ksNJ ‚tt ƒd	ksXJ ‚tdt ƒd	kscJ ‚tdt ƒd	ksnJ ‚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s£J ‚tttd
dƒ ƒdks±J ‚tttddƒ ƒdks¿J ‚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sJ ‚ttd ƒt	jtdƒ ks/J ‚tttddƒ ƒtddƒtdƒ ksDJ ‚ttd ƒt	jtdƒ ksTJ ‚tt d ƒtddƒtdƒ ksgJ ‚tttddƒ ƒt	jtdƒ kszJ ‚tttddƒ ƒtddƒtdƒ ksJ ‚ttd ƒt	j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
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s"J ‚tttdd
ƒ ƒtttdd
ƒ ƒ ks8J ‚tttdd
ƒ ƒtttdd
ƒ ƒ ksNJ ‚tttdd
ƒ ƒtttdd
ƒ ƒ ksdJ ‚ttd ƒtdtdƒ d ƒkswJ ‚ttd ƒtddƒtd
ƒ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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sJ ‚tttd"d ƒ ƒttd  ƒ ks"J ‚tttd#d ƒ ƒttd  ƒks4J ‚t| t ƒt| ƒt ksCJ ‚ttt ƒd	ksNJ ‚tdt t ƒd	ks[J ‚tdt t d ƒtdƒkslJ ‚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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 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s/J ‚t)t*dd)ƒƒd*d+g D ]*}t*|d d ƒD ]}|t | } t+t,t| ƒƒtt,| ƒƒ ƒ}|d,k saJ ‚qDq:td	dd$j-du sqJ ‚ttt dd$j-du sJ ‚tt.dddd$dd$j-du sJ ‚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š   úb/var/www/auris/lib/python3.10/site-packages/sympy/functions/elementary/tests/test_trigonometric.pyÚtest_sin3   sÄ   $ ,$," (2 * &&*"",,**,,,&(,020$&&$":&$& ÿý&rœ   c                  C   sÖ   dD ]f} t d|  | d ƒD ]Z}|t |  }t|td  ƒt|ƒks)J d|| f ƒ‚t|td  ƒt|ƒ ks>J d|| f ƒ‚t|ƒt|td  ƒksRJ d|| f ƒ‚t|ƒ t|td  ƒksgJ 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s%J ‚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sJ ‚t tƒ t¡dttd ƒ dttd ƒd   ks6J ‚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seJ ‚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d¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksHJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksiJ ‚t ttƒƒ t¡ttt   d ttt  d  ks†J ‚t tƒ t¡dttƒ ks–J ‚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Á   sl   66"&ÿÿÿ(ÿÿ(ÿÿ(ÿÿ(ÿÿ(
ÿÿ(
ÿÿ(
ÿÿ(
ÿ: (,$0(r¨   c                 C   sp   ddl m} t| |ƒsJ ‚|| |ƒƒ| |ƒksJ ‚|| t|dddƒƒ|ks(J ‚t| |ƒ| ƒ ¡ dk s6J ‚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sJ ‚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sTJ ‚t dt ƒjdddt tƒ ttƒ ksjJ ‚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s¦J ‚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,4D0D(r³   c                   C   sz  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s,J ‚t tddtj ƒƒtddƒks=J ‚t tdtjtddƒ ƒƒtddƒksQJ ‚t ttjtddƒ tjtddƒ ƒƒtdt tjtddƒ ƒƒkssJ ‚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s»J ‚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<Xrµ   c                   C   s*   t tƒ ¡ ttƒksJ ‚ttdd„ ƒ d S )Nc                   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s#J ‚tt ƒttƒ ks/J ‚t tt ƒt tƒ ks<J ‚t tdt  ƒt tƒksJJ ‚t tdt  ƒt tƒ ksYJ ‚t tdt  ƒt tƒksgJ ‚t tdt  ƒt tƒ ksvJ ‚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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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sJ ‚t ttddƒ t ƒttƒks$J ‚ttd t ƒt tƒks3J ‚tttddƒ t ƒt tƒ ksFJ ‚tttddƒ t ƒt tƒksXJ ‚ttd t ƒttƒksgJ ‚tttddƒ t ƒttƒksyJ ‚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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s"J ‚ttƒttƒ tddƒks1J ‚ttt ƒtu s;J ‚tt t ƒtu sFJ ‚ttƒtu sNJ ‚tdƒdksVJ ‚tt	| ƒƒ| ks`J ‚tt
| ƒƒdtd| d  ƒ ksrJ ‚tt| ƒƒtd| d  ƒks‚J ‚tt| ƒƒdtdd| d   ƒ ks–J ‚tt| ƒƒtdd| d   ƒks¨J ‚tt| ƒƒd|  ks´J ‚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sJ ‚tt d ƒdksJ ‚tddd	  d t d ƒdks.J ‚td
dd  d t d ƒdksAJ ‚t dddd}t ddd}tt| d ƒdks[J ‚tt| d ƒd|d  kslJ ‚ttƒdksuJ ‚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s J ‚ttd ƒtjks¬J ‚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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sSJ ‚tttddƒ ƒtdƒd d ksgJ ‚tttddƒ ƒtdƒ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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tddƒ ƒtdƒ d tdƒd  ks)J ‚tttd
dƒ ƒtdƒd tdƒd  ksAJ ‚tttddƒ ƒtdƒ d tdƒd  ksZJ ‚tttddƒ ƒttd ƒ ksmJ ‚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s¦J ‚t| t ƒt| ƒks³J ‚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s#J ‚tddd jdu s/J ‚ttddƒƒjdu s<J ‚ttddd dd jd u sLJ ‚ttdd#ƒƒd$d%g D ]*}td| d ƒD ]}|t | } t t!t| ƒƒtt!| ƒƒ ƒ}|d&k s~J ‚qaqWd 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 ],}|| t ƒ|td ƒksJ ‚|dt ƒ|td ƒks)J ‚|dt ƒ|dt ƒks7J ‚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s+J ‚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sJ ‚t tƒ t¡dttd ƒd  dttd ƒd   ks7J ‚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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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sMJ ‚t ttƒƒ t¡ td¡ ¡ t tƒ t¡ ttdƒ¡ ¡ ksnJ ‚t ttƒƒ t¡tt d tt  d  ks‡J ‚t tƒ t¡dttƒ ks—J ‚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¤  sr   4:&*ÿÿÿ(ÿÿ(ÿÿ(ÿÿ(ÿÿ(
ÿÿ(
ÿÿ(
ÿÿ(
ÿ2 (.$&þ(rÆ   c                   C   sü  t tt ƒjddt tƒt tƒ ttƒttƒ  ksJ ‚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sTJ ‚t dt ƒjdddt tƒd  d ksjJ ‚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s¢J ‚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ƒ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,4<0D(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s,J ‚t tddtj ƒƒtddƒks=J ‚t ttj d tjd ƒƒtt tj d ƒdƒksXJ ‚t ttjtddƒ tjtddƒ ƒƒtdt tjtddƒ ƒƒkszJ ‚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s¤J ‚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T@rÈ   c                   C   s,   t tƒ ¡ ttƒ ksJ ‚ttdd„ ƒ d S )Nc                   S   r¶   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sJ ‚t tƒt tƒ tt tƒks,J ‚t jtdƒks5J ‚t tt ƒtks?J ‚t t t ƒt ksKJ ‚t dƒdksSJ ‚t tt	ƒƒt	ks]J ‚t t
t	ƒƒt	tdt	d  ƒ ksoJ ‚t tt	ƒƒtdt	d  ƒt	 ksJ ‚t tt	ƒƒdt	 ksJ ‚t tt	ƒƒdtddt	d   ƒt	  ks£J ‚t tt	ƒƒtddt	d   ƒt	 ks·J ‚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sJ ‚t ddd  t ƒdks(J ‚t td ƒtu s3J ‚t ttddƒ ƒtu sAJ ‚t td ƒtdƒksNJ ‚t ttddƒ ƒtdƒks^J ‚t td	 ƒtju sjJ ‚t t d	 ƒtju swJ ‚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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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sJ ‚t ttd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sPJ ‚t ttddƒ ƒdtdƒ ksbJ ‚t ttddƒ ƒdtdƒ kstJ ‚t t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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sJ ‚t td ƒ ¡ dtdƒ tdƒ tdƒ ks3J ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ ksOJ ‚t ttddƒ ƒ ¡ dtdƒ tdƒ tdƒ kskJ ‚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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sJ ‚t d
t t ƒdksJ ‚t tt t ƒttt ƒt ks1J ‚t tƒjd u s;J ‚t tƒjdu sEJ ‚t dddjsOJ ‚t tƒjd u sYJ ‚t tƒjdu scJ ‚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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s)J ‚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   s2  t t t ƒt tt ƒ} }ttƒ t ¡t| |  | |  ks!J ‚ttƒ t¡dttƒd  tdt ƒ ks8J ‚ttƒ t¡tttjd  ddttƒ ksPJ ‚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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sAJ ‚tt	tƒƒ t ¡ td¡ ¡ ttƒ t ¡ tt	dƒ¡ ¡ ksbJ ‚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s³J ‚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sJ ‚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@02$&ÿÿ.(rÜ   c                   C   s  dt td ƒttd ƒ ttd ƒ  t¡ksJ ‚dt td ƒttd ƒ ttd ƒ  t¡ks2J ‚ttd ƒ t¡ttd ƒksCJ ‚tttddƒ ƒ t¡tttddƒ ƒksZJ ‚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sJ ‚t tƒ ttjd ¡tu s+J ‚t tƒ ttjtddƒ ¡tu s=J ‚d S )Nrb   rp   )r/   r—   rŒ   r˜   r   r´   r   r   rš   rš   rš   r›   Útest_tan_subsr  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 ‚dt dt ƒjdd t ¡ t tƒtddƒfg¡d d ks¢J ‚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ÿþ@@H$: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s(J ‚t ttjd tjd ƒƒtt tjd ƒt tjd ƒƒksFJ ‚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   r¶   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Œ  ó    ræ   c                  C   sž  t tƒtu sJ ‚t jtdƒksJ ‚t tt ƒt ksJ ‚t t t ƒtks'J ‚t tƒtu s/J ‚t dƒtu s7J ‚t dt ƒtu sAJ ‚t tt	ƒƒt	ksKJ ‚t t
t	ƒƒdt	 ksWJ ‚t tt	ƒƒtdt	d  ƒt	 ksiJ ‚t tt	ƒƒt	tdt	d  ƒ ks{J ‚t tt	ƒƒtddt	d   ƒt	 ksJ ‚t tt	ƒƒdtddt	d   ƒt	  ks¥J ‚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ƒt dt ƒ  krót dt ƒksöJ ‚ J ‚t t ƒt dt ƒ  krt dt ƒksJ ‚ J ‚t td ƒdksJ ‚t t d ƒdks(J ‚t ttddƒ ƒdks6J ‚t ttddƒ ƒdksDJ ‚t td ƒdtdƒ ksSJ ‚t ttddƒ ƒdtdƒ kseJ ‚t td	 ƒtju sqJ ‚t t d	 ƒtju s~J ‚t ttd
d	ƒ ƒtju sJ ‚t ttdd	ƒ ƒtju sœJ ‚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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sQJ ‚t ttddƒ ƒtdƒ d ksdJ ‚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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ddƒ ƒ ¡ tdƒ tdƒ d tdƒ ksEJ ‚t t	t ƒtt	ƒ t ksUJ ‚t tt t ƒttt ƒ t ksiJ ‚t tƒjd u ssJ ‚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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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 s J ‚t t	ƒ !t	dt ¡tu s/J ‚t tt	d	  ƒdt	  }| "t	¡ddt t	d   ksMJ ‚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†   $$(,06$  $$$&$&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 s%J ‚t tttddƒ ƒtttddƒ ƒ tttddƒ ƒ d  ¡ ƒdk sJJ ‚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Nrë   c                   C   sˆ   dt ttddƒ ƒtttddƒ ƒ tttddƒ ƒ  ¡ ks!J ‚dtttddƒ ƒtttddƒ ƒ tttddƒ ƒ  ¡ ksBJ ‚d S )Nr_   rs   r   rd   )r/   r   r   r)   r-   Úratsimpr*   rš   rš   rš   r›   Útest_tan_cot_sin_cos_ratsimpð  s   BFrí   c                   C   sJ  t tƒ tdd¡dt td  td d  dtd  d  td	 d
  ttd ƒ ks-J ‚t td td  ƒ tdd¡td dtd   td  dt  d ttƒ ksVJ ‚t tdt  ƒ tdd¡dtt  tt d  ttd ƒ kswJ ‚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s£J ‚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   sd  t t t ƒt tt ƒ} }ttƒ t ¡t||   ||   ks!J ‚ttƒ t¡tdt ƒdttƒd   ks8J ‚ttƒ t¡ttƒtttd  dd ksOJ ‚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sµJ ‚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sJ ‚ttƒ t¡ td¡tdƒks0J ‚d S )Nrb   Fr}   r_   c                 S   sF   t | tƒƒ t¡t tƒ t¡ t| tƒ¡ }| t¡ ¡ dks!J ‚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,   &..@.0".ÿ.(ró   c                   C   s,  t ttddƒ ƒ t¡ ¡ tttddƒ ƒtttddƒ ƒ  t¡ ¡ ks'J ‚t ttddƒ ƒ t¡tttddƒ ƒtttddƒ ƒ  t¡ksJJ ‚t td ƒ t¡t td ƒks[J ‚t td ƒ t¡t td ƒkslJ ‚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sJ ‚t tƒ td¡tu s(J ‚t tƒ ttj¡tu s5J ‚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sBJ ‚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s¨J ‚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s6J ‚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ÿÿ*ÿ4ÿ
ÿ<:þ$8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s&J ‚t ttjd tjd ƒƒtt tjd ƒt tjd ƒƒksDJ ‚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   r¶   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 sJ ‚ttjƒtju s"J ‚ttjƒtju s,J ‚ttj	ƒtj	u s6J ‚ttj
ƒtj	u s@J ‚tdddd}t|t ƒtju sRJ ‚t| t ƒtju s^J ‚ttd ƒdt ksjJ ‚tt d ƒdt kswJ ‚tttddƒ ƒddt  ksˆJ ‚tttddƒ ƒd	dt  ks™J ‚tt ƒttƒks¤J ‚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sJ ‚tttƒ tt¡td
ƒtdƒ d ks+J ‚ttƒ ¡ dtd d  td d  ttd ƒ ksHJ ‚ttƒ t¡td
tƒksWJ ‚ttƒ t¡tttƒt ttd
ƒfdƒksoJ ‚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 s•J ‚ttƒjd u sŸJ ‚tdddd}ttƒjd u s°J ‚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©Ú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   "".$F* ,:
0r  c                  C   s  t tƒtu sJ ‚t jtdƒksJ ‚t tƒt t ksJ ‚t t ƒtt ks'J ‚t tƒtu s/J ‚t dƒdks7J ‚t dƒtd ksAJ ‚t dƒt d ksLJ ‚t tdƒd ƒtd ksZJ ‚t tdƒ d ƒt d ksjJ ‚t tdƒd ƒtd ksxJ ‚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	j
ƒtd	 ks¹J ‚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sJ ‚t tdƒd tdƒ ƒtd ks#J ‚t tdƒd  tdƒ ƒt d ks8J ‚dD ].} t| d  | d d ƒD ]}t|| ƒdkret t|t |  ƒƒ|t |  kseJ ‚qH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 s“J ‚t tƒjd u sJ ‚t dt ƒt tdƒ k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 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‚  sN     $($( &&*&€þ( &&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s)J ‚t tƒ dt¡} | dtd  d ks=J ‚t tƒ dt| d¡dtd  d ksQJ ‚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sJ ‚t td ƒ t¡t d ks*J ‚t dt ƒjtddtttƒ td  ttdƒ  ksGJ ‚t dt ƒjtddt ttƒ dt d  ttdƒ  ksgJ ‚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sJ ‚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  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    :@*((.FLr  c                	   C   s  t tƒ t¡t ttt tdtd  ƒ ƒ ksJ ‚t tƒ t¡dttdtdtd  ƒ  ƒ ks3J ‚t tƒ t¡tj	d ttƒ ksEJ ‚t tƒ t
¡dt
ttd  d ƒd t ƒ ks_J ‚t tƒ t¡tdt ƒ td  kssJ ‚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   r¶   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Õ  ó   $r  c                  C   sÂ  t tƒtu sJ ‚t tƒtu sJ ‚t jtdƒksJ ‚t tƒtt ks#J ‚t t ƒt t ks/J ‚t dƒtd ks9J ‚t tj	ƒtd ksDJ ‚t t
ddƒƒtt
ddƒ ksTJ ‚t dƒdks\J ‚t dƒtksdJ ‚t tdƒd ƒtd ksrJ ‚t tdƒ d ƒtt
ddƒ ks„J ‚tddƒD ]m} t| ƒD ]f}t|| ƒdkrõt t|t |  ƒƒ|t |  ksªJ ‚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 ‚qq‰t dt ƒtd tdt ƒ ks
J ‚t tƒ t¡dtdtd  ƒ ksJ ‚t d	ƒjd
u s(J ‚t dƒjdu s2J ‚t tƒjd u s<J ‚t t
ddƒddjd
u sKJ ‚t t
ddƒddjd
u sZJ ‚t t
ddƒddjdu siJ ‚t tƒjd u ssJ ‚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Ú  sH    $$*48€û&(""&&*"r  c                   C   sô  t tƒ t¡td ksJ ‚t td ƒ t¡tdƒtt ƒ ks!J ‚t td ƒ t¡tks.J ‚t dt ƒjtddt ttƒ ttdƒ  ksHJ ‚t dt ƒjtddtttƒ dt  ttdƒ  kseJ ‚t tt d ƒjtddt dƒ ksyJ ‚t t t d ƒjtddt dƒksJ ‚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s¸J ‚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:((&0@D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s-J ‚t tƒ tdd¡td ttƒ tdd¡ ksEJ ‚t tƒ dt¡} | d
td  d ksYJ ‚t tƒ dt| d¡dtd  d	 ksmJ ‚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   sh  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sAJ ‚t dƒ t¡tj	d ksOJ ‚t dƒ t¡t dƒ t¡ks_J ‚t tƒ t
¡tj	d t
tƒ ksqJ ‚t tƒ t¡dtttd  d ƒd t ƒ td  ksJ ‚t tƒ t¡tdt ƒksžJ ‚t tƒ t¡tdt ƒ td  ks²J ‚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   r¶   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  r  r  c                  C   sX  t tƒtu sJ ‚t jtdƒksJ ‚t tƒtd ksJ ‚t t ƒt d ks'J ‚t tƒtt d td ƒks7J ‚t dƒdks?J ‚t dƒtd ksIJ ‚t tdƒƒtd ksUJ ‚t dtdƒ  ƒtt	ddƒ ksgJ ‚t tddtdƒ  ƒƒtd ksyJ ‚t tddtdƒ d  ƒ ƒt d	 ksJ ‚t tddtdƒ d  ƒƒtt	dd	ƒ ks¦J ‚t d
tdƒ ƒt d ksµJ ‚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sJ ‚t tƒ t¡ddtd   ks#J ‚t tƒjdu s-J ‚t d
t ƒt tdƒ ks=J ‚tt ttƒƒsGJ ‚t tt	ddƒƒƒt	ddƒtd  ks\J ‚tt	ddƒƒjdu siJ ‚ttttttttttt fD ]³}|js‚|j!d u rº|j"t |ƒj"u sJ ‚|j#t |ƒj#u s˜J ‚|j$t |ƒj$u s£J ‚|j%t |ƒj%u s®J ‚|j&t |ƒj&u s¹J ‚n7|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 sJ ‚|j*t |ƒj*u sJ ‚|j+t |ƒj+u s(J ‚qvd 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  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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skJ ‚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s¦J ‚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:6@26r  c                   C   s2   t tƒ ¡ dtd d  ksJ ‚ttdd„ ƒ d S )Nr_   rb   c                   S   r¶   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  rç   r  c                   C   s²  t tƒ t¡tksJ ‚t dt ƒjtddtd ksJ ‚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sPJ ‚t tt ƒjtddt ttƒ d dt d  ttdƒ d  kstJ ‚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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s4J ‚t dt tt  td  ƒjtddt d ttdƒ d  ksWJ ‚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BB*0..FJr   c            	   
      s´  t jtdƒks	J ‚t ddƒtju sJ ‚t ddƒdksJ ‚t ddƒtd ks'J ‚t ddƒtd ks2J ‚t ddƒttddƒ ks@J ‚t ddƒtksIJ ‚t ddƒttddƒ ksWJ ‚t ddƒt d kscJ ‚t ddƒt d ksoJ ‚tdd	d
} tdd	d}t || ƒ}t t	| t|  t
| d |d  ƒ ƒ }|df| tff}| |¡| |¡ks©J ‚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sJ ‚t ˆt ƒdt ttˆƒtjƒ t ks+J ‚t ˆˆ ƒ t	¡t t	ˆ tˆ  t
ˆ d ˆd  ƒ ƒ ksKJ ‚t ddƒtju sVJ ‚t ˆˆ ƒtˆ tˆ  ƒ }| ˆ dˆdi¡ t¡dkstJ ‚| ˆ dˆdt i¡ t¡t tt	t
dƒt d ƒ  ks”J ‚| ˆ dt ˆdi¡ t¡t d tt	t
dƒt ƒ  ks´J ‚| ˆ 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s$J ‚||  |¡ d¡s1J ‚t dˆ ƒ t¡tttˆ ƒdk fdtˆ dƒftd	fƒksOJ ‚t d|ƒ t¡tt|dk fdt|dƒftjd	fƒkslJ ‚t d| ƒszJ |tƒdkƒ‚t d||  ƒ t¡tt|dk fdƒksJ ‚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s%J ‚ttt ˆˆ ƒ t	¡ˆƒƒˆ ˆ d ˆd   ks?J ‚tt ddƒ d¡ƒdksNJ ‚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¹   ×  s    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   "r1  c                   C   s  t tƒtu sJ ‚t jtdƒksJ ‚t t ƒdksJ ‚t tƒdks"J ‚t tƒdks*J ‚t dƒtd ks4J ‚t dƒtd ks>J ‚t tdƒd ƒtd ksLJ ‚t dtdƒ ƒtd ksZJ ‚t dtdƒ ƒt d ksiJ ‚t tƒ 	t¡ddtd   kszJ ‚t t
ƒjdu sƒJ ‚t tt ƒt ttƒ ks’J ‚t dt ƒttdƒ 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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.   " .r2  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sEJ ‚t tƒ t¡tttd ƒ tttd  ƒttd  d ƒ ƒ kshJ ‚t tƒ t	¡t	dt ƒkswJ ‚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sºJ ‚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>H66r3  c                   C   s2   t tƒ ¡ dtd d  ksJ ‚ttdd„ ƒ d S )Nr`   rb   r_   c                   S   r¶   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  rç   r4  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sOJ ‚t tt ƒjtddt ttƒ d td  ttdƒ d  ksqJ ‚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s¤J ‚t tƒjtddt d ks´J ‚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s J ‚t td tt  td  ƒjtddt d ttdƒ d  ksCJ ‚t td tt  td  ƒjtddt d ttdƒ d  ksfJ ‚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H 644:FJr5  c                   C   s   t tƒjtfks
J ‚d S ©N)r-   r—   Úargsrš   rš   rš   r›   Útest_attributes$  s   r8  c                   C   sn   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s5J ‚d S r·   )r-   r   r—   r)   rš   rš   rš   r›   Útest_sincos_rewrite(  s   r9  c                 C   s   | |ƒj d | kS )zMChecks that the expr has been rewritten using f(-x) -> f(x)
    arg : -x
    r   ©r7  ©r‹   r   rš   rš   r›   Ú_check_even_rewrite/  s   r<  c                 C   s   | |ƒj jS )zNChecks that the expr has been rewritten using f(-x) -> -f(x)
    arg : -x
    )r‹   Zis_Mulr;  rš   rš   r›   Ú_check_odd_rewrite6  s   r=  c                 C   s   | |ƒj d |kS )z%Checks that the expr is not rewrittenr   r:  r;  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 ]%}|D ]	}t||ƒs7J ‚q.t|| | ƒsAJ ‚|t	t
 ƒ|t
t	 ƒksOJ ‚q*|D ]&}|D ]	}t||ƒs_J ‚qVt|| | ƒsiJ ‚|t	t
 ƒ|t
t	 ƒ ksxJ ‚qRd S )Nrb   r_   r`   é   ry   )r)   r-   r/   r*   r&   r'   r#   r   r   r—   r˜   r<  r>  r=  )rY   Úbrm   ÚoddZ
with_minusr‹   Úexprrš   rš   r›   Útest_evenodd_rewriteB  s0   *ÿ

ÿÿ
ÿürC  c                   C   s`   t tƒ t¡tksJ ‚ttƒ t¡dksJ ‚ttƒ t¡tks!J ‚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   rE  c                  C   s>  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sPJ ‚t
dt ƒ t¡ttjtj	ƒksbJ ‚tdt ƒ t¡ttjtj	ƒkstJ ‚tdt ƒ t¡ttjtj	ƒks†J ‚t ttd  ƒdt  } |  t¡td ksJ ‚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     $$$$rF  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sGJ ‚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stJ ‚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s©J ‚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ÿ
ÿÿ.ÿrG  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#   )rJ  rš   rš   r›   Útest_aseriesx  s
   rM  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s*J ‚td|  t ƒd
ks6J ‚td|  t ƒtu sBJ ‚td|  t ƒtt|  ƒksRJ ‚td|  t ƒd
ks^J ‚td|  t ƒd
ksjJ ‚td|  t ƒtu svJ ‚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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 ƒ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dt |  ƒks$J ‚td| t ƒd	ks1J ‚td| t ƒd
ks>J ‚td| t ƒd
ksKJ ‚td| t ƒtu sXJ ‚td| t ƒd	kseJ ‚td| t ƒd
ksrJ ‚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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sJ ‚td| t ƒtdt | ƒks-J ‚td| t ƒtdt | ƒks@J ‚td| t ƒd	ksMJ ‚td| t ƒd
ksZJ ‚td| t ƒd
ksgJ ‚td| t ƒtu stJ ‚td| t ƒdksJ ‚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 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s6J ‚td| t ƒtdt | ƒksIJ ‚td| t ƒtdt | ƒks\J ‚tdt t ƒtdt t ƒksoJ ‚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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s@J ‚tdt t ƒtdt t ƒksSJ ‚tdt t ƒtdt t ƒksfJ ‚tdt t ƒtdt t ƒksyJ ‚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 ‚d S )Nr­   TrJ   rn   ro   Úo)rA  rd   r_   r   rp   g      @g      @g      @r  r`   )r   r)   r   r-   r/   r*   r   r—   )r­   rn   rN  rš   rš   r›   Útest_issue_4420‚  s¦     $$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*rO  c                   C   s´   t tdd„ ƒ t tdd„ ƒ ttƒ ¡ tksJ ‚ttƒ ¡ tks"J ‚t tdd„ ƒ t tdd„ ƒ ttƒ ¡ t	ks:J ‚t
tƒ ¡ tksDJ ‚ttƒ ¡ tksNJ ‚ttƒ ¡ tksXJ ‚d S )Nc                   S   ó   t tƒ ¡ S r6  )r-   r—   Úinverserš   rš   rš   r›   r¹   ð  ó    ztest_inverses.<locals>.<lambda>c                   S   rP  r6  )r)   r—   rQ  rš   rš   rš   r›   r¹   ñ  rR  c                   S   rP  r6  )r+   r—   rQ  rš   rš   rš   r›   r¹   ô  rR  c                   S   rP  r6  )r,   r—   rQ  rš   rš   rš   r›   r¹   õ  rR  )rF   ÚAttributeErrorr/   r—   rQ  r'   r*   r#   r&   r-   r"   r)   rš   rš   rš   r›   Útest_inversesï  s   rT  c                  C   sÎ  t ddd\} }| |t  }dD ]Ô}t|ƒj|dt| ƒt|ƒ t| ƒt|ƒ fks,J ‚t|ƒj|dt| ƒt|ƒ t| ƒ t|ƒ fksGJ ‚t|ƒj|dtd|  ƒtd|  ƒtd| ƒ  td| ƒtd|  ƒtd| ƒ  fksuJ ‚t|ƒj|dtd|  ƒ td|  ƒtd| ƒ  td| ƒtd|  ƒtd| ƒ  fks¤J ‚t| ƒj|dt| ƒdfks´J ‚t| ƒj|dt| ƒdfksÄJ ‚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]   rU  rš   rš   r›   Útest_real_imagü  s@   ÿÿÿÿÿ ÿ"
ÿ"
ÿ$
ÿ"
ÿ   "ôrW  c            	      C   sX  dD ]ƒ} dD ]~}||  }t dt|d d d dƒƒD ]i}dt||ƒkrƒ|t | }t|ƒ t¡}t|ƒ t¡}| tt¡rEJ d||f ƒ‚| tt¡rSJ d||f ƒ‚dt	t| 
d¡ƒ| 
d¡ ƒkskJ d||f ƒ‚dt	t| 
d¡ƒ| 
d¡ ƒksƒJ d||f ƒ‚qqqttd	 ƒ t¡tttd
 ƒd tj ƒksžJ ‚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ssJ ‚| ¡ | ¡ 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   rJ  rO   r­   r—   Ús1Úc1rn   rY   rš   rš   r›   Útest_sincos_rewrite_sqrt  s    00€ø÷0ÿ"ÿÿÿ(ÿÿ6ÿ
ÿÿÿþÿ
ÿ,ÿÿ
ÿÿÿþýû2ÿÿ
ÿÿÿúøø 	÷	ÿ6ÿ
ÿÿÿþ÷õ,ÿ2ÿÿ
ÿÿÿþýý42ÿÿ
ÿÿÿÿý,ÿÿ
ÿÿýüü(	ÿ2ÿÿ
ÿÿÿþýý÷02ÿÿ
ÿÿÿÿý,ÿÿ
ÿÿýüó*2ÿÿ
ÿÿÿÿþþîë,ÿÿ"ÿÿ
þþþÿýÿÿ
þþýûë$ÿ2ÿÿ
ÿÿÿþüüæâôÿ,:ÿrb  c                   C   s2   t td ƒ t¡ d¡t td ƒ d¡ksJ ‚d S )Ni  r[  )r)   r   r§   r!   rê   rš   rš   rš   r›   Útest_sincos_rewrite_sqrt_257^  s   2rc  c               	   C   s<  dD ]™} dD ]”}||  }t dt|d d d dƒƒD ]}dt||ƒkr™|t | }d| |krdd| d| krdt|ƒ t¡}| tt¡rLJ d||f ƒ‚dt	t| 
d	¡ƒ| 
d
¡ ƒksdJ d||f ƒ‚|dkr™||kr™t|ƒ t¡}| tt¡rJ d||f ƒ‚dt	t| 
d	¡ƒ| 
d
¡ ƒks™J d||f ƒ‚qqqd S )NrX  rY  r_   rb   rg   rp   r£   rZ  ri   rd   r   )r“   r^  r5   r   r/   r§   r!   r_  r*   r”   rê   )rL   rJ  rO   r­   r—   Út1ra  rš   rš   r›   Útest_tancot_rewrite_sqrtc  s$    00€öþÿre  c               	   C   s  t ddd} t dƒ}tjtdƒksJ ‚ttƒtu sJ ‚tdƒdks#J ‚ttƒdks+J ‚ttd ƒtu s5J ‚tt d ƒtu s@J ‚ttd	 ƒdtd
ƒ d
 ksPJ ‚ttd
 ƒdksZJ ‚tttddƒ ƒtu sgJ ‚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s˜J ‚t| t	 ƒdt
| ƒ ks¦J ‚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| ƒd  d  ksTJ ‚t| ƒjdks^J ‚t|ƒjd kshJ ‚ttƒjd u srJ ‚ttƒjdu s|J ‚t| ƒ ¡ t| ƒks‰J ‚tdddjdks•J ‚t| ƒjd ksŸJ ‚ttd ddjdks­J ‚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sFJ ‚t| ƒ | ¡t| ƒt| ƒ ksXJ ‚t|ƒ d|¡d|d  d kskJ ‚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   rV  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ÿ(ÿ
ÿ$&&rj  c                   C   sø  t tƒ t¡dttt ƒd tt t ƒd   ksJ ‚t tƒ t¡dttƒ ks+J ‚t tƒ t¡ttd ƒd d ttd ƒd  d  ksIJ ‚t tƒ t¡t tƒksVJ ‚t tƒ t¡t tƒkscJ ‚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s³J ‚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<:*<(*
þ&rk  c                   C   s2   t tƒ ¡ ttƒt tƒ ksJ ‚ttdd„ ƒ d S )Nc                   S   r¶   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Æ  rç   rl  c                     sü  t ddd‰ t dƒ} tdƒ}dtdƒ }| |¡dksJ ‚| |¡dks&J ‚tjtdƒks/J ‚tdƒtu s7J ‚ttƒtu s?J ‚ttƒtu sGJ ‚ttd ƒdksQJ ‚tt d ƒdks\J ‚ttd	 ƒdksfJ ‚ttd
 ƒdt	d
ƒ d
 ksvJ ‚ttt
ddƒ ƒdk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ƒt tdƒ ks´J ‚tˆ t ƒt tˆ ƒ ksÃJ ‚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sIJ ‚tˆ ƒjdddtˆ ƒ ksZJ ‚tdˆ  ƒjddddtˆ ƒ tˆ ƒ  kssJ ‚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s´J ‚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s-J ‚tˆ ƒ ˆ ¡tˆ ƒ tˆ ƒ ks@J ‚tˆ ƒ  dˆ ¡dksMJ ‚tˆ ƒ  d
ˆ ¡dˆ d
  d ks`J ‚tˆ ƒ  dˆ ¡dˆ d  d kssJ ‚t!t"‡ fdd„ƒ d S )Nr—   TrH   r]   r_   r   rb   r`   re   rp   rc   r¥   ri   rd   r¯   Fr}   rf  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   rV  r   r   r   r)   r²   rÔ   rŽ   rY   r   r[   rÖ   rÕ   r8   r7   r   r*   rï   rF   r>   )r]   ZcosecantÚ	alternaterš   rn  r›   Útest_cscË  sh    *
4ÿ6ÿþ
ÿ"2L
ÿ:
ÿ&&&rp  c                  C   sP  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s&J ‚ttƒtd ks0J ‚tt ƒtd ks;J ‚ttƒtd ksEJ ‚ttttdd	ƒ ƒƒttd
d	ƒ ksYJ ‚tdtdƒ ƒttddƒ ksjJ ‚tdtd
ƒ ƒtd ksxJ ‚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tddtdƒ d  ƒƒttd
dƒ ks·J ‚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 ]r}t	|ƒD ]k}t
||ƒdkrUtt|t | ƒƒ|t | ksJ ‚tt|t | ƒ ƒt|t |  ksJ ‚tt|t | ƒƒtd tt|t | ƒƒ ks8J ‚tt|t | ƒ ƒtd tt|t | ƒ ƒ ksUJ ‚qêqättƒ t¡dtd tddtd   ƒ  ksqJ ‚ttƒ t¡tttddtd   ƒtt  ƒ td  ks‘J ‚ttƒ t¡tdt ƒ td  ks¦J ‚ttƒ t¡tdt ƒks¶J ‚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sJ ‚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   r¶   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  sJ   ("$,.0&&,6:€û4@* >
ÿB
ÿ&rq  c                  C   s|   t tjƒjdu s
J ‚tdddd} t | ƒjdu sJ ‚t tƒjd u s#J ‚t tƒjd u s,J ‚tdddd}t |ƒjdu s<J ‚d S )NFrO   T)rN   rK   rJ  ©rI   Zfinite)r%   r   r‰   rŽ   r   rÔ   r—   rG   )rO   rJ  rš   rš   r›   Útest_asec_is_real4  s   rs  c                   C   sþ  t dt ƒ t¡td ksJ ‚t td ƒ t¡tdƒttƒ ks"J ‚t td ƒ t¡tks/J ‚t tƒjtddt ttƒ ttdƒ  ksGJ ‚t tƒjtddtttƒ dt  ttdƒ  ksbJ ‚t tt d ƒjtddt dƒksuJ ‚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s¡J ‚t t t d ƒjtd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 ‚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&*.(HLru  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sCJ ‚t tƒ dt¡} | dt td  d ksYJ ‚t tƒ dt| d¡dt td  d	 ksoJ ‚d S )Nr   r¥   rb   rd   rp   r]  rc   re   rg  é#   rs   r?  rf   rr   )r%   r—   r8   r
   r   r7   rï   )Zt4rš   rš   r›   Útest_asec_seriesO  s   :ÿÿ
ÿÿ0rw  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s%J ‚t t ƒdks.J ‚t tƒdks6J ‚t dƒtu s>J ‚t tdƒƒdt ksJJ ‚t tdƒƒdt ksVJ ‚t td	ƒƒd	dt  ksdJ ‚tt ttƒƒsmJ ‚tt ttƒƒsvJ ‚t dt	dƒ ƒtd ks„J ‚t ttt
d
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 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s1J ‚t tƒ t¡t tt	ddtd   ƒtt  ƒ ksNJ ‚t tƒ t¡tdt ƒks^J ‚t tƒ t¡tdt ƒ td  kssJ ‚t tƒ t¡tt	td d ƒƒ td  t	td ƒ t 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ƒ 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   r¶   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&rx  c                   C   s  t tƒ t¡t tƒksJ ‚t tƒ t¡t tƒksJ ‚t tƒ t¡dt ttt ƒtt t ƒ  ks4J ‚t tƒ t¡dttƒ ksCJ ‚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syJ ‚t tƒ t
¡dt
ttd  dd ksŽJ ‚t tƒ t¡tt td  ddks¢J ‚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*(""ÿÿÿ2(ry  c                   C   s  t dt ƒ t¡tksJ ‚t td ƒ t¡td ksJ ‚t td ƒ t¡t d ks,J ‚t tƒjtddtttƒ td  ttdƒ  ksGJ ‚t tƒjtddt ttƒ dt d  ttdƒ  kseJ ‚t tt d ƒjtddt dƒksxJ ‚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s¤J ‚t t t d ƒjtddt 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 ‚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  rt  )r$   r—   rÖ   r   r
   r   r   r!   rš   rš   rš   r›   Útest_acsc_leading_term  s    6<&,,*NTrz  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sHJ ‚t tƒ dt¡} | dt td  d	 ks^J ‚t tƒ dt| d¡d
t td  d kstJ ‚d S )Nr   r¥   rb   rd   rp   r]  rc   re   rg  rv  rs   r?  )r$   r—   r8   r
   r   r   r7   rï   )Zt6rš   rš   r›   Útest_acsc_series¡  s   0ÿÿÿ
ÿÿ0r{  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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sxJ ‚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 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s1J ‚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spJ ‚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sðJ ‚d S )Nrb   rd   rp   r¥   rÊ   r_   ru   rc   rh  r`   re   r¢   )	r&   r—   Ú_eval_nseriesr
   r   r!   r7   r   r   rš   rš   rš   r›   Útest_asin_nseriesª  s€   "ÿÿÿ

ÿÿÿÿ

ÿÿÿÿ

ÿ"ÿÿÿ

ÿ,ÿ ÿ
ÿ,ÿÿ
ÿ,ÿÿ
ÿ0ÿÿ
ÿr}  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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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ƒ 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siJ ‚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 )Nrb   rd   rp   r¥   rÊ   ra   r_   ru   rc   rh  r`   re   r¢   )	r"   r—   r|  r
   r!   r7   r   r   r   rš   rš   rš   r›   Útest_acos_nseries¾  st   2ÿÿ

ÿ2ÿÿ

ÿ0ÿÿ

ÿ(ÿÿÿ

ÿ$ÿ ÿ
ÿ&ÿÿ
ÿ$ÿÿ
ÿ*ÿÿ
ÿr~  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s2J ‚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sfJ ‚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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syJ ‚d S )Nrb   rd   r_   rp   r¥   rÌ   éQ   r`   é   é0   )r'   r—   r
   r|  r   r7   r   r   rš   rš   rš   r›   Útest_atan_nseriesÒ  sp   ,ÿÿ

ÿ(ÿÿÿ

ÿ*ÿÿÿ

ÿ.ÿÿ

ÿ48*ÿÿÿ
ÿ
ÿ,ÿÿÿ
ÿ
ÿr‚  c                   C   s@  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s¸J ‚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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sdJ ‚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  r  r`   r€  r  )	r#   r—   r   r
   r|  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sHJ ‚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s+J ‚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sgJ ‚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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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¥   r€  rc   ru   é+   rh  r`   re   r¢   )	r%   r—   r   r|  r
   r!   r7   r   r   rš   rš   rš   r›   Útest_asec_nseriesö  s„   ,ÿÿÿ

ÿ0ÿÿÿ

ÿ0ÿÿÿÿ

ÿ0ÿÿÿ
ÿ"ÿÿ
ÿ( ÿ ÿ
ÿ"ÿÿ
ÿ(ÿÿ
ÿr†  c                   C   sR  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sHJ ‚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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siJ ‚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s'J ‚d S r„  )	r$   r—   r   r|  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 sJ ‚t| ƒjd u s!J ‚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s(J ‚tˆ ƒ ¡ tks2J ‚tˆ ƒ ¡ dt ks>J ‚tˆ ƒ ¡ dt ksJJ ‚tdˆ  ƒ ¡ tksVJ ‚tdˆ  d ƒ ¡ td ksfJ ‚tdˆ  ƒ ¡ tt	ddƒ kswJ ‚tˆ |  ƒ ˆ ¡dt t
| ƒ ksŠJ ‚tdˆ  |  dt  ƒ | ¡dt t
dˆ  ƒ ks¥J ‚tdˆ  ƒ | ¡tju s³J ‚tt‡ fdd„ƒ d S )	Nzx, yrb   rd   re   rf   rp   c                      s   t ˆ d ƒ ˆ ¡S r·   )r-   Úperiodrš   rn  rš   r›   r¹   9  s    z"test_trig_period.<locals>.<lambda>)r   r-   r‹  r   r)   r/   r*   r,   r+   r   r”   r   rˆ   rF   ÚNotImplementedError)r˜   rš   rn  r›   Útest_trig_period*  s    "&6r  c                   C   s8   t tƒ t¡t tƒksJ ‚t tƒ t¡t tƒksJ ‚d S r6  )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s=J ‚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   sV  t dddd} t| ƒjd u sJ ‚t| ƒjd u sJ ‚t| ƒjdu s"J ‚t| ƒjd u s+J ‚t| ƒjd u s4J ‚t| ƒjdu s=J ‚tt	ƒjd u sFJ ‚tt
ƒjd u sOJ ‚tt	ƒjd u sXJ ‚tt
ƒjd u saJ ‚tt	ƒjd u sjJ ‚tt
ƒjd u ssJ ‚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 ‚d S )Nr]   FTrr  )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r(t d dt   krtd kr(n J ‚tdƒtdt ƒks*J ‚t tdƒƒdtd  krXt d dtd    krItd krXn J ‚tdƒtdtd  ƒksZJ ‚ttdƒƒt d d kr†dt d d   krvtkr†n J ‚tdƒtt d d ƒksˆJ ‚ttdƒƒdt d kr±ddt d   kr¢tkr±n J ‚tdƒtdt d ƒks³J ‚ttdƒƒddt  krÜdddt    krÍtkrÜn J ‚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 J ‚td	ƒtd
t d	 ƒksJ ‚ttdƒƒd
t d krCt d d
t d   k r3td k rCn J ‚tdƒtd
t d ƒksEJ ‚ttdƒƒdttddƒ  kr€t d dttddƒ    k rmtd k r€n J ‚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 J ‚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 J ‚tdƒtdttddƒ  ƒksóJ ‚t
tdƒƒddt  kr dddt    krtkr n J ‚tdƒtddt  ƒks"J ‚t
tdƒƒdttddƒ  krXddttddƒ    krEtkrXn J ‚tdƒtdttddƒ  ƒksZJ ‚ttdƒƒdt d krŒt d dt d   kr|td krŒn J ‚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r¶td krÉn J ‚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   T`\VVfhzhz^ph~r”  c                  C   sä  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s6J ‚tdt d ƒtdƒksDJ ‚tdt d ƒtdƒ ksSJ ‚ttd ƒtdƒ ks`J ‚ttd ƒtdƒkslJ ‚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s°J ‚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   rn  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/   rV  )rB  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s"J ‚t ttdt ƒtdt ƒ ƒttƒtd ks:J ‚d S )Nrb   r_   )r6   r'   r—   r   r   r   rš   rš   rš   r›   Útest_issue_25833’  s    $4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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sWJ ‚ttdd„ ƒ t
ttƒt ƒ t¡dksmJ ‚ttd	d„ ƒ tttƒt ƒ t¡td ks…J ‚ttd
d„ ƒ d S )Nrd   c                   S   ó   t tdt ƒƒ t¡S rD  )r'   r   r—   rÖ   rš   rš   rš   r›   r¹   ›  ó    z"test_issue_25847.<locals>.<lambda>rb   c                   S   r™  rD  )r&   r   r—   rÖ   rš   rš   rš   r›   r¹   Ÿ  rš  r   c                   S   r™  rD  )r"   r   r—   rÖ   rš   rš   rš   r›   r¹   £  rš  c                   S   r™  rD  )r#   r   r—   rÖ   rš   rš   rš   r›   r¹   §  rš  c                   S   r™  rD  )r%   r   r—   rÖ   rš   rš   rš   r›   r¹   «  rš  c                   S   r™  rD  )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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sxJ ‚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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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sbJ ‚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sÔJ ‚d S )	NrË   rc   rb   rd   rp   r_   r“  r€  )r'   r—   r
   r8   r   r   r7   r#   rš   rš   rš   r›   Útest_issue_23843±  s   vzvzptpx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'  r1  r2  r3  r4  r5  r8  r9  r<  r=  r>  rC  rE  rF  rG  rM  rO  rT  rW  rb  rc  re  rj  rk  rl  rp  rq  rs  ru  rw  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›   Ú<module>   s2   ($@

%i"h
	[

41	/7I
m
O

?A(
	%	
