a
    kºhBÞ  ã                   @   s  d dl 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mZ d dlmZ d dlmZmZ d dl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 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/ d dl0m1Z1 d dl2m3Z3 d dlm4Z4m5Z5 d dl6m7Z7 dd Z8dd Z9dd Z:dd Z;dd Z<dd Z=dd Z>dd Z?dd  Z@d!d" ZAd#d$ ZBd%d& ZCd'd( ZDd)d* ZEd+d, ZFd-d. ZGd/d0 ZHd1d2 ZId3d4 ZJd5d6 ZKd7d8 ZLd9d: ZMd;d< ZNd=d> ZOd?d@ ZPdAdB ZQdCdD ZRdEdF ZSdGdH ZTdIdJ ZUdKdL ZVdMdN ZWdOdP ZXdQdR ZYdSdT ZZdUdV Z[dWdX Z\dYdZ Z]d[d\ Z^d]d^ Z_d_d` Z`dadb Zadcdd Zbdedf Zcdgdh Zddidj Zedkdl Zfdmdn Zgdodp Zhdqdr Zidsdt Zjdudv Zkdwdx Zldydz 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|dd Z}dd Z~dd Zdd  Zd¡d¢ Zd£d€ Zd¥dŠ Zd§S )šé    )ÚAccumBounds)Ú
expand_mulÚexpand_trig)ÚEÚIÚIntegerÚRationalÚnanÚooÚpiÚzoo)ÚS)ÚSymbolÚsymbols)ÚimÚre)ÚexpÚlog)ÚacoshÚacothÚacschÚasechÚasinhÚatanhÚcoshÚcothÚcschÚsechÚsinhÚtanh)Úsqrt)ÚacosÚasinÚcosÚcotÚsecÚsinÚtan)ÚO)Ú	unchanged)ÚArgumentIndexErrorÚ	PoleError)Úraisesc                  C   sî  t d\} }tddd}tttu s(J tttu s8J tttu sHJ tt t u s\J tddkslJ ttdszJ tdtd ksJ tt| sJ t|  t|  ks¶J tttsÄJ tt tt ksÜJ ttdd	 t sòJ tdd	  t tdd	 t  ksJ ttt	 dks2J tt t	 dksJJ tdt t	 dksdJ td
t t	 dks~J tddd  t t	 dks J tddd  t t	 dksÂJ ttt	 d t	ksÜJ tt t	 d t	 ksúJ ttt	 t
dd t	ksJ ttt	 t
dd t	 ks<J ttt	 d tjtd t	 ksdJ ttt	 t
d
d t
ddtd t	 ksJ ttt	 d tjtd t	 ksŸJ tt t	 d t
ddtd t	 ksìJ ttt	 t
dd tjtd t	 ksJ ttt	 t
dd t
ddtd t	 ksLJ ttt	 d tjt	 kslJ tt t	 d t
ddt	 ksJ ttt	 t
dd t
ddt	 ksŒJ ttt	 t
dd t
ddt	 ksæJ ttt	 d ttd t	 ksJ tt t	 d ttd  t	 ks6J ttddt	  sNJ t| t	 t| t	 kslJ t|t t	 dksJ td| t t	 dks€J t|t t	 d t|t d t	 ksÒJ t| jddtt| tt|  tt| tt|  fksJ tddd} t| jddt| dfksFJ tddd} tt	|  jdu sjJ t| jdu s~J tt	jdu sJ tddd}t|jdu s²J tdddjdu sÊJ tdt t	 ddjdu sêJ d S )Núx,yÚkT©Úintegerr   é   éÿÿÿÿé   é   éþÿÿÿéýÿÿÿé
   éI   é   ég   é   é   é   é   é   éûÿÿÿéi   F©ÚdeepÚx©Zextended_real©ÚrealÚp©Zpositive©Úevaluate)r   r   r   r	   r   r
   r)   r   r   r   r   r   ÚHalfr    r&   Úas_real_imagr#   r   r   r   Ú	is_finiteÚis_realÚis_zero)rD   Úyr.   rH   © rR   ú^/var/www/auris/lib/python3.9/site-packages/sympy/functions/elementary/tests/test_hyperbolic.pyÚ	test_sinh   sn    *"" "(2(..2 &**&*.$ÿ"rT   c                  C   sb   t d} t|  | dd¡| | d d  | d d  | d d	  | d
 d  t| d  ks^J d S )NrD   r   r7   r<   r?   r;   éx   r9   i°  é	   i )r   r   Úseriesr(   ©rD   rR   rR   rS   Útest_sinh_series_   s    >ÿrY   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S ©Nr3   )r   ÚfdiffrR   rX   rR   rS   Ú<lambda>g   ó    z!test_sinh_fdiff.<locals>.<lambda>©r   r,   r*   rR   rR   rX   rS   Útest_sinh_fdiffe   s    r_   c                  C   s|  t d\} }tddd}tttu s(J tttu s8J tttu sHJ tt tu sZJ tddksjJ ttdsxJ tdtdksJ tt| sJ t|  t| ks°J ttt t	tksÈJ tt t t	tksâJ ttdd	 t
 søJ tdd	  t
 tdd	 t
 ks J ttt d dks:J tt t d dksVJ td
dd  d t t d dksJ tddd  d t t d dksªJ ttt dksÀJ tt t dksØJ tdt t dksòJ tdt t dksJ ttt d tjks(J ttt tdd tddksNJ ttt d tjtd ksrJ tt t d tjtd ksJ ttt tdd tddtd ksÆJ ttt td
d tddtd ksôJ ttt d tjtd ksJ tt t d tjtd ks>J ttt tdd tddtd kslJ ttt tdd tddtd ksJ ttt d t	td ksŒJ tt t d t	td ksàJ ttddt  søJ t| t t	| ksJ t|t t t	|t ks4J td| t t t	d| t ks^J tt|t srJ t| jddt	t| tt|  tt| tt|  fksžJ tddd} t| jddt| dfksæJ tddd} tt|  jdu s
J tt|  jdu s"J ttd d jdu s>J tdt tj d ddjdu sdJ t| jdu sxJ d S )Nr-   r.   Tr/   r   r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   é   r<   r5   r=   é   r?   r@   rA   r>   FrB   rD   rE   rF   rJ   )r   r   r   r	   r   r
   r)   r   r   r#   r   r   rL   r   r    rM   r   r   r&   r   rN   rO   ÚPirP   ©rD   rQ   r.   rR   rR   rS   Ú	test_coshj   sf    (**&$&..$&.."$"*$ÿ"&rd   c                  C   sb   t d} t|  | dd¡d| d d  | d d  | d d	  | d
 d  t| d  ks^J d S )NrD   r   r7   r1   r3   r=   é   r?   éÐ  r`   i  )r   r   rW   r(   rX   rR   rR   rS   Útest_cosh_series³   s    >ÿrg   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   »   r]   z!test_cosh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_cosh_fdiff¹   s    rh   c                  C   s  t d\} }tddd}tttu s(J tttu s8J ttdksHJ tt dksZJ tddksjJ ttdsxJ tdtd ksJ tt| sJ t|  t|  ksŽJ tttsÂJ tt tt ksÚJ ttdd	 t sðJ tdd	  t tdd	 t  ksJ ttt	 dks0J tt t	 dksHJ tdt t	 dksbJ td
t t	 dks|J tddd  t t	 dksJ tddd  t t	 dksÀJ ttt	 d tu sÚJ tt t	 d tu söJ ttt	 t
dd tu sJ ttt	 t
dd tu s6J ttt	 d tdt	 ksXJ ttt	 t
d
d tdt	 ksJ ttt	 d t	ksJ tt t	 d t	 ksžJ ttt	 t
dd t	ksØJ ttt	 t
dd t	ksøJ ttt	 d t	td ksJ tt t	 d t	 td ks@J ttt	 t
dd t	td kshJ ttt	 t
dd t	td ksJ ttt	 d ttd t	 ks¶J tt t	 d ttd  t	 ksàJ ttddt	  søJ t| t	 t| t	 ksJ t|t t	 dks0J td| t t	 dksNJ t|t t	 d t|t d t	 ks|J t| jddtt| tt|  tt| d tt| d   tt| tt|  tt| d tt| d   fksJ tddd} t| jddt| dfks0J tt	t d d jdu sPJ t| jdu sdJ tt	t |  d jd u sJ d S )Nr-   r.   Tr/   r1   r2   r   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   FrB   rD   rE   )r   r   r   r	   r   r
   r)   r   r   r   r   r    r'   rM   r   r   r   r#   r   r&   rO   rc   rR   rR   rS   Ú	test_tanhŸ   sh    *""  "(  "&((&*.2ÿ6þ" ri   c                  C   sn   t d} t|  | dd¡| | d d  d| d  d  d| d	  d
  d| d  d  t| d  ksjJ d S )NrD   r   r7   r<   r3   r;   é   r>   r9   i;  é>   rV   i  )r   r   rW   r(   rX   rR   rR   rS   Útest_tanh_series  s    Jÿrl   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\     r]   z!test_tanh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_tanh_fdiff  s    rm   c                  C   sÄ  t d\} }tddd}tttu s(J tttu s8J ttdksHJ tt dksZJ tdtu sjJ ttdsxJ tdtd ksJ tt| sJ t|  t|  ksŽJ ttt t t	t ksÒJ tt t t	tt ksðJ ttdd	 t
 sJ tdd	  t
 tdd	 t
  ks2J ttt t t	t ksRJ tt t tt	t ksrJ tdt t t t	dt  ksJ td
t t tt	dt  ksÀJ tddd  t t tt	ddd  t  ksöJ tddd  t t t t	ddd  t  ks.J ttt d dksHJ tt t d dksdJ ttt tdd dksJ ttt tdd dks€J t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 ksJ tt t d tks*J ttt tdd t ksLJ ttt tdd t ksnJ ttt d td t ksJ tt t d tdt ks¶J ttt tdd td t ksàJ ttt tdd td t ks
J ttt d t	td  t ks2J tt t d t	td t ksZJ ttddt  srJ t| t t	|  t ksJ t|t t t	|t  t ksºJ td| t t t	d| t  t ksêJ t|t t t	|t  t ksJ tttdtttd ks:J tdtt d  tdks\J t| jddtt| tt|  tt| d tt| d   tt|  tt|  tt| d tt| d   fksäJ tddd} t| jddt| dfksJ ttd|  t| d d dt|   ksDJ ttd|  t| d dt|   ddt| d    ksJ tt| | dt| t|  t| t|  ksÀJ d S )Nr-   r.   Tr/   r1   r2   r   r3   r4   r5   r6   r7   r8   r<   r9   r:   r;   r=   r>   r?   r@   rA   FrB   rD   rE   )r   r   r   r	   r   r
   r)   r   r   r$   r   r   r    r   r'   r   rM   r   r   r   r&   r   r#   r   rc   rR   rR   rS   Ú	test_coth  sl    *  (&68  $*""$$**(( (0(("2ÿ8þ"2Brn   c                  C   sf   t d} t|  | dd¡d|  | d  | d d  d| d  d	  | d
 d  t| d  ksbJ d S )NrD   r   r`   r1   r<   é-   r3   r;   i±  r9   iu  )r   r   rW   r(   rX   rR   rR   rS   Útest_coth_series]  s    Bÿrp   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   e  r]   z!test_coth_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_coth_fdiffc  s    rq   c                  C   sÊ  t d\} }tddd}tddd}tttu s4J tttu sDJ ttdksTJ tt dksfJ tdtu svJ tdtd	 ksJ t|  t|  ks€J tt tt ksŒJ td
d  t td
d t  ksäJ ttt tu søJ tt t tu sJ td
t t tu s*J tdt t tu sDJ tddd  t t tu sfJ tddd  t t tu sJ ttt d
 t ks€J tt t d
 tksÀJ ttt t	dd
 t ksâJ ttt t	dd
 tksJ ttt d dt
d t ks(J ttt t	dd d
t
d t ksTJ ttt d t
d
 t ksxJ tt t d t
d
t ksJ ttt t	dd t
d
t ksÄJ ttt t	dd 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t t	dd d
t ksNJ ttt t	dd dt ksrJ ttt t	dd d
t ksJ ttt d dttd  t ksÀJ tt t d d	ttd  t ksìJ t| t dt|  t ksJ t|t t tu s(J td| t t tu sFJ t|t t d
 dt|t d
  t ksxJ t|jdu sJ tt| | d	t| t| t| t|   ksÆJ d S )Nr-   r.   Tr/   ÚnrI   r   r2   r1   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r?   éùÿÿÿr@   rA   r>   )r   r   r   r	   r   r
   r   r   r   r   r    r&   rO   r   r   r   ©rD   rQ   r.   rr   rR   rR   rS   Ú	test_cschh  sR    (""" &,$$(( $$$*,"2ru   c                  C   s~   t d} t|  | dd¡d|  | d  d| d  d  d	| d
  d  d| d  d  d| d  d  t| d  kszJ d S )NrD   r   r7   r1   r?   r9   r<   ih  é   r;   i;  é   i:	 r8   rV   i 54 )r   r   rW   r(   rX   rR   rR   rS   Útest_csch_series¥  s    >ÿ
ÿÿrx   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   ®  r]   z!test_csch_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_csch_fdiff¬  s    ry   c                  C   sP  t d\} }tddd}tddd}tttu s4J tttu sDJ ttdksTJ tt dksfJ tddksvJ td	tdksJ t|  t| ks J ttt ttksžJ tt t ttksÒJ td
d  t	 td
d t	 ksøJ ttt d
 tu sJ tt t d
 tu s.J tddd  d t t d
 tu sXJ tddd  d t t d
 tu sJ ttt d	ksJ tt t d	ks°J tdt t d	ksÊJ tdt t dksäJ ttt d d
ksþJ ttt t
dd dksJ ttt d td
ks<J tt t d td
ks\J ttt t
dd td
 ksJ ttt t
d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t t
dd dtd ksJ ttt t
dd dtd ks>J ttt d dttd  ksdJ tt t d dttd  ksJ t| t dt|  ksªJ t|t t dt|t  ksÐJ td| t t dtd| t  ksþJ t|jdu sJ tt| | dt| t| t| t|   ksLJ d S )Nzx, yr.   Tr/   rr   rI   r   r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   r`   r<   r5   r=   r@   r?   rA   r>   )r   r   r   r	   r   r
   r   r   r%   r   r   r    r#   rO   r   r   r   rt   rR   rR   rS   Ú	test_sech±  sL    &**  &&"$((&(&.rz   c                  C   sn   t d} t|  | dd¡d| d d  d| d  d  d	| d
  d  d| d  d  t| d  ksjJ d S )NrD   r   r7   r1   r3   r;   r=   re   é=   r?   rf   i  r`   i  )r   r   rW   r(   rX   rR   rR   rS   Útest_sech_seriesë  s    Jÿr|   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   ó  r]   z!test_sech_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_sech_fdiffñ  s    r}   c                  C   s,  t d\} }tt| sJ t|  t|  ks2J tttu sBJ tddksRJ tdttdd ksnJ tdttdd ksJ tttt d ks¢J tt t t d ksŸJ ttd tt d ksÚJ tt d t t d ksúJ tttu sJ tt t u s"J ttt tu s8J tt t t u sRJ tt	t	u sdJ tttdd  dt
dd  tt d ksJ tt tdd  dt
dd  t t d ksÐJ tttd	d  d
 tt d ksúJ tt td	d  d
 t t d ks(J tttd	d  d
 tt t
dd ksXJ tt td	d  d
 tt t
dd ksJ ttdjdu s¢J ttdjdu sºJ ttdjdu sÒJ tttjdu sêJ ttt jdu sJ tdt t ksJ tt dddjdu s8J tt
ddttj ksXJ ttttdspJ ttddddksJ ttddddks€J ttdddd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 dddt t d	t  ks$J ttddt  dd
t t  dt  ksVJ ttddt  ddt  dt t  ksJ ttddt  ddt t  dt  ksºJ ttddt  dtt  dt  ksèJ tddd }t|jdu sJ ttdddddjdu s(J d S )!Nr-   r   r1   r3   r2   r?   r<   é   r;   r=   r7   r6   Tr5   FrQ   rF   Úv1rJ   rj   ra   i·ÿÿÿéa   r8   rv   rs   é   r9   é   ióÿÿÿrH   rI   )r   r)   r   r	   r   r    r   r   r
   r   r   r   rO   rN   Úis_extended_realrL   r   r   rP   )rD   rQ   rH   rR   rR   rS   Ú
test_asinhö  sX     48*.02 .222.r   c                  C   sî   t d} t|  t¡t| t| d d  ks2J t|  t¡t| td| d   ks\J t|  t¡t tt|  dd ksJ t| dt   t¡t tt|  dt   ksžJ t|  t¡ttt|  dd tt	 d  ksêJ d S )NrD   r3   r1   FrJ   )
r   r   Úrewriter   r    r   r"   r   r!   r   rX   rR   rR   rS   Útest_asinh_rewrite7  s    **(4r   c                  C   s&  t d} t| j| dd| ks"J t| t j| ddtt d ksHJ t| t j| ddt t d kspJ td|  j| ddt|  td ksJ td|  j| ddt| td tt  ksÎJ t| dt  j| ddttd ksøJ t| dt  j| ddt td tt  ks.J t| dt  j| ddt t ttd  ksdJ t| dt  j| ddt td ksJ tdt t|   | d  j| ddtdtd tt d  ksÚJ tdt t|   | d  j| ddtdtd tt d  ks"J d S ©NrD   r1   ©Úcdirr3   r2   r<   )r   r   Úas_leading_termr   r   r   r"   r    rX   rR   rR   rS   Útest_asinh_leading_term@  s    &(,2*66.Hr   c                  C   s®   t d} t|  | dd¡| | d d  d| d  d  d| d  d	  t| d  ksZJ t|  d| ¡}|d| d  d ksJ t|  d| |d¡d
| d  d	 ksªJ d S )NrD   r   r`   r<   r?   r;   é(   r9   ép   r@   )r   r   rW   r(   Útaylor_term©rD   Zt5rR   rR   rS   Útest_asinh_seriesR  s    :ÿr   c                  C   s  t d} t| t  | dd ¡tt d tdtt t t|   tdtt | tdd   d  dtd tt t | tdd   d  dtd tt | tdd   d	  t| d  ksÎJ t| t  | dd ¡t t d tdt t|  tt   td| tdd   tt  d  dtd t | tdd   tt  d  dtd | tdd   tt  d	  t| d  ks J t| dt  j| dd d
dttd tdt |  d  td| d  d  tdt | d  d  t| d  ksJ t| dt  j| dd ddtt ttd  tdt |  d  td| d  d  tdt | d  d  t| d  ks J t| dt  j| dd d
dttd tt  tdt |  d  td| d  d  tdt | d  d  t| d  ks$J t| dt  j| dd ddt td tdt |  d  td| d  d  tdt | d  d  t| d  ks¢J tdt t|   | d   | dd ¡tt d t	dtd  | ddtd   ddtd    | d ddt  tdddt     ddtd    | d dtdddt    dt   ddtd    t| d  ksJ d S )NrD   r=   r3   r<   r~   r;   é    r9   é  r1   r   rV   é   r2   r6   éúÿÿÿé$   rs   é   éÁÿÿÿéXÿÿÿr   é  é   i.ùÿÿéð  )
r   r   r   Ú_eval_nseriesr   r    r   r(   r"   r   rX   rR   rR   rS   Útest_asinh_nseries[  s    ÿ"ÿ*ÿ&þ
þ
 ÿ$ÿ,þ(þ
þ&ÿÿÿ
ÿ.ÿÿÿ
ÿ.ÿÿÿ
ÿ(ÿÿÿ
ÿ>"ÿ(
ÿÿ6þ
þr   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\   u  r]   z"test_asinh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_asinh_fdiffs  s    r   c                  C   s  t d} tt|  sJ tddks(J tdtt ks<J tdtt d ksTJ ttjtt d ksnJ ttddtt tdd ksJ tttu s¢J tt	t	u s²J tt	 t	u sÄJ ttt	 t	tt d  ksäJ tt t	 t	tt d  ksJ tt
t
u sJ ttttdtd  ks<J tt tt dtd  ksbJ ttdd dtd  tt tdd ksJ ttdd  dtd  tt td	d ksÌJ ttdd tt d
 ksîJ ttd d tt tdd
 ksJ ttdd tt d ks:J ttd d tt tdd ksdJ ttdtd d tt d ksJ ttdtd  d tt td	d ksÀJ ttdtd d tt tdd ksðJ ttdtd  d tt tdd ks"J tdtd dtd  tt d ksPJ tdtd  dtd  tt tdd ksJ ttdd d
 tt d ks¬J ttdd  d
 tt td
d ksÚJ ttdt  d¡dksúJ ttdt  d¡dksJ ttt ds.J ttddddksHJ ttddddksbJ ttdddd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 dddt t d	t  ksàJ ttdt dt ksþJ ttddt  ddt  ks$J ttddt  ddt  ksJJ ttddt  ddt t  dt  ks|J ttddt  ddt  d
t t  ks®J tttdt tdt ksÔJ tdddjdu sìJ ttdjdu sJ ttdjdu sJ tt	jdu s0J ttdjdu sHJ ttdd jdu sdJ tdt	 t	 ks|J ttdddjd u sJ d S )NrD   r1   r   r2   r3   r<   r;   r~   r9   r=   r?   r`   ra   z2.31244 + 1.5708*Ir@   z2.31244 - 1.5708*Ir   r6   FrJ   r5   r>   iëÿÿÿr   TrQ   rF   )r   r)   r   r   r   r   rL   r   r	   r
   r   r   r    Ústrrr   r   rP   rO   r   rN   r   rX   rR   rR   rS   Ú
test_acoshx  sh    $ $"&46"*"**202.6&.  .&&22&r    c                  C   sª  t d} t|  t¡t| t| d t| d   ks:J t|  t¡t| d t|  td   td|   ksvJ t|  t¡t| d ttt|  dd td   td|   ksŒJ t|  t	¡t| d t| d  t	t| d d |   t| d d  tt| d  |  t| d  d  dtd|     ksFJ t ddd} t|  t	¡t| d t| d  t	t| d d |   t| d d  ksŠJ d S )	NrD   r1   r3   FrJ   r5   TrI   )
r   r   r   r   r    r"   r   r   r   r   rX   rR   rR   rS   Útest_acosh_rewriteœ  s    2<F>4ÿÿ
>ÿr¡   c                  C   s¢  t d} t|  | ¡tt d ks&J t| d  | ¡tdt|  ksLJ t| d  | ¡tt ksjJ td|  j| ddt|  td ksJ td|  j| ddt|  td dt t  ksÎJ tt|  d j| ddtdksôJ tt |  d j| dddt t td ks*J t| d t|   tdd  j| ddttdd  kslJ t| d t|   tdd  j| ddttdd ks¬J tdt|  d  j| ddttd d  ksäJ tdt|  d  j| ddttd d ksJ tt | d  |  d j| ddttdd tt  ks\J tt | d  |  d j| ddttdd tt  ksJ d S )NrD   r3   r1   r   r2   r5   r<   )r   r   r   r   r   r    r   r   rX   rR   rR   rS   Útest_acosh_leading_termÊ  s    &,8&6B@86Br¢   c                  C   sÔ   t d} t|  | dd¡t |  tt d  t| d  d  dt | d  d  dt | d	  d
  t| d  ksxJ t|  d| ¡}|dt | d  d ks€J t|  d	| |d¡dt | d	  d
 ksÐJ d S )NrD   r   r`   r3   r<   r?   r;   r   r9   r   r6   r@   )r   r   rW   r   r   r(   r   r   rR   rR   rS   Útest_acosh_seriesÞ  s    Xÿr£   c                  C   sB  t d} t| d  | dd ¡tdt|  td| tdd   d  dtd | tdd   d  dtd | td	d   d
  t| d  ksJ t| d  | dd ¡tt tdt t|   tdt | tdd   d  dtd t | tdd   d  dtd t | td	d   d
  t| d  ksFJ tt|  d j| dd ddtdtdt |  d  td| d  d  tdt | d  d  t| d  ksŸJ tt |  d j| dd ddtddt t  tdt |  d  td| d  d  tdt | d  d  t| d  ksDJ tdt|  d  j| dd ddttd d  td|  d  dtd t | d  d  dtd | d  d  t| d  ksÐJ tdt|  d  j| dd ddttd d td|  d  dtd t | d  d  dtd | d  d  t| d  ksZJ tt | d  |  d  | dd ¡t t ttdd  | dtd d  dtd d   | d ddt  tdddt     dtd d   | d ddt  tdddt     dtd d   t| d  ks>J d S ) NrD   r1   r=   r3   r<   r~   r;   r   r9   r   r   r5   rV   r   r>   é@  é»  é ¢  r2   r?   iôÿÿÿr   rs   r   é?   r   r   iÿÿÿr   r   iÒ  )	r   r   r   r    r   r(   r   r   r   rX   rR   rR   rS   Útest_acosh_nseriesç  s    "ÿÿÿ
ÿ
ÿÿ"ÿ"þ
þ"ÿÿÿ
ÿ$
ÿÿÿÿ
ÿ2ÿÿÿ
ÿ0ÿÿÿ
ÿ:"ÿ0ÿÿ6þ
þrš   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\      r]   z"test_acosh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_acosh_fdiffþ  s    r©   c                  C   sn  t d} tt|  sJ tddks(J tdtt ks<J tdtu sLJ tdtt d ksdJ tddt t d ksJ tttu sJ tttt d ksšJ tt tt d ksÂJ ttttt d td  ksæJ ttt	dt
d tt d  ksJ tt t	dt
d tt d  ks<J tt
dt
d d	t t d
 ksfJ tt
ddt
d  tt d ksJ tt
ddt
d   dt t d ksÀJ tdt
dt
d  tt d ksêJ tdt
dt
d  dt t d ksJ tt
dd tt d ks:J tdt
d dt t d ks`J tt
ddt
d   dt t d ksJ t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
d  tt
dt
d d ksJ tdttjks&J ttdjdu s>J ttd d jdu s\J ttdd jdu sxJ ttdjdu sJ ttdjdu sšJ ttdddjd u sÄJ tt
d ttdt
d  ksìJ tdt
d ttt
d d  ksJ ttd tttdd ks>J tdt
d ttt
d d  ksjJ tttt
dt
d t
dt
d  dks J tttt
dt
d t
dt
d  dksÖJ ttt
ddt
d  t
ddt
d    ¡ dksJ ttt
ddt
d   t
ddt
d     ¡ dksVJ ttt
ddt
d  t
ddt
d    ¡ dksJ tttdt
d dt
d  dksÂJ tttdt
d dt
d  dksðJ tttt
d t
d t
d t
d  dks*J ttdt  d¡dksJJ ttdt  d¡dksjJ d S )NrD   r1   r   r2   r3   r<   r5   r?   ra   r~   r;   r7   rV   r`   r9   r=   FTrQ   rF   z0.19869 - 1.5708*Ir@   z0.19869 + 1.5708*I)r   r)   r   r   r   r
   r	   r   r   r   r    r   r   rL   rO   rN   r   r   r!   r   r   r   Úsimplifyr   rr   rX   rR   rR   rS   Ú
test_asech  sZ    $*,**0*."&0"&6(,&,66>B>..: r«   c                  C   sŠ  t d} t| j| ddt|  td ks0J t| j| ddt|  td dt t  ksdJ t| d j| ddtdt t|  ksJ td|  j| ddtt d ksžJ t| d j| ddtt ksÚJ tt|  d j| ddtd ksJ tt |  d j| ddtdks.J tt|  d j| ddtd ksXJ tt |  d j| ddtdksJ tt|  tdd  j| dddt t ttd d  ksÈJ tt|  tdd  j| ddttd d ksJ tt | d  |  d j| ddttd d dtd t d  ksRJ tt | d  |  d j| ddttd d dtd t d  ks¢J d S )	NrD   r1   r   r3   r2   r<   r6   r5   )r   r   r   r   r   r   r    r   rX   rR   rR   rS   Útest_asech_leading_termE  s    (4.&"****F:Pr¬   c                  C   sN  t d} t| j| ddddtdt|  | d d  d| d  d	  d
| d  d  d| d  d  t| d  kszJ t| j| ddddtt td t|   | d d  d| d  d	  d
| d  d  d| d  d  t| d  ksöJ t|  d| ¡}|d| d  d ks J t|  d| |d¡d| d  d ksJJ d S )NrD   r   rV   r1   r   r3   r=   r<   é    r;   r?   é`   é#   r`   r4   r2   r@   iÝÿÿÿ)r   r   rW   r   r(   r   r   r   )rD   Zt6rR   rR   rS   Útest_asech_seriesY  s(    >ÿÿ
ÿ
8ÿÿÿ
ÿ
r°   c                  C   sÞ  t d} t| d  | dd ¡tdt|   dtd |  tdd   d  dtd |  tdd   d	  d
td |  tdd   d  t| d  ksŠJ t| d  | dd ¡tt tdt|   dtd | tdd   d  dtd | tdd   d	  d
td | tdd   d  t| d  ksFJ tt|  d  | dd ¡td td|  d  dtd t | d  d  dtd | d  d  t| d  ksÀJ tt |  d  | dd ¡tdtd|  d  dtd t | d  d  dtd | d  d  t| d  ks:J tt|  d  | dd ¡td td|  d  dtd t | d  d  dtd | d  d  t| d  ksŽJ tt |  d  | dd ¡tdtd|  d  dtd t | d  d  dtd | d  d  t| d  ks.J tt | d  |  d  | dd ¡dt t d | td dt   dtd dt    | d dtdddt    dt   dtd dt    t| d  ksÚJ d S )NrD   r1   r=   r3   r;   r<   r~   é+   r   é±   r9   r   r>   r€   r¥   rŠ   r6   r?   r   r   éH   )r   r   r   r    r   r(   r   r   rX   rR   rR   rS   Útest_asech_nseriesd  sl    F ÿ ÿ
ÿ
*ÿÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0(ÿ0ÿÿ
þrŽ   c               	   C   sX  t d} t|  t¡td|  td|  d td|  d   ksFJ t|  t¡td|  ksdJ t|  t¡tdd|   ttt|  dd td   tdd|    ks²J t|  t	¡t| d td| d   t	td| d   tt t|  td|   d tt| d  dt| d     tt|   dt|      ksTJ d S )NrD   r1   r2   FrJ   r3   )
r   r   r   r   r    r   r   r   r   r   rX   rR   rR   rS   Útest_asech_rewritez  s    >Nÿrµ   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\     r]   z"test_asech_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_asech_fdiff  s    r¶   c                  C   s|  t d} tt| sJ t|  t|  ks.J tdtdtd ksJJ tdtdtd  kshJ tdtu sxJ tdtdtd d ksJ tdtdtd d  ksºJ ttt t d ksÔJ tt tt d ksîJ tt tdtd  tt d	 ksJ tttdtd  t t d	 ksFJ tt dtd  tt d
 ksnJ ttdtd  t t d
 ksJ tt d tdtd  tt d ksÆJ ttd tdtd  t t d ksöJ tt d tt d ksJ ttd t t d ks6J tt tddtd   tt d ksfJ tttddtd   t t d ksJ tt td tt d ksºJ tttd t t d ksÞJ tt tdd  dt t d
 ks
J tttdd  dt t d
 ks4J tt d td tt d ks\J ttd td t t d ksJ tt d tdtd  dt t d ksžJ ttd tdtd  dt t d ksêJ tt tddtd   dt t d ksJ tttddtd   dt t d ksPJ tt tdtd  dt t d	 ksJ tttdtd  dt t d	 ks®J tttu sÀJ tt td t	ttd ksèJ tt d td t	ttd d ksJ tt
djdu s0J tt
djdu sHJ tt
djdu s`J tt
tjdu sxJ tt
t jdu sJ tdt t ksªJ ttdddjdu sÆJ tt td t tdtd  ksôJ tt d td t ttd d  ks(J tttt tdtd  t tdtd   dksjJ ttttdtd  tdtd   dks J ttttddtd   ttddtd     ¡ dksæJ ttt tddtd   t tddtd     ¡ dks0J ttdt d  d¡dksTJ ttdt d  d¡dksxJ d S )NrD   r1   r3   r2   r   r;   r5   r?   r~   r7   r`   r=   r<   r6   r@   TrQ   rE   z0.0391819 - 0.193363*Iz0.0391819 + 0.193363*I)r   r)   r   r   r    r   r   r   r	   r   r   rO   rN   r
   r   r   r"   r   r   rª   r   rr   rX   rR   rR   rS   Ú
test_acsch  sd     ",,((00  00$$,*((42420.(0.4B6FJ$r·   c                   C   s6   t tdksJ t t dks"J t tdks2J d S )Nr   )r   r
   r   rR   rR   rR   rS   Útest_acsch_infinitiesÌ  s    rž   c                  C   s  t d} td|   | ¡| ks"J t| t  | ¡t t d ksFJ t| t  | ¡tt d kshJ t| j| ddt|  td ksJ t| j| ddt| td tt  ksŸJ t| td  j| ddt t ttd  ksòJ t| td  j| ddttd ksJ t| td  j| ddttd  ksLJ t| td  j| ddttd tt  ksJ ttd t|   | d  j| ddtdtd tt d  ksÈJ ttd t|   | d  j| ddtdtd tt d  ksJ d S )NrD   r1   r3   r   r2   r<   )r   r   r   r   r   r   r    rX   rR   rR   rS   Útest_acsch_leading_termÒ  s    $"(.4,.4Hr¹   c                  C   sÊ   t d} t|  | dd¡tdt|  | d d  d| d  d  d| d	  d
  d| d  d  t| d  ksvJ t|  d| ¡}|d| d  d ksJ t|  d	| |d¡d| d	  d
 ksÆJ d S )NrD   r   rV   r3   r=   r<   r­   r;   r?   r®   r¯   r`   r4   r6   )r   r   rW   r   r(   r   )rD   Zt4rR   rR   rS   Útest_acsch_seriesä  s    :ÿÿ
ÿ
rº   c                  C   sŠ  t d} t| t  | dd ¡t t d tdt t|  tt   d| tdd   dt  d  dtd t | tdd   tt  d	  d
| tdd   dt  d  t| d  ksÈJ t| t  | dd ¡tt d tdtt t t|   d| tdd   dt  d  dtd tt t | tdd   d	  d
| tdd   dt  d  t| d  ksJ t| td  j| dd ddttd  tt  dtd t |  d  dtd | d  d  dtd t | d  d  t| d  ksJ t| td  j| dd ddttd dtd t |  d  dtd | d  d  dtd t | d  d  t| d  ksJ t| td  j| dd ddttd  dtd t |  d  dtd | d  d  dtd t | d  d  t| d  ks(J t| td  j| dd ddtt ttd  dtd t |  d  dtd | d  d  dtd t | d  d  t| d  ksžJ ttd t|   | d   | dd ¡t t d tdtd  | ddtd   ddtd    | d dtdddt    dt   ddtd    | d ddt  tdddt     ddtd    t| d  ks¢J d S )NrD   r=   r3   r;   r<   r1   r~   r±   r   r²   r9   r   r   r`   rV   é   r2   r   i ÿÿÿé8   éT   é   r   r   i
  iðùÿÿi  iüÿÿiø  )	r   r   r   r   r   r    r   r(   r   rX   rR   rR   rS   Útest_acsch_nseriesí  sš     ÿÿ,þþ
þ
ÿÿ*þþ
þ(ÿÿÿÿ
ÿ&ÿÿÿ
ÿ(ÿÿÿ
ÿ"
ÿÿÿÿ
ÿ0ÿ"ÿÿÿÿÿÿÿþ
ýr¿   c                  C   sÀ   t d} t|  t¡td|  td| d  d  ks:J t|  t¡td|  ksXJ t|  t¡t| d  t| d d d   tt| d d  | d d  td   |  ksŒJ d S ©NrD   r1   r3   )r   r   r   r   r    r   r   r   rX   rR   rR   rS   Útest_acsch_rewrite  s    2.ÿ
ÿþþrÁ   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\     r]   z"test_acsch_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_acsch_fdiff  s    rÂ   c                  C   sØ  t d} tddksJ tttt d ks0J tt t t d ksLJ tdtu s\J tdt u snJ tttu s~J ttt t d ksJ tt tt d ks²J ttt tt d ksÎJ tt t t t d ksîJ ttttt d td  ksJ t|  t|  ks.J ttdj	du sFJ ttdd j	d	u sbJ tt
d
d	dj	d u s~J ttdj	du sJ ttdjd	u s®J ttdj	du sÆJ tttd tt d ksèJ tt td t t d ksJ tttd tt d ks0J tt td t t d ksVJ ttdtd  tt tdd ksJ tttdd  tt d ksšJ ttdtd  t t d ksÐJ tt dtd  tt tdd ksþJ tttddtd   tt tdd ks2J tt tddtd   tt tdd kshJ ttdtd  tt d ksJ tttdd  t t d ks¶J ttt t d ksÒJ ttddttj ksòJ tttt ds
J ttddddks$J ttddddks>J ttddddksXJ tttddtksrJ ttt ddt ksJ ttdt dddt dt t  ksŸJ ttdt dt ksÜJ ttddt  ddt t  dt  ksJ tttd td ks,J ttttksBJ ttddt  ddt t  dt  kstJ ttdtd d  dtd d  ks¢J ttddt  ddt  dt t  ksÔJ d S )NrD   r   r=   r1   r2   r3   Fr;   TrQ   rE   r<   r?   r`   r6   r5   r~   r   r@   rJ   r9   iõÿÿÿrV   iàÿÿÿé{   é'   )r   r   r   r   r
   r	   r   r   r   rO   r   r   r    r   rL   r)   r   rX   rR   rR   rS   Ú
test_atanh  s^     &"&"&,&(.46&( .22.rÅ   c                  C   sŽ   t d} t|  t¡td|  td|   d ks6J t|  t¡t|  dt| d    t|  td| d   td| d d   ttd| d d   t|   ks°J d S rÀ   )r   r   r   r   r   r   r    rX   rR   rR   rS   Útest_atanh_rewriteW  s
    .fÿrÆ   c                  C   s  t d} t|  | ¡| ksJ t| d j| ddt|  d tdd  tt d  ks^J t| d j| ddt|  d tdd  tt d  ksJ t| d j| ddt| d tdd  ksÐJ t| d j| ddt| d tdd  ksJ td|  j| ddt t d ks.J td|  j| ddtt d ksVJ tt|  d j| ddtdtt  ksJ tt |  d j| ddtdks°J tt|  d j| ddtd ksÚJ tt |  d j| ddt t td ksJ tt | d  |  d j| ddtd d tt d  ksRJ tt | d  |  d j| ddtd d tt d  ksJ d S r   )r   r   r   r   r   r   rX   rR   rR   rS   Útest_atanh_leading_term^  s    @@24*(0**4DrÇ   c                  C   sb   t d} t|  | dd¡| | d d  | d d  | d d  | d d  t| d  ks^J d S )NrD   r   r7   r<   r;   r9   rV   )r   r   rW   r(   rX   rR   rR   rS   Útest_atanh_seriesr  s    >ÿrÈ   c                  C   s6  t d} t| d j| dd ddt t d tdd  t| d  | d  | d d  | d d  t| d  ksxJ t| d j| dd d	dtt d tdd  t| d  | d  | d d  | d d  t| d  ksæJ t| d j| dd ddtd d t| d  | d  | d d  | d d  t| d  ksLJ t| d j| dd d	dtd d t| d  | d  | d d  | d d  t| d  ks²J tt|  d j| dd ddtt td t|  d  d| d  d
  dt | d  d  t| d  ks"J tt|  d j| dd d	dtdt|  d  d| d  d
  dt | d  d  t| d  ksJ tt|  d j| dd ddtd t|  d  d| d  d
  dt | d  d  t| d  ksôJ tt|  d j| dd d	dtd tt  t|  d  d| d  d
  dt | d  d  t| d  ksfJ tt | d  |  d  | dd ¡t t d td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    t| d  ks2J d S )NrD   r1   r=   r   r3   r»   r<   é0   r2   rV   r   éQ   r   r?   é¢   r   )r   r   r   r   r   r   r(   r   rX   rR   rR   rS   Útest_atanh_nseriesx  sš    0
ÿÿ
ÿ
ÿ
ÿ
.
ÿÿ
ÿ
ÿ
ÿ
0ÿ
ÿ
ÿ
ÿ0ÿ
ÿ
ÿ
ÿ*
ÿÿÿ
ÿ.ÿÿ
ÿ0ÿÿ
ÿ,
ÿÿÿ
ÿBÿÿÿÿ
ÿrÌ   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\     r]   z"test_atanh_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_atanh_fdiff  s    rÍ   c                  C   s"  t d} tdtt d ks J ttt t d ks:J tt tt d ksTJ tdtu sdJ tdt u svJ tttu sJ ttdksJ tt dksšJ ttt dksŒJ tt t dksÒJ ttdksâJ t|  t|  ksúJ tttd t t d ksJ tt td tt d ksBJ tttd t t d ksfJ tt td tt d ksJ ttdtd  t t d	 ks²J tt tdd  tt d	 ksÚJ ttdtd  tt tdd	 ksJ tttdd  tt td
d	 ks2J tttddtd   t t d ksbJ tt tddtd   tt d ksJ ttdtd  t t d ksºJ tt dtd  tt d ksâJ ttdt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j
du sRJ tt	djdu sjJ tt	djdu sJ tt	dj
du sJ tt	dj
du s²J tt	djdu sÊJ tt	dj
du sâJ ttdddj
d u sþJ ttddtt	j ksJ d S )NrD   r   r3   r=   r1   r2   r<   r?   r`   r6   r;   r7   r~   r@   Tr5   FrQ   rF   )r   r   r   r   r
   r	   r   r    r   r   rO   rN   r   r   rL   rX   rR   rR   rS   Ú
test_acoth  sH    $$$$((,,00((,,rÎ   c               	   C   sæ   t d} t|  t¡tdd|   tdd|    d ks>J t|  t¡td|  ks\J t|  t¡| t| d  ttd| d d   tt t| d |  t| | d   t| | d  tdd|      d  ksâJ d S )NrD   r1   r3   r5   )	r   r   r   r   r   r   r    r   r   rX   rR   rR   rS   Útest_acoth_rewriteÈ  s    6rÿrÏ   c                  C   s  t d} t| d j| ddt|  d tdd  ks<J t| d j| ddt|  d tdd  kspJ t| d j| ddt| d tdd  tt d  ks®J t| d j| ddt| d tdd  tt d  ksìJ t| j| ddtt d ksJ t| j| ddt t d ks6J tt|  d j| ddtdks^J tt |  d j| ddtdtt  ksJ tt|  d j| ddt t td ksÂJ tt |  d j| ddtd ksîJ tt | d  |  tdd  j| ddtd d tt d  ks:J tt | d  |  tdd  j| ddtd d tt d  ksJ d S )NrD   r1   r   r3   r2   g      à?r<   )r   r   r   r   r   r   r   rX   rR   rR   rS   Útest_acoth_leading_termÐ  s    44>>$&(22,LrÐ   c                  C   sp   t d} t|  | dd¡t t d |  | d d  | d d  | d d  | d d  t| d  kslJ d S )	NrD   r   r7   r3   r<   r;   r9   rV   )r   r   rW   r   r   r(   rX   rR   rR   rS   Útest_acoth_seriesã  s    LÿrÑ   c                  C   s  t d} t| d  | dd ¡tdd t| d  | d  | d d  | d d  t| d  ksfJ t| d j| dd ddtt d tdd  t| d  | d  | d d  | d d  t| d  ksÔJ t| d j| dd d	dt t d tdd  t| d  | d  | d d  | d d  t| d  ksFJ tt|  tdd  j| dd ddttdd dt |  d  d
| d  d  dt | d  d  t| d  ksÂJ tt|  tdd  j| dd d	dtt ttdd  dt |  d  d
| d  d  dt | d  d  t| d  ksFJ tt|  tdd  j| dd ddttdd  tt  dt |  d  d
| d  d  dt | d  d  t| d  ksÌJ tt|  tdd  j| dd d	dttdd  dt |  d  d
| d  d  dt | d  d  t| d  ksJJ tt | d  |  tdd   | dd ¡tt d tdd  d|  d  | d td
 d dt d    dt | d   | d tdd dt d    d
| d  d  t| d  ksJ d S )NrD   r1   r=   r3   r»   r<   rÉ   r   r2   r`   rV   r   rÊ   éh   )r   r   r   r   r(   r   r   r   rX   rR   rR   rS   Útest_acoth_nseriesé  sŠ    2
ÿ
ÿ
ÿ
.
ÿÿ
ÿ
ÿ
ÿ
0
ÿÿ
ÿ
ÿ
ÿ2ÿÿÿ
ÿ*ÿÿÿÿ
ÿ4ÿÿÿÿ
ÿ4ÿÿÿ
ÿ@
ÿ ÿÿÿÿ
ÿrÓ   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S rZ   )r   r[   rR   rX   rR   rS   r\     r]   z"test_acoth_fdiff.<locals>.<lambda>r^   rR   rR   rX   rS   Útest_acoth_fdiff   s    rÔ   c                      sÒ   t d t  ¡ tksJ tt fdd t  ¡ tksBJ t  ¡ t	ksVJ t  ¡ tksjJ t
  ¡ tks~J t  ¡ tksJ t	  ¡ tksŠJ t  ¡ tksºJ t  ¡ tksÎJ d S )NrD   c                      s   t   ¡ S )N)r   ÚinverserR   rX   rR   rS   r\     r]   ztest_inverses.<locals>.<lambda>)r   r   rÕ   r   r,   ÚAttributeErrorr   r   r   r   r   r   r   r   r   r   rR   rR   rX   rS   Útest_inverses  s    r×   c                  C   sÊ   t d} t|  | ¡dksJ t|  | ¡d|  ks8J ttfD ]}||  | ¡| ks@J q@ttttfD ]2}d|  tjfD ]}||}| | ¡|kszJ qzqhtt	fD ] }|tj}| | ¡|ks€J q€d S )NrD   r1   )
r   r   r   r   r   r   r   rL   r   r   )rD   ÚfuncÚarÚeqrR   rR   rS   Útest_leading_term  s    
rÛ   c                  C   sä  t ddd\} }| |t  }ttttttfD ]$}|| ¡ || |t  ks,J q,dD ]}t|j	d|dt| t
| tt|  t|  ksJ t|j	d|dt| t
| tt|  t|  ksÐJ t|j	d|dt| t|  t
|d t| d   tt| t
| t
|d t| d    ks<J t|j	d|dt| t|  t|d t| d   tt| t
| t|d t| d    ksšJ t|j	d|dt
|t|  t|d t| d  t
|d t| d    tt| t|  t|d t| d  t
|d t| d     ksDJ t|j	d|dt
|t|  t|d t| d  t
|d t| d    tt| t|  t|d t| d  t
|d t| d     ksVJ qVd S )Núa,bTrF   ©TF©ÚcomplexrC   r3   )r   r   r   r   r   r   r   r   Ú	conjugateÚexpandr#   r&   )ÚaÚbÚzrØ   rC   rR   rR   rS   Útest_complex"  sf    "
ÿ"ÿÿ"ÿÿÿ*ÿÿÿ*ÿ(
ÿÿ
ÿÿÿ(
ÿÿ
ÿÿÿrå   c                  C   sN   t ddd\} }dD ]4}ttttfD ]"}|| jd|d|| ks$J q$qd S )NrÜ   TrF   rÝ   rÞ   )r   r   r   r   r   rá   )râ   rã   rC   rØ   rR   rR   rS   Útest_complex_28998  s    ræ   c                  C   sN  t d} tt| | ksJ tt| t| d t| d  ksDJ tt| | td| d   kshJ tt| dt| d t| d   ksJ tt| td| d  ksŽJ tt| | ksÈJ tt| dtd| d   ksìJ tt| | t| d t| d   ksJ tt| | td| d   ks@J tt| t| d t| d  |  ksnJ tt| | ksJ tt| d|  ksJ t	t| td| d  |  ksÄJ t	t| | t| d t| d   ksòJ t	t| d|  ksJ t	t| | ks"J t
t| d|  ks<J t
t| dt| d t| d   ksjJ t
t| td| d  |  ksJ t
t| t| d t| d  ksºJ tt| dtd| d   ksàJ tt| d|  ksúJ tt| td| d  ksJ tt| t| d t| d  |  ksJJ d S rÀ   )r   r   r   r   r    r   r   r   r   r   r   r   rX   rR   rR   rS   Útest_simplifications?  s2    ($, $.&.&..&*&"rç   c                   C   s,   t ttdd ttdd ks(J d S )Nr<   r3   r   r=   )r   r   r   r    rR   rR   rR   rS   Útest_issue_4136`  s    rè   c                  C   sà   t d} t|  t¡t| t|   d   krBt|  d¡ksHn J t|  t¡t t| tt d   kstJ ttj	|  }t|  t¡d| d|d   ksšJ t
tj	|  }t|  t
¡d| |d d  ksÜJ d S )NrD   r3   Ú	tractabler1   )r   r   r   r   r   r   r   r   r   rL   r   ©rD   Z	tanh_halfZ	coth_halfrR   rR   rS   Útest_sinh_rewrited  s    (ÿ,&rë   c                  C   sä   t d} t|  t¡t| t|   d   krBt|  d¡ksHn J t|  t¡t t| tt d  dd ksxJ ttj	|  d }t|  t¡d| d|  ks¬J t
tj	|  d }t|  t
¡|d |d  ksàJ d S )NrD   r3   ré   FrJ   r1   )r   r   r   r   r   r   r   r   r   rL   r   rê   rR   rR   rS   Útest_cosh_rewriteo  s    (ÿ0"rì   c                  C   sä   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn J t|  t¡tt|  ttt d |  dd ksJ t|  t¡tttt d |  dd t|  ksÂJ t|  t¡dt|  ksàJ d S ©NrD   ré   r3   FrJ   r1   )	r   r   r   r   r   r   r   r   r   rX   rR   rR   rS   Útest_tanh_rewritez  s    6ÿ66rî   c                  C   sè   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn J t|  t¡t ttt d |  dd t|  ksJ t|  t¡t t|  ttt d |  dd ksÆJ t|  t¡dt|  ksäJ d S rí   )	r   r   r   r   r   r   r   r   r   rX   rR   rR   rS   Útest_coth_rewrite  s    6ÿ88rï   c                  C   sê   t d} t|  t¡dt| d t|  d     krJt|  d¡ksPn J t|  t¡tt| tt d  dd ks~J ttj	|  }t|  t¡d|d  d|  ks²J t
tj	|  }t|  t
¡|d d d|  ksæJ d S ©NrD   r1   r3   ré   FrJ   )r   r   r   r   r   r   r   r   r   rL   r   rê   rR   rR   rS   Útest_csch_rewrite  s    0ÿ.&rñ   c                  C   sê   t d} t|  t¡dt| d t|  d     krJt|  d¡ksPn J t|  t¡tt| tt d  dd ks~J ttj	|  d }t|  t¡d| d|  ks²J t
tj	|  d }t|  t
¡|d |d  ksæJ d S rð   )r   r   r   r   r   r   r   r   r   rL   r   rê   rR   rR   rS   Útest_sech_rewrite  s    0ÿ."rò   c                  C   sö  t d} t|  | ¡t| d  ks(J t|  | ¡t| ksBJ t|  | ¡t| ks\J t|  | ¡t| d  d ksJ t|  | ¡t|  t|  ks€J t|  | ¡t|  t|  ksÈJ t|  | ¡d| d  d  ksìJ t	|  | ¡dt
| d d  ksJ t|  | ¡dt
| d t
| d   ksDJ t|  | ¡t|  t¡ | ¡ ¡ kspJ t|  | ¡d| d  d  ksJ t|  | ¡d| t
d| d    ksÂJ t|  | ¡d| d t
d| d    ksòJ d S )NrD   r5   r3   r1   r2   )r   r   Údiffr   r   r   r   r   r   r   r    r   r   r   Ztogetherr   r   r   rX   rR   rR   rS   Útest_derivs¢  s     $$$$(0,&,rô   c                  C   sŽ   t d\} }t| | jddt| t| t| t|  ksDJ td|  jdddt|  t|  kspJ td|  jdd ¡ t| d dt|  t| d   ks°J d S ©Nr-   T)Ztrigr3   r<   )r   r   rá   r   ©rD   rQ   rR   rR   rS   Útest_sinh_expansion³  s    8,"ÿr÷   c                  C   sž   t d\} }t| | jddt| t| t| t|  ksDJ td|  jddt| d t| d  kstJ td|  jdd ¡ dt| d  t|  t| d  ksŽJ d S rõ   )r   r   rá   r   rö   rR   rR   rS   Útest_cosh_expansion»  s    80"ÿrø   c                  C   s   t ddd} t ddd}t| ddjdu s.J t| d| t t  ddjdu sTJ ttt d	 ddjdu srJ td
t t d	 ddjdu sJ d S ©Nr.   TrF   rr   r/   FrJ   r3   r=   r<   )r   r   Úis_positiver   r   ©r.   rr   rR   rR   rS   Útest_cosh_positiveÂ  s    &rü   c                  C   s°   t ddd} t ddd}t| ddjdu s.J t| d| t t  ddjdu sTJ ttt d	 ddjdu srJ td
t t d	 ddjdu sJ ttjddjdu s¬J d S rù   )r   r   Zis_nonnegativer   r   r   ZZerorû   rR   rR   rS   Útest_cosh_nonnegativeÍ  s    &"rý   c                  C   s|   t ddd} t| jd u sJ t| jd u s0J t| jd u sBJ t| jd u sTJ t| jd u sfJ t| jd u sxJ d S )Nrä   FrF   )r   r   rO   r   r   r   r   r   )rä   rR   rR   rS   Útest_real_assumptions×  s    rþ   c                  C   sô   t ddd} t ddd}t|jdu s*J t| jdu s<J t|jdu sNJ t| jdu s`J t|jdu srJ 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 sÌJ t|jdu sÞJ t| jdu sðJ d S )NrH   TrI   rr   )Únegative)	r   r   Zis_negativerú   r   r   r   r   r   )rH   rr   rR   rR   rS   Útest_sign_assumptionsà  s    r   c                      s`  t d tt     ¡tt   ks2J tt fdd tt     ¡tdtd ksnJ tt fdd t	t     ¡dksJ tt fdd t
t     ¡t
t   ksÚJ tt fd	d tt     ¡dksJ tt fd
d tt     ¡tdtd ksJJ tt fdd d S )NrD   c                      s   t td    ¡S ©Nr1   )r   r   r   rR   rX   rR   rS   r\   ö  r]   z"test_issue_25847.<locals>.<lambda>r1   r3   c                      s   t td    ¡S r  )r   r   r   rR   rX   rR   rS   r\   ú  r]   r   c                      s   t td    ¡S r  )r   r   r   rR   rX   rR   rS   r\   þ  r]   c                      s   t td    ¡S r  )r   r   r   rR   rX   rR   rS   r\     r]   c                      s   t td    ¡S r  )r   r   r   rR   rX   rR   rS   r\     r]   c                      s   t td    ¡S r  )r   r   r   rR   rX   rR   rS   r\   
  r]   )r   r   r&   r   r,   r+   r   r   r    r   r   r   r   r   rR   rR   rX   rS   Útest_issue_25847ñ  s    *** ,r  c                  C   s®   t d} dtdd|  d   ttdd tdd | d    }dtt| d d t| d t|  d  dt| d  t|    }||  | ¡t| d ksªJ d S )	NrD   r3   r1   r<   r;   r`   r=   r?   )r   r   r   r   r    rW   r(   )rD   Zg1Zg2rR   rR   rS   Útest_issue_25175  s    <Hr  N)Z!sympy.calculus.accumulationboundsr   Zsympy.core.functionr   r   Zsympy.core.numbersr   r   r   r   r	   r
   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z$sympy.functions.elementary.complexesr   r   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   r   r   r   r   r   r   Z(sympy.functions.elementary.miscellaneousr    Z(sympy.functions.elementary.trigonometricr!   r"   r#   r$   r%   r&   r'   Zsympy.series.orderr(   Zsympy.core.exprr)   r*   r+   Zsympy.testing.pytestr,   rT   rY   r_   rd   rg   rh   ri   rl   rm   rn   rp   rq   ru   rx   ry   rz   r|   r}   r   r   r   r   r   r   r    r¡   r¢   r£   rš   r©   r«   r¬   r°   rŽ   rµ   r¶   r·   rž   r¹   rº   r¿   rÁ   rÂ   rÅ   rÆ   rÇ   rÈ   rÌ   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  rR   rR   rR   rS   Ú<module>   s²   (8$MIHL=:A		E	B	D		C2!		
	