U
    L?hÒ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s4t‚d S )Né   é   )r   r   r>   r   r   r   ÚAssertionError© rD   rD   úN/var/www/html/venv/lib/python3.8/site-packages/sympy/simplify/tests/test_fu.pyÚtest_TR1   s    rF   c                   C   sl   t ttƒƒttƒttƒ ks t‚t ttƒƒttƒttƒ ks@t‚t tttƒttƒttƒ  ƒƒdksht‚d S )Nr   )r)   r   r>   r   r   rC   r   rD   rD   rD   rE   Útest_TR2   s      rG   c                  C   sV  t dt tt  ƒdt t ks$t‚tttƒttƒ ƒttƒksDt‚tttƒttƒ ttƒ ƒttƒttƒ kstt‚tdttƒttƒ  ƒdttƒ ksœt‚tdttƒttƒ ttƒ  ƒdttƒ ttƒ ksÔt‚tttƒd ttƒd  ƒttƒttƒd  d kst‚tttƒd ttƒd  ddttd ƒd ksDt‚ttdƒtdƒd  ddttj	ƒkspt‚ttdƒtdƒd  ddtdƒksšt‚ttdƒtdƒd  ddtdƒksÄt‚ttdƒtdƒd  ddtdtj	 ƒksôt‚ttdƒd tdƒ dddttj	ƒ ks$t‚ttdƒd tdƒ dddtdƒ ksRt‚ttdƒd tdƒ dddtdƒ ks€t‚ttdƒd tdƒ dddtdtj	 ƒ ks´t‚ttdƒd t
  tdƒt
  ddttj	ƒt
 ksît‚ttdƒd t
  tdƒt
  ddtdƒt
 ks&t‚ttdƒd t
  tdƒt
  ddtdƒd t
  tdƒt
  kspt‚ttdƒd t
  tdƒt
  ddtdƒd t
  tdƒt
  ksºt‚ttdƒd t
 tdƒt
   ddttj	ƒt
  ksöt‚ttdƒd t
 tdƒt
   ddtdƒt
  ks0t‚ttdƒd t
 tdƒt
   ddtdƒd t
 tdƒt
   kszt‚ttdƒd t
 tdƒt
   ddtdƒd t
 tdƒt
   ksÄt‚tddd} ttdƒd |  tdƒ|    ddtdtj	 ƒ|   kst‚tdtdƒd |  tdƒ|     ddtdtj	 ƒ|  ksRt‚d S )	NrA   rB   T)Zhalfé   é   Úi©Úinteger)r   r>   r?   rC   r*   r   r   r   r	   ÚHalfr;   r   )rJ   rD   rD   rE   Ú	test_TR2i   s4    $ 0(8:6,**00..4:8JJ<:JJ@rN   c               	   C   s  t ttttt   ƒƒtttt  t ƒks0t‚ttd t ƒttƒ ksNt‚tdt d t ƒttƒ kspt‚ttttt	t
fD ]8} | ttddƒ ƒ}t |ƒ}t||ƒr´|j|jks€t‚q€tdƒ tdt d ƒ}W 5 Q R X | dt ¡rt |ƒttd ƒkst‚d S )	NrA   é   é   é   Fé	   é   é   )r+   r   r?   r>   rC   r   r   r   r   r   r   r   r:   Úfuncr   Úhas)ÚfrJ   ÚjÚeqrD   rD   rE   Útest_TR3B   s    0"
rZ   c               
   C   sb   dt d t d t d t d fD ]>} tdƒ t| ƒ}W 5 Q R X t|tƒrXt|ƒt| ƒkst‚qd S )Nr   é   rH   rP   rA   F)r   r   r   Ú
isinstancer,   rC   )rJ   rY   rD   rD   rE   Útest_TR4Q   s    "
r]   c                  C   sh  dd„ } t ttƒd tt| ddƒttƒttƒd  d  ks@t‚t ttƒd tt| ddƒttƒd ksjt‚t ttƒd	 tt| d	dƒttƒd  d d ksžt‚t ttƒd	 tt| d	d
ƒttƒd	 ksÈt‚t ttƒd tt| dd
ƒttƒd  d d ksüt‚t ttƒt tt| dd
ƒttƒt ks(t‚t ttƒdt d  tt| dd
ƒttƒdt d  ksdt‚d S )Nc                 S   s   d|  S ©NrB   rD   ©r>   rD   rD   rE   Ú<lambda>Y   ó    ztest__TR56.<locals>.<lambda>rP   rH   FrA   rB   é
   r[   Té   )ÚTr   r>   r   rC   r   )ÚhrD   rD   rE   Ú
test__TR56X   s    8*4*4,rf   c                   C   st   t ttƒd ƒttƒd  d ks&t‚t ttƒd ƒttƒd ksFt‚t ttƒd ƒttƒd  d d kspt‚d S ©NrA   rB   éþÿÿÿrH   )r-   r   r>   r   rC   rD   rD   rD   rE   Útest_TR5e   s    & ri   c                   C   st   t ttƒd ƒttƒd  d ks&t‚t ttƒd ƒttƒd ksFt‚t ttƒd ƒttƒd  d d kspt‚d S rg   )r.   r   r>   r   rC   rD   rD   rD   rE   Útest_TR6k   s    & rj   c                   C   s`   t ttƒd ƒtdt ƒd tj ks*t‚t ttƒd d ƒtdt ƒd tddƒ ks\t‚d S )NrA   rB   rP   )r/   r   r>   r	   rM   rC   r   rD   rD   rD   rE   Útest_TR7q   s    *rk   c                   C   sV  t tdƒtdƒ ƒtdƒd tdƒd  ks0t‚t tdƒtdƒ ƒtdƒd tdƒd  ks`t‚t tdƒtdƒ ƒtdƒ d tdƒd  ks’t‚t tdƒtdƒ tdƒ ƒtdƒd tdƒd  tdƒd  ksÖt‚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sRt‚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þt‚t tttddƒ ƒd tttddƒ ƒd  d
ttd ƒd   ƒtddƒksRt‚d S )NrA   rP   rI   rB   rH   r[   rb   rc   é   é   é   é   rQ   é@   )r0   r   rC   r   r   r   rD   rD   rD   rE   Útest_TR8v   s2    002D":
ÿÿÿ
*>
ÿ
ÿ
ÿÿ
ÿÿ
rq   c                  C   sž  t j} d|  }t| ƒ| kst‚ttdƒtdƒ ƒdt| ƒ t|ƒ ksJt‚ttdƒtdƒ ƒdt| ƒ t|ƒ ksvt‚ttdƒtdƒ ƒdt| ƒ t|ƒ ks¢t‚ttdƒtdƒ ƒdt|ƒ t| ƒ ksÎt‚ttdƒdtdƒ  dtdƒ  ƒtdƒdt|ƒ t| ƒ  kst‚ttdƒtdƒ dtdƒ tdƒ  ƒdtdƒ tdƒ ksVt‚ttdƒtdƒ tdƒ d tdƒ ƒdtdƒ tdƒ ks˜t‚ttdƒtdƒ tdƒ tdƒ ƒdtt jƒ tdƒ ttddƒƒ ksæt‚ttdƒtdƒtdƒ  ƒtdƒtdƒtdƒ  ks t‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ kstt‚tttƒ ttt ƒ ƒdttt d td  ƒ ttt d td  ƒ ksÈt‚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rnt||jddƒrŽ|jsŽ| d j| d jkr||krt‚qqÜd S )NrP   rB   rA   rh   rH   rI   r[   rR   ©)rB   rB   )rB   éÿÿÿÿ)rs   rB   )rs   rs   c                 S   s   g | ]}t |Ž ‘qS rD   r   ©Ú.0ZairD   rD   rE   Ú
<listcomp>˜   s     ztest_TR9.<locals>.<listcomp>r   T©Ztrig)r	   rM   r1   rC   r   r   r   r?   r>   Úzipr   rU   r:   ÚexpandÚis_Add)r;   r<   r=   ÚsÚsiÚargsÚexÚtrD   rD   rE   Útest_TR9ƒ   s@    ,,,,FBB""ÿ
:TT8
ÿÿþþr€   c                   C   sD  t ttt ƒƒttƒ ttƒ ttƒttƒ  ks6t‚t ttt ƒƒttƒttƒ ttƒttƒ  ksjt‚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Ô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tƒ  ks@t‚d S ©N)r   r   r;   r<   r   rC   r=   rD   rD   rD   rE   Ú	test_TR10Ÿ   s    64(&ÿÿ(&ÿÿr‚   c                  C   s.  t tdƒtdƒ tdƒtdƒ  ƒtdƒks0t‚t tdƒtdƒ tdƒtdƒ  ƒtdƒks`t‚t tdƒtdƒ tdƒtdƒ  ƒtdƒkst‚t tdƒtdƒ tdƒtdƒ  ƒtdƒksÀt‚t tdƒtdƒ tdƒtdƒ  d ƒtdƒd ksøt‚t tdƒtdƒ tdƒtdƒ  tdƒ ƒtdƒtdƒ ks:t‚t dtdƒ tdƒ dtdƒ tdƒ  tdƒ ƒdtdƒ tdƒ ksˆt‚t tdƒtdƒ tdƒtdƒtdƒ tdƒtdƒ    ƒtdƒksÒt‚tdƒtdƒ tdƒtdƒtdƒ tdƒtdƒ    tdƒ tdƒtdƒ  } t | ƒt |  ¡ ƒ  krJtdƒksPn t‚t tdƒttƒ t tdƒttƒ t  ƒdtdƒ t tttd  ƒ ks¢t‚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t‚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žt‚t ttƒtdƒttƒ  dtdƒ tttd  ƒ  ƒdttƒ ksèt‚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sNt‚t tdƒtdƒ tdƒtdƒ  ƒtdƒtdƒ tdƒtdƒ  ks˜t‚t	d	d
d}t tdƒttƒ | tdƒttƒ |  ƒdtdƒ tttd  ƒ | ksöt‚ttƒ}ttƒ}ttƒ}ttƒ}dD ]p}|| || f|| || ffD ]H}t
||ƒ}tdd„ |D ƒŽ }	t |	ƒ}
|	|
jdd s€|
jr>t‚q>qttƒ}ttƒ}ttd ƒ}ttd ƒ}dD ]p}|| || f|| || ffD ]H}t
||ƒ}tdd„ |D ƒŽ }	t |	ƒ}
|	|
jdd s|
jrÜt‚qÜq¸d S )NrB   rP   rA   rH   rQ   rI   r[   rR   ÚAF©Zcommutativerr   c                 S   s   g | ]}t |Ž ‘qS rD   r   rt   rD   rD   rE   rv   Ñ   s     ztest_TR10i.<locals>.<listcomp>Trw   c                 S   s   g | ]}t |Ž ‘qS rD   r   rt   rD   rD   rE   rv   Ü   s     )r   r   r   rC   ry   r   r>   r   r?   r   rx   r   rz   )rY   rƒ   r=   r{   re   Úrr|   Zargsir}   r~   r   rD   rD   rE   Ú
test_TR10iª   s    00008B2ÿ
:ÿ
ÿÿÿ.*ÿ
 ÿÿÿ
 ÿÿ6þ
Jÿ
ÿÿ
"ÿ
*ÿ
$
&$
r†   c                   C   s2  t tdt ƒƒdttƒ ttƒ ks(t‚t tdt ƒƒdttƒd  ttƒd  ttƒ ttƒ  ksjt‚t tttddƒ ƒƒdttd ƒd  ttd ƒd  ttd ƒ ttd ƒ  ksÂt‚t tdt ƒƒttƒd  ttƒd  ksðt‚t tdt ƒƒttƒd  ttƒd  d dttƒd  ttƒd   ks@t‚t tdƒƒtdƒksZt‚t tttddƒ ƒttddƒ ƒtttddƒ ƒd  tttddƒ ƒd  ks°t‚t tdƒdƒtdƒd  tdƒd  ksÞt‚t tdƒdƒtdƒksút‚t ttƒttd ƒ td ƒdttd ƒ ks.t‚d S )NrA   rH   rP   rQ   r[   )r    r   r>   r   rC   r   r   rD   rD   rD   rE   Ú	test_TR11á   s    (B<ÿ.8ÿ
V.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s¬t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sÜt‚t ttd ƒttd ƒ ƒddttd ƒ  kst‚t tdt ƒttd ƒ ttd ƒ ƒtdt ƒdttd ƒ  ks„tt tdt ƒttd ƒ ttd ƒ ƒƒ‚t ttƒttd ƒ ƒdttd ƒ ks²t‚d S )NrP   rA   rH   r[   rc   rB   )r!   r   r>   r   rC   rD   rD   rD   rE   Ú
test__TR11ó   s    >&ÿ>ÿ06rrˆ   c                   C   sÖ   t ttt ƒƒttƒttƒ ttƒ ttƒ d  ks:t‚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s²t‚t ttt ƒƒttt ƒksÒt‚d S r^   )r"   r   r>   r?   rC   r@   rD   rD   rD   rE   Ú	test_TR12þ   s    :,0ÿÿr‰   c                   C   s  t tdƒtdƒ ƒtdƒ tdƒ tdƒtdƒ  d ks>t‚t tdƒtdƒ ƒdtdƒtdƒ  tdƒtdƒ  kszt‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ tdƒtdƒ  d tdƒ ksÈt‚t tdƒtdƒ tdƒ ƒtdƒ tdƒ d tdƒtdƒ  tdƒ kst‚d S )NrP   rA   rI   rB   )r$   r   rC   r   rD   rD   rD   rE   Ú	test_TR13  s    ><,ÿ,ÿrŠ   c                   C   s    t ttƒttƒ ƒdkst‚d S ©NrA   )r   r   r>   r   rC   rD   rD   rD   rE   Útest_L  s    rŒ   c                  C   sî  t tdƒd tdƒd  ttd ƒ ƒtddƒks6t‚t tdƒttƒ tdƒttƒ  ƒdtdƒ tttd  ƒ kszt‚ttƒd ttƒd  ttƒd  dttƒd   } t | ƒttƒd dttƒd   d ksÚt‚t t	j
tdt ƒd  ƒttƒd kst‚t ttƒttƒttƒ  ttƒttƒttƒ   ƒtdƒttt td  ƒ ks\t‚t tdƒttƒ d ttƒd  ƒtttd  ƒks–t‚t dtdt ƒd d  ttƒd  ttƒd  ƒttƒd  ttƒd  ksêt‚t tttddƒ ƒƒttd ƒkst‚t ttd ƒtttddƒ ƒ tttddƒ ƒ tttddƒ ƒ ƒtdd	ƒksht‚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sÌt‚t tdƒtdƒ ƒtdƒtdƒ ksöt‚tdd„ tdƒD ƒŽ }t |ƒtdƒdtdƒ  ks.t‚t ttƒtttƒd ƒ ƒttƒtttƒd ƒ ksht‚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êt‚d S )Né2   rA   r[   rP   rH   rB   rR   é   rm   rQ   rI   c                 S   s   g | ]}t d | ƒ‘qS ©rA   ©r   ©ru   rJ   rD   rD   rE   rv   /  s     ztest_fu.<locals>.<listcomp>rb   i   iòÿÿÿé#   )r6   r   r   r   r   rC   r   r>   r?   r	   rM   r;   r<   r   r   Úrange)rY   ÚexprrD   rD   rE   Útest_fu  s4    6D4,,2ÿ
:2ÿ
(VNÿþ
*":Zÿr•   c                   C   s\   t ttƒttƒ dd„ dttƒks(t‚t ttƒttƒ dd„ dttƒttƒ ksXt‚d S )Nc                 S   s   |   ¡ S r   ©Z	count_opsr_   rD   rD   rE   r`   :  ra   z test_objective.<locals>.<lambda>)Úmeasurec                 S   s
   |   ¡  S r   r–   r_   rD   rD   rE   r`   <  ra   )r6   r   r>   r   r   rC   rD   rD   rD   rE   Útest_objective9  s    ÿÿr˜   c                  C   s:   dd„ } t tddddgddiŽ| d	d„ dd
dks6t‚d S )Nc                 S   s   t dd„ | jD ƒŽ S )Nc                 S   s   g | ]}||d   ‘qS r   rD   r‘   rD   rD   rE   rv   C  s     zAtest_process_common_addends.<locals>.<lambda>.<locals>.<listcomp>)r   r}   r_   rD   rD   rE   r`   C  ra   z-test_process_common_addends.<locals>.<lambda>rB   rA   rP   rH   r   Fc                 S   s   | d S r‹   rD   r_   rD   rD   rE   r`   E  ra   )Úkey2Úkey1r[   )r7   r   rC   )ÚdorD   rD   rE   Útest_process_common_addends@  s     ÿÿrœ   c                   C   s  t ttƒttƒƒdddttdfks&t‚t dttƒ dttƒ ƒdddttdfksTt‚t ttƒttƒ ttƒttƒ ƒttƒddttdfksŽt‚t ttƒtdƒ ttƒ dddddttd d	fksÆt‚t ttƒttƒddtdƒddttd
 d	fksøt‚t ttƒttƒ ddtdƒddttd
 d	fks.t‚t tdƒttƒ tdƒ ttƒ dddtdƒ ddttd d	fksxt‚t tdƒ ttƒ tdƒ ttƒ dddtdƒ ddttd d	fksÄt‚t ttƒtdƒ ttƒtdƒ ddtdƒd ddttd d	fkst‚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spt‚t ttƒttƒƒd ksŒt‚t ttƒttƒƒd ks¨t‚t dttƒ ttƒ ƒd ksÊt‚t ttƒtdƒ ttƒ ƒd ksðt‚t ttƒttƒ ttƒttƒ ƒd kst‚t ttƒttƒ ttƒttƒ ƒd ksHt‚t tdƒ ttƒ tdƒttƒ ttƒ ddd ks‚t‚t tdƒttƒ tdƒddd ksªt‚t tdƒt	tdƒ tdƒtdƒ ddd ksÜt‚t tdƒtdƒ tdƒtdƒ ddd kst‚d S )NrB   TrA   rh   rs   rP   )Útwor[   FrH   rI   rQ   )
r8   r   r>   r?   rC   r   r   r   r@   r   rD   rD   rD   rE   Útest_trig_splitH  sR    &. ÿÿÿÿ
&ÿ
(ÿ
$ÿ
 ÿ"þ
"&,,.ÿ
(2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sbt‚t tƒtksrt‚t dt ƒdt ksŠt‚ttd ƒtttddƒ ƒ tttddƒ ƒ } t	t | ƒƒtddƒksÔt‚tdd„ td
dƒD ƒŽ } t	t
t | ƒƒƒtd
dƒkst‚ttƒttd ƒ }t |ƒ|ks2t‚ttd ƒttd ƒ ttƒd  }t |ƒtdt ƒttƒd  d ks€t‚d S )NrQ   c                 S   s   g | ]}t |ƒ‘qS rD   r   r‘   rD   rD   rE   rv   m  s     z!test_TRmorrie.<locals>.<listcomp>rb   ro   rm   rI   rR   rp   rB   rP   rA   rH   rs   rc   c                 S   s    g | ]}t d | t d ƒ‘qS )rA   é   )r   r   r‘   rD   rD   rE   rv   s  s     rŸ   i   )r2   r   r“   r   r   rC   r>   r   r   r0   r+   )ÚerY   rD   rD   rE   Útest_TRmorriel  s    >ÿ0 $r¡   c                  C   sì   t dttƒd  ƒdttƒd  ks(t‚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s”t‚tddƒD ]H} tttƒ|  t ttƒ|  ƒƒsÄt‚tttƒ|  t ttƒ|  ƒƒsžt‚qžd S )NrB   rA   rP   rH   rc   )r4   r   r>   rC   r   r   r“   r:   )ÚkrD   rD   rE   Ú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sPt‚tt	tt
 ƒƒ\}}|t|ƒƒt	tƒt	t
ƒ t	tƒt	t
ƒ d  ks˜t‚tƒ }| ttƒ|ƒttt| ƒ ksÀt‚| t	tƒ|ƒttt| ƒ ksât‚| ttƒ|ƒtt| ƒt kst‚| ttƒ|ƒtt| ƒks&t‚| ttƒ|ƒtt| ƒksFt‚| ttƒ|ƒtt| ƒt ksjt‚ttt	tttfD ](}|tƒ}|| ||ƒ|ƒ|kszt‚qz|ttt
 t ƒt
ƒtttt  ƒksÐt‚|ttt
 t ƒt
ƒtttt  ƒt ks t‚|ttt
 t ƒt
ƒt	ttt  ƒt ks0t‚|ttt
 t ƒt
ƒtttt  ƒt ks`t‚|ttt
 t ƒt
ƒtttt  ƒksŒt‚|ttt
 t ƒt
ƒtttt  ƒt ks¼t‚d S )Nr   )Ú_osborneÚ	_osborneirA   rB   )Úsympy.simplify.fur¤   r¥   r   r>   r   r5   r6   rC   r   r?   r"   r
   r   r   r   r   r   r   r   r   r   r   r   r@   )	r¤   r¥   rY   r   rW   r    ÚdrU   re   rD   rD   rE   Útest_hyper_as_trig†  s,    4""$  $,000,r¨   c                  C   s  dd„ t ttfD ƒ\} }}t| | |  | d  ƒtt t ƒksDt‚t| | | | d  ƒtt t ƒ ksnt‚t|  | | | d  ƒtt t ƒks˜t‚| | |  | d d  d|  d|   d| | d   }t| ¡ ƒdtt t ƒ tt t ƒ tt ƒttƒ d  d kst‚tttƒttƒ ƒttƒttƒ ksBt‚| t	dƒ |  | d  }t|ƒ|ksnt‚| | d d |  | d  }t|ƒ|ksžt‚| |  | d  }t|ƒ|ksÂt‚| | t d   ¡ d | | d  }t|ƒt d d  tt t ƒ kst‚d S )Nc                 S   s   g | ]}t |ƒ‘qS rD   )r   r‘   rD   rD   rE   rv   ¥  s     ztest_TR12i.<locals>.<listcomp>rB   rA   éýÿÿÿrP   )
r;   r<   r=   r#   r   rC   ry   r>   r   r   )ÚtaÚtbZtcrY   rD   rD   rE   Ú
test_TR12i¤  s"    ***:
2ÿ
*$r¬   c                  C   s  t tƒd t tƒd  } ttƒd  }t| ƒ|ks6t‚td|  ƒd| ksNt‚tt tƒd d t tƒd d  ƒ|d ks~t‚tt tƒd d t tƒd d  ƒ|d t tƒd  ksºt‚tt tƒd d t tƒd d  ƒ|d t tƒd  ksöt‚t tƒd t t tƒd t  } t| ƒ| ks(t‚t tƒd t t tƒd  } t| ƒ| ksVt‚ttƒd d t tƒd  } t| ƒ| ks„t‚tddd}tt tƒd | t tƒd |  ƒ|| ksÂt‚tttƒd | ttƒd |  ƒt tƒd  | ksþt‚t tƒd |d  t tƒd |  } t| ƒt tƒd ||  | fksHt‚tttƒd ttƒd  ƒt tƒd  ksxt‚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t‚d S )	NrB   rA   rP   rJ   TrK   iîÿÿÿrH   )r   r>   r   r%   rC   r?   r   r   )rY   ZansrJ   Úp1Zp2Zp3rD   rD   rE   Ú	test_TR14·  s.    0<< 2<$&0 r®   c                   C   s„   t ddttƒd   ƒttƒd  ks*t‚tddttƒd   ƒttƒd  ksTt‚tddttƒd   ƒdttƒd  ks€t‚d S )NrB   rA   )	r&   r   r>   r   rC   r'   r   r   r(   rD   rD   rD   rE   Útest_TR15_16_17Ó  s    **r¯   c                   C   sÎ   t td ƒdtdfkst‚t td ƒdtdfks4t‚t t d ƒdtdfksPt‚t t d ƒdtdfkslt‚t dt d ƒdtdfksŠt‚t tt t ƒttdfks¨t‚t t t t ƒt tdfksÊt‚d S )NrB   rs   rA   )r9   r>   rC   r?   rD   rD   rD   rE   Ú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sPt‚ttdƒtdƒ | |  ƒtdƒ tdƒ tdƒtdƒ  d | |  ksžt‚dttƒ ttƒ | |  ttƒd   ¡ tdt ƒ| |  tdt ƒd  t	j
d  ksüt‚d S )	Nrƒ   Fr„   ÚBrA   rP   rI   rB   )r   r0   r   r>   r   rC   r$   r   Úsimplifyr	   ZOne)rƒ   r±   rD   rD   rE   Útest_issue_25590ã  s
    8Nr³   N)jZsympy.core.addr   Zsympy.core.mulr   Zsympy.core.numbersr   r   r   Zsympy.core.parametersr   Zsympy.core.singletonr	   Zsympy.core.symbolr
   r   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   Z(sympy.functions.elementary.miscellaneousr   r   Z(sympy.functions.elementary.trigonometricr   r   r   r   r   r   Z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   Zsympy.core.randomr:   Z	sympy.abcr;   r<   r=   r>   r?   r@   rF   rG   rN   rZ   r]   rf   ri   rj   rk   rq   r€   r‚   r†   r‡   rˆ   r‰   rŠ   rŒ   r•   r˜   rœ   rž   r¡   r£   r¨   r¬   r®   r¯   r°   r³   rD   rD   rD   rE   Ú<module>   sT     € $7	&$	
