o
    …º¥gg_ ã                   @   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º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©ÚnonnegativeÚnz)ÚnonzeroÚep)Úextended_positiveÚen)Úextended_negative)Úextended_nonpositive)Úextended_nonnegativeÚenz)Úextended_nonzeroÚa)Ú	algebraicÚna)rV   r`   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©Ú	imaginaryé   éÿÿÿÿéþÿÿÿé   r   é   é   é   éýÿÿÿé
   éI   é   ég   ÚneF©rK   ÚevenÚe©rt   é   é   éûÿÿÿé   éûÿÿé   éùÿÿÿéõÿÿÿéh   éi   éj   é˜ÿÿÿé–ÿÿÿ©ÚevaluateÚq©ÚrationalÚqn)rˆ   rV   é   é<   é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_algebraicr_   ra   r   Úis_rationalÚ
isinstancer   r   rC   r;   r9   r   ÚlistÚrangeÚabsÚfloatÚis_zeror   )	ÚxÚyrc   rr   ru   r†   r‰   ÚdrO   © r¡   új/var/www/visachat/venv/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)rf   ri   rw   rk   rj   rl   rn   r|   é   é   é   é   é(   r‹   éx   rh   ri   ú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   é	   rw   rl   rj   r©   rp   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 )Nri   rf   r   Trw   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_trigrf   Fr„   ç»½×Ùß|Û=)Úsympy.core.functionr°   r=   r   r›   rO   )ÚfÚiru   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©Útrigri   rw   éüÿÿÿrk   éøÿÿÿrx   Fr„   rf   )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 )
Nrg   rf   r   ri   rw   rk   rp   rj   rl   )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 ©Nri   )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 )Nri   rw   rk   rj   )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 )'Nrb   rf   rg   rh   ri   r   rm   rn   ro   rp   rq   rO   TFrs   ru   rv   rj   rz   rw   rk   é   rl   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‘   rG   r•   r–   r_   ra   r   r   r™   rš   r›   rœ   )rž   rŸ   rO   ru   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Ú rk   g     €@rz   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¬   rf   ri   rk   r¦   rl   éÐ  rz   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 )	Nri   rf   r   Trw   Fr„   ©rf   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¶   ri   rf   rw   rk   rz   rx   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 )Nrg   rf   r   ri   rw   rk   rj   )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 )!Nrf   r   ri   rh   rm   rn   ro   rw   rk   rx   rj   é   éðÿÿÿrl   rg   rp   ry   rz   iáÿÿÿr|   rÅ   r¦   é   é   é   TFr„   r~   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–   r_   ra   Ú	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¬   rw   ri   rj   r¤   rx   rp   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 )Nri   Fr„   rf   rw   rj   rz   rg   rk   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   é"   rx   rÕ   rz   ri   rj   Fr„   rg   rk   )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 )Nri   rw   )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¶   rf   r   ri   rp   r¦   rw   rj   é7   é%   rk   éï   )
r/   rž   rŸ   rº   rc   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 )Nrw   ri   rl   )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 )Nri   rf   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 )Nrf   r   ri   rh   rw   rm   rj   rp   rk   rx   rl   ry   rz   rg   r|   rÅ   r¦   rÔ   rÕ   rÖ   TFrn   r~   é'   rå   i×ÿÿÿr´   rd   )#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Ü   r_   r–   ra   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 )Nrz   r¤   rf   g›+¡†›„=rk   )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 )Nrf   rz   r¤   rk   )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¬   rf   rw   é-   ri   rj   i±  rp   iu  rk   r¸   rh   rg   )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 )Nri   Fr„   rf   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’   rc   r¡   r¡   r¢   Úcheck  s   ,ztest_cot_rewrite.<locals>.checkrj   rg   rk   rz   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 )Nrk   rå   rx   rÕ   ri   rj   Fr„   rg   rz   )	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¶   rf   rg   rw   ri   rk   rl   rm   )
r*   rž   rŸ   rº   Útogetherrc   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 )Nrw   rl   )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 )Nri   rf   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   rV   ri   rj   rp   rh   r   rf   rw   rl   rk   r©   rÍ   Fr„   Úxr)rI   rV   éd   )r˜   r.   rž   r   r   rÙ   ÚInfinityr   ÚNegativeInfinityÚNaNÚ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 )Nrf   r   ri   rg   rw   rk   rj   rz   rl   rn   r|   ©rj   rl   rz   rn   r|   çš™™™™™É?Fr„   Trh   rp   r}   )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¬   rw   rl   rj   r¨   rp   ép   )r&   rž   r8   r7   r÷   ©Ú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 )Nrf   ri   ©Úcdirrg   rw   )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 )Nrf   ri   )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 )Nrf   ri   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 ‚dD ]"} t| ƒD ]}t|| ƒdkr§t 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sÎJ ‚t dƒjd	u s×J ‚t d
ƒjdu sàJ ‚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s0J ‚t dt ƒ ¡ t dt ƒksAJ ‚t t
ddƒƒ ¡ t t
ddƒƒksTJ ‚t t
ddƒƒ ¡ t t
ddƒƒksgJ ‚t ttt  ƒ ¡ t ttt  ƒks|J ‚t tƒ ¡ t ttƒƒks‹J ‚d S )Nrf   r   ri   rw   rg   rk   r  r  Trh   Frp   r„   rn   rm   )r"   r   r   rŽ   r:   r   r
   r   r   r   r   r!   rš   r5   r)   r&   rž   r   r•   rG   r  rL   r   rO   rc   )r    Únumr¡   r¡   r¢   Ú	test_acosÚ  sB    $$€þ$&""&&*"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 )Nri   rf   r  rg   rh   rw   )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   rz   ri   rw   rl   rj   r¨   rp   r  rm   ry   )	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 )Nri   rf   rh   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 )Nrg   rf   ri   c                   S   r¾   r¿   )r"   rž   rÀ   r¡   r¡   r¡   r¢   rÁ   /  rÂ   z!test_acos_fdiff.<locals>.<lambda>)r"   rž   rÀ   r!   rF   r>   r¡   r¡   r¡   r¢   Útest_acos_fdiff-  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 )Nrf   ri   r   rk   rw   rm   rz   rj   rn   rh   r|   ry   r  Trg   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ÚnnrU   rW   rY   ÚenpÚennr]   rÜ   Ú
is_nonzeror  Úis_negativeÚis_nonpositiveÚis_nonnegativeÚis_extended_nonzeroÚis_extended_positiveÚis_extended_negativeÚis_extended_nonpositiveÚis_extended_nonnegative)r    r  r  r¡   r¡   r¢   Ú	test_atan2  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 )Nrf   ri   ry   ©r“   rj   )r'   rž   r®   r   r
   r&   r!   r   r"   r#   r%   r$   rò   r¡   r¡   r¡   r¢   Útest_atan_rewritei  s   :D:6@26r0  c                   C   s2   t tƒ ¡ dtd d  ksJ ‚ttdd„ ƒ d S )Nrf   ri   c                   S   r¾   r¿   )r'   rž   rÀ   r¡   r¡   r¡   r¢   rÁ   w  rÂ   z!test_atan_fdiff.<locals>.<lambda>)r'   rž   rÀ   rF   r>   r¡   r¡   r¡   r¢   Útest_atan_fdiffu  rï   r1  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 )Nrf   r  ri   rg   rk   rw   )r'   rž   rÞ   r   r
   r   r   r¡   r¡   r¡   r¢   Útest_atan_leading_termz  s   "$DHBB*0..FJr2  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 )Nri   r   rf   rk   rg   rw   rm   r´   Trd   rG   rH   rž   rP   rŸ   rS   Fr„   ÚurM   rj   rh   )r   Tz0.46365c                      s   t ˆ ˆƒ d¡S )Nrw   )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   ÚeqÚansÚrepsr3  Úexru   r®   r¡   r4  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    rB  ÚXÚYg-DTû!é?r±   )r   r›   r(   rò   )rB  rž   rŸ   r¡   r¡   r¢   Útest_issue_17461Ö  s   "rE  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 )
Nrf   r   rk   ri   rw   rg   Trh   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.   " .rF  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 )Nrf   ri   rh   rj   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rG  c                   C   s2   t tƒ ¡ dtd d  ksJ ‚ttdd„ ƒ d S )Nrg   ri   rf   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ï   rH  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 )Nrf   r  ri   rk   rg   rw   )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rI  c                   C   s   t tƒjtfks
J ‚d S ©N)r-   rž   Úargsr¡   r¡   r¡   r¢   Útest_attributes!  s   rL  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   rM  c                 C   s   | |ƒj d | kS )zMChecks that the expr has been rewritten using f(-x) -> f(x)
    arg : -x
    r   ©rK  ©r’   r   r¡   r¡   r¢   Ú_check_even_rewrite,  s   rP  c                 C   s   | |ƒj jS )zNChecks that the expr has been rewritten using f(-x) -> -f(x)
    arg : -x
    )r’   Úis_MulrO  r¡   r¡   r¢   Ú_check_odd_rewrite3  s   rR  c                 C   s   | |ƒj d |kS )z%Checks that the expr is not rewrittenr   rN  rO  r¡   r¡   r¢   Ú_check_no_rewrite:  s   rS  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 )Nri   rf   rg   é   r€   )r)   r-   r/   r*   r&   r'   r#   r   r   rž   rŸ   rP  rS  rR  )r_   Úbrt   ÚoddÚ
with_minusr’   Úexprr¡   r¡   r¢   Útest_evenodd_rewrite?  s0   *ÿ

ÿÿ
ÿürY  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 ©Nrf   )r-   rž   rÞ   r)   r/   r*   r¡   r¡   r¡   r¢   Útest_as_leading_term_issue_5272S  s   r[  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 )Nrf   rg   rk   rw   )r-   rž   rÞ   r   r   r   r)   r,   r  r  r+   r/   r*   r   rß   r¡   r¡   r¢   Útest_leading_termsZ  s     $$$$r\  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 )Nri   rf   r   rj   rk   rw   )
r4   r(   rž   r   r'   rŸ   r8   r7   r3   Újacobianr¡   r¡   r¡   r¢   Útest_atan2_expansioni  s2   >*ÿÿ
ÿ*ÿÿÿ2ÿ
ÿÿ.ÿr^  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 )Nrf   )Údir)r›   rò   rž   r8   ÚremoveOr“   )rO   Úvr    ru   r¡   r¡   r¢   Útv  s
   0ÿÿztest_aseries.<locals>.tgš™™™™™¹?ú+gñhãˆµøä>gš™™™™™¹¿ú-)r'   r#   )rb  r¡   r¡   r¢   Útest_aseriesu  s
   re  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   ru   rv   Úo)rV  rk   rf   r   rw   g      @g      @g      @r  rg   )r   r)   r   r-   r/   r*   r   rž   )r´   ru   rf  r¡   r¡   r¢   Útest_issue_4420  s¦     $$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*rg  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 rJ  )r-   rž   Úinverser¡   r¡   r¡   r¢   rÁ   í  ó    ztest_inverses.<locals>.<lambda>c                   S   rh  rJ  )r)   rž   ri  r¡   r¡   r¡   r¢   rÁ   î  rj  c                   S   rh  rJ  )r+   rž   ri  r¡   r¡   r¡   r¢   rÁ   ñ  rj  c                   S   rh  rJ  )r,   rž   ri  r¡   r¡   r¡   r¢   rÁ   ò  rj  )rF   ÚAttributeErrorr/   rž   ri  r'   r*   r#   r&   r-   r"   r)   r¡   r¡   r¡   r¢   Útest_inversesì  s   rl  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)Údeepri   r   )	r   r
   r-   Úas_real_imagr   r)   r   r/   r*   )r_   rU  rc   rm  r¡   r¡   r¢   Útest_real_imagù  s@   ÿÿÿÿÿ ÿ"
ÿ"
ÿ$
ÿ"
ÿ   "ôro  c                   C   s(   t tƒtju s	J ‚ttƒtju sJ ‚d S rJ  )r-   r   r   r	  r)   r¡   r¡   r¡   r¢   Útest_sin_cos_with_infinity  s   rp  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©rf   rw   rj   rx   ©rf   rz   rf   ri   rn   rª   çü©ñÒMbP?rj   r×   rp   rØ   rÅ   Fr„   rk   rg   rw   rx   rm   é@   rå   é€   r¹   rl   é    rÔ   r¤   rz   r¬   )rš   Úminr5   r   r-   r®   r!   r)   Úhasr›   rò   r   r   r   r   rO   )	rL   rb  rO   r´   rž   Ús1Úc1ru   r_   r¡   r¡   r¢   Útest_sincos_rewrite_sqrt  s    00€ø÷0ÿ"ÿÿÿ(ÿÿ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  rt  )r)   r   r®   r!   rò   r¡   r¡   r¡   r¢   Útest_sincos_rewrite_sqrt_257c  s   2r|  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 )Nrq  rr  rf   ri   rn   rw   rª   rs  rp   rk   r   )rš   rw  r5   r   r/   r®   r!   rx  r*   r›   rò   )rL   rb  rO   r´   rž   Út1rz  r¡   r¡   r¢   Útest_tancot_rewrite_sqrth  s$    00€öþÿr~  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   rc   rf   r   rg   ri   rl   rw   rj   r¬   rp   rk   r¶   Fr„   ©Úx0rO   r¦   é`   r|   é    é=   rË   ) r   r,   rŽ   r:   r   r   r   r!   r   r
   r   r%   r   rn  r)   r   r   r-   r   rº   rÜ   r•   r_   r–   ra   rÞ   rÝ   r8   r7   r   r/   r÷   )rž   rc   r¡   r¡   r¢   Útest_sec{  sd    * 
4ÿ4ÿþ
ÿ"2FB8ÿ(ÿ
ÿ$&&r„  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 )Nrf   ri   Fr„   r   rÍ   )r,   rž   r®   r   r
   r)   r/   ræ   r!   rc   r*   r-   r   r+   r0   rB   r   r   r@   r“   r¡   r¡   r¡   r¢   Útest_sec_rewriteº  s   8<:*<(*
þ&r…  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ï   r†  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   rc   rf   r   ri   rg   rl   rw   rj   r¬   rp   rk   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-   r5  rŽ   r:   r   r   r   r!   r   r
   r   r$   r   rn  r   r   r   r)   rº   rÜ   r•   r_   r–   ra   rÞ   rÝ   r8   r7   r   r*   r÷   rF   r>   )rc   ÚcosecantÚ	alternater¡   rˆ  r¢   Útest_cscÐ  sh    *
4ÿ6ÿþ
ÿ"2L
ÿ:
ÿ&&&r‹  c                  C   sd  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 ‚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sJ ‚tt	ƒ t¡tdt	 ƒ td  ks0J ‚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sjJ ‚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 )Nrc   Tr  rf   r   rg   ri   rÔ   rk   rw   rj   rl   rz   rn   rp   rÅ   r|   c                   S   r¾   r¿   )r%   rž   rÀ   r¡   r¡   r¡   r¢   rÁ   .  rÂ   ztest_asec.<locals>.<lambda>)r   r%   r   r   r   r   r,   r   r!   rž   r   r®   r   r
   r&   r"   r'   r#   r$   rF   r>   ©rc   r¡   r¡   r¢   Ú	test_asec  s8   ("$,.0&2@* >
ÿB
ÿ&r  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   rb  ©rI   Úfinite)r%   r   r   r•   r   rÜ   rž   rG   )rO   rb  r¡   r¡   r¢   Útest_asec_is_real1  s   r  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 )Nrf   ri   r  rg   r  ç      à¿rw   )r%   rž   rÞ   r   r!   r
   r   r   r¡   r¡   r¡   r¢   Útest_asec_leading_term;  s   &06&*.(HLr’  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¬   ri   rk   rw   rv  rj   rl   r  é#   rz   rT  rm   ry   )r%   rž   r8   r
   r   r7   r÷   )Út4r¡   r¡   r¢   Útest_asec_seriesL  s   :ÿÿ
ÿÿ0r•  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 )Nrf   ri   rg   r   rw   rm   rk   r¸   rl   rÔ   rj   rh   rz   rn   ry   r|   c                   S   r¾   r¿   )r$   rž   rÀ   r¡   r¡   r¡   r¢   rÁ   w  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_acscU  s>   $(,(*(4: *,
ÿF&r–  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 )Nri   rf   Fr„   rg   r   )r+   rž   r®   ræ   r!   r   r
   r-   r/   r*   r)   r   r,   r0   r   r   r“   r¡   r¡   r¡   r¢   Útest_csc_rewritez  s"   466*(""ÿÿÿ2(r—  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 )Nrf   ri   r  rg   rw   r  r‘  )r$   rž   rÞ   r   r
   r   r   r!   r¡   r¡   r¡   r¢   Útest_acsc_leading_term  s    6<&,,*NTr˜  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¬   ri   rk   rw   rv  rj   rl   r  r“  rz   rT  )r$   rž   r8   r
   r   r   r7   r÷   )Ú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 )Nri   rk   rw   r¬   rÒ   rf   r|   rj   r‚  rg   rl   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 )Nri   rk   rw   r¬   rÒ   rh   rf   r|   rj   r‚  rg   rl   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 )Nri   rk   rf   rw   r¬   rÔ   éQ   rg   é   é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 )Nrf   ri   rk   rw   rz   r¬   r  rž  rg   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 ©Nrf   ri   rk   rw   rz   r¬   rŸ  rj   r|   é+   r‚  rg   rl   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-   Ú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   rf   )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, yri   rk   rl   rm   rw   c                      s   t ˆ d ƒ ˆ ¡S r¿   )r-   Úperiodr¡   rˆ  r¡   r¢   rÁ   6  s    z"test_trig_period.<locals>.<lambda>)r   r-   r«  r   r)   r/   r*   r,   r+   r   r›   r   r   rF   ÚNotImplementedError)rŸ   r¡   rˆ  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 rJ  )r-   rž   r®   r!   ræ   r¡   r¡   r¡   r¢   Útest_issue_71719  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   rf   ri   r   )r   rB   rA   r   r-   r.   r®   )Úwr‘   ÚFÚsolnr¡   r¡   r¢   Útest_issue_11864>  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 )Nrc   FTrŽ  )r   r-   r•   r)   r/   r,   r+   r*   r&   rL   rO   r%   r"   r$   r'   r  r&  r#   rŒ  r¡   r¡   r¢   Útest_real_assumptionsD  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 )Nri   rh   r   r¥   éúÿÿÿr§   iâÿÿÿrn   rx   ry   r¤   r|   iôÿÿÿrp   rÕ   iíÿÿÿrÔ   rÅ   r~   rk   ióÿÿÿr¬   r×   r¸   r}   )r&   r-   r   r)   r"   r'   r/   r*   r   r#   r%   r,   r+   r$   r¡   r¡   r¡   r¢   Útest_issue_14320Y  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 )Nri   rÅ   rx   rž   rw   )r,   r   r+   r   r   rˆ  r¡   r¡   r¢   Útest_issue_14543k  s"   $$"(r¶  c                  C   s0   t ttttdƒ   ƒ} |  ¡ | dfksJ ‚d S )Nrf   r   )r'   r
   r/   rn  )rX  r¡   r¡   r¢   Útest_as_real_imag‚  s   r·  c                  C   s*   t tjtd d  ƒ} |  ¡ dksJ ‚d S )Nrk   g      Ð?rz   )r)   r   r¼   rž   r«  )Ú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 )Nri   rf   )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 )Nrk   c                   S   ó   t tdt ƒƒ t¡S rZ  )r'   r   rž   rÞ   r¡   r¡   r¡   r¢   rÁ   ˜  ó    z"test_issue_25847.<locals>.<lambda>ri   c                   S   r»  rZ  )r&   r   rž   rÞ   r¡   r¡   r¡   r¢   rÁ   œ  r¼  r   c                   S   r»  rZ  )r"   r   rž   rÞ   r¡   r¡   r¡   r¢   rÁ      r¼  c                   S   r»  rZ  )r#   r   rž   rÞ   r¡   r¡   r¡   r¢   rÁ   ¤  r¼  c                   S   r»  rZ  )r%   r   rž   rÞ   r¡   r¡   r¡   r¢   rÁ   ¨  r¼  c                   S   r»  rZ  )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Ó   rj   ri   rk   rw   rf   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)ÛÚ!sympy.calculus.accumulationboundsr   Úsympy.core.addr   r²   r   r   Úsympy.core.modr   Úsympy.core.mulr   Úsympy.core.numbersr   r	   r
   r   r   r   r   r   Úsympy.core.powerr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Ú$sympy.functions.elementary.complexesr   r   r   r   Ú&sympy.functions.elementary.exponentialr   r   Ú%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   r    Ú(sympy.functions.elementary.miscellaneousr!   Ú(sympy.functions.elementary.trigonometricr"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Úsympy.functions.special.besselr0   r1   Ú'sympy.functions.special.delta_functionsr2   Úsympy.matrices.denser3   Úsympy.polys.polytoolsr4   r5   Úsympy.series.limitsr6   Úsympy.series.orderr7   Úsympy.series.seriesr8   Úsympy.sets.fancysetsr9   Úsympy.sets.setsr:   r;   Úsympy.simplify.simplifyr<   Úsympy.core.exprr=   r>   r?   Úsympy.core.relationalr@   rA   Ú$sympy.functions.elementary.piecewiserB   Úsympy.sets.setexprrC   Úsympy.testing.pytestrD   rE   rF   rž   rŸ   rc   rG   r‘   r”   rL   rO   r!  r"  rU   rW   rY   r#  r$  r]   r_   ra   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  r2  r;  rE  rF  rG  rH  rI  rL  rM  rP  rR  rS  rY  r[  r\  r^  re  rg  rl  ro  rp  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¢   Ú<module>   s6   ($@

%i"h
	[

41	,7I
m

O

?A 
	%	
