U
    L?h?Ü  ã                   @   sx  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¥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ks(ttttks8ttttksHttt t ks\ttddksltttdszttdtd ksttt| stt|  t|  ks¶ttttsÄttt tt ksÜtttdd	 t	 sòttdd	  t	 tdd	 t	  kstttt
 dks2ttt t
 dksJttdt t
 dksdttd
t t
 dks~ttddd  t t
 dks ttddd  t t
 dksÂtttt
 d t
ksÜttt t
 d t
 ksútttt
 tdd t
kstttt
 tdd t
 ks<tttt
 d tjtd t
 ksdtttt
 td
d tddtd t
 kstttt
 d tjtd t
 ksŸttt t
 d tddtd t
 ksìtttt
 tdd tjtd t
 kstttt
 tdd tddtd t
 ksLtttt
 d tjt
 kslttt t
 d tddt
 kstttt
 tdd tddt
 ksŒtttt
 tdd tddt
 ksætttt
 d ttd t
 ksttt t
 d ttd  t
 ks6tttddt
  sNtt| t
 t| t
 ksltt|t t
 dksttd| t t
 dks€tt|t t
 d t|t d t
 ksÒtt| jddtt| tt|  tt| tt|  fksttddd} t| jddt| dfksFttddd} tt
|  jdksjtt| jdks~ttt
jdksttddd}t|jdks²ttdddjdksÊttdt t
 ddjdksêt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	   ÚAssertionErrorr   r
   r)   r   r   r   r   r   ÚHalfr    r&   Úas_real_imagr#   r   r   r   Ú	is_finiteÚis_realÚis_zero)rD   Úyr.   rH   © rS   úb/var/www/html/venv/lib/python3.8/site-packages/sympy/functions/elementary/tests/test_hyperbolic.pyÚ	test_sinh   sn    *"" "(2(..2 &**&*.$ÿ"rU   c                  C   sb   t d} t|  | dd¡| | d d  | d d  | d d	  | d
 d  t| d  ks^td S )NrD   r   r7   r<   r?   r;   éx   r9   i°  é	   i )r   r   Úseriesr(   rL   ©rD   rS   rS   rT   Útest_sinh_series_   s    >ÿrZ   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S ©Nr3   )r   ÚfdiffrS   rY   rS   rT   Ú<lambda>g   ó    z!test_sinh_fdiff.<locals>.<lambda>©r   r,   r*   rS   rS   rY   rT   Útest_sinh_fdiffe   s    r`   c                  C   s|  t d\} }tddd}tttks(ttttks8ttttksHttt tksZttddksjtttdsxttdtdksttt| stt|  t| ks°tttt	 t
tksÈttt t	 t
tksâtttdd	 t søttdd	  t tdd	 t ks tttt	 d dks:ttt t	 d dksVttd
dd  d t t	 d dksttddd  d t t	 d dksªtttt	 dksÀttt t	 dksØttdt t	 dksòttdt t	 dkstttt	 d tjks(tttt	 tdd tddksNtttt	 d tjtd ksrttt t	 d tjtd kstttt	 tdd tddtd ksÆtttt	 td
d tddtd ksôtttt	 d tjtd ksttt t	 d tjtd ks>tttt	 tdd tddtd ksltttt	 tdd tddtd kstttt	 d t
td ksŒttt t	 d t
td ksàtttddt	  søtt| t	 t
| kstt|t t	 t
|t ks4ttd| t t	 t
d| t ks^ttt|t srtt| jddt
t| tt|  tt| tt|  fksžttddd} t| jddt| dfksættddd} tt	|  jdks
ttt	|  jdks"ttt	d d jdks>ttdt	 tj d ddjdksdtt| jdksxt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	   rL   r   r
   r)   r   r   r#   r   r   rM   r   r    rN   r   r   r&   r   rO   rP   ÚPirQ   ©rD   rR   r.   rS   rS   rT   Ú	test_coshj   sf    (**&$&..$&.."$"*$ÿ"&re   c                  C   sb   t d} t|  | dd¡d| d d  | d d  | d d	  | d
 d  t| d  ks^td S )NrD   r   r7   r1   r3   r=   é   r?   éÐ  ra   i  )r   r   rX   r(   rL   rY   rS   rS   rT   Útest_cosh_series³   s    >ÿrh   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]   »   r^   z!test_cosh_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_cosh_fdiff¹   s    ri   c                  C   s  t d\} }tddd}tttks(ttttks8tttdksHttt dksZttddksjtttdsxttdtd ksttt| stt|  t|  ksŽttttsÂttt tt ksÚtttdd	 t	 sðttdd	  t	 tdd	 t	  kstttt
 dks0ttt t
 dksHttdt t
 dksbttd
t t
 dks|ttddd  t t
 dksttddd  t t
 dksÀtttt
 d tksÚttt t
 d tksötttt
 tdd tkstttt
 tdd tks6tttt
 d tdt
 ksXtttt
 td
d tdt
 kstttt
 d t
ksttt t
 d t
 ksžtttt
 tdd t
ksØtttt
 tdd t
ksøtttt
 d t
td ksttt t
 d t
 td ks@tttt
 tdd t
td kshtttt
 tdd t
td kstttt
 d ttd t
 ks¶ttt t
 d ttd  t
 ksàtttddt
  søtt| t
 t| t
 kstt|t t
 dks0ttd| t t
 dksNtt|t t
 d t|t d t
 ks|t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ttddd} t| jddt| dfks0ttt
t d d jdksPtt| jdksdttt
t |  d jd kst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	   rL   r   r
   r)   r   r   r   r   r    r'   rN   r   r   r   r#   r   r&   rP   rd   rS   rS   rT   Ú	test_tanhŸ   sh    *""  "(  "&((&*.2ÿ6þ" rj   c                  C   sn   t d} t|  | dd¡| | d d  d| d  d  d| d	  d
  d| d  d  t| d  ksjtd S )NrD   r   r7   r<   r3   r;   é   r>   r9   i;  é>   rW   i  )r   r   rX   r(   rL   rY   rS   rS   rT   Útest_tanh_series  s    Jÿrm   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]     r^   z!test_tanh_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_tanh_fdiff  s    rn   c                  C   sÄ  t d\} }tddd}tttks(ttttks8tttdksHttt dksZttdtksjtttdsxttdtd ksttt| stt|  t|  ksŽtttt	 t	 t
t ksÒttt t	 t
tt	 ksðtttdd	 t sttdd	  t tdd	 t  ks2tttt	 t	 t
t ksRttt t	 t	t
t ksrttdt t	 t	 t
dt  ksttd
t t	 t	t
dt  ksÀttddd  t t	 t	t
ddd  t  ksöttddd  t t	 t	 t
ddd  t  ks.tttt	 d dksHttt t	 d dksdtttt	 tdd dkstttt	 tdd dks€tt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	 ksttt t	 d t	ks*tttt	 tdd t	 ksLtttt	 tdd t	 ksntttt	 d td t	 ksttt t	 d tdt	 ks¶tttt	 tdd td t	 ksàtttt	 tdd td t	 ks
tttt	 d t
td  t	 ks2ttt t	 d t
td t	 ksZtttddt	  srtt| t	 t
|  t	 kstt|t t	 t
|t  t	 ksºttd| t t	 t
d| t  t	 ksêtt|t t	 t
|t  t	 ksttttdtttd ks:ttdt	t d  tdks\t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ättddd} t| jddt| dfkstttd|  t| d d dt|   ksDtttd|  t| d dt|   ddt| d    ksttt| | dt| t|  t| t|  ksÀt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	   rL   r   r
   r)   r   r   r$   r   r   r    r   r'   r   rN   r   r   r   r&   r   r#   r   rd   rS   rS   rT   Ú	test_coth  sl    *  (&68  $*""$$**(( (0(("2ÿ8þ"2Bro   c                  C   sf   t d} t|  | dd¡d|  | d  | d d  d| d  d	  | d
 d  t| d  ksbtd S )NrD   r   ra   r1   r<   é-   r3   r;   i±  r9   iu  )r   r   rX   r(   rL   rY   rS   rS   rT   Útest_coth_series]  s    Bÿrq   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]   e  r^   z!test_coth_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_coth_fdiffc  s    rr   c                  C   sÊ  t d\} }tddd}tddd}tttks4ttttksDtttdksTttt dksfttdtksvttdtd	 kstt|  t|  ks€ttt tt ksŒttd
d  t td
d t  ksätttt	 tksøttt t	 tksttd
t t	 tks*ttdt t	 tksDttddd  t t	 tksfttddd  t t	 tkstttt	 d
 t	 ks€ttt t	 d
 t	ksÀtttt	 t
dd
 t	 ksâtttt	 t
dd
 t	kstttt	 d dtd t	 ks(tttt	 t
dd d
td t	 ksTtttt	 d td
 t	 ksxttt t	 d td
t	 kstttt	 t
dd td
t	 ksÄtttt	 t
dd td
t	 ksìtttt	 d dt	 ks
ttt t	 d d
t	 ks*tttt	 t
dd d
t	 ksNtttt	 t
dd dt	 ksrtttt	 t
dd d
t	 kstttt	 d dttd  t	 ksÀttt t	 d d	ttd  t	 ksìtt| t	 dt|  t	 kstt|t t	 tks(ttd| t t	 tksFtt|t t	 d
 dt|t d
  t	 ksxtt|jdksttt| | d	t| t| t| t|   ksÆt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	   rL   r   r
   r   r   r   r   r    r&   rP   r   r   r   ©rD   rR   r.   rs   rS   rS   rT   Ú	test_cschh  sR    (""" &,$$(( $$$*,"2rv   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sztd S )NrD   r   r7   r1   r?   r9   r<   ih  é   r;   i;  é   i:	 r8   rW   i 54 )r   r   rX   r(   rL   rY   rS   rS   rT   Útest_csch_series¥  s    >ÿ
ÿÿry   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]   ®  r^   z!test_csch_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_csch_fdiff¬  s    rz   c                  C   sP  t d\} }tddd}tddd}tttks4ttttksDtttdksTttt dksfttddksvttd	tdkstt|  t| ks tttt t	tksžttt t t	tksÒttd
d  t
 td
d t
 ksøtttt d
 tksttt t d
 tks.ttddd  d t t d
 tksXttddd  d t t d
 tkstttt d	ksttt t d	ks°ttdt t d	ksÊttdt t dksätttt d d
ksþtttt tdd dkstttt d td
ks<ttt t d td
ks\tttt tdd td
 kstttt tdd td
 ksštttt d d
td ksÊttt t d d
td ksîtttt tdd dtd kstttt tdd dtd ks>tttt d dttd  ksdttt t d dttd  kstt| t dt|  ksªtt|t t dt|t  ksÐttd| t t dtd| t  ksþtt|jdksttt| | dt| t| t| t|   ksLtd S )Nzx, yr.   Tr/   rs   rI   r   r1   r2   r3   r4   r6   r7   r8   r9   r:   r;   ra   r<   r5   r=   r@   r?   rA   r>   )r   r   r   r	   rL   r   r
   r   r   r%   r   r   r    r#   rP   r   r   r   ru   rS   rS   rT   Ú	test_sech±  sL    &**  &&"$((&(&.r{   c                  C   sn   t d} t|  | dd¡d| d d  d| d  d  d	| d
  d  d| d  d  t| d  ksjtd S )NrD   r   r7   r1   r3   r;   r=   rf   é=   r?   rg   i  ra   i  )r   r   rX   r(   rL   rY   rS   rS   rT   Útest_sech_seriesë  s    Jÿr}   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]   ó  r^   z!test_sech_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_sech_fdiffñ  s    r~   c                  C   s,  t d\} }tt| stt|  t|  ks2ttttksBttddksRttdttdd ksnttdttdd ksttttt d ks¢ttt t t d ksŸtttd tt d ksÚttt d t t d ksúttt	t	ksttt	 t	 ks"tttt	 t	ks8ttt t	 t	 ksRttt
t
ksdttttdd  dtdd  tt d ksttt tdd  dtdd  t t d ksÐttttd	d  d
 tt d ksúttt td	d  d
 t t d ks(ttttd	d  d
 tt tdd ksXttt td	d  d
 tt tdd kstttdjdks¢tttdjdksºtttdjdksÒtttt	jdksêtttt	 jdksttdt	 t	 ksttt dddjdks8tttddttj ksXtttttdsptttddddkstttddddks€tttddddksŸttttddtksØtttt ddt ksötttd	t dddt t d	t  ks$tttddt  dd
t t  dt  ksVtttddt  ddt  dt t  kstttddt  ddt t  dt  ksºtttddt  dtt  dt  ksèttddd }t|jdkstttdddddjdks(td S )!Nr-   r   r1   r3   r2   r?   r<   é   r;   r=   r7   r6   Tr5   FrR   rF   Úv1rJ   rk   rb   i·ÿÿÿéa   r8   rw   rt   é   r9   é   ióÿÿÿrH   rI   )r   r)   r   rL   r	   r   r    r   r   r
   r   r   r   rP   rO   Úis_extended_realrM   r   r   rQ   )rD   rR   rH   rS   rS   rT   Ú
test_asinhö  sX     48*.02 .222.r   c                  C   sî   t d} t|  t¡t| t| d d  ks2tt|  t¡t| td| d   ks\tt|  t¡t tt|  dd kstt| dt   t¡t tt|  dt   ksžtt|  t	¡tt	t|  dd tt
 d  ksêtd S )NrD   r3   r1   FrJ   )r   r   Úrewriter   r    rL   r   r"   r   r!   r   rY   rS   rS   rT   Útest_asinh_rewrite7  s    **(4r   c                  C   s&  t d} t| j| dd| ks"tt| t j| ddtt d ksHtt| t j| ddt t d kspttd|  j| ddt|  td ksttd|  j| ddt| td tt  ksÎtt| dt  j| ddttd ksøtt| dt  j| ddt td tt  ks.tt| dt  j| ddt t ttd  ksdtt| dt  j| ddt td ksttdt t|   | d  j| ddtdtd tt d  ksÚttdt t|   | d  j| ddtdtd tt d  ks"td S ©NrD   r1   ©Úcdirr3   r2   r<   )	r   r   Úas_leading_termrL   r   r   r   r"   r    rY   rS   rS   rT   Ú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sZtt|  d| ¡}|d| d  d kstt|  d| |d¡d
| d  d	 ksªtd S )NrD   r   ra   r<   r?   r;   é(   r9   ép   r@   )r   r   rX   r(   rL   Útaylor_term©rD   Zt5rS   rS   rT   Útest_asinh_seriesR  s    :ÿr   c                  C   s8  t d} t| t  | dd ¡tt d t| dt   | tdd  tdd td    | tdd  td d dt d    | td	d  td d
 dt d
    t| d  ksÂtt| t  | dd ¡t t d t| dt   | tdd  tdd td    | tdd  td d dt d    | td	d  td d
 dt d
    t| d  kst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üt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t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t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ttdt t|   | d   | dd ¡tt d t
dtd  td|  d  | d tdd tdt d    | d td d dtd t d    t| d  ks4td S )NrD   r=   r3   r1   r<   r   r;   é    r9   é  r   rW   é   r2   )r   r   r   Ú_eval_nseriesr   r    r   r(   rL   r"   r   rY   rS   rS   rT   Útest_asinh_nseries[  s    ÿ"ÿ(ÿ(þ
þ
 ÿ"ÿ(ÿ(þ
þ&ÿÿÿ
ÿ.ÿÿÿ
ÿ.ÿÿÿ
ÿ(ÿÿÿ
ÿ>ÿ"ÿ(ÿ
ÿr   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]   t  r^   z"test_asinh_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_asinh_fdiffr  s    r   c                  C   s  t d} tt|  sttddks(ttdtt ks<ttdtt d ksTtttjtt d ksntttddtt tdd ksttt	t	ks¢ttt
t
ks²ttt
 t
ksÄtttt
 t
tt d  ksättt t
 t
tt d  ksttttkstttttdtd  ks<ttt tt dtd  ksbtttdd dtd  tt tdd kstttdd  dtd  tt td	d ksÌtttdd tt d
 ksîtttd d tt tdd
 kstttdd tt d ks:tttd d tt tdd ksdtttdtd d tt d kstttdtd  d tt td	d ksÀtttdtd d tt tdd ksðtttdtd  d tt tdd ks"ttdtd dtd  tt d ksPttdtd  dtd  tt tdd kstttdd d
 tt d ks¬tttdd  d
 tt td
d ksÚtttdt  d¡dksútttdt  d¡dkstttt ds.tttddddksHtttddddksbtttddddks|ttttddtkstttt ddtks²tttd	t dddt t d	t  ksàtttdt dt ksþtttddt  ddt  ks$tttddt  ddt  ksJtttddt  ddt t  dt  ks|tttddt  ddt  d
t t  ks®ttttdt tdt ksÔttdddjdksìtttdjdkstttdjdksttt
jdks0tttdjdksHtttdd jdksdttdt
 t
 ks|tttdddjd kstd S )NrD   r1   r   r2   r3   r<   r;   r   r9   r=   r?   ra   rb   z2.31244 + 1.5708*Ir@   z2.31244 - 1.5708*Ir   r6   FrJ   r5   r>   iëÿÿÿé   TrR   rF   )r   r)   r   rL   r   r   r   rM   r   r	   r
   r   r   r    Ústrrs   r   rQ   rP   r   rO   r   rY   rS   rS   rT   Ú
test_acoshw  sh    $ $"&46"*"**202.6&.  .&&22&r   c                  C   sª  t d} t|  t¡t| t| d t| d   ks:tt|  t¡t| d t|  td   td|   ksvtt|  t¡t| d t	tt	|  dd td   td|   ksŒtt|  t
¡t| d t| d  t
t| d d |   t| d d  tt| d  |  t| d  d  dtd|     ksFtt ddd} t|  t
¡t| d t| d  t
t| d d |   t| d d  ksŠtd S )	NrD   r1   r3   FrJ   r5   TrI   )r   r   r   r   r    rL   r"   r   r   r   r   rY   rS   rS   rT   Útest_acosh_rewriteŒ  s    2<F>4ÿÿ
>ÿr   c                  C   s¢  t d} t|  | ¡tt d ks&tt| d  | ¡tdt|  ksLtt| d  | ¡tt ksjttd|  j| ddt|  td ksttd|  j| ddt|  td dt t  ksÎttt|  d j| ddtdksôttt |  d j| dddt t td ks*tt| d t|   tdd  j| ddttdd  ksltt| d t|   tdd  j| ddttdd ks¬ttdt|  d  j| ddttd d  ksättdt|  d  j| ddttd d ksttt | d  |  d j| ddttdd tt  ks\ttt | d  |  d j| ddttdd tt  kstd S )NrD   r3   r1   r   r2   r5   r<   )	r   r   r   r   r   rL   r    r   r   rY   rS   rS   rT   Ú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sxtt|  d| ¡}|dt | d  d ks€tt|  d	| |d¡dt | d	  d
 ksÐtd S )NrD   r   ra   r3   r<   r?   r;   r   r9   r   r6   r@   )r   r   rX   r   r   r(   rL   r   r   rS   rS   rT   Útest_acosh_seriesÝ  s    Xÿr   c                  C   s  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t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sFt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Ÿt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sDt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Ðt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sZttt | d  |  d  | dd ¡t t t	tdd  td|  d  | d td d tdt d    | d td d dtd t d    t| d  ks
td S )NrD   r1   r=   r3   r<   r   r;   r   r9   r   r   r5   rW   r   r>   é@  é»  é ¢  r2   )
r   r   r   r    r   r(   rL   r   r   r   rY   rS   rS   rT   Útest_acosh_nseriesæ  s    "ÿÿÿ
ÿ
ÿÿ"ÿ"þ
þ"ÿÿÿ
ÿ$
ÿÿÿÿ
ÿ2ÿÿÿ
ÿ0ÿÿÿ
ÿ:ÿ$ÿ(ÿ
ÿr¡   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]   þ  r^   z"test_acosh_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_acosh_fdiffü  s    r¢   c                  C   sn  t d} tt|  sttddks(ttdtt ks<ttdtksLttdtt d ksdttddt t d ksttttksttttt d ksšttt tt d ksÂttttt	t d td  ksætttt
dtd tt d  ksttt t
dtd tt d  ks<tttdtd d	t t d
 ksftttddtd  tt d kstttddtd   dt t d ksÀttdtdtd  tt d ksêttdtdtd  dt t d kstttdd tt d ks:ttdtd dt t d ks`tttddtd   dt t d kstttdtdtd ks²ttdtd ttdd ksØttdtdtd  ttdtd d ksttdttjks&tttdjdks>tttd d jdks\tttdd jdksxtttdjdkstttdjdksštttdddjd ksÄtttd ttdtd  ksìttdtd tttd d  kstttd tttdd ks>ttdtd tttd d  ksjtttttdtd tdtd  dks tttttdtd tdtd  dksÖttttddtd  tddtd    ¡ dksttttddtd   tddtd     ¡ dksVttttddtd  tddtd    ¡ dksttttdtd dtd  dksÂttttdtd dtd  dksðtttttd td td td  dks*tttdt  d¡dksJtttdt  d¡dksjtd S )NrD   r1   r   r2   r3   r<   r5   r?   rb   r   r;   r7   rW   ra   r9   r=   FTrR   rF   z0.19869 - 1.5708*Ir@   z0.19869 + 1.5708*I)r   r)   r   rL   r   r   r
   r	   r   r   r   r    r   r   rM   rP   rO   r   r   r!   r   r   r   Úsimplifyr   rs   rY   rS   rS   rT   Ú
test_asech  sZ    $*,**0*."&0"&6(,&,66>B>..: r€   c                  C   sŠ  t d} t| j| ddt|  td ks0tt| j| ddt|  td dt t  ksdtt| d j| ddtdt t|  ksttd|  j| ddtt d ksžtt| d j| ddtt ksÚttt|  d j| ddtd ksttt |  d j| ddtdks.ttt|  d j| ddtd ksXttt |  d j| ddtdksttt|  tdd  j| dddt t ttd d  ksÈttt|  tdd  j| ddttd d ksttt | d  |  d j| ddttd d dtd t d  ksRttt | d  |  d j| ddttd d dtd t d  ks¢td S )	NrD   r1   r   r3   r2   r<   r6   r5   )	r   r   r   r   rL   r   r   r    r   rY   rS   rS   rT   Útest_asech_leading_termC  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szt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ött|  d| ¡}|d| d  d ks tt|  d| |d¡d| d  d ksJtd S )NrD   r   rW   r1   r   r3   r=   r<   é    r;   r?   é`   é#   ra   r4   r2   r@   iÝÿÿÿ)	r   r   rX   r   r(   rL   r   r   r   )rD   Zt6rS   rS   rT   Útest_asech_seriesW  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Št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sFt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Àt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:t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Žt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.ttt | d  |  d  | dd ¡dt t d tdt |  d  | d tdd dtd t d    t| d  ks°td S )NrD   r1   r=   r3   r;   r<   r   é+   r   é±   r9   r   r>   r   r   r    r6   r?   éH   )	r   r   r   r    r   r(   rL   r   r   rY   rS   rS   rT   Útest_asech_nseriesb  sd    F ÿ ÿ
ÿ
*ÿÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿ0ÿÿ
ÿD&ÿ
ÿr­   c               	   C   sX  t d} t|  t¡td|  td|  d td|  d   ksFtt|  t¡td|  ksdtt|  t¡tdd|   ttt|  dd t	d   tdd|    ks²t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sTtd S )NrD   r1   r2   FrJ   r3   )r   r   r   r   r    rL   r   r   r   r   r   rY   rS   rS   rT   Útest_asech_rewritew  s    >Nÿr®   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]     r^   z"test_asech_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_asech_fdiff  s    r¯   c                  C   s|  t d} tt| stt|  t|  ks.ttdtdtd ksJttdtdtd  kshttdtksxttdtdtd d ksttdtdtd d  ksºtttt t d ksÔttt tt d ksîttt tdtd  tt d	 ksttttdtd  t t d	 ksFttt dtd  tt d
 ksntttdtd  t t d
 ksttt d tdtd  tt d ksÆtttd tdtd  t t d ksöttt d tt d kstttd t t d ks6ttt tddtd   tt d ksfttttddtd   t t d ksttt td tt d ksºttttd t t d ksÞttt tdd  dt t d
 ks
ttttdd  dt t d
 ks4ttt d td tt d ks\tttd td t t d ksttt d tdtd  dt t d ksžtttd tdtd  dt t d ksêttt tddtd   dt t d ksttttddtd   dt t d ksPttt tdtd  dt t d	 ksttttdtd  dt t d	 ks®ttt	t	ksÀttt td t
ttd ksèttt d td t
ttd d kstttdjdks0tttdjdksHtttdjdks`ttttjdksxtttt jdksttdt t ksªtttdddjdksÆttt td t tdtd  ksôttt d td t ttd d  ks(ttttt tdtd  t tdtd   dksjtttttdtd  tdtd   dks tttttddtd   ttddtd     ¡ dksætttt tddtd   t tddtd     ¡ dks0tttdt d  d¡dksTtttdt d  d¡dksxtd S )NrD   r1   r3   r2   r   r;   r5   r?   r   r7   ra   r=   r<   r6   r@   TrR   rE   z0.0391819 - 0.193363*Iz0.0391819 + 0.193363*I)r   r)   r   rL   r   r    r   r   r   r	   r   r   rP   rO   r
   r   r   r"   r   r   r£   r   rs   rY   rS   rS   rT   Ú
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tt t dks"tt tdks2td S )Nr   )r   r
   rL   r   rS   rS   rS   rT   Útest_acsch_infinitiesÉ  s    r±   c                  C   s  t d} td|   | ¡| ks"tt| t  | ¡t t d ksFtt| t  | ¡tt d kshtt| j| ddt|  td kstt| j| ddt| td tt  ksŸtt| td  j| ddt t ttd  ksòtt| td  j| ddttd kstt| td  j| ddttd  ksLtt| td  j| ddttd tt  kstttd t|   | d  j| ddtdtd tt d  ksÈtttd t|   | d  j| ddtdtd tt d  kstd S )NrD   r1   r3   r   r2   r<   )r   r   r   rL   r   r   r   r    rY   rS   rS   rT   Ú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svtt|  d| ¡}|d| d  d kstt|  d	| |d¡d| d	  d
 ksÆtd S )NrD   r   rW   r3   r=   r<   rŠ   r;   r?   r§   rš   ra   r4   r6   )r   r   rX   r   r(   rL   r   )rD   Zt4rS   rS   rT   Útest_acsch_seriesá  s    :ÿÿ
ÿ
r³   c                  C   sÊ  t d} t| t  | dd ¡t t d tt|   t|  dt | tdd   d  d| tdd   d  dt | tdd   d  d| tdd   d  d	t | td
d   d  d	| td
d   d  t| d  ksìtt| t  | dd ¡tt d tt|   t|  dt | tdd   d  d| tdd   d  dt | tdd   d  d| tdd   d  d	t | td
d   d  d	| td
d   d  t| d  ksÐt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sbt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êt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stt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tttd t|   | d   | dd ¡t t d t	dtd  dtd |  d  | d dtd d dtd t d    | d dtd d dtd t d    t| d  ksÆtd S )NrD   r=   r3   r;   r<   r   rª   r   r«   r9   r   r1   r   ra   rW   é   r2   iøÿÿÿ)
r   r   r   r   r   r    r   r(   rL   r   rY   rS   rS   rT   Útest_acsch_nseriesê  s¬    ,ÿÿÿÿþþþ
þ
*ÿÿÿÿþþþ
þ(ÿÿÿÿ
ÿ&ÿÿÿ
ÿ(ÿÿÿ
ÿ"
ÿÿÿÿ
ÿ0ÿÿ*ÿ*þ
þrµ   c                  C   sÀ   t d} t|  t¡td|  td| d  d  ks:tt|  t¡td|  ksXtt|  t¡t| d  t| d d d   tt| d d  | d d  td   |  ksŒtd S ©NrD   r1   r3   )	r   r   r   r   r    rL   r   r   r   rY   rS   rS   rT   Útest_acsch_rewrite  s    2.ÿ
ÿþþr·   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]     r^   z"test_acsch_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_acsch_fdiff  s    rž   c                  C   sØ  t d} tddksttttt d ks0ttt t t d ksLttdtks\ttdt ksnttttks~tttt t d ksttt tt d ks²tttt tt d ksÎttt t t t d ksîtttttt d td  kstt|  t|  ks.ttt	dj
dksFttt	dd j
d	ksbtttd
d	dj
d ks~ttt	dj
dksttt	djd	ks®ttt	dj
dksÆttttd tt d ksèttt td t t d ksttttd tt d ks0ttt td t t d ksVtttdtd  tt tdd ksttttdd  tt d ksštttdtd  t t d ksÐttt dtd  tt tdd ksþttttddtd   tt tdd ks2ttt tddtd   tt tdd kshtttdtd  tt d ksttttdd  t t d ks¶tttt t d ksÒtttddtt	j ksòttttt ds
tttddddks$tttddddks>tttddddksXttttddtksrtttt ddt kstttdt dddt dt t  ksŸtttdt dt ksÜtttddt  ddt t  dt  ksttttd td ks,tttttksBtttddt  ddt t  dt  ksttttdtd d  dtd d  ks¢tttddt  ddt  dt t  ksÔtd S )NrD   r   r=   r1   r2   r3   Fr;   TrR   rE   r<   r?   ra   r6   r5   r   r   r@   rJ   r9   iõÿÿÿrW   iàÿÿÿé{   é'   )r   r   rL   r   r   r
   r	   r   r   r   rP   r   r   r    r   rM   r)   r   rY   rS   rS   rT   Ú
test_atanh  s^     &"&"&,&(.46&( .22.r»   c                  C   sŽ   t d} t|  t¡td|  td|   d ks6tt|  t¡t|  dt| d    t|  td| d   td| d d   ttd| d d   t|   ks°td S r¶   )r   r   r   r   rL   r   r   r    rY   rS   rS   rT   Útest_atanh_rewriteS  s
    .fÿrŒ   c                  C   s  t d} t|  | ¡| kstt| d j| ddt|  d tdd  tt d  ks^tt| d j| ddt|  d tdd  tt d  kstt| d j| ddt| d tdd  ksÐtt| d j| ddt| d tdd  ksttd|  j| ddt t d ks.ttd|  j| ddtt d ksVttt|  d j| ddtdtt  ksttt |  d j| ddtdks°ttt|  d j| ddtd ksÚttt |  d j| ddt t td ksttt | d  |  d j| ddtd d tt d  ksRttt | d  |  d j| ddtd d tt d  kstd S r   )r   r   r   rL   r   r   r   rY   rS   rS   rT   Útest_atanh_leading_termZ  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^td S )NrD   r   r7   r<   r;   r9   rW   )r   r   rX   r(   rL   rY   rS   rS   rT   Útest_atanh_seriesn  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sxtt| d j| dd d	dtt d tdd  t| d  | d  | d d  | d d  t| d  ksætt| d j| dd ddtd d t| d  | d  | d d  | d d  t| d  ksLtt| d j| dd d	dtd d t| d  | d  | d d  | d d  t| d  ks²t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"ttt|  d j| dd d	dtdt|  d  d| d  d
  dt | d  d  t| d  ksttt|  d j| dd ddtd t|  d  d| d  d
  dt | d  d  t| d  ksôttt|  d j| dd d	dtd tt  t|  d  d| d  d
  dt | d  d  t| d  ksft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s2td S )NrD   r1   r=   r   r3   rŽ   r<   é0   r2   rW   r   éQ   é$   r?   é¢   r   )	r   r   r   r   r   r   r(   rL   r   rY   rS   rS   rT   Útest_atanh_nseriest  sš    0
ÿÿ
ÿ
ÿ
ÿ
.
ÿÿ
ÿ
ÿ
ÿ
0ÿ
ÿ
ÿ
ÿ0ÿ
ÿ
ÿ
ÿ*
ÿÿÿ
ÿ.ÿÿ
ÿ0ÿÿ
ÿ,
ÿÿÿ
ÿBÿÿÿÿ
ÿrÃ   c                      s   t d tt fdd d S )NrD   c                      s   t   d¡S r[   )r   r\   rS   rY   rS   rT   r]     r^   z"test_atanh_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_atanh_fdiff  s    rÄ   c                  C   s"  t d} tdtt d ks tttt t d ks:ttt tt d ksTttdtksdttdt ksvttttkstttdksttt dksštttt dksŒttt t dksÒtttdksâtt|  t|  ksúttttd t t d ksttt td tt d ksBttttd t t d ksfttt td tt d kstttdtd  t t d	 ks²ttt tdd  tt d	 ksÚtttdtd  tt t	dd	 ksttttdd  tt t	d
d	 ks2ttttddtd   t t d ksbttt tddtd   tt d kstttdtd  t t d ksºttt dtd  tt d ksâtttdtd  tt t	dd ksttttdd  tt t	dd ks:ttt
djdksRttt
djdksjttt
djdksttt
djdksttt
djdks²ttt
djdksÊttt
djdksâtttdddjd ksþttt	ddtt
j kstd S )NrD   r   r3   r=   r1   r2   r<   r?   ra   r6   r;   r7   r   r@   Tr5   FrR   rF   )r   r   r   r   rL   r
   r	   r   r    r   r   rP   rO   r   r   rM   rY   rS   rS   rT   Ú
test_acoth  sH    $$$$((,,00((,,rÅ   c               	   C   sæ   t d} t|  t¡tdd|   tdd|    d ks>tt|  t¡td|  ks\tt|  t¡| t| d  ttd| d d   tt	 t| d |  t| | d   t| | d  tdd|      d  ksâtd S )NrD   r1   r3   r5   )
r   r   r   r   rL   r   r   r    r   r   rY   rS   rS   rT   Útest_acoth_rewriteÄ  s    6rÿrÆ   c                  C   s  t d} t| d j| ddt|  d tdd  ks<tt| d j| ddt|  d tdd  ksptt| d j| ddt| d tdd  tt d  ks®tt| d j| ddt| d tdd  tt d  ksìtt| j| ddtt d kstt| j| ddt t d ks6ttt|  d j| ddtdks^ttt |  d j| ddtdtt  ksttt|  d j| ddt t td ksÂttt |  d j| ddtd ksîttt | d  |  tdd  j| ddtd d tt d  ks:ttt | d  |  tdd  j| ddtd d tt d  kstd S )NrD   r1   r   r3   r2   g      à?r<   )r   r   r   r   rL   r   r   r   rY   rS   rS   rT   Ú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sltd S )	NrD   r   r7   r3   r<   r;   r9   rW   )r   r   rX   r   r   r(   rL   rY   rS   rS   rT   Ú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sftt| d j| dd ddtt d tdd  t| d  | d  | d d  | d d  t| d  ksÔtt| d j| dd d	dt t d tdd  t| d  | d  | d d  | d d  t| d  ksFt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Ât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sFt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Ìt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sJt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td S )NrD   r1   r=   r3   rŽ   r<   r¿   r   r2   ra   rW   r   rÀ   éh   )	r   r   r   r   r(   rL   r   r   r   rY   rS   rS   rT   Ú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 r[   )r   r\   rS   rY   rS   rT   r]   þ  r^   z"test_acoth_fdiff.<locals>.<lambda>r_   rS   rS   rY   rT   Útest_acoth_fdiffü  s    rË   c                      sÒ   t d t  ¡ tksttt fdd t  ¡ tksBtt	  ¡ t
ksVtt  ¡ tksjtt  ¡ tks~tt  ¡ tkstt
  ¡ t	ksŠtt  ¡ tksºtt  ¡ tksÎtd S )NrD   c                      s   t   ¡ S )N)r   ÚinverserS   rY   rS   rT   r]     r^   ztest_inverses.<locals>.<lambda>)r   r   rÌ   r   rL   r,   ÚAttributeErrorr   r   r   r   r   r   r   r   r   r   rS   rS   rY   rT   Útest_inverses  s    rÎ   c                  C   sÊ   t d} t|  | ¡dkstt|  | ¡d|  ks8tttfD ]}||  | ¡| ks@tq@ttttfD ]2}d|  tjfD ]}||}| | ¡|ksztqzqht	t
fD ] }|tj}| | ¡|ks€tq€d S )NrD   r1   )r   r   r   rL   r   r   r   r   rM   r   r   )rD   ÚfuncÚarÚeqrS   rS   rT   Útest_leading_term  s    
rÒ   c                  C   sä  t ddd\} }| |t  }ttttttfD ]$}|| ¡ || |t  ks,t	q,dD ]}t|j
d|dt| t| tt|  t|  kst	t|j
d|dt| t| tt|  t|  ksÐt	t|j
d|dt| t|  t|d t| d   tt| t| t|d t| d    ks<t	t|j
d|dt| t|  t|d t| d   tt| t| t|d t| d    ksšt	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sDt	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sVt	qVd S )Núa,bTrF   ©TF©ÚcomplexrC   r3   )r   r   r   r   r   r   r   r   Ú	conjugaterL   Úexpandr#   r&   )ÚaÚbÚzrÏ   rC   rS   rS   rT   Útest_complex  sj    "
 ÿ"ÿ ÿ"ÿÿÿ*ÿÿÿ*ÿ(
ÿÿ
ÿÿÿ(
ÿÿ
ÿÿÿrÜ   c                  C   sN   t ddd\} }dD ]4}ttttfD ]"}|| jd|d|| ks$tq$qd S )NrÓ   TrF   rÔ   rÕ   )r   r   r   r   r   rØ   rL   )rÙ   rÚ   rC   rÏ   rS   rS   rT   Útest_complex_28994  s    rÝ   c                  C   sN  t d} tt| | ksttt| t| d t| d  ksDttt| | td| d   kshttt| dt| d t| d   ksttt| td| d  ksŽttt| | ksÈttt| dtd| d   ksìttt| | t| d t| d   kstt	t| | td| d   ks@tt	t| t| d t| d  |  ksntt	t| | kstt	t| d|  kstt
t| td| d  |  ksÄtt
t| | t| d t| d   ksòtt
t| d|  kstt
t| | ks"ttt| d|  ks<ttt| dt| d t| d   ksjttt| td| d  |  ksttt| t| d t| d  ksºttt| dtd| d   ksàttt| d|  ksúttt| td| d  ksttt| t| d t| d  |  ksJtd S r¶   )r   r   r   rL   r   r    r   r   r   r   r   r   r   rY   rS   rS   rT   Útest_simplifications;  s2    ($, $.&.&..&*&"rÞ   c                   C   s,   t ttdd ttdd ks(td S )Nr<   r3   r   r=   )r   r   r   r    rL   rS   rS   rS   rT   Útest_issue_4136\  s    rß   c                  C   sà   t d} t|  t¡t| t|   d   krBt|  d¡ksHn tt|  t¡t t| tt d   kstttt	j
|  }t|  t¡d| d|d   ksšttt	j
|  }t|  t¡d| |d d  ksÜtd S )NrD   r3   Ú	tractabler1   )r   r   r   r   rL   r   r   r   r   r   rM   r   ©rD   Z	tanh_halfZ	coth_halfrS   rS   rT   Útest_sinh_rewrite`  s    (ÿ,&râ   c                  C   sä   t d} t|  t¡t| t|   d   krBt|  d¡ksHn tt|  t¡t t| tt d  dd ksxttt	j
|  d }t|  t¡d| d|  ks¬ttt	j
|  d }t|  t¡|d |d  ksàtd S )NrD   r3   rà   FrJ   r1   )r   r   r   r   rL   r   r   r   r   r   rM   r   rá   rS   rS   rT   Útest_cosh_rewritek  s    (ÿ0"rã   c                  C   sä   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn tt|  t¡tt|  ttt d |  dd kstt|  t¡tttt d |  dd t|  ksÂtt|  t	¡dt	|  ksàtd S ©NrD   rà   r3   FrJ   r1   )
r   r   r   r   rL   r   r   r   r   r   rY   rS   rS   rT   Útest_tanh_rewritev  s    6ÿ66rå   c                  C   sè   t d} t|  t¡t| t|   t| t|      krPt|  d¡ksVn tt|  t¡t ttt d |  dd t|  kstt|  t¡t t|  ttt d |  dd ksÆtt|  t	¡dt	|  ksätd S rä   )
r   r   r   r   rL   r   r   r   r   r   rY   rS   rS   rT   Ú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 tt|  t¡tt| tt d  dd ks~ttt	j
|  }t|  t¡d|d  d|  ks²ttt	j
|  }t|  t¡|d d d|  ksætd S ©NrD   r1   r3   rà   FrJ   )r   r   r   r   rL   r   r   r   r   r   rM   r   rá   rS   rS   rT   Útest_csch_rewrite  s    0ÿ.&rè   c                  C   sê   t d} t|  t¡dt| d t|  d     krJt|  d¡ksPn tt|  t¡tt| tt d  dd ks~ttt	j
|  d }t|  t¡d| d|  ks²ttt	j
|  d }t|  t¡|d |d  ksætd S rç   )r   r   r   r   rL   r   r   r   r   r   rM   r   rá   rS   rS   rT   Útest_sech_rewrite  s    0ÿ."ré   c                  C   sö  t d} t|  | ¡t| d  ks(tt|  | ¡t| ksBtt|  | ¡t| ks\tt|  | ¡t| d  d kstt|  | ¡t|  t|  ks€tt|  | ¡t|  t|  ksÈtt	|  | ¡d| d  d  ksìtt
|  | ¡dt| d d  kstt|  | ¡dt| d t| d   ksDtt|  | ¡t|  t¡ | ¡ ¡ ksptt|  | ¡d| d  d  kstt|  | ¡d| td| d    ksÂtt|  | ¡d| d td| d    ksòtd S )NrD   r5   r3   r1   r2   )r   r   Údiffr   rL   r   r   r   r   r   r   r    r   r   r   Ztogetherr   r   r   rY   rS   rS   rT   Útest_derivs  s     $$$$(0,&,rë   c                  C   sŽ   t d\} }t| | jddt| t| t| t|  ksDttd|  jdddt|  t|  kspttd|  jdd ¡ t| d dt|  t| d   ks°td S ©Nr-   T)Ztrigr3   r<   )r   r   rØ   r   rL   ©rD   rR   rS   rS   rT   Útest_sinh_expansion¯  s    8,"ÿrî   c                  C   sž   t d\} }t| | jddt| t| t| t|  ksDttd|  jddt| d t| d  kstttd|  jdd ¡ dt| d  t|  t| d  ksŽtd S rì   )r   r   rØ   r   rL   rí   rS   rS   rT   Útest_cosh_expansion·  s    80"ÿrï   c                  C   s   t ddd} t ddd}t| ddjdks.tt| d| t t  ddjdksTtttt d	 ddjdksrttd
t t d	 ddjdkstd S ©Nr.   TrF   rs   r/   FrJ   r3   r=   r<   )r   r   Úis_positiverL   r   r   ©r.   rs   rS   rS   rT   Útest_cosh_positiveŸ  s    &ró   c                  C   s°   t ddd} t ddd}t| ddjdks.tt| d| t t  ddjdksTtttt d	 ddjdksrttd
t t d	 ddjdkstttjddjdks¬td S rð   )r   r   Zis_nonnegativerL   r   r   r   ZZerorò   rS   rS   rT   Útest_cosh_nonnegativeÉ  s    &"rô   c                  C   s|   t ddd} t| jd kstt| jd ks0tt| jd ksBtt| jd ksTtt| jd ksftt| jd ksxtd S )NrÛ   FrF   )	r   r   rP   rL   r   r   r   r   r   )rÛ   rS   rS   rT   Útest_real_assumptionsÓ  s    rõ   c                  C   sô   t ddd} t ddd}t|jdks*tt| jdks<tt|jdksNtt| jdks`tt|jdksrtt| jdkstt|jdkstt| jdksštt|jdksºtt| jdksÌtt	|jdksÞtt	| jdksðtd S )NrH   TrI   rs   )Únegative)
r   r   Zis_negativerL   rñ   r   r   r   r   r   )rH   rs   rS   rS   rT   Útest_sign_assumptionsÜ  s    r÷   c                      s`  t d tt     ¡tt   ks2ttt fdd tt     ¡tdt	d ksnttt fdd t
t     ¡dksttt fdd tt     ¡tt   ksÚttt fd	d tt     ¡dksttt fd
d tt     ¡tdt	d ksJttt fdd d S )NrD   c                      s   t td    ¡S ©Nr1   )r   r   r   rS   rY   rS   rT   r]   ò  r^   z"test_issue_25847.<locals>.<lambda>r1   r3   c                      s   t td    ¡S rø   )r   r   r   rS   rY   rS   rT   r]   ö  r^   r   c                      s   t td    ¡S rø   )r   r   r   rS   rY   rS   rT   r]   ú  r^   c                      s   t td    ¡S rø   )r   r   r   rS   rY   rS   rT   r]   þ  r^   c                      s   t td    ¡S rø   )r   r   r   rS   rY   rS   rT   r]     r^   c                      s   t td    ¡S rø   )r   r   r   rS   rY   rS   rT   r]     r^   )r   r   r&   r   rL   r,   r+   r   r   r    r   r   r   r   r   rS   rS   rY   rT   Útest_issue_25847í  s    *** ,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,   rU   rZ   r`   re   rh   ri   rj   rm   rn   ro   rq   rr   rv   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ù   rS   rS   rS   rT   Ú<module>   s°   (8$MIHL=:A		E	B	D		C2!		
	