o
    à8VaHG  ã                   @   sô  d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ dd„ ZAdd„ ZBd	d
„ ZCdd„ ZDdd„ ZEdd„ ZFdd„ ZGdd„ ZHdd„ ZIdd„ ZJdd„ ZKdd„ ZLdd„ ZMdd „ ZNd!d"„ ZOd#d$„ ZPd%d&„ ZQd'd(„ ZRd)d*„ ZSd+d,„ ZTd-d.„ ZUd/d0„ ZVd1d2„ ZWd3d4„ ZXd5d6„ ZYd7d8„ ZZd9d:„ Z[d;d<„ Z\d=S )>é    )ÚAddÚMulÚSÚSymbolÚcosÚcotÚpiÚIÚsinÚsqrtÚtanÚrootÚcscÚsecÚpowsimpÚsymbolsÚsinhÚcoshÚtanhÚcothÚsechÚcschÚDummyÚRational)ÚLÚTR1ÚTR10ÚTR10iÚTR11Ú_TR11ÚTR12ÚTR12iÚTR13ÚTR14ÚTR15ÚTR16ÚTR111ÚTR2ÚTR2iÚTR3ÚTR5ÚTR6ÚTR7ÚTR8ÚTR9ÚTRmorrieÚ_TR56ÚTRpowerÚhyper_as_trigÚfuÚprocess_common_addendsÚ
trig_splitÚas_f_sign_1)Úverify_numerically)ÚaÚbÚcÚxÚyÚzc                   C   s8   t dttƒ ttƒ ƒdttƒ dttƒ  ksJ ‚d S )Né   é   )r   r   r;   r   r   r
   © r@   r@   ú>/usr/lib/python3/dist-packages/sympy/simplify/tests/test_fu.pyÚtest_TR1   s   8rB   c                   C   sl   t ttƒƒttƒttƒ ksJ ‚t ttƒƒttƒttƒ ks J ‚t tttƒttƒttƒ  ƒƒdks4J ‚d S )Nr   )r'   r   r;   r
   r   r   r@   r@   r@   rA   Útest_TR2   s     ,rC   c                  C   sJ  t dt tt  ƒdt t ksJ ‚tttƒttƒ ƒttƒks"J ‚tttƒttƒ ttƒ ƒttƒttƒ ks:J ‚tdttƒttƒ  ƒdttƒ ksNJ ‚tdttƒttƒ ttƒ  ƒdttƒ ttƒ ksjJ ‚tttƒd ttƒd  ƒttƒttƒd  d ks†J ‚tttƒd ttƒd  ddttd ƒd ks J ‚ttdƒtdƒd  ddttjƒksµJ ‚ttdƒtdƒd  ddtdƒksÉJ ‚ttdƒtdƒd  ddtdƒksÝJ ‚ttdƒtdƒd  ddtdtj ƒksôJ ‚ttdƒd tdƒ dddttjƒ ksJ ‚ttdƒd tdƒ dddtdƒ ks#J ‚ttdƒd tdƒ dddtdƒ ks:J ‚ttdƒd tdƒ dddtdtj ƒ ksTJ ‚ttdƒd t	  tdƒt	  ddttjƒt	 ksqJ ‚ttdƒd t	  tdƒt	  ddtdƒt	 ksJ ‚ttdƒd t	  tdƒt	  ddtdƒd t	  tdƒt	  ks²J ‚ttdƒd t	  tdƒt	  ddtdƒd t	  tdƒt	  ks×J ‚ttdƒd t	 tdƒt	   ddttjƒt	  ksõJ ‚ttdƒd t	 tdƒt	   ddtdƒt	  ksJ ‚ttdƒd t	 tdƒt	   ddtdƒd t	 tdƒt	   ks7J ‚ttdƒd t	 tdƒt	   ddtdƒd t	 tdƒt	   ks\J ‚t
ddd} ttdƒd |  tdƒ|    ddtdtj ƒ|   ks‚J ‚tdtdƒd |  tdƒ|     ddtdtj ƒ|  ks£J ‚d S )	Nr>   r?   T)Zhalfé   é   Úi©Zinteger)r   r;   r<   r(   r
   r   r   r   ÚHalfr8   r   )rF   r@   r@   rA   Ú	test_TR2i   s4   $ 0(884*((.0..4:8JJ<:JJ@FrI   c                  C   s¾   t ttttt   ƒƒtttt  t ƒksJ ‚ttd t ƒttƒ ks'J ‚tdt d t ƒttƒ ks8J ‚tttttt	fD ]} | tt
ddƒ ƒ}t |ƒ}t||ƒrZ|j|jks\J ‚q@d S )Nr>   é   é   é   )r)   r   r<   r;   r   r
   r   r   r   r   r   r7   Úfunc)ÚfrF   Újr@   r@   rA   Útest_TR3;   s   0"ýrP   c                  C   sd  dd„ } t ttƒd tt| ddƒttƒttƒd  d  ks J ‚t ttƒd tt| ddƒttƒd ks5J ‚t ttƒd	 tt| d	dƒttƒd  d d ksOJ ‚t ttƒd	 tt| d	d
ƒttƒd	 ksdJ ‚t ttƒd tt| dd
ƒttƒd  d d ks~J ‚t ttƒt tt| dd
ƒttƒt ks“J ‚t ttƒdt d  tt| dd
ƒttƒdt d  ks°J ‚d S )Nc                 S   s   d|  S ©Nr?   r@   ©r;   r@   r@   rA   Ú<lambda>G   ó    ztest__TR56.<locals>.<lambda>rK   rD   Fr>   r?   é
   é   Té   )ÚTr
   r;   r   r	   )Úhr@   r@   rA   Ú
test__TR56F   s   8*4*4*>rZ   c                   C   ót   t ttƒd ƒttƒd  d ksJ ‚t ttƒd ƒttƒd ks#J ‚t ttƒd ƒttƒd  d d ks8J ‚d S ©Nr>   r?   éþÿÿÿrD   )r*   r
   r;   r   r@   r@   r@   rA   Útest_TR5S   ó   & .r^   c                   C   r[   r\   )r+   r   r;   r
   r@   r@   r@   rA   Útest_TR6Y   r_   r`   c                   C   s`   t ttƒd ƒtdt ƒd tj ksJ ‚t ttƒd d ƒtdt ƒd tddƒ ks.J ‚d S )Nr>   r?   rK   )r,   r   r;   r   rH   r   r@   r@   r@   rA   Útest_TR7_   s   *6ra   c                   C   sR  t tdƒtdƒ ƒtdƒd tdƒd  ksJ ‚t tdƒtdƒ ƒtdƒd tdƒd  ks0J ‚t tdƒtdƒ ƒtdƒ d tdƒd  ksIJ ‚t tdƒtdƒ tdƒ ƒtdƒd tdƒd  tdƒd  kskJ ‚t tdƒtdƒ tdƒ tdƒ ƒtdƒd tdƒd  tdƒd  tdƒd  td	ƒd  tdƒd  tddƒ ks¨J ‚t tdƒtdƒ tdƒ tdƒ tdƒ ƒtdƒd tdƒd  dtdƒ d
  td
ƒd
  tdƒd  td	ƒd
  tdƒd
  tdƒd
  tdd
ƒ tdƒd  ksýJ ‚t tttddƒ ƒd tttddƒ ƒd  d
ttd ƒd   ƒtddƒks'J ‚d S )Nr>   rK   rE   r?   rD   rV   rU   rW   é   é   é   é   rL   é@   )r-   r   r
   r   r   r@   r@   r@   rA   Útest_TR8d   s2   002D":
ÿÿÿ*>
ÿ
ÿ
ÿÿ
ÿÿXrg   c                  C   s–  t j} d|  }t| ƒ| ksJ ‚ttdƒtdƒ ƒdt| ƒ t|ƒ ks%J ‚ttdƒtdƒ ƒdt| ƒ t|ƒ ks;J ‚ttdƒtdƒ ƒdt| ƒ t|ƒ ksQJ ‚ttdƒtdƒ ƒdt|ƒ t| ƒ ksgJ ‚ttdƒdtdƒ  dtdƒ  ƒtdƒdt|ƒ t| ƒ  ks‰J ‚ttdƒtdƒ dtdƒ tdƒ  ƒdtdƒ tdƒ ks©J ‚ttdƒtdƒ tdƒ d tdƒ ƒdtdƒ tdƒ ksÉJ ‚ttdƒtdƒ tdƒ tdƒ ƒdtt jƒ tdƒ ttddƒƒ ksïJ ‚ttdƒtdƒtdƒ  ƒtdƒtdƒtdƒ  ksJ ‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ ks6J ‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ ks`J ‚ttƒ}ttƒ}d	D ]^}||f||fttƒttt ƒfttƒttt ƒffD ]@} t|| ƒ}t	d
d„ |D ƒŽ }t|ƒ}| d j
| d j
kr³t||jddƒrÃ|jsÃ| d j
| d j
krÅ||krÅJ ‚q†qjd S )NrK   r?   r>   r]   rD   rE   rV   é	   ©)r?   r?   )r?   éÿÿÿÿ)rj   r?   )rj   rj   c                 S   ó   g | ]}t |Ž ‘qS r@   ©r   ©Ú.0Zair@   r@   rA   Ú
<listcomp>†   ó    ztest_TR9.<locals>.<listcomp>r   T©Ztrig)r   rH   r.   r   r
   r   r<   r;   Úzipr   rM   r7   ÚexpandÚis_Add)r8   r9   r:   ÚsÚsiÚargsÚexÚtr@   r@   rA   Útest_TR9q   sF   ,,,,D@@""ÿ:TT8
ÿÿþþ€üÿrz   c                   C   sB  t ttt ƒƒttƒ ttƒ ttƒttƒ  ksJ ‚t ttt ƒƒttƒttƒ ttƒttƒ  ks5J ‚t ttt t ƒƒttƒ ttƒ ttƒttƒ  ttƒ ttƒttƒ ttƒttƒ  ttƒ  ksjJ ‚t ttt t ƒƒttƒ ttƒ ttƒttƒ  ttƒ ttƒttƒ ttƒttƒ  ttƒ  ksŸJ ‚d S ©N)r   r   r8   r9   r
   r:   r@   r@   r@   rA   Ú	test_TR10   s   64(&ÿÿ(&ÿÿr|   c                  C   s*  t tdƒtdƒ tdƒtdƒ  ƒtdƒksJ ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒks0J ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒksHJ ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒks`J ‚t tdƒtdƒ tdƒtdƒ  d ƒtdƒd ks|J ‚t tdƒtdƒ tdƒtdƒ  tdƒ ƒtdƒtdƒ ksœJ ‚t dtdƒ tdƒ dtdƒ tdƒ  tdƒ ƒdtdƒ tdƒ ksÂJ ‚t tdƒtdƒ tdƒtdƒtdƒ tdƒtdƒ    ƒtdƒksæJ ‚tdƒtdƒ tdƒtdƒtdƒ tdƒtdƒ    tdƒ tdƒtdƒ  } t | ƒt |  ¡ ƒ  kr#tdƒks&J ‚ J ‚t tdƒttƒ t tdƒttƒ t  ƒdtdƒ t tttd  ƒ ksOJ ‚t ttƒtdƒ ttƒtdƒ  ttƒtdƒ d  ttƒtdƒ d  ƒdtdƒ tttd  ƒ d ksˆJ ‚t ttƒtdƒ ttƒtdƒ  ttƒtdƒ d  ttƒtdƒ d  ƒtdƒtttd  ƒ d tdƒtttd  ƒ d  ksÍJ ‚t ttƒtdƒttƒ  dtdƒ tttd  ƒ  ƒdttƒ ksòJ ‚t ttƒtdƒttƒ  dtdƒ tttd  ƒ  dttƒ  ƒdtdƒ tttd  ƒ ks%J ‚t tdƒtdƒ tdƒtdƒ  ƒtdƒtdƒ tdƒtdƒ  ksJJ ‚td	d
d}t tdƒttƒ | tdƒttƒ |  ƒdtdƒ tttd  ƒ | ksyJ ‚ttƒ}ttƒ}ttƒ}ttƒ}dD ]8}|| || f|| || ffD ]$}t	||ƒ}t
dd„ |D ƒŽ }	t |	ƒ}
|	|
jdd s¾|
jrÀJ ‚qq‹ttƒ}ttƒ}ttd ƒ}ttd ƒ}dD ]8}|| || f|| || ffD ]$}t	||ƒ}t
dd„ |D ƒŽ }	t |	ƒ}
|	|
jdd s|
jrJ ‚qìqÚd S )Nr?   rK   r>   rD   rL   rE   rV   rh   ÚAF)Zcommutativeri   c                 S   rk   r@   rl   rm   r@   r@   rA   ro   ¿   rp   ztest_TR10i.<locals>.<listcomp>Trq   c                 S   rk   r@   rl   rm   r@   r@   rA   ro   Ê   rp   )r   r   r
   rs   r   r;   r   r<   r   rr   r   rt   )Úeqr}   r:   ru   rY   Úrrv   Zargsirw   rx   ry   r@   r@   rA   Ú
test_TR10i˜   s–   00008@2ÿ:ÿÿÿÿ0*
ÿ ÿÿ
ÿ ÿÿ6
þJÿ
ÿ
ÿ"
ÿ*
ÿ$
"ü$
"üÿr€   c                   C   s(  t tdt ƒƒdttƒ ttƒ ksJ ‚t tdt ƒƒdttƒd  ttƒd  ttƒ ttƒ  ks5J ‚t tttddƒ ƒƒdttd ƒd  ttd ƒd  ttd ƒ ttd ƒ  ksaJ ‚t tdt ƒƒttƒd  ttƒd  ksxJ ‚t tdt ƒƒttƒd  ttƒd  d dttƒd  ttƒd   ksŸJ ‚t tdƒƒtdƒks«J ‚t tttddƒ ƒttddƒ ƒtttddƒ ƒd  tttddƒ ƒd  ksÕJ ‚t tdƒdƒtdƒd  tdƒd  ksëJ ‚t tdƒdƒtdƒksøJ ‚t ttƒttd ƒ td ƒdttd ƒ ksJ ‚d S )Nr>   rD   rK   rL   rV   )r   r
   r;   r   r   r   r@   r@   r@   rA   Ú	test_TR11Ï   s   (B<ÿ.8ÿT,8r   c                   C   s°  t ttd ƒtdt ƒ ttd ƒ ttd ƒttd ƒ  ƒdttd ƒ ttd ƒ tdt ƒ ksVJ t ttd ƒtdt ƒ ttd ƒ ttd ƒttd ƒ  ƒƒ‚t ttd ƒttd ƒ ƒdttd ƒ ksnJ ‚t ttd ƒttd ƒ ƒddttd ƒ  ksˆJ ‚t tdt ƒttd ƒ ttd ƒ ƒtdt ƒdttd ƒ  ksÀJ t tdt ƒttd ƒ ttd ƒ ƒƒ‚t ttƒttd ƒ ƒdttd ƒ ksÖJ ‚d S )NrK   r>   rD   rV   rW   r?   )r   r
   r;   r   r@   r@   r@   rA   Ú
test__TR11á   s   >&ÿ>ÿ04p0r‚   c                   C   sÖ   t ttt ƒƒttƒttƒ ttƒ ttƒ d  ksJ ‚t ttt t ƒƒttƒttƒttƒ ttƒ ttƒ d   dttƒttƒ ttƒ ttƒ ttƒ d    ksYJ ‚t ttt ƒƒttt ƒksiJ ‚d S rQ   )r    r   r;   r<   r=   r@   r@   r@   rA   Ú	test_TR12ì   s   :,0ÿÿ$rƒ   c                   C   s  t tdƒtdƒ ƒtdƒ tdƒ tdƒtdƒ  d ksJ ‚t tdƒtdƒ ƒdtdƒtdƒ  tdƒtdƒ  ks=J ‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ tdƒtdƒ  d tdƒ ksdJ ‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ d tdƒtdƒ  tdƒ ks‹J ‚d S )NrK   r>   rE   r?   )r"   r   r   r@   r@   r@   rA   Ú	test_TR13ô   s   ><,ÿ,ÿr„   c                   C   s    t ttƒttƒ ƒdksJ ‚d S ©Nr>   )r   r   r;   r
   r@   r@   r@   rA   Útest_Lý   s    r†   c                  C   sæ  t tdƒd tdƒd  ttd ƒ ƒtddƒksJ ‚t tdƒttƒ tdƒttƒ  ƒdtdƒ tttd  ƒ ks=J ‚ttƒd ttƒd  ttƒd  dttƒd   } t | ƒttƒd dttƒd   d ksmJ ‚t tj	tdt ƒd  ƒttƒd ks‚J ‚t tt
ƒttƒttƒ  tt
ƒttƒttƒ   ƒtdƒtt
t td  ƒ ks¬J ‚t tdƒttƒ d ttƒd  ƒtttd  ƒksÈJ ‚t dtdt ƒd d  ttƒd  ttƒd  ƒttƒd  ttƒd  ksñJ ‚t tttddƒ ƒƒttd ƒksJ ‚t ttd ƒtttddƒ ƒ tttddƒ ƒ tttddƒ ƒ ƒtdd	ƒks0J ‚t tttd
dƒ ƒtttddƒ ƒ tdƒtttddƒ ƒ tttd
dƒ ƒ  ƒtdƒ ksbJ ‚t tdƒtdƒ ƒtdƒtdƒ kswJ ‚tdd„ tdƒD ƒŽ }t |ƒtdƒdtdƒ  ks“J ‚t ttƒtttƒd ƒ ƒttƒtttƒd ƒ ks°J ‚t dttƒd  dttƒ  dtdƒ ttƒd   dtdƒ ttƒ  tdt ƒd  ƒd
ttƒ dtdƒ ttƒ  ksñJ ‚d S )Né2   r>   rV   rK   rD   r?   rh   é   rc   rL   rE   c                 S   s   g | ]}t d | ƒ‘qS ©r>   ©r   ©rn   rF   r@   r@   rA   ro     ó    ztest_fu.<locals>.<listcomp>rU   i   iòÿÿÿé#   )r3   r
   r   r   r   r   r;   r<   r   rH   r8   r9   r   r   Úrange)r~   Úexprr@   r@   rA   Útest_fu  s4   6D4,*2ÿ82ÿ(VNÿ
þ*":Zÿr   c                   C   s\   t ttƒttƒ dd„ dttƒksJ ‚t ttƒttƒ dd„ dttƒttƒ ks,J ‚d S )Nc                 S   s   |   ¡ S r{   ©Z	count_opsrR   r@   r@   rA   rS   (  rT   z test_objective.<locals>.<lambda>)Zmeasurec                 S   s
   |   ¡  S r{   r‘   rR   r@   r@   rA   rS   *  s   
 )r3   r
   r;   r   r   r@   r@   r@   rA   Útest_objective'  s   ÿÿr’   c                  C   s2   dd„ } t tg d¢ddiŽ| dd„ dddk d S )	Nc                 S   s   t dd„ | jD ƒŽ S )Nc                 S   s   g | ]}||d   ‘qS r‰   r@   r‹   r@   r@   rA   ro   1  rŒ   zAtest_process_common_addends.<locals>.<lambda>.<locals>.<listcomp>)r   rw   rR   r@   r@   rA   rS   1  rp   z-test_process_common_addends.<locals>.<lambda>)r?   r>   rK   rD   ZevaluateFc                 S   s   | d S r…   r@   rR   r@   r@   rA   rS   3  rT   )Zkey2Zkey1rV   )r4   r   )Zdor@   r@   rA   Útest_process_common_addends.  s   ÿÿr“   c                   C   s
  t ttƒttƒƒdddttdfksJ ‚t dttƒ dttƒ ƒdddttdfks*J ‚t ttƒttƒ ttƒttƒ ƒttƒddttdfksGJ ‚t ttƒtdƒ ttƒ dddddttd d	fkscJ ‚t ttƒttƒddtdƒddttd
 d	fks|J ‚t ttƒttƒ ddtdƒddttd
 d	fks–J ‚t tdƒttƒ tdƒ ttƒ dddtdƒ ddttd d	fksºJ ‚t tdƒ ttƒ tdƒ ttƒ dddtdƒ ddttd d	fksßJ ‚t ttƒtdƒ ttƒtdƒ ddtdƒd ddttd d	fksJ ‚t tdƒ ttƒ ttƒ tdƒ ttƒ ttƒ dddtdƒ ttƒ ddttd d	fks5J ‚t ttƒttƒƒd u sCJ ‚t ttƒttƒƒd u sQJ ‚t dttƒ ttƒ ƒd u sbJ ‚t ttƒtdƒ ttƒ ƒd u suJ ‚t ttƒttƒ ttƒttƒ ƒd u s‹J ‚t ttƒttƒ ttƒttƒ ƒd u s¡J ‚t tdƒ ttƒ tdƒttƒ ttƒ ddd u s¾J ‚t tdƒttƒ tdƒddd u sÒJ ‚t tdƒttdƒ tdƒtdƒ ddd u sëJ ‚t tdƒtdƒ tdƒtdƒ ddd u sJ ‚d S )Nr?   Tr>   r]   rj   rK   )ZtworV   FrD   rE   rL   )	r5   r   r;   r<   r
   r   r   r=   r   r@   r@   r@   rA   Útest_trig_split6  sP   &. ÿÿÿÿ&ÿ(ÿ$
ÿÿ"
þ"&,,.
ÿ(24r”   c                  C   s~  t dtdd„ tdƒD ƒŽ  ƒdtdƒ tdƒ tdƒ tdƒ tdƒ d	td
ƒ tdƒ  ks1J ‚t tƒtks9J ‚t dt ƒdt ksEJ ‚ttd ƒtttddƒ ƒ tttddƒ ƒ } tt | ƒƒtddƒksjJ ‚tdd„ td
dƒD ƒŽ } tt	t | ƒƒƒtd
dƒks…J ‚ttƒttd ƒ }t |ƒ|ks—J ‚ttd ƒttd ƒ ttƒd  }t |ƒtdt ƒttƒd  d ks½J ‚d S )NrL   c                 S   ó   g | ]}t |ƒ‘qS r@   rŠ   r‹   r@   r@   rA   ro   [  rp   z!test_TRmorrie.<locals>.<listcomp>rU   re   rc   rE   rh   rf   r?   rK   r>   rD   rj   rW   c                 S   s    g | ]}t d | t d ƒ‘qS )r>   é   )r   r   r‹   r@   r@   rA   ro   a  s     r–   i   )
r/   r   rŽ   r
   r   r;   r   r   r-   r)   )Úer~   r@   r@   rA   Útest_TRmorrieZ  s   >ÿ0$,r˜   c                  C   sì   t dttƒd  ƒdttƒd  ksJ ‚t ttƒd ttd ƒd  ƒdttƒ d tdt ƒd  ttƒ d tdt ƒd  tddƒ  ksJJ ‚tddƒD ]$} tttƒ|  t ttƒ|  ƒƒsbJ ‚tttƒ|  t ttƒ|  ƒƒssJ ‚qOd S )Nr?   r>   rK   rD   rW   )r1   r
   r;   r   r   rŽ   r7   )Úkr@   r@   rA   Útest_TRpowerk  s   (Fÿ"$þrš   c            
      C   s´  ddl m} m}m} ttƒd ttƒd  }t|ƒ\}}|t|ƒƒtdt ƒks*J ‚tt	tt
 ƒƒ\}}|||ƒƒt	tƒt	t
ƒ t	tƒt	t
ƒ d  ksNJ ‚tƒ }| ttƒ|ƒttt| ƒ ksbJ ‚| t	tƒ|ƒttt| ƒ kssJ ‚| t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t	tttfD ]}|tƒ}	|| |	|ƒ|ƒ|	ksÍJ ‚q»|ttt
 t ƒt
ƒtttt  ƒksãJ ‚|ttt
 t ƒt
ƒtttt  ƒt ksúJ ‚|ttt
 t ƒt
ƒt	ttt  ƒt ksJ ‚|ttt
 t ƒt
ƒtttt  ƒt ks*J ‚|ttt
 t ƒt
ƒtttt  ƒks@J ‚|ttt
 t ƒt
ƒtttt  ƒt ksXJ ‚d S )Nr   )Ú_osborneÚ	_osborneir    r>   r?   )Úsympy.simplify.fur›   rœ   r    r   r;   r   r2   r3   r   r<   r   r	   r
   r   r   r   r   r   r   r   r   r   r=   )
ÚorF   r    r~   ry   rN   r—   ÚdrM   rY   r@   r@   rA   Útest_hyper_as_trigt  s,   4""""*.00,4r    c                  C   s  dd„ t ttfD ƒ\} }}t| | |  | d  ƒtt t ƒks"J ‚t| | | | d  ƒtt t ƒ ks7J ‚t|  | | | d  ƒtt t ƒksLJ ‚| | |  | d d  d|  d|   d| | d   }t| ¡ ƒdtt t ƒ tt t ƒ tt ƒttƒ d  d ks‹J ‚tttƒttƒ ƒttƒttƒ ksŸJ ‚| tdƒ |  | d  }t|ƒ|ks´J ‚| | d d |  | d  }t|ƒ|ksËJ ‚| |  | d  }t|ƒ|ksÜJ ‚| | t d   ¡ d | | d  }t|ƒt d d  tt t ƒ ksJ ‚d S )Nc                 S   r•   r@   )r   r‹   r@   r@   rA   ro   “  rp   ztest_TR12i.<locals>.<listcomp>r?   r>   éýÿÿÿrK   )	r8   r9   r:   r!   r   rs   r;   r
   r   )ÚtaÚtbZtcr~   r@   r@   rA   Ú
test_TR12i’  s"   ***:
2ÿ($,r¤   c                  C   s  t tƒd t tƒd  } ttƒd  }t| ƒ|ksJ ‚td|  ƒd| ks'J ‚tt tƒd d t tƒd d  ƒ|d ks?J ‚tt tƒd d t tƒd d  ƒ|d t tƒd  ks]J ‚tt tƒd d t tƒd d  ƒ|d t tƒd  ks{J ‚t tƒd t t tƒd t  } t| ƒ| ks“J ‚t tƒd t t tƒd  } t| ƒ| ks©J ‚ttƒd d t tƒd  } t| ƒ| ks¿J ‚tddd}tt tƒd | t tƒd |  ƒ|| ksÝJ ‚tttƒd | ttƒd |  ƒt tƒd  | ksúJ ‚t tƒd |d  t tƒd |  } t| ƒt tƒd ||  | fv sJ ‚tttƒd ttƒd  ƒt tƒd  ks7J ‚t tƒd t tƒd  }t tƒd d t tƒd  }dt tƒd  dt tƒd   }t|| | td  ƒdtd ttƒd  ttƒd   ks‚J ‚d S )	Nr?   r>   rK   rF   TrG   iîÿÿÿrD   )r   r;   r
   r#   r<   r   r   )r~   ZansrF   Zp1Zp2Zp3r@   r@   rA   Ú	test_TR14¥  s.   0<< 0:$&0 Fr¥   c                   C   s„   t ddttƒd   ƒttƒd  ksJ ‚tddttƒd   ƒttƒd  ks*J ‚tddttƒd   ƒdttƒd  ks@J ‚d S )Nr?   r>   )r$   r
   r;   r   r%   r   r   r&   r@   r@   r@   rA   Útest_TR15_16_17Á  s   **0r¦   c                   C   sÎ   t td ƒdtdfksJ ‚t td ƒdtdfksJ ‚t t d ƒdtdfks(J ‚t t d ƒdtdfks6J ‚t dt d ƒdtdfksEJ ‚t tt t ƒttdfksTJ ‚t t t t ƒt tdfkseJ ‚d S )Nr?   rj   r>   )r6   r;   r<   r@   r@   r@   rA   Útest_as_f_sign_1Ç  s   &r§   N)]Zsympyr   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   rX   r1   r2   r3   r4   r5   r6   Zsympy.testing.randtestr7   Z	sympy.abcr8   r9   r:   r;   r<   r=   rB   rC   rI   rP   rZ   r^   r`   ra   rg   rz   r|   r€   r   r‚   rƒ   r„   r†   r   r’   r“   r”   r˜   rš   r    r¤   r¥   r¦   r§   r@   r@   r@   rA   Ú<module>   s@   h | $7	&$	