o
    jgÒK  ã                   @   sT  d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ d dlmZmZmZ d dlmZmZ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  d d
l!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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB d dlCmDZD d dlEmFZFmGZGmHZHmIZImJZJmKZK dd„ ZLdd„ ZMdd„ ZNdd„ ZOdd„ ZPdd„ ZQdd„ ZRdd„ ZSdd„ ZTd d!„ ZUd"d#„ ZVd$d%„ ZWd&d'„ ZXd(d)„ ZYd*d+„ ZZd,d-„ Z[d.d/„ Z\d0d1„ Z]d2d3„ Z^d4d5„ Z_d6d7„ Z`d8d9„ Zad:d;„ Zbd<d=„ Zcd>d?„ Zdd@dA„ ZedBdC„ ZfdDdE„ ZgdFdG„ ZhdHdI„ ZidJS )Ké    )ÚAdd©ÚMul)ÚIÚRationalÚpi)Úevaluate)ÚS)ÚDummyÚSymbolÚsymbols)ÚcoshÚcothÚcschÚsechÚsinhÚtanh)ÚrootÚsqrt)ÚcosÚcotÚcscÚsecÚsinÚtan)Úpowsimp)ÚLÚTR1ÚTR10ÚTR10iÚTR11Ú_TR11ÚTR12ÚTR12iÚTR13ÚTR14ÚTR15ÚTR16ÚTR111ÚTR2ÚTR2iÚTR3ÚTR4Ú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   © rC   rC   úT/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/simplify/tests/test_fu.pyÚtest_TR1   s   8rE   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   rC   rC   rC   rD   Útest_TR2   s     ,rF   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 )	NrA   rB   T)Úhalfé   é   Úi©Úinteger)r   r>   r?   r*   r   r   r   r	   ÚHalfr;   r   )rJ   rC   rC   rD   Ú	test_TR2i   s4   $ 0(884*((.0..4:8JJ<:JJ@FrN   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@tdƒ tdt d ƒ}W d   ƒ n1 stw   Y  | dt ¡rŠt |ƒttd ƒksŒJ ‚d S )	NrA   é   é   é   Fé	   é   é   )r+   r   r?   r>   r   r   r   r   r   r   r   r:   Úfuncr   Úhas)ÚfrJ   ÚjÚeqrC   rC   rD   Útest_TR3B   s   0"
ÿ*rZ   c               	   C   sv   dt d t d t d t d fD ])} tdƒ t| ƒ}W d   ƒ n1 s$w   Y  t|tƒr6t|ƒt| ƒks8J ‚qd S )Nr   é   rH   rP   rA   F)r   r   r   Ú
isinstancer,   )rJ   rY   rC   rC   rD   Útest_TR4Q   s   "

ÿ ýr]   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 ©NrB   rC   ©r>   rC   rC   rD   Ú<lambda>Y   ó    ztest__TR56.<locals>.<lambda>rP   rH   FrA   rB   é
   r[   Té   )ÚTr   r>   r   r   )ÚhrC   rC   rD   Ú
test__TR56X   s   8*4*4*>rf   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 ©NrA   rB   éþÿÿÿrH   )r-   r   r>   r   rC   rC   rC   rD   Útest_TR5e   ó   & .rj   c                   C   rg   rh   )r.   r   r>   r   rC   rC   rC   rD   Útest_TR6k   rk   rl   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 )NrA   rB   rP   )r/   r   r>   r	   rM   r   rC   rC   rC   rD   Útest_TR7q   s   *6rm   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 )NrA   rP   rI   rB   rH   r[   rb   rc   é   é   é   é   rQ   é@   )r0   r   r   r   r   rC   rC   rC   rD   Útest_TR8v   s2   002D":
ÿÿÿ*>
ÿ
ÿ
ÿÿ
ÿÿXrs   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 )NrP   rB   rA   ri   rH   rI   r[   rR   ©)rB   rB   )rB   éÿÿÿÿ)ru   rB   )ru   ru   c                 S   ó   g | ]}t |Ž ‘qS rC   r   ©Ú.0ÚairC   rC   rD   Ú
<listcomp>˜   ó    ztest_TR9.<locals>.<listcomp>r   T©Útrig)r	   rM   r1   r   r   r   r?   r>   Úzipr   rU   r:   ÚexpandÚis_Add)r;   r<   r=   ÚsÚsiÚargsÚexÚtrC   rC   rD   Útest_TR9ƒ   s@   ,,,,D@@""ÿ:TT8
ÿÿ$€úÿr†   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   r;   r<   r   r=   rC   rC   rC   rD   Ú	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 )NrB   rP   rA   rH   rQ   rI   r[   rR   ÚAF©Úcommutativert   c                 S   rv   rC   r   rw   rC   rC   rD   rz   Ñ   r{   ztest_TR10i.<locals>.<listcomp>Tr|   c                 S   rv   rC   r   rw   rC   rC   rD   rz   Ü   r{   )r   r   r   r   r   r>   r   r?   r   r~   r   r€   )rY   r‰   r=   r   re   Úrr‚   Úargsirƒ   r„   r…   rC   rC   rD   Ú
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 )NrA   rH   rP   rQ   r[   )r    r   r>   r   r   r   rC   rC   rC   rD   Ú	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 )NrP   rA   rH   r[   rc   rB   )r!   r   r>   r   rC   rC   rC   rD   Ú
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 r^   )r"   r   r>   r?   r@   rC   rC   rC   rD   Ú	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 )NrP   rA   rI   rB   )r$   r   r   rC   rC   rC   rD   Ú	test_TR13  s   ><,ÿ,ÿr’   c                   C   s    t ttƒttƒ ƒdksJ ‚d S ©NrA   )r   r   r>   r   rC   rC   rC   rD   Ú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   rA   r[   rP   rH   rB   rR   é   ro   rQ   rI   c                 S   s   g | ]}t d | ƒ‘qS ©rA   ©r   ©rx   rJ   rC   rC   rD   rz   /  ó    ztest_fu.<locals>.<listcomp>rb   i   iòÿÿÿé#   )r6   r   r   r   r   r   r>   r?   r	   rM   r;   r<   r   r   Úrange)rY   ÚexprrC   rC   rD   Ú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‡   ©Ú	count_opsr_   rC   rC   rD   r`   :  ra   z test_objective.<locals>.<lambda>)Úmeasurec                 S   s
   |   ¡  S r‡   rŸ   r_   rC   rC   rD   r`   <  s   
 )r6   r   r>   r   r   rC   rC   rC   rD   Útest_objective9  s   ÿÿr¢   c                  C   s6   dd„ } t tg d¢ddiŽ| dd„ dddksJ ‚d S )	Nc                 S   s   t dd„ | jD ƒŽ S )Nc                 S   s   g | ]}||d   ‘qS r—   rC   r™   rC   rC   rD   rz   C  rš   zAtest_process_common_addends.<locals>.<lambda>.<locals>.<listcomp>)r   rƒ   r_   rC   rC   rD   r`   C  r{   z-test_process_common_addends.<locals>.<lambda>)rB   rA   rP   rH   r   Fc                 S   s   | d S r“   rC   r_   rC   rC   rD   r`   E  ra   )Úkey2Úkey1r[   )r7   r   )ÚdorC   rC   rD   Ú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 )NrB   TrA   ri   ru   rP   )Útwor[   FrH   rI   rQ   )	r8   r   r>   r?   r   r   r   r@   r   rC   rC   rC   rD   Útest_trig_splitH  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 )NrQ   c                 S   ó   g | ]}t |ƒ‘qS rC   r˜   r™   rC   rC   rD   rz   m  r{   z!test_TRmorrie.<locals>.<listcomp>rb   rq   ro   rI   rR   rr   rB   rP   rA   rH   ru   rc   c                 S   s    g | ]}t d | t d ƒ‘qS )rA   é   )r   r   r™   rC   rC   rD   rz   s  s     rª   i   )
r2   r   rœ   r   r   r>   r   r   r0   r+   )ÚerY   rC   rC   rD   Útest_TRmorriel  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 )NrB   rA   rP   rH   rc   )r4   r   r>   r   r   rœ   r:   )ÚkrC   rC   rD   Útest_TRpower}  s   (Fÿ"$þr®   c            	      C   s°  ddl 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t	ƒ d  ksLJ ‚tƒ }| ttƒ|ƒttt| ƒ ks`J ‚| ttƒ|ƒttt| ƒ ksqJ ‚| 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sVJ ‚d S )Nr   )Ú_osborneÚ	_osborneirA   rB   )Úsympy.simplify.fur¯   r°   r   r>   r   r5   r6   r   r?   r"   r
   r   r   r   r   r   r   r   r   r   r   r   r@   )	r¯   r°   rY   r…   rW   r«   ÚdrU   re   rC   rC   rD   Útest_hyper_as_trig†  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©   rC   )r   r™   rC   rC   rD   rz   ¥  r{   ztest_TR12i.<locals>.<listcomp>rB   rA   éýÿÿÿrP   )	r;   r<   r=   r#   r   r   r>   r   r   )ÚtaÚtbÚtcrY   rC   rC   rD   Ú
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 )	NrB   rA   rP   rJ   TrK   iîÿÿÿrH   )r   r>   r   r%   r?   r   r   )rY   ÚansrJ   Úp1Úp2Úp3rC   rC   rD   Ú	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 )NrB   rA   )r&   r   r>   r   r'   r   r   r(   rC   rC   rC   rD   Ú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 )NrB   ru   rA   )r9   r>   r?   rC   rC   rC   rD   Útest_as_f_sign_1Ù  s   &r¿   c                  C   s   t ddd} t ddd}tdttƒ ttƒ | |  ƒtdt ƒ| |  ks(J ‚ttdƒtdƒ | |  ƒtdƒ tdƒ tdƒtdƒ  d | |  ksOJ ‚dttƒ ttƒ | |  ttƒd   ¡ tdt ƒ| |  tdt ƒd  tj	d  ks~J ‚d S )	Nr‰   FrŠ   ÚBrA   rP   rI   rB   )
r   r0   r   r>   r   r$   r   Úsimplifyr	   ÚOne)r‰   rÀ   rC   rC   rD   Útest_issue_25590ã  s
   8NbrÃ   N)jÚsympy.core.addr   Úsympy.core.mulr   Úsympy.core.numbersr   r   r   Úsympy.core.parametersr   Úsympy.core.singletonr	   Úsympy.core.symbolr
   r   r   Ú%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   Ú(sympy.functions.elementary.miscellaneousr   r   Ú(sympy.functions.elementary.trigonometricr   r   r   r   r   r   Úsympy.simplify.powsimpr   r±   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   rd   r4   r5   r6   r7   r8   r9   Úsympy.core.randomr:   Ú	sympy.abcr;   r<   r=   r>   r?   r@   rE   rF   rN   rZ   r]   rf   rj   rl   rm   rs   r†   rˆ   rŽ   r   r   r‘   r’   r”   rž   r¢   r¦   r¨   r¬   r®   r³   r¸   r½   r¾   r¿   rÃ   rC   rC   rC   rD   Ú<module>   sV      € $7	&$	
