
    sg?                        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 Z8d Z9d Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAd ZBd ZCd ZDd ZEd ZFd ZGd ZHd  ZId! ZJd" ZKd# ZLd$ ZMd% ZNd& ZOd' ZPd( ZQd) ZRd* ZSd+ ZTd, ZUd- ZVd. ZWd/ ZXd0 ZYd1 ZZd2 Z[d3 Z\d4 Z]d5 Z^d6 Z_d7 Z`d8 Zad9 Zbd: Zcd; Zdd< Zed= Zfd> Zgd? Zhd@ ZidA ZjdB ZkdC ZldD ZmdE ZndF ZodG ZpdH ZqdI ZrdJ ZsdK ZtdL ZudM ZvdN ZwdO ZxdP ZydQ ZzdR Z{dS Z|dT Z}dU Z~dV ZdW ZdX ZdY ZyZ)[    )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                     t        d      \  } }t        dd      }t        t              t        u sJ t        t              t        u sJ t        t
              t
        u sJ t        t
               t
         u sJ t        d      dk(  sJ t        t        d      sJ 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	z  t        z        sJ t        dd	z   t        z        t        dd	z  t        z         k(  sJ t        t        t        z        dk(  sJ t        t         t        z        dk(  sJ t        dt        z  t        z        dk(  sJ t        d
t        z  t        z        dk(  sJ t        dddz  z  t        z  t        z        dk(  sJ t        dddz  z  t        z  t        z        dk(  sJ t        t        t        z  dz        t        k(  sJ t        t         t        z  dz        t         k(  sJ t        t        t        z  t        dd      z        t        k(  sJ t        t        t        z  t        dd      z        t         k(  sJ t        t        t        z  dz        t        j                  t        d      z  t        z  k(  sJ t        t        t        z  t        d
d      z        t        dd      t        d      z  t        z  k(  sJ t        t        t        z  dz        t        j                  t        d      z  t        z  k(  sJ t        t         t        z  dz        t        dd      t        d      z  t        z  k(  sJ t        t        t        z  t        dd      z        t        j                  t        d      z  t        z  k(  sJ t        t        t        z  t        dd      z        t        dd      t        d      z  t        z  k(  sJ t        t        t        z  dz        t        j                  t        z  k(  sJ t        t         t        z  dz        t        dd      t        z  k(  sJ t        t        t        z  t        dd      z        t        dd      t        z  k(  sJ t        t        t        z  t        dd      z        t        dd      t        z  k(  sJ t        t        t        z  dz        t        t        dz        t        z  k(  sJ t        t         t        z  dz        t        t        dz         t        z  k(  sJ t        t        ddt        z  z         sJ t        | t        z        t        |       t        z  k(  sJ t        |t        z  t        z        dk(  sJ t        d|z  t        z  t        z        dk(  sJ t        |t        z  t        z  dz        t        |t        z  dz        t        z  k(  sJ t        |       j                  d      t!        t#        |             t        t%        |             z  t        t#        |             t'        t%        |             z  fk(  sJ t        dd      } t        |       j                  d      t        |       dfk(  sJ t        dd      } t        t        | z        j(                  du sJ t        |       j*                  du sJ t        t              j*                  du sJ t        dd      }t        |      j,                  du sJ t        dd      j,                  du sJ t        dt        z  t        z  d      j,                  du sJ y )Nx,ykTintegerr            
   I      g                  i   Fdeepxextended_realrealp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)rF   yr0   rK   s       c/var/www/html/venv/lib/python3.12/site-packages/sympy/functions/elementary/tests/test_hyperbolic.py	test_sinhrW      sN   5>DAqsD!A998r>>97a<<T18QxT18QxT29b	!!!T1d7Q;'''D1$q$w{"3!33331:??A;!"Q<12a=A2r6	"Q1$$$"c'	"Q1$$$1Q<1Aa=QB1Xa^#$)))1Xa^#$***1Q<166$q'>!++++1Xb!_$%"aa)@)BBBB1Q<166$q'>!++++Aa=HRODG3A55551Xb!_$%Q)99991Xb!_$%"aa)@)BBBB1Q<166!8###Aa=HROA----1Xa^#$Q(99991Xb!_$%"a)::::1S>SC[]***Ac	?s2c6{l1n,,,T1qs7###!9Aq   "Q<11R	?a"Qq>S2a[]***7U+BqE
41;0FBqE
41;&0( ( ( (s$'A7U+Q|;;;sA!9$&&&7??d"""7??e###sT"A7??e###E"**d222"Q'//4777    c                      t        d      } t        |       j                  | dd      | | dz  dz  z   | dz  dz  z   | dz  d	z  z   | d
z  dz  z   t        | dz        z   k(  sJ y )NrF   r   r9   r>   rA   r=   x   r;   i  	   i )r   r   seriesr)   rF   s    rV   test_sinh_seriesr^   _   st    sA7>>!Q#	AqDF
QT#X1T	)AqDK7!ArE(BC C CrX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S Nr5   )r   fdiffr]   s   rV   <lambda>z!test_sinh_fdiff.<locals>.<lambda>g       tAw}}Q'7 rX   r   r-   r+   r]   s   @rV   test_sinh_fdiffrf   e       sA
78rX   c                  f   t        d      \  } }t        dd      }t        t              t        u sJ t        t              t        u sJ t        t
              t
        u sJ t        t
               t
        u sJ t        d      dk(  sJ t        t        d      sJ t        d      t        d      k(  sJ t        t        |       sJ t        |        t        |       k(  sJ t        t        t        z        t        t              k(  sJ t        t         t        z        t        t              k(  sJ t        t        dd	z  t        z        sJ t        dd	z   t        z        t        dd	z  t        z        k(  sJ t        t        t        z  dz        dk(  sJ t        t         t        z  dz        dk(  sJ t        d
ddz  z  dz   t        z  t        z  dz        dk(  sJ t        dddz  z  dz   t        z  t        z  dz        dk(  sJ t        t        t        z        dk(  sJ t        t         t        z        dk(  sJ t        dt        z  t        z        dk(  sJ t        dt        z  t        z        dk(  sJ t        t        t        z  dz        t        j                  k(  sJ t        t        t        z  t        dd      z        t        dd      k(  sJ t        t        t        z  dz        t        j                  t        d      z  k(  sJ t        t         t        z  dz        t        j                  t        d      z  k(  sJ t        t        t        z  t        dd      z        t        dd      t        d      z  k(  sJ t        t        t        z  t        d
d      z        t        dd      t        d      z  k(  sJ t        t        t        z  dz        t        j                  t        d      z  k(  sJ t        t         t        z  dz        t        j                  t        d      z  k(  sJ t        t        t        z  t        dd      z        t        dd      t        d      z  k(  sJ t        t        t        z  t        dd      z        t        dd      t        d      z  k(  sJ t        t        t        z  dz        t        t        dz        k(  sJ t        t         t        z  dz        t        t        dz        k(  sJ t        t        ddt        z  z         sJ t        | t        z        t        |       k(  sJ t        |t        z  t        z        t        |t        z        k(  sJ t        d|z  t        z  t        z        t        d|z  t        z        k(  sJ t        t        |t        z        sJ t        |       j                  d      t        t!        |             t        t#        |             z  t%        t!        |             t'        t#        |             z  fk(  sJ t        dd      } t        |       j                  d      t        |       dfk(  sJ t        dd      } t        t        | z        j(                  du sJ t        t        | z        j*                  du sJ t        t        dz  dz         j*                  du sJ t        dt        z  t        j,                  z  dz  d      j.                  du sJ t        |       j.                  du sJ y )Nr/   r0   Tr1   r   r3   r4   r5   r6   r8   r9   r:   r;   r<   r=      r>   r7   r?      rA   rB   rC   r@   FrD   rF   rG   rI   rN   )r   r   r   r
   r   r   r*   r   r   r$   r   r   rP   r	   r!   rQ   r   r   r'   r   rR   rS   PirT   rF   rU   r0   s      rV   	test_coshrm   j   s   5>DAqsD!A998r>>9??7a<<T18tAwT18tAw1:R   A;#b'!!!T1d7Q;'''D1agk!22221Q<1Aa=ABFQ"1$Q&'1,,,2s7Q"1$Q&'1,,,1:A;""Q<2"Q<11Q<166!!!1Xb!_$%"a8881Q<166$q'>)))Aa=AFF47N***1Xb!_$%"aa)@@@@1Xb!_$%"aa)@@@@1Q<166$q'>)))Aa=AFF47N***1Xa^#$QQ(????1Xb!_$%"aa)@@@@1S>SC[(((Ac	?c"S&k)))T1qs7###!9A"Q<3qt9$$$1R	?c"Q$r'l***T1R4   7U+BqE
41;0FBqE
41;&0( ( ( (s$'A7U+Q|;;;sA!9$&&&!9$$$!a=  E)))!ADD
U+33t;;;7??e###rX   c                      t        d      } t        |       j                  | dd      d| dz  dz  z   | dz  dz  z   | dz  d	z  z   | d
z  dz  z   t        | dz        z   k(  sJ y )NrF   r   r9   r3   r5   r?      rA     ri   i  )r   r   r\   r)   r]   s    rV   test_cosh_seriesrq      st    sA7>>!Q#	AqDF
QT"Wq!tCx'!Q$u*4qBx?@ @ @rX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z!test_cosh_fdiff.<locals>.<lambda>   rd   rX   re   r]   s   @rV   test_cosh_fdiffrt      rg   rX   c            	      F   t        d      \  } }t        dd      }t        t              t        u sJ t        t              t        u sJ t        t
              dk(  sJ t        t
               dk(  sJ t        d      dk(  sJ t        t        d      sJ 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	z  t        z        sJ t        dd	z   t        z        t        dd	z  t        z         k(  sJ t        t        t        z        dk(  sJ t        t         t        z        dk(  sJ t        dt        z  t        z        dk(  sJ t        d
t        z  t        z        dk(  sJ t        dddz  z  t        z  t        z        dk(  sJ t        dddz  z  t        z  t        z        dk(  sJ t        t        t        z  dz        t        u sJ t        t         t        z  dz        t        u sJ t        t        t        z  t        dd      z        t        u sJ t        t        t        z  t        dd      z        t        u sJ t        t        t        z  dz        t        d      t        z  k(  sJ t        t        t        z  t        d
d      z        t        d      t        z  k(  sJ t        t        t        z  dz        t        k(  sJ t        t         t        z  dz        t         k(  sJ t        t        t        z  t        dd      z        t        k(  sJ t        t        t        z  t        dd      z        t        k(  sJ t        t        t        z  dz        t        t        d      z  k(  sJ t        t         t        z  dz        t         t        d      z  k(  sJ t        t        t        z  t        dd      z        t        t        d      z  k(  sJ t        t        t        z  t        dd      z        t        t        d      z  k(  sJ t        t        t        z  dz        t        t        dz        t        z  k(  sJ t        t         t        z  dz        t        t        dz         t        z  k(  sJ t        t        ddt        z  z         sJ t        | t        z        t        |       t        z  k(  sJ t        |t        z  t        z        dk(  sJ t        d|z  t        z  t        z        dk(  sJ t        |t        z  t        z  dz        t        |t        z  dz        t        z  k(  sJ t        |       j                  d      t        t        |             t!        t        |             z  t#        t%        |             dz  t        t        |             dz  z   z  t'        t%        |             t#        t%        |             z  t#        t%        |             dz  t        t        |             dz  z   z  fk(  sJ t        dd      } t        |       j                  d      t        |       dfk(  sJ t        t        t        z  dz  dz         j(                  du sJ t        |       j(                  du sJ t        t        t        z  | z  dz        j(                  J y )Nr/   r0   Tr1   r3   r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   FrD   rF   rG   )r   r   r    r
   r   r   r*   r   r   r   r	   r!   r(   rQ   r   r   r   r$   r   r'   rS   rl   s      rV   	test_tanhrv      s   5>DAqsD!A998q==9??7a<<T18QxT18QxT29b	!!!T1d7Q;'''D1$q$w{"3!33331:??A;!"Q<12a=A2r6	"Q1$$$"c'	"Q1$$$1Q<3Aa=C1Xa^#$+++1Xa^#$+++1Q<4719$$$1Xb!_$%a2221Q<1Aa=QB1Xb!_$%***1Xb!_$%***1Q<1T!W9$$$Aa=QBtAwJ&&&1Xa^#$$q'	1111Xb!_$%472221S>SC[]***Ac	?s2c6{l1n,,,T1qs7###!9Aq   "Q<11R	?a"Qq>S2a[]***7U+RUDAK0GRPQUUV"&r!u+q.J1 12 #BqE
3r!u: 5s2a5z1}tBqE{TU~7U V0X X X X 	s$'A7U+Q|;;;"Q
##u,,,7??d""""Qq>!!)))rX   c                      t        d      } t        |       j                  | dd      | | dz  dz  z
  d| dz  z  dz  z   d| d	z  z  d
z  z
  d| dz  z  dz  z   t        | dz        z   k(  sJ y )NrF   r   r9   r>   r5   r=      r@   r;   i;  >   r[   i  )r   r    r\   r)   r]   s    rV   test_tanh_seriesrz     s    sA7>>!Q#	AqDF
Qq!tVBYAqD,r!Q$wt|;a2hFG G GrX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r    rb   r]   s   rV   rc   z!test_tanh_fdiff.<locals>.<lambda>  rd   rX   re   r]   s   @rV   test_tanh_fdiffr}     rg   rX   c            	         t        d      \  } }t        dd      }t        t              t        u sJ t        t              t        u sJ t        t
              dk(  sJ t        t
               dk(  sJ t        d      t        u sJ t        t        d      sJ t        d      t        d       k(  sJ t        t        |       sJ t        |        t        |        k(  sJ t        t        t        z        t         t        t              z  k(  sJ t        t         t        z        t        t              t        z  k(  sJ t        t        dd	z  t        z        sJ t        dd	z   t        z        t        dd	z  t        z         k(  sJ t        t        t        z        t         t        t              z  k(  sJ t        t         t        z        t        t        t              z  k(  sJ t        dt        z  t        z        t         t        dt        z        z  k(  sJ t        d
t        z  t        z        t        t        dt        z        z  k(  sJ t        dddz  z  t        z  t        z        t        t        dddz  z  t        z        z  k(  sJ t        dddz  z  t        z  t        z        t         t        dddz  z  t        z        z  k(  sJ t        t        t        z  dz        dk(  sJ t        t         t        z  dz        dk(  sJ t        t        t        z  t        dd      z        dk(  sJ t        t        t        z  t        dd      z        dk(  sJ t        t        t        z  dz        t         t        d      z  k(  sJ t        t        t        z  t        d
d      z        t         t        d      z  k(  sJ t        t        t        z  dz        t         k(  sJ t        t         t        z  dz        t        k(  sJ t        t        t        z  t        dd      z        t         k(  sJ t        t        t        z  t        dd      z        t         k(  sJ t        t        t        z  dz        t        d       t        z  k(  sJ t        t         t        z  dz        t        d      t        z  k(  sJ t        t        t        z  t        dd      z        t        d       t        z  k(  sJ t        t        t        z  t        dd      z        t        d       t        z  k(  sJ t        t        t        z  dz        t        t        dz         t        z  k(  sJ t        t         t        z  dz        t        t        dz        t        z  k(  sJ t        t        ddt        z  z         sJ t        | t        z        t        |        t        z  k(  sJ t        |t        z  t        z        t        |t        z         t        z  k(  sJ t        d|z  t        z  t        z        t        d|z  t        z         t        z  k(  sJ t        |t        z  t        z        t        |t        z         t        z  k(  sJ t        t        t        d                  t        t        t        d                   k(  sJ t        dt        t        z  dz  z         t        d      k(  sJ t        |       j!                  d      t#        t%        |             t'        t%        |             z  t)        t+        |             dz  t#        t%        |             dz  z   z  t)        t+        |              t-        t+        |             z  t)        t+        |             dz  t#        t%        |             dz  z   z  fk(  sJ t        dd      } t        |       j!                  d      t        |       dfk(  sJ t/        t        d| z              t        |       dz  dz   dt        |       z  z  k(  sJ t/        t        d| z              t        |       dz  dt        |       z  z   ddt        |       dz  z  z   z  k(  sJ t/        t        | |z               dt        |       t        |      z  z   t        |       t        |      z   z  k(  sJ y )Nr/   r0   Tr1   r3   r4   r   r5   r6   r7   r8   r9   r:   r>   r;   r<   r=   r?   r@   rA   rB   rC   FrD   rF   rG   )r   r   r   r
   r   r   r*   r   r   r%   r   r	   r!   r   r(   r    rQ   r   r   r   r'   r   r$   r   rl   s      rV   	test_cothr     s#   5>DAqsD!A998q==9??7c>>T18QxT18Qx1:!CG###A;#b'!)###T1d7Q;'''D1$q$w{"3!33331:!CG###A;!CG)###"Q<A2c!B$i<'''2a=Ac!B$iK'''2r6	"Q1S2r6"%5#5555"c'	"QA2c!BG)B,&7#77771Q<1Aa=A1Xa^#$)))1Xa^#$)))1Q<A2d1g:%%%1Xb!_$%!DG3331Q<A2Aa=A1Xb!_$%!+++1Xb!_$%!+++1Q<DG8A:%%%Aa=DGAI%%%1Xa^#$a
2221Xb!_$%$q'!3331S>c"S&k\!^+++Ac	?c"S&k!m+++T1qs7###!9Q	!!!"Q<C"I:a<'''1R	?s2a47|mAo---"Q<C"I:a<'''CFS#a&\ 2222AbDF
tAw&&&7U+RUDAK0GRPQUUV"&r!u+q.J1 12!$RUC1J 6BqE
ARPQUUV8V W0Y Y Y Y 	s$'A7U+Q|;;;tAaCy!d1gqj1nqay%AAAAtAaCy!d1gqj1T!W9&<q1T!WaZ<?O%PPPPtAE{#DGDGO(;d1gQ>O'PPPPrX   c                      t        d      } t        |       j                  | dd      d| z  | dz  z   | dz  dz  z
  d| dz  z  d	z  z   | d
z  dz  z
  t        | dz        z   k(  sJ y )NrF   r   ri   r3   r>   -   r5   r=   i  r;   iu  )r   r   r\   r)   r]   s    rV   test_coth_seriesr   ]  su    sA7>>!Q"	!ac	AqDGa1fSj(1a494qAw>? ? ?rX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z!test_coth_fdiff.<locals>.<lambda>e  rd   rX   re   r]   s   @rV   test_coth_fdiffr   c  rg   rX   c                  8   t        d      \  } }t        dd      }t        dd      }t        t              t        u sJ t        t              t        u sJ t        t
              dk(  sJ t        t
               dk(  sJ t        d      t        u sJ t        d      t        d	       k(  sJ t        |        t        |        k(  sJ t        t               t        t               k(  sJ t        d
dz   t        z        t        d
dz  t        z         k(  sJ t        t        t        z        t        u sJ t        t         t        z        t        u sJ t        d
t        z  t        z        t        u sJ t        dt        z  t        z        t        u sJ t        dddz  z  t        z  t        z        t        u sJ t        dddz  z  t        z  t        z        t        u sJ t        t        t        z  d
z        t         k(  sJ t        t         t        z  d
z        t        k(  sJ t        t        t        z  t        dd
      z        t         k(  sJ t        t        t        z  t        dd
      z        t        k(  sJ t        t        t        z  dz        dt        d      z  t        z  k(  sJ t        t        t        z  t        dd      z        d
t        d      z  t        z  k(  sJ t        t        t        z  dz        t        d
       t        z  k(  sJ t        t         t        z  dz        t        d
      t        z  k(  sJ t        t        t        z  t        dd      z        t        d
      t        z  k(  sJ t        t        t        z  t        dd      z        t        d
      t        z  k(  sJ t        t        t        z  dz        dt        z  k(  sJ t        t         t        z  dz        d
t        z  k(  sJ t        t        t        z  t        dd      z        d
t        z  k(  sJ t        t        t        z  t        dd      z        dt        z  k(  sJ t        t        t        z  t        dd      z        d
t        z  k(  sJ t        t        t        z  dz        dt        t        dz        z  t        z  k(  sJ t        t         t        z  dz        d	t        t        dz        z  t        z  k(  sJ t        | t        z        dt        |       z  t        z  k(  sJ t        |t        z  t        z        t        u sJ t        d|z  t        z  t        z        t        u sJ t        |t        z  t        z  d
z        dt        |t        z  d
z        z  t        z  k(  sJ t        |      j                  du sJ t        t        | |z               d	t        |       t        |      z  t        |       t        |      z  z   z  k(  sJ y )Nr/   r0   Tr1   nrL   r   r4   r3   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   rA   rB   rC   r@   )r   r   r   r
   r   r   r   r   r   r	   r!   r'   rS   r   r   r   rF   rU   r0   r   s       rV   	test_cschr   h  s   5>DAqsD!AsT"A998q==9>>7c>>8Qx8Qx9b	!!!D1$q$w{"3!33331:A;#"Q<32a=C2r6	"Q3&&&"c'	"Q3&&&1Q<A2Aa=A1Xa^#$***1Xa^#$)))1Q<2d1g:a<'''1Xb!_$%4714441Q<DG8A:%%%Aa=DGAI%%%1Xa^#$Q	1111Xb!_$%a2221Q<2a4Aa=AaC1Xa^#$!+++1Xb!_$%A---1Xb!_$%1,,,1S>RBsF^A----Ac	?aBsFmAo---!93q6	!###"Q<31R	?c!!!"Qq>RAbDF^A----7??d"""tAE{#q$q'$q'/DGDGO*K'LLLLrX   c                      t        d      } t        |       j                  | dd      d| z  | dz  z
  d| dz  z  dz  z   d	| d
z  z  dz  z
  d| dz  z  dz  z   d| dz  z  dz  z
  t        | dz        z   k(  sJ y )NrF   r   r9   r3   rA   r;   r>   ih     r=   i;     i:	 r:   r[   i 54 )r   r   r\   r)   r]   s    rV   test_csch_seriesr     s    sA7>>!Q#!taczAadF3JAqD.QT&@q!tGGO2h'' ' 'rX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z!test_csch_fdiff.<locals>.<lambda>  rd   rX   re   r]   s   @rV   test_csch_fdiffr     rg   rX   c                  
   t        d      \  } }t        dd      }t        dd      }t        t              t        u sJ t        t              t        u sJ t        t
              dk(  sJ t        t
               dk(  sJ t        d      dk(  sJ t        d	      t        d      k(  sJ t        |        t        |       k(  sJ t        t        t        z        t        t              k(  sJ t        t         t        z        t        t              k(  sJ t        d
dz   t        z        t        d
dz  t        z        k(  sJ t        t        t        z  d
z        t        u sJ t        t         t        z  d
z        t        u sJ t        dddz  z  dz   t        z  t        z  d
z        t        u sJ t        dddz  z  dz   t        z  t        z  d
z        t        u sJ t        t        t        z        d	k(  sJ t        t         t        z        d	k(  sJ t        dt        z  t        z        d	k(  sJ t        dt        z  t        z        dk(  sJ t        t        t        z  dz        d
k(  sJ t        t        t        z  t        dd      z        dk(  sJ t        t        t        z  dz        t        d
      k(  sJ t        t         t        z  dz        t        d
      k(  sJ t        t        t        z  t        dd      z        t        d
       k(  sJ t        t        t        z  t        dd      z        t        d
       k(  sJ t        t        t        z  dz        d
t        d      z  k(  sJ t        t         t        z  dz        d
t        d      z  k(  sJ t        t        t        z  t        dd      z        dt        d      z  k(  sJ t        t        t        z  t        dd      z        dt        d      z  k(  sJ t        t        t        z  dz        dt        t        dz        z  k(  sJ t        t         t        z  dz        dt        t        dz        z  k(  sJ t        | t        z        dt        |       z  k(  sJ t        |t        z  t        z        dt        |t        z        z  k(  sJ t        d|z  t        z  t        z        dt        d|z  t        z        z  k(  sJ t        |      j                  du sJ t        t        | |z               dt        |       t        |      z  t!        |       t!        |      z  z   z  k(  sJ y )Nzx, yr0   Tr1   r   rL   r   r3   r4   r5   r6   r8   r9   r:   r;   r<   r=   ri   r>   r7   r?   rB   rA   rC   r@   )r   r   r   r
   r   r   r   r   r&   r   r	   r!   r$   rS   r   r   r   r   s       rV   	test_sechr     sv   6?DAqsD!AsT"A998q==9>>7a<<8tAw8tAw1:R   A;#b'!!!D1agk!22221Q<3Aa=CBFQ"1$Q&'3...2s7Q"1$Q&'3...1:A;""Q<2"Q<11Q<11Xb!_$%+++1Q<47"""Aa=DG###1Xa^#$a0001Xb!_$%$q'1111Q<1T!W9$$$Aa=Ad1gI%%%1Xa^#$47
2221Xb!_$%DG3331S>Qs2c6{]***Ac	?aBsFm+++!9#a&   "Q<1S2Y;&&&1R	?aBqDGn,,,7??d"""tAE{#q$q'$q'/DGDGO*K'LLLLrX   c                      t        d      } t        |       j                  | dd      d| dz  dz  z
  d| dz  z  dz  z   d	| d
z  z  dz  z
  d| dz  z  dz  z   t        | dz        z   k(  sJ y )NrF   r   r9   r3   r5   r=   r?   ro   =   rA   rp   i  ri   i  )r   r   r\   r)   r]   s    rV   test_sech_seriesr     s    sA7>>!Q#	AqDF
Qq!tVBYAqD,s1a4x}<qBxGH H HrX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z!test_sech_fdiff.<locals>.<lambda>  rd   rX   re   r]   s   @rV   test_sech_fdiffr     rg   rX   c                     t        d      \  } }t        t        |       sJ t        |        t        |        k(  sJ t        t              t        u sJ t        d      dk(  sJ t        d      t	        t        d      dz         k(  sJ t        d      t	        t        d      dz
        k(  sJ t        t              t        t        z  dz  k(  sJ t        t               t         t        z  dz  k(  sJ t        t        dz        t        t        z  dz  k(  sJ t        t         dz        t         t        z  dz  k(  sJ t        t              t        u sJ t        t               t         u sJ t        t        t        z        t        u sJ t        t         t        z        t         u sJ t        t              t        u sJ t        t        t        d      dz
  z  dt        dd      z  z        t        t        z  dz  k(  sJ t        t         t        d      dz
  z  dt        dd      z  z        t         t        z  dz  k(  sJ t        t        t        d	      dz
  z  d
z        t        t        z  dz  k(  sJ t        t         t        d	      dz
  z  d
z        t         t        z  dz  k(  sJ t        t        t        d	      dz   z  d
z        t        t        z  t        dd      z  k(  sJ t        t         t        d	      dz   z  d
z        t        t        z  t        dd      z  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        z
  t         k(  sJ t        t        dd            j                  du sJ t        t        dd            t        t        j                         k(  sJ t        t        t!        t#        d                  sJ t        t!        dd            dk(  sJ t        t!        dd            dk(  sJ t        t!        dd            dk(  sJ t        t!        t        d            t        k(  sJ t        t!        t         d            t         k(  sJ t        t!        d	t        z  d            dt        z  t        z  d	t        z  z   k(  sJ t        t!        ddt        z  z               dd
t        z  t        z  z
  dt        z  z   k(  sJ t        t!        ddt        z  z               ddt        z  z
  dt        z  t        z  z   k(  sJ t        t!        ddt        z  z
              ddt        z  t        z  z
  dt        z  z   k(  sJ t        t!        ddt        z  z
              dt        t        z  z
  dt        z  z   k(  sJ t#        dd       }t        |      j$                  du sJ t        t!        dd      d      j$                  du sJ y )!Nr/   r   r3   r5   r4   rA   r>      r=   r?   r9   r8   Tr7   FrU   rI   v1rN   rx   rj   ia   r:   r   r      r;      irK   rL   )r   r*   r   r
   r   r!   r   r   r   r   r	   r   rS   rR   is_extended_realrP   r   r   rT   )rF   rU   rK   s      rV   
test_asinhr     s   5>DAqUA!9q	!!! :!9>>9DGaK((((9DGaK((((8r!tAv!9Aa1:Aa!A;2#a%'!!! 9??":"2;"!R=RC: T!Wq[!1hq!n#456"Q$r'AAA!d1gk"Ax1~$567B3q58CCCDGaK"#r!tBw...!T!Wq[!!#$Ab000DGaK"#r!tHQO';;;;!T!Wq[!!#$1Xb"-=(==== 1;$&&&1;  D(((2<4'''2<((D000!B%=  E)))!HrMrc!!!4()11T999 "a!eAFFm^333 UD.///a%()Q...b5)*b000a%()Q...a%()Q...qb5)*qb000acE*+r!tBw1}<<<b2a4i!R!A#b&[2a4%7777cBqDj!"b2a4i"Q$r'&9999b2a4i!Q1RZ"Q$%6666b1Q3h C!B$J1$4444sT"A8u$$$a%(59AATIIIrX   c            	         t        d      } t        |       j                  t              t        | t	        | dz  dz         z         k(  sJ t        |       j                  t
              t        | t	        d| dz  z         z        k(  sJ t        |       j                  t              t         t        t        | z  d      z  k(  sJ t        | dt        z   z        j                  t              t         t        t        | z  dt        z   z        z  k(  sJ t        |       j                  t              t        t        t        | z  d      z  t        t        z  dz  z
  k(  sJ y )NrF   r5   r3   FrN   )
r   r   rewriter   r!   r   r#   r   r"   r   r]   s    rV   test_asinh_rewriter   7  s   sA8C CDAN(:$;;;;8E"eAd1q!t8n,<&====8D!aRQqS5(A%AAAAAE##D)aRQqS!A#Y-????8D!QtAaC%'@%@1R46%IIIIrX   c                     t        d      } t        |       j                  | d      | k(  sJ t        | t        z         j                  | d      t        t        z  dz  k(  sJ t        | t        z
        j                  | d      t         t        z  dz  k(  sJ t        d| z        j                  | d      t        |        t        d      z   k(  sJ t        d| z        j                  | d      t        |       t        d      z
  t        t        z  z
  k(  sJ t        | dt        z  z         j                  | d      t        t        d      z  k(  sJ t        | dt        z  z         j                  | d      t         t        d      z  t        t        z  z   k(  sJ t        | dt        z  z
        j                  | d      t         t        z  t        t        d      z  z   k(  sJ t        | dt        z  z
        j                  | d      t         t        d      z  k(  sJ t        dt        z  t        | z  z   | dz  z
        j                  | d      t        dt        d      z
        t        t        z  dz  z   k(  sJ t        dt        z  t        | z  z   | dz  z
        j                  | d      t        dt        d      z
        t        t        z  dz  z   k(  sJ y NrF   r3   cdirr5   r4   r>   )r   r   as_leading_termr   r   r   r#   r!   r]   s    rV   test_asinh_leading_termr   @  s   sA8##AA#.!333Q<'''2ad1f<<<Q<'''2qbeAg===1:%%aa%0SVGc!f4DDDD1:%%ab%1SVc!f_qt5KKKKQqS>))!!)4$q'	AAAQqS>))!")5!DGad9JJJJQqS>))!!)42$q'	8IIIIQqS>))!")5!DGCCC1qsQT!"22112=Qa[AQTUVXTXYZTZAZZZZ1qsQT!"22122>#a$q'kBRUVWYUYZ[U[B[[[[rX   c                  h   t        d      } t        |       j                  | dd      | | dz  dz  z
  d| dz  z  dz  z   d| dz  z  d	z  z
  t        | dz        z   k(  sJ t        |       j	                  d|       }|d| dz  z  dz  k(  sJ t        |       j	                  d| |d      d
| dz  z  d	z  k(  sJ y )NrF   r   ri   r>   rA   r=   (   r;   p   rB   )r   r   r\   r)   taylor_termrF   t5s     rV   test_asinh_seriesr   R  s    sA8??1a#	AqDF
Qq!tVBY1a4+a1g56 6 6	q		a	#B1a4??81b!,1a4;;;rX   c                  H
   t        d      } t        | t        z         j                  | dd       t        t        z  dz  t        |       dt        z
  z  z   | t        d      dz  z  t        d      dz  t        dz  z   z  z   | t        d      dz  z  t        d       dz  dt        z  dz  z   z  z   | t        d	      dz  z  t        d       d
z  dt        z  d
z  z
  z  z   t        | dz        z   k(  sJ t        | t        z
        j                  | dd       t         t        z  dz  t        |       dt        z   z  z   | t        d      dz  z  t        d      dz  t        dz  z
  z  z   | t        d      dz  z  t        d       dz  dt        z  dz  z
  z  z   | t        d	      dz  z  t        d       d
z  dt        z  d
z  z   z  z   t        | dz        z   k(  sJ t        | dt        z  z         j                  | dd d      t        t        d      z  t        d      t        z  | z  dz  z
  t        d      | dz  z  dz  z   t        d      t        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        | dt        z  z         j                  | dd d      t        t        z  t        t        d      z  z
  t        d      t        z  | z  dz  z   t        d      | dz  z  dz  z
  t        d      t        z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        | dt        z  z
        j                  | dd d      t        t        d      z  t        t        z  z
  t        d      t        z  | z  dz  z   t        d      | dz  z  dz  z   t        d      t        z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        | dt        z  z
        j                  | dd d      t         t        d      z  t        d      t        z  | z  dz  z
  t        d      | dz  z  dz  z
  t        d      t        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        dt        z  t        | z  z   | dz  z
        j                  | dd       t        t        z  dz  t        dt        d      z
        z   t        d      | z  dz  z
  | dz  t        d      dz  t        d      t        z  dz  z
  z  z   | dz  t        d       dz  dt        d      z  t        z  dz  z   z  z   t        | dz        z   k(  sJ y )NrF   r?   r5   r3   r>   r   r=      r;     r   r[      r4   )
r   r   r   _eval_nseriesr   r!   r   r)   r#   r   r]   s    rV   test_asinh_nseriesr   [  sX   sAQ<%%aD1QrT!VGQUO6!A$q&k1Q47QrT>263561a[1Q4%)aPQcRUgBU5V6W!QK!A$sQqSW$%6&()!Q$60 0 0 0 Q<%%aD1aRU1WGQUO6!A$q&k1Q47QrT>263561a[1Q4%)aPQcRUgBU5V6W!QK!A$sQqSW$%6&()!Q$60 0 0 0 QqS>''1d';qayGAIaKM@GAqDLN@#%)!WQYq!t^B%6@79:1a4@A A A AQqS>''1d'<"qay@PGAIaKMAGAqDLNA#%)!WQYq!t^B%6A79:1a4AA A A AQqS>''1d';qay1R4?OGAIaKM@GAqDLN@#%)!WQYq!t^B%6@79:1a4@A A A AQqS>''1d'<47
GAIaKMAGAqDLNA#%)!WQYq!t^B%6A79:1a4AA A A A 1qsQT!"00At<"QQQUVWQX[IY@YGAIaKAQ$Q	DGAIaK/0A134a4$q'"qayQR{ST}9T3UAVXYZ[]^Z^X_A` ` ` `rX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z"test_asinh_fdiff.<locals>.<lambda>t      uQx~~a'8 rX   re   r]   s   @rV   test_asinh_fdiffr   r      sA
89rX   c                     t        d      } t        t        |        sJ t        d      dk(  sJ t        d      t        t        z  k(  sJ t        d      t        t        z  dz  k(  sJ t        t
        j                        t        t        z  dz  k(  sJ t        t        dd            t        t        z  t        dd      z  k(  sJ t        t              t        u sJ t        t              t        u sJ t        t               t        u sJ t        t        t        z        t        t        t        z  dz  z   k(  sJ t        t         t        z        t        t        t        z  dz  z
  k(  sJ t        t              t        u sJ t        t              t        t        dt        d      z   z        k(  sJ t        t               t        t         dt        d      z   z        k(  sJ t        t        d      dz
  dt        d      z  z        t        t        z  t        dd      z  k(  sJ t        t        d      dz
   dt        d      z  z        t        t        z  t        d	d      z  k(  sJ t        t        d      dz        t        t        z  d
z  k(  sJ t        t        d       dz        t        t        z  t        dd
      z  k(  sJ t        t        d      dz        t        t        z  dz  k(  sJ t        t        d       dz        t        t        z  t        dd      z  k(  sJ t        t        dt        d      z         dz        t        t        z  dz  k(  sJ t        t        dt        d      z          dz        t        t        z  t        d	d      z  k(  sJ t        t        dt        d      z
        dz        t        t        z  t        dd      z  k(  sJ t        t        dt        d      z
         dz        t        t        z  t        dd      z  k(  sJ t        dt        d      z   dt        d      z  z        t        t        z  dz  k(  sJ t        dt        d      z    dt        d      z  z        t        t        z  t        dd      z  k(  sJ t        t        d      dz   d
z        t        t        z  dz  k(  sJ t        t        d      dz    d
z        t        t        z  t        d
d      z  k(  sJ t        t        dt        z        j                  d            dk(  sJ t        t        dt        z        j                  d            dk(  sJ t        t        t        d            sJ t        t        dd            dk(  sJ t        t        dd            dk(  sJ t        t        dd            dk(  sJ t        t        t        d            t        k(  sJ t        t        t         d            t        k(  sJ t        t        d	t        z  d            dt        z  t        z  d	t        z  z   k(  sJ t        t        dt        z               dt        z   k(  sJ t        t        ddt        z  z
              ddt        z  z
  k(  sJ t        t        ddt        z  z               ddt        z  z
  k(  sJ t        t        ddt        z  z
              ddt        z  t        z  z
  dt        z  z   k(  sJ t        t        ddt        z  z               ddt        z  z
  d
t        z  t        z  z   k(  sJ t        t        t        d      t        z               t        d      t        z   k(  sJ t        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 sJ t        t        d            j&                  du sJ t        t        d      dz        j"                  du sJ t        d      t        z
  t         k(  sJ t        t)        dd            j"                  J y )NrF   r3   r   r4   r5   r>   r=   r   r;   r?   rA   ri   rj   z2.31244 + 1.5708*IrB   z2.31244 - 1.5708*Ir   r8   FrN   r7   r@   i   TrU   rI   )r   r*   r   r   r   r   rP   r	   r
   r   r   r   r!   strr   r   rT   rS   r   rR   r   r]   s    rV   
test_acoshr   w  s   sAUQB 8q==918qtAv=AbDF""""a!RT(1a.%8888: 9??":2;"qtAv+%%%!B<2"Q;&&&:8s1a$q'k?++++!9QBDG,----$q'A+$q'	*+r!tHQO/CCCC47Q;47+,1Xa_0DDDDaqtAv%%%$q'!"Xa^ 3333aqtAv%%%$q'!"Xa^ 3333a$q'k"1$%2a///$q47{##A%&!B$x1~*====a$q'k"1$%2hq!n)<<<<$q47{##A%&!B$x1~*====!d1g+$q'	*+qtBw6661tAw;47+,"Xb"5E0EEEE$q'A+q!QrT!V+++47Q;!"ad8Aq>&9999uQqSz||A#7777uRT{}}Q $8888 UF4L)))b5)*a///a%()Q...a%()Q...a%()Q...qb5)*a///acE*+r!tBw1}<<<a!eQ&&&a!A#g1qs7***b1Q3h A!G+++b2a4i!Q1RZ"Q$%6666cBqDj!"b2a4i!A#b&&8888d1gk"#tAw{222U#++t333 1;$&&&1;''4///9%%---1;  D(((1?""e+++!HrMrc!!!4()11999rX   c            	      n   t        d      } t        |       j                  t              t        | t	        | dz
        t	        | dz         z  z         k(  sJ t        |       j                  t
              t	        | dz
        t        |        t        dz  z   z  t	        d| z
        z  k(  sJ t        |       j                  t              t	        | dz
        t        t        t        | z  d      z  t        dz  z   z  t	        d| z
        z  k(  sJ t        |       j                  t              t	        | dz
        t	        | dz         z  t        t	        | dz  dz
        | z        z  t	        | dz  dz
        z  t        t	        | dz
        z  |  t	        | dz        z  dz   z  dt	        d| z
        z  z  z   k(  sJ t        dd      } t        |       j                  t              t	        | dz
        t	        | dz         z  t        t	        | dz  dz
        | z        z  t	        | dz  dz
        z  k(  sJ y )	NrF   r3   r5   FrN   r7   TrL   )
r   r   r   r   r!   r#   r   r   r   r   r]   s    rV   test_acosh_rewriter     s    sA8C CDQKQU,C(C$DDDD8D!T!a%[47(RT/%B4A;%NNNN8E"d1q5k1U1Q35O3ORTUVRV3V&WX\]^ab]bXc&cccc8E"	a!eT!a%[	 tAqD1H~a'7!8	8adQh	G	DQK!DRM)A-	.$q1u+	>
?@ @ @ 	sT"A8E"QUDQKd1a4!8nQ&6 77QTAXFG G GrX   c                     t        d      } t        |       j                  |       t        t        z  dz  k(  sJ t        | dz         j                  |       t        d      t        |       z  k(  sJ t        | dz
        j                  |       t        t        z  k(  sJ t        d| z        j                  | d      t        |        t        d      z   k(  sJ t        d| z        j                  | d      t        |        t        d      z   dt        z  t        z  z   k(  sJ t        t        | z  dz
        j                  | d      t        d      k(  sJ t        t         | z  dz
        j                  | d      dt        z  t        z  t        d      z   k(  sJ t        | dz  t        | z  z
  t        d      dz  z         j                  | d      t        t        d      dz         k(  sJ t        | dz  t        | z  z
  t        d      dz  z         j                  | d      t        t        d      dz        k(  sJ t        dt        | z  dz
  z        j                  | d      t        t        d       dz         k(  sJ t        dt        | z  dz
  z        j                  | d      t        t        d       dz        k(  sJ t        t         | dz  z  | z   dz
        j                  | d      t        t        d      dz         t        t        z  z
  k(  sJ t        t         | dz  z  | z   dz
        j                  | d      t        t        d      dz         t        t        z  z
  k(  sJ y )NrF   r5   r3   r   r4   r7   r>   )r   r   r   r   r   r!   r   r   r]   s    rV   test_acosh_leading_termr     s   sA8##A&!B$q&000Q<''*d1gd1go===Q<''*ad2221:%%aa%0SVGc!f4DDDD1:%%ab%1c!fWs1v5E!B5NNNN1q>))!!)4b	AAA!A?**11*5Ab599LLLLA!ad1f$%55aa5@U1Q4PQ6]NRRRA!ad1f$%55ab5AU1Q4PQ6]RRRAaC!G--aa-8UAaD57^OKKKAaC!G--ab-9UAaD57^KKK!AqD1q!11!!1<DGaK@PSTUWSW@WWWW!AqD1q!11!"1=T!Wq[AQTUVXTXAXXXXrX   c                     t        d      } t        |       j                  | dd      t         | z  t        t        z  dz  z   t        | dz  z  dz  z
  dt        z  | dz  z  dz  z
  dt        z  | d	z  z  d
z  z
  t        | dz        z   k(  sJ t        |       j                  d|       }|dt        z  | dz  z  dz  k(  sJ t        |       j                  d	| |d      dt        z  | d	z  z  d
z  k(  sJ y )NrF   r   ri   r5   r>   rA   r=   r   r;   r   r8   rB   )r   r   r\   r   r   r)   r   r   s     rV   test_acosh_seriesr     s    sA8??1a#	
1r!tAv!Q$q 1Q3q!t8B;.1QT#=!Q$GH H H	q		a	#BQq!tB81b!,Aad
3>>>rX   c                  	   t        d      } t        | dz         j                  | dd       t        d      t        |       z  t        d      | t	        d      dz  z  z  dz  z
  dt        d      z  | t	        d      dz  z  z  dz  z   dt        d      z  | t	        d	      dz  z  z  d
z  z
  t        | dz        z   k(  sJ t        | dz
        j                  | dd       t        t        z  t        d      t        z  t        |       z  z
  t        d      t        z  | t	        d      dz  z  z  dz  z
  dt        d      z  t        z  | t	        d      dz  z  z  dz  z
  dt        d      z  t        z  | t	        d	      dz  z  z  d
z  z
  t        | dz        z   k(  sJ t        t        | z  dz
        j                  | dd d      t        d      t        d      t        z  | z  dz  z
  t        d      | dz  z  dz  z   t        d      t        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t         | z  dz
        j                  | dd d      t        d      dt        z  t        z  z
  t        d      t        z  | z  dz  z   t        d      | dz  z  dz  z   t        d      t        z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        dt        | z  dz
  z        j                  | dd d      t        t	        d       dz         t        d      | z  dz  z   dt        d      z  t        z  | dz  z  dz  z   dt        d      z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        dt        | z  dz
  z        j                  | dd d      t        t	        d       dz        t        d      | z  dz  z
  dt        d      z  t        z  | dz  z  dz  z
  dt        d      z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t         | dz  z  | z   dz
        j                  | dd       t         t        z  t        t        d      dz         z   t        d      | z  dz  z
  | dz  t        d       dz  t        d      t        z  dz  z   z  z   | dz  t        d       dz  dt        d      z  t        z  dz  z   z  z   t        | dz        z   k(  sJ y )NrF   r3   r?   r5   r>   r   r=   r   r;   r   r   r7   r[   r   r@   @       r4   )	r   r   r   r!   r   r)   r   r   r   r]   s    rV   test_acosh_nseriesr     s?   sAQ<%%aD1T!WT!W_GA!QK6tAwYq1Q46{236679:471qtAv;9Ns9R6SUVWXZ[W[U\6] ] ] ] Q<%%aD1QrTGAId1g6Q	!ad1f+-b06134T!W9Q;q1Q46{3J33N6Od1gIaKAaDFC6 "#AqD'6* * * * 1q>''1d';uRyGAIaKM@GAqDLN@#%)!WQYq!t^B%6@79:1a4@A A A A!A?((At!(<b	aCFA!WQYq[]A!!WQT\!^A,.21gai1nR.?A@BCAqD'AJ J J JAaC!G++Aq$Q+?E1Q4%PQ'N?GAIbLDd1g:a<1$S(D)+.tAw;q!t+;E+ADBDEadGDL L L LAaC!G++Aq$R+@E1Q4%PQ'NGAIbLEd1g:a<1$S(E)+.tAw;q!t+;E+AEBDEadGEL L L L !AqD1q!//1d;r"us4PQ7UV;GW?WGAIaK@Q$a
T!WQYq[01@245qD47(2+$q'	RSTU:U4V@WYZ[\^_[_Y`@a a a arX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z"test_acosh_fdiff.<locals>.<lambda>  r   rX   re   r]   s   @rV   test_acosh_fdiffr     r   rX   c                  :   t        d      } t        t        |        sJ t        d      dk(  sJ t        d      t        t        z  k(  sJ t        d      t
        u sJ t        d      t        t        z  dz  k(  sJ t        d      dt        z  t        z  dz  k(  sJ t        t              t        u sJ t        t
              t        t        z  dz  k(  sJ t        t
               t        t        z  dz  k(  sJ t        t              t        t        t         dz  t        dz        z  k(  sJ t        t              t        dt        d      z         t        t        z  dz  z
  k(  sJ t        t               t        dt        d      z         t        t        z  dz  z   k(  sJ t        t        d      t        d      z
        d	t        z  t        z  d
z  k(  sJ t        t        ddt        d      z  z
              t        t        z  dz  k(  sJ t        t        ddt        d      z  z
               dt        z  t        z  dz  k(  sJ t        dt        dt        d      z         z        t        t        z  dz  k(  sJ t        dt        dt        d      z         z        dt        z  t        z  dz  k(  sJ t        t        d      dz
        t        t        z  dz  k(  sJ t        dt        d      z
        dt        z  t        z  dz  k(  sJ t        t        ddt        d      z   z               dt        z  t        z  dz  k(  sJ t        t        d            t        dt        d      z        k(  sJ t        dt        d      z        t        t        d      dz        k(  sJ t        dt        dt        d      z         z        t        t        dt        d      z         dz        k(  sJ t        d      t        t        j                        k(  sJ t        t        d            j                  du sJ t        t        d       dz        j                  du sJ t        t        d      dz        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            j                  J t        t        d             t        t%        dt        d      z        z  k(  sJ t        dt        d      z        t        t%        t        d       dz        z  k(  sJ t        t        d             t        t%        t'        dd            z  k(  sJ t        dt        d      z        t        t%        t        d       dz        z  k(  sJ t)        t+        t        t        d      t        d      z
              t        d      t        d      z
  z        dk(  sJ t)        t+        t        t        d      t        d      z               t        d      t        d      z   z        dk(  sJ t+        t        t        ddt        d      z  z                     t        ddt        d      z  z         z  j-                         dk(  sJ t+        t        t        ddt        d      z  z                      t        ddt        d      z  z          z  j-                         dk(  sJ t+        t        t        ddt        d      z   z                    t        ddt        d      z   z        z  j-                         dk(  sJ t)        t+        t        dt        d      z               dt        d      z   z        dk(  sJ t)        t+        t        dt        d      z
              dt        d      z
  z        dk(  sJ t)        t+        t        t        d       t        d      z
              t        d       t        d      z
  z        dk(  sJ t/        t        dt        z        j1                  d            dk(  sJ t/        t        dt        z        j1                  d            dk(  sJ y )NrF   r3   r   r4   r5   r>   r7   rA   rj   r   r=   r9   r[   ri   r;   r?   FTrU   rI   z0.19869 - 1.5708*IrB   z0.19869 + 1.5708*I)r   r*   r   r   r   r   r
   r   r   r   r!   r   r   rP   rS   rR   r   r   r"   r	   r   r   simplifyr   r   r]   s    rV   
test_asechr     s   sAUQB 8q==918r>>8qtAv9!B
""": 9"Q":2a:;s1ubd333338s1tAw;'!B$q&0000!9AQK(1R461111a47"#r!tBw|333a!DG)m$%2222$q1T!W9}%%&!A#b&2+555T!d1g+&&'1R4!8333d1tAw;''(AaCFQJ666a12)))T!W1R!+++$q!d1g+''(AaCFQJ666 a>U1T!W9----47uT!WQY////4DG$$%tAQK/@/B)CCCC8uQVV}$$$ 1;%'''!A$##u,,,1?$$,,,1;%'''1;''4///4()11999 $q'?aRQZ 00000DG$Qxz"2 2222!A$<1T(2q/22222DG$Qxz"2 2222 d5a47!234Q$q'8IJKqPPPd5a47!234Q$q'8IJKqPPPtA$q'	M*+,Q47]0CDNNPTUUUUQ47]++,-$q1T!W9}2E1EFPPRVWWWWtAq47{O,-.$q!d1g+2GHRRTXYYYYd5T!W-.!d1g+>?1DDDd5d1g./2Q<@AQFFFd5$q'DG!345$q'DG9KLMQRRRR uQqSz||A#7777uRT{}}Q $8888rX   c                     t        d      } t        |       j                  | d      t        |        t        d      z   k(  sJ t        |       j                  | d      t        |        t        d      z   dt        z  t
        z  z   k(  sJ t        | dz         j                  | d      t        d      t        z  t        |       z  k(  sJ t        d| z        j                  | d      t        t
        z  dz  k(  sJ t        | dz
        j                  | d      t        t
        z  k(  sJ t        t        | z  dz         j                  | d      t        d       k(  sJ t        t         | z  dz         j                  | d      t        d      k(  sJ t        t        | z  dz
        j                  | d      t        d       k(  sJ t        t         | z  dz
        j                  | d      t        d      k(  sJ t        t        | z  t        d      dz  z
        j                  | d      dt        z  t
        z  t        t        d       dz        z   k(  sJ t        t        | z  t        d      dz  z
        j                  | d      t        t        d       dz        k(  sJ t        t         | dz  z  | z   dz
        j                  | d      t        t        d       dz  dt        d      z  t        z  dz  z         k(  sJ t        t         | dz  z  | z   dz
        j                  | d      t        t        d       dz  dt        d      z  t        z  dz  z         k(  sJ y )	NrF   r3   r   r5   r4   r>   r8   r7   )r   r   r   r   r   r   r!   r   r]   s    rV   test_asech_leading_termr   C  s   sA8##AA#.3q6'CF2BBBB8##AB#/CF7SV3Cac"f3LLLLQ<'''2d1gaiQ6GGGG1:%%aa%0AbDF:::Q<'''2ad:::1q>))!!)4q	AAA!A?**11*5qAAA1q>))!!)4r
BBB!A?**11*5rBBB1qtAv..qq.9RT"WuaPQdUSTW~=UUUU1qtAv..qr.:eQqTE!GnLLL!AqD1q!11!!1<QqTE!GaPTUVPWiXYkZ[mD[@\\\\!AqD1q!11!"1=adU1WqQUVWQXyYZ{[\}E\A]]]]rX   c                     t        d      } t        |       j                  | ddd      t        d      t        |       z
  | dz  dz  z
  d| dz  z  d	z  z
  d
| dz  z  dz  z
  d| dz  z  dz  z
  t	        | dz        z   k(  sJ t        |       j                  | ddd      t
        t        z  t        d      z   t        |        z
  | dz  dz  z
  d| dz  z  d	z  z
  d
| dz  z  dz  z
  d| dz  z  dz  z
  t	        | dz        z   k(  sJ t        |       j                  d|       }|d| dz  z  dz  k(  sJ t        |       j                  d| |d      d| dz  z  dz  k(  sJ y )NrF   r   r[   r3   r   r5   r?   r>       r=   rA   `   #   ri   r6   r4   rB   i)r   r   r\   r   r)   r   r   r   )rF   t6s     rV   test_asech_seriesr   W  s   sA8??1a?+s1vAAa/G!AqD&QS)/S1fRi0QT'$,0!"1a40) ) ) )8??1a?,"s1vQB0G!Q$q&0PadF2I1!Q$r	1q!tGDL1)+,QT713 3 3 3	q		a	#BAqD81b!,AqD===rX   c                     t        d      } t        | dz         j                  | dd       t        d      t        |        z  dt        d      z  |  t	        d      dz  z  z  dz  z   dt        d      z  |  t	        d      dz  z  z  d	z  z   d
t        d      z  |  t	        d      dz  z  z  dz  z   t        | dz        z   k(  sJ t        | dz
        j                  | dd       t        t        z  t        d      t        |       z  z   dt        d      z  | t	        d      dz  z  z  dz  z   dt        d      z  | t	        d      dz  z  z  d	z  z   d
t        d      z  | t	        d      dz  z  z  dz  z   t        | dz        z   k(  sJ t        t        | z  dz         j                  | dd       t        d       t        d      | z  dz  z   dt        d      z  t        z  | dz  z  dz  z
  dt        d      z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        t         | z  dz         j                  | dd       t        d      t        d      | z  dz  z   dt        d      z  t        z  | dz  z  dz  z   dt        d      z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        t        | z  dz
        j                  | dd       t        d       t        d      | z  dz  z
  dt        d      z  t        z  | dz  z  dz  z
  dt        d      z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t         | z  dz
        j                  | dd       t        d      t        d      | z  dz  z
  dt        d      z  t        z  | dz  z  dz  z   dt        d      z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t         | dz  z  | z   dz
        j                  | dd       dt        z  t        z  dz  t        d      t        z  | z  dz  z   | dz  t        d      dz  dt        d      z  t        z  dz  z   z  z   t        | dz        z   k(  sJ y )NrF   r3   r?   r5   r=   r>   r   +   r      r;   r   r@   r   r   r   r8   rA   H   )r   r   r   r!   r   r)   r   r   r]   s    rV   test_asech_nseriesr   b  s   sAQ<%%aD1T!WT1"X5E$q'	TUSUYZ[\Y]^_Y_R`H`acHc5ctAwJad1f~c!6"$'QK!qtAv$>s$B6CEFq!tW6M M M M Q<%%aD1QrTDGDGO5Kd1gIa!A$q&k"6!$q'z!ad1f+5c96:<?QKAaDQRF<STW<W6XZ[\]_`\`Za6b b b b1q>''1d3ay4719R<7OtAwJqLAc8QK1,U28356q!tW8= = = =!A?((At4a4719R<8OtAwJqLAc9QK1,U29356q!tW9= = = =1q>''1d3b	zDGAIbL7PtAwJqLAc8QK1,U28356q!tW8= = = =!A?((At4b	DGAIbL8PtAwJqLAc9QK1,U29356q!tW9= = = = !AqD1q!//1d;qs2vax$q'RS)TU+VW-?WqD$q'!)aQik"n
$%@&()!Q$@0 0 0 0rX   c            
         t        d      } t        |       j                  t              t        d| z  t	        d| z  dz
        t	        d| z  dz         z  z         k(  sJ t        |       j                  t
              t        d| z        k(  sJ t        |       j                  t              t	        dd| z  z         t        t        t        | z  d      z  t        dz  z   z  t	        dd| z  z
        z  k(  sJ t        |       j                  t              t	        | dz         t	        d| dz   z        z  t        t	        d| dz  z
              z  t        t        z  t	        |        t	        d| z        z  dz   t        t	        | dz        z  dt	        | dz         z  z  z
  t        t	        |        z  dt	        |       z  z  z
  z  z   k(  sJ y )NrF   r3   r4   FrN   r5   )
r   r   r   r   r!   r   r   r   r   r   r]   s    rV   test_asech_rewriter   w  s   sA8C C!d1Q37md1Q37m.K(K$LLLL8E"eAaCj0008E"d2!8naacE8R6RUWXYUY6Y&Z[_`adefgdg`g[h&hhhh8E"QUDAEO#E$q1a4x.$99AbD47(4PQRSPS9BTWXBX[\]abcefbf]g[gijkoqrtuqupukviv[wBwz{  }A  CD  BD  }E  {E  GH  IM  NO  IP  GP  {Q  CQ  =R  	RR R RrX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z"test_asech_fdiff.<locals>.<lambda>  r   rX   re   r]   s   @rV   test_asech_fdiffr     r   rX   c                     t        d      } t        t        |       sJ t        |        t        |        k(  sJ t        d      t        dt	        d      z         k(  sJ t        d      t        dt	        d      z          k(  sJ t        d      t
        u sJ t        d      t        dt	        d      z   dz        k(  sJ t        d      t        dt	        d      z   dz         k(  sJ t        t              t         t        z  dz  k(  sJ t        t               t        t        z  dz  k(  sJ t        t         t	        d      t	        d      z   z        t        t        z  d	z  k(  sJ t        t        t	        d      t	        d      z   z        t         t        z  d	z  k(  sJ t        t         dt	        d      z   z        t        t        z  d
z  k(  sJ t        t        dt	        d      z   z        t         t        z  d
z  k(  sJ t        t         dz  t	        dt	        d      z
        z        t        t        z  dz  k(  sJ t        t        dz  t	        dt	        d      z
        z        t         t        z  dz  k(  sJ t        t         dz        t        t        z  dz  k(  sJ t        t        dz        t         t        z  dz  k(  sJ t        t         t	        ddt	        d      z  z         z        t        t        z  dz  k(  sJ t        t        t	        ddt	        d      z  z         z        t         t        z  dz  k(  sJ t        t         t	        d      z        t        t        z  dz  k(  sJ t        t        t	        d      z        t         t        z  dz  k(  sJ t        t         t	        d      dz
  z        dt        z  t        z  d
z  k(  sJ t        t        t	        d      dz
  z        dt        z  t        z  d
z  k(  sJ t        t         dz  t	        d      z        t        t        z  dz  k(  sJ t        t        dz  t	        d      z        t         t        z  dz  k(  sJ t        t         dz  t	        dt	        d      z         z        dt        z  t        z  dz  k(  sJ t        t        dz  t	        dt	        d      z         z        dt        z  t        z  dz  k(  sJ t        t         t	        ddt	        d      z  z
        z        dt        z  t        z  dz  k(  sJ t        t        t	        ddt	        d      z  z
        z        dt        z  t        z  dz  k(  sJ t        t         t	        d      t	        d      z
  z        dt        z  t        z  d	z  k(  sJ t        t        t	        d      t	        d      z
  z        dt        z  t        z  d	z  k(  sJ t        t              t        u sJ t        t         t	        d      z        t        t        t	        d      z        k(  sJ t        t         dz  t	        d      z        t        t        t	        d      z  dz        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        z
  t         k(  sJ t        t        dd            j                  du sJ t        t         t	        d      z        t         t!        dt	        d      z        z  k(  sJ t        t         dz  t	        d      z        t         t!        t	        d       dz        z  k(  sJ t#        t%        t        t         t	        d      t	        d      z   z              t         t	        d      t	        d      z   z  z        dk(  sJ t#        t%        t        t        dt	        d      z   z              t        dt	        d      z   z  z        dk(  sJ t%        t        t        t	        ddt	        d      z  z
        z              t        t	        ddt	        d      z  z
        z  z  j'                         dk(  sJ t%        t        t         t	        ddt	        d      z  z
        z              t         t	        ddt	        d      z  z
        z  z  j'                         dk(  sJ t)        t        dt        z  dz         j+                  d            dk(  sJ t)        t        dt        z  dz         j+                  d            dk(  sJ y )NrF   r3   r5   r4   r   r=   r7   rA   r   r9   ri   r?   r>   r8   rB   TrU   rG   z0.0391819 - 0.193363*Iz0.0391819 + 0.193363*I)r   r*   r   r   r!   r   r   r   r
   r   r   rS   rR   r   r   r   r#   r   r   r   r   r   r]   s    rV   
test_acschr     s   sAUA!9q	!!! 8s1tAw;''''9#a$q'k*****8s??8sAd1gIq=))))9#qay!m,,,,,8s2vax!9"Q!T!WtAw&'(AbD2I555DGd1g%&'A2b52:555!Qa[!"adRi///AQK!aRURZ///!AQa[))*adQh6661tAQK(()aRUQY666!A;!B$("""1:!B"""!DQtAwY''(AbD1H4444Ad1gI&&'A2b519444!DG"q(((47r"uqy(((!T!WQY AaCFRK///DGAI2a47R<///!AQ AbD1H,,,1tAwA2b519,,,!AQa[))*ac"fqj8881tAQK(()RT"Wq[888!DQtAwY''(AaCFQJ6664Ad1gI&&'2a47Q;666!T!WtAw&'(AaCFRK777DGd1g%&'2a47R<777: !DGaQi 0000!AQ E!DG)a-$8888 1;$&&&1;  D(((2<4'''2<((D000!B%=  D(((!HrMrc!!!D12CCtKKK !DG447
#3 3333!AQ QBtT!WHQJ'7$7777 d5!T!WtAw%6!789aRa4PQ7AR=STUYZZZZd5AQK12aT!WoFG1LLLqa!DG)m,,-.!DQtAwY4G2GHRRTXYYYYr$q1T!W9}--./A2d1qay=6I3IJTTVZ[[[[ uQqSU|~~a !%====uRT!V}q!"&>>>>rX   c                  ~    t        t              dk(  sJ t        t               dk(  sJ t        t              dk(  sJ y )Nr   )r   r   r    rX   rV   test_acsch_infinitiesr     s4    9>>":??:??rX   c                     t        d      } t        d| z        j                  |       | k(  sJ t        | t        z         j                  |       t         t        z  dz  k(  sJ t        | t        z
        j                  |       t        t        z  dz  k(  sJ t        |       j                  | d      t        |        t        d      z   k(  sJ t        |       j                  | d      t        |       t        d      z
  t        t        z  z
  k(  sJ t        | t        dz  z         j                  | d      t         t        z  t        t        dz        z
  k(  sJ t        | t        dz  z         j                  | d      t        t        dz        k(  sJ t        | t        dz  z
        j                  | d      t        t        dz         k(  sJ t        | t        dz  z
        j                  | d      t        t        dz        t        t        z  z   k(  sJ t        t        dz  t        | z  z   | dz  z
        j                  | d      t        dt        d      z
        t        t        z  dz  z
  k(  sJ t        t        dz  t        | z  z   | dz  z
        j                  | d      t        dt        d      z
        t        t        z  dz  z
  k(  sJ y )NrF   r3   r5   r   r4   r>   )r   r   r   r   r   r   r!   r]   s    rV   test_acsch_leading_termr     st   sA1:%%a(A---Q<''*qbeAg555Q<''*ad1f4448##AA#.3q6'CF2BBBB8##AB#/3q6CF?QrT3IIIIQqS>))!!)42ac
8JJJJQqS>))!")5qsCCCQqS>))!!)4qsCCCQqS>))!")5qsad9JJJJ1qsQT!"22112=Qa[AQTUVXTXYZTZAZZZZ1qsQT!"22122>#a$q'kBRUVWYUYZ[U[B[[[[rX   c                     t        d      } t        |       j                  | dd      t        d      t        |       z
  | dz  dz  z   d| dz  z  dz  z
  d| d	z  z  d
z  z   d| dz  z  dz  z
  t	        | dz        z   k(  sJ t        |       j                  d|       }|d| dz  z  dz  k(  sJ t        |       j                  d	| |d      d| d	z  z  d
z  k(  sJ y )NrF   r   r[   r5   r?   r>   r   r=   rA   r   r   ri   r6   r8   )r   r   r\   r   r)   r   )rF   t4s     rV   test_acsch_seriesr     s    sA8??1a#s1vAAa'?!AqD&)'K1fRi(QT'$,(!"1a4() ) ) )	q		a	#BAqD81b!,!Q$r	999rX   c                  >   t        d      } t        | t        z         j                  | dd       t         t        z  dz  t        t        |       z  z   t        |       z   dt        z  | t        d      dz  z  z  dz  z   d| t        d      dz  z  z  dz  z
  dt        z  | t        d      dz  z  z  dz  z
  d| t        d      dz  z  z  dz  z
  d	t        z  | t        d
      dz  z  z  dz  z
  d	| t        d
      dz  z  z  dz  z   t        | dz        z   k(  sJ t        | t        z
        j                  | dd       t        t        z  dz  t        t        |       z  z
  t        |       z   dt        z  | t        d      dz  z  z  dz  z
  d| t        d      dz  z  z  dz  z
  dt        z  | t        d      dz  z  z  dz  z   d| t        d      dz  z  z  dz  z
  d	t        z  | t        d
      dz  z  z  dz  z   d	| t        d
      dz  z  z  dz  z   t        | dz        z   k(  sJ t        | t        dz  z         j                  | dd d      t        t        dz         t        t        z  z
  dt        d      z  t        z  | z  dz  z   dt        d      z  | dz  z  dz  z
  dt        d      z  t        z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        | t        dz  z         j                  | dd d      t        t        dz        dt        d      z  t        z  | z  dz  z
  dt        d      z  | dz  z  dz  z   dt        d      z  t        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        | t        dz  z
        j                  | dd d      t        t        dz         dt        d      z  t        z  | z  dz  z
  dt        d      z  | dz  z  dz  z
  dt        d      z  t        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        | t        dz  z
        j                  | dd d      t        t        z  t        t        dz        z   dt        d      z  t        z  | z  dz  z   dt        d      z  | dz  z  dz  z   dt        d      z  t        z  | dz  z  dz  z
  t        | dz        z   k(  sJ t        t        dz  t        | z  z   | dz  z
        j                  | dd       t         t        z  dz  t        dt        d      z
        z   dt        d      z  | z  dz  z   | dz  dt        d      z  dz  dt        d      z  t        z  dz  z   z  z   | dz  dt        d      z  dz  dt        d      z  t        z  dz  z
  z  z   t        | dz        z   k(  sJ y )NrF   r?   r5   r=   r>   r   r   r   r   r;   r   r3   r   ri   r[      r4   i)	r   r   r   r   r   r!   r   r)   r   r]   s    rV   test_acsch_nseriesr     s   sAQ<%%aD1aRU1Wqay5HG6c!ad1f+ob 6!#$Q1a[=#36468d1qtAv;6Fs6J6Kq1Q46{N36Qq1Q46{*3.6/14Q1a[1D6EGHAw6O O O O Q<%%aD1QrT!VaQi5GG6c!ad1f+ob 6!#$Q1a[=#36468d1qtAv;6Fs6J6Kq1Q46{N36Qq1Q46{*3.6/14Q1a[1D6EGHAw6O O O O QqS>''1d';ac
{bD@	T!W9Q;q=?@tAwYq!t^A-@.0247
1QT0A!0C@DFG1g@N N N NQqS>''1d'<ac
d1gIaKM!OAQi1nQ&A')+DGAad):1)<A=?@AwAG G G GQqS>''1d';ac
{d1gIaKM!O@Qi1nQ&@')+DGAad):1)<@=?@Aw@G G G GQqS>''1d'<"	!A#JA471QqA!#$T!W9QT>!#3A468ajl1a46G6IAJLMaQRdGAT T T T 1qsQT!"00At<2aDGAay{1}A%'(!tRQZ\Ad1gIaKM-I'JAKqD"T!W*Q,DGAa
'(A)+,QT7A3 3 3 3rX   c            	         t        d      } t        |       j                  t              t        d| z  t	        d| dz  z  dz         z         k(  sJ t        |       j                  t
              t        d| z        k(  sJ t        |       j                  t              t	        | dz         t	        | dz  dz   dz          t        t	        | dz  dz               z  | dz  dz   z  t        dz  z   z  | z  k(  sJ y NrF   r3   r5   )r   r   r   r   r!   r   r   r   r]   s    rV   test_acsch_rewriter     s    sA8C C!d1QT6A:.>(>$????8E"eAaCj0008E"tQTE{TAqD1Hq=.5I4I5:41q>5J5KLMqDSTH5V68d5; (<<=(> ? ? ?rX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z"test_acsch_fdiff.<locals>.<lambda>  r   rX   re   r]   s   @rV   test_acsch_fdiffr     r   rX   c            
         t        d      } t        d      dk(  sJ t        t              t        t        z  dz  k(  sJ t        t               t         t        z  dz  k(  sJ t        d      t        u sJ t        d      t         u sJ t        t
              t
        u sJ t        t              t         t        z  dz  k(  sJ t        t               t        t        z  dz  k(  sJ t        t        t        z        t        t        z  dz  k(  sJ t        t         t        z        t         t        z  dz  k(  sJ t        t              t        t        t         dz  t        dz        z  k(  sJ t        |        t        |        k(  sJ t        t        d            j                  du sJ t        t        d      dz        j                  d	u sJ t        t        d
d	            j                  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      z        t        t        z  dz  k(  sJ t        t         t        d      z        t         t        z  dz  k(  sJ t        t        t        d      z        t        t        z  dz  k(  sJ t        t         t        d      z        t         t        z  dz  k(  sJ t        t        dt        d      z   z        t        t        z  t        dd      z  k(  sJ t        t        t        d      dz
  z        t        t        z  dz  k(  sJ t        t        dt        d      z
  z        t         t        z  dz  k(  sJ t        t         dt        d      z   z        t        t        z  t        dd      z  k(  sJ t        t        t        ddt        d      z  z         z        t        t        z  t        dd      z  k(  sJ t        t         t        ddt        d      z  z         z        t        t        z  t        dd      z  k(  sJ t        t        dt        d      z
  z        t        t        z  dz  k(  sJ t        t        t        d      dz
  z        t         t        z  dz  k(  sJ t        t              t         t        z  dz  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k(  sJ t        t!        dd            dk(  sJ t        t!        dd            dk(  sJ t        t!        t        d            t        k(  sJ t        t!        t         d            t         k(  sJ t        t!        dt        z  d            dt        z  dt        z  t        z  z   k(  sJ t        t!        dt        z               dt        z   k(  sJ t        t!        ddt        z  z               ddt        z  t        z  z
  dt        z  z   k(  sJ t        t!        t        dz              t        dz  k(  sJ t        t!        t                    t        k(  sJ t        t!        ddt        z  z               ddt        z  t        z  z
  dt        z  z   k(  sJ t        t!        dt        dz  dz  z
              dt        dz  dz  z
  k(  sJ t        t!        ddt        z  z
              ddt        z  z
  dt        z  t        z  z   k(  sJ y )NrF   r   r?   r3   r4   r5   Fr=   TrU   rG   r>   rA   ri   r8   r7   r   r   rB   rN   r;   ir[   i{   '   )r   r   r   r   r   r
   r   r   r   rS   r   r   r!   r	   rP   r*   r    r]   s    rV   
test_atanhr     s0   sA 8q==8qtAv!92a8r>>9: 92a":2a2;!B$q&   !B<A2b57""":;s1ubd33333 !9q	!!! 1;%'''2q>!!T)))D12::BBB1;%'''1;''4///2<5((( 47qtAv%%%!DG2a'''47qtAv%%%!DG2a'''AQK!RT(1a.%8888DGaK!RT!V+++AQK!bSU1W,,,!Qa[!"bd8B?&::::4Ad1gI&&'1R4A+>>>>!DQtAwY''(AbD"a,@@@@AQK!RT"W,,,DGaK!bSU2X---92a "a!eAFFm^333 UD.///b5)*b000a%()Q...a%()Q...a%()Q...qb5)*qb000c!ee,-Q1R???a!eQ&&&a!A#g1qs2v:!#3333bd1$$$b?b   b1Q3h B1RK!A#$5555a!A#a%i!Q1QY...cCEk"#sSU{RT"W'<<<<rX   c            
         t        d      } t        |       j                  t              t        d| z         t        d| z
        z
  dz  k(  sJ t        |       j                  t              t
        | z  dt        | dz         z  z  t        |        t        d| dz  z
        z  t        d| dz  dz
  z        z  t	        t        d| dz  dz
  z              z  t        |       z  z
  k(  sJ y r   )r   r   r   r   r   r   r!   r]   s    rV   test_atanh_rewriter   S  s    sA8C SQZ#a!e*%<$AAAA8E"
1aadUmtQBxQAX6tAq!taxL7II%PTUVXY[\X\_`X`UaPbJccdhijdkkkl l lrX   c                     t        d      } t        |       j                  |       | k(  sJ t        | dz         j                  | d      t        |        dz  t        d      dz  z   t        t
        z  dz  z
  k(  sJ t        | dz         j                  | d      t        |        dz  t        d      dz  z   t        t
        z  dz  z   k(  sJ t        | dz
        j                  | d      t        |       dz  t        d      dz  z
  k(  sJ t        | dz
        j                  | d      t        |       dz  t        d      dz  z
  k(  sJ t        d| z        j                  | d      t         t
        z  dz  k(  sJ t        d| z        j                  | d      t        t
        z  dz  k(  sJ t        t        | z  dz         j                  | d      t        d      t        t
        z  z   k(  sJ t        t         | z  dz         j                  | d      t        d      k(  sJ t        t        | z  dz
        j                  | d      t        d       k(  sJ t        t         | z  dz
        j                  | d      t         t
        z  t        d      z
  k(  sJ t        t         | dz  z  | z   dz
        j                  | d      t        d       dz  t        t
        z  dz  z
  k(  sJ t        t         | dz  z  | z   dz
        j                  | d      t        d       dz  t        t
        z  dz  z
  k(  sJ y r   )r   r   r   r   r   r   r]   s    rV   test_atanh_leading_termr   Z  s   sA8##A&!+++Q<'''2s1vgai#a&(6JQrTRSV6SSSSQ<'''3Awqy3q6!87KaPRdSTf7TTTTQ<'''2c!fQhQ6IIIIQ<'''3s1vax#a&(7JJJJ1:%%aa%0QBrE!G;;;1:%%ab%1QrT!V;;;1q>))!!)4a1R4GGG!A?**11*5qAAA1q>))!!)4q	AAA!A?**11*5!Bq9IIII!AqD1q!11!!1<Q	AbDQRF@RRRR!AqD1q!11!"1=#a&QrTRSVASSSSrX   c                      t        d      } t        |       j                  | dd      | | dz  dz  z   | dz  dz  z   | dz  dz  z   | dz  dz  z   t        | dz        z   k(  sJ y )NrF   r   r9   r>   r=   r;   r[   )r   r   r\   r)   r]   s    rV   test_atanh_seriesr   n  sq    sA8??1a$	AqDF
QT!Vad1f$q!tAv-!R%89 9 9rX   c                  .	   t        d      } t        | dz         j                  | dd d      t         t        z  dz  t        d      dz  z   t        |       dz  z
  | dz  z   | dz  dz  z
  | dz  dz  z   t        | dz        z   k(  sJ t        | dz         j                  | dd d	      t        t        z  dz  t        d      dz  z   t        |       dz  z
  | dz  z   | dz  dz  z
  | dz  dz  z   t        | dz        z   k(  sJ t        | dz
        j                  | dd d      t        d       dz  t        |       dz  z   | dz  z   | dz  dz  z   | dz  dz  z   t        | dz        z   k(  sJ t        | dz
        j                  | dd d	      t        d       dz  t        |       dz  z   | dz  z   | dz  dz  z   | dz  dz  z   t        | dz        z   k(  sJ t        t        | z  dz         j                  | dd d      t        t        z  t        d      z   t        | z  dz  z
  d| dz  z  d
z  z
  dt        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t        | z  dz         j                  | dd d	      t        d      t        | z  dz  z
  d| dz  z  d
z  z
  dt        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t        | z  dz
        j                  | dd d      t        d       t        | z  dz  z
  d| dz  z  d
z  z   dt        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t        | z  dz
        j                  | dd d	      t        d       t        t        z  z
  t        | z  dz  z
  d| dz  z  d
z  z   dt        z  | dz  z  dz  z   t        | dz        z   k(  sJ t        t         | dz  z  | z   dz
        j                  | dd       t         t        z  dz  t        d      dz  z
  | dz  z
  | dz  t        d       dz  t        dz  z   z  z   | dz  t        d      dz  t        dz  z
  z  z   | dz  t        d       dz  t        dz  z   z  z   | dz  t        d      dz  t        dz  z
  z  z   t        | dz        z   k(  sJ y )NrF   r3   r?   r   r5   r   r>   0   r4   r[   r   Q   $   rA      r   )r   r   r   r   r   r   r)   r   r]   s    rV   test_atanh_nseriesr  t  sr   sAQ<%%aDq%9aRU1Ws1vax=OF1H>s>T"W> !tBw>')*1a4>1 1 1 1Q<%%aDr%:ad1fs1vax>OF1H?s?T"W? !tBw?')*1a4?1 1 1 1Q<%%aDq%9c!fWQYQPQ=QaC>
Q$r'>qDG>1g>& & & &Q<%%aDr%:s1vgai#a&QR(>RaC?
Q$r'?qDG?1g?& & & & 1q>''1d';qteAhaCE@
adF1H@!tAqDy|@$&'1g@. . . .1q>''1d'<a1Q3q5@PadF1HA!tAqDy|A1gA& & & &1q>''1d';ay1Q3q5?PadF1H@!tAqDy|@1g@& & & &1q>''1d'<q	AbD@PaCEA
adF1HA!tAqDy|A$&'1gA. . . . !AqD1q!//1d;r"uQwQPQ?QTUVWTW?WqD1Q4%'AaC-@a41b1Q3/@023Q$1a!A#2F@GIJAqQRtTWxZ[\^Z^I_@`bcdeghdhbi@j j j jrX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z"test_atanh_fdiff.<locals>.<lambda>  r   rX   re   r]   s   @rV   test_atanh_fdiffr	    r   rX   c            
      
   t        d      } t        d      t        t        z  dz  k(  sJ t        t              t         t        z  dz  k(  sJ t        t               t        t        z  dz  k(  sJ t        d      t        u sJ t        d      t         u sJ t        t
              t
        u sJ t        t              dk(  sJ t        t               dk(  sJ t        t        t        z        dk(  sJ t        t         t        z        dk(  sJ t        t              dk(  sJ t        |        t        |        k(  sJ t        t        t        d      z        t         t        z  dz  k(  sJ t        t         t        d      z        t        t        z  dz  k(  sJ t        t        t        d      z        t         t        z  dz  k(  sJ t        t         t        d      z        t        t        z  dz  k(  sJ t        t        dt        d      z   z        t         t        z  d	z  k(  sJ t        t         t        d      dz   z        t        t        z  d	z  k(  sJ t        t        dt        d      z
  z        t        t        z  t        dd	      z  k(  sJ t        t        t        d      dz
  z        t        t        z  t        d
d	      z  k(  sJ t        t        t        ddt        d      z  z         z        t         t        z  dz  k(  sJ t        t         t        ddt        d      z  z         z        t        t        z  dz  k(  sJ t        t        dt        d      z   z        t         t        z  dz  k(  sJ t        t         dt        d      z   z        t        t        z  dz  k(  sJ t        t        dt        d      z
  z        t        t        z  t        dd      z  k(  sJ t        t        t        d      dz
  z        t        t        z  t        dd      z  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        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            j                  J t        t        dd            t        t        j                         k(  sJ y )NrF   r   r5   r?   r3   r4   r>   rA   ri   r8   r=   r9   r   rB   Tr7   FrU   rI   )r   r   r   r   r   r
   r   r!   r	   r   rS   rR   r   r   rP   r]   s    rV   
test_acothr    su   sA 8qtAv8r"uQw!9"Q8r>>9: 9>>":??2;!!B<1:?? !9q	!!!47r"uQw&&&!DG"Q&&&47r"uQw&&&!DG"Q&&&AQK!bSU1W,,,!T!Wq[!"bd1f,,,AQK!RT(1a.%8888DGaK!RT(2q/%99994Ad1gI&&'A2b58333!DQtAwY''(AbDG333AQK!bSU2X---!Qa[!"bd2g---AQK!RT(2r*:%::::DGaK!RT(1b/%9999 1;$&&&1;  D(((1;''4///2<4'''1;%'''1;''4///2<5(((4()11999 "a!eAFFm^333rX   c            
      X   t        d      } t        |       j                  t              t        dd| z  z         t        dd| z  z
        z
  dz  k(  sJ t        |       j                  t              t	        d| z        k(  sJ t        |       j                  t
              | t        | dz        z  t        t        d| dz  dz
  z              z  t        t        z  t        | dz
  | z        t        | | dz
  z        z  t        | | dz   z        t        dd| z  z         z  z
  z  dz  z   k(  sJ y )NrF   r3   r5   r7   )	r   r   r   r   r   r   r!   r   r   r]   s    rV   test_acoth_rewriter    s!   sA8C SQqS\CAaCL%@A$EEEE8E"eAaCj0008E"	$q2w-d1adQh<011AbD$Aqy/$qRSVWRWy/:Y\`abdehidiaj\klpqruvwxuxqxly\y:y4z{|4||} } }rX   c                  h   t        d      } t        | dz         j                  | d      t        |        dz  t        d      dz  z   k(  sJ t        | dz         j                  | d      t        |        dz  t        d      dz  z   k(  sJ t        | dz
        j                  | d      t        |       dz  t        d      dz  z
  t        t
        z  dz  z   k(  sJ t        | dz
        j                  | d      t        |       dz  t        d      dz  z
  t        t
        z  dz  z
  k(  sJ t        |       j                  | d      t        t
        z  dz  k(  sJ t        |       j                  | d      t         t
        z  dz  k(  sJ t        t        | z  dz         j                  | d      t        d      k(  sJ t        t         | z  dz         j                  | d      t        d      t        t
        z  z   k(  sJ t        t        | z  dz
        j                  | d      t         t
        z  t        d      z
  k(  sJ t        t         | z  dz
        j                  | d      t        d       k(  sJ t        t         | dz  z  | z
  t        d      dz  z
        j                  | d      t        d       dz  t        t
        z  dz  z   k(  sJ t        t         | dz  z  | z
  t        d      dz  z
        j                  | d      t        d       dz  t        t
        z  dz  z   k(  sJ y )NrF   r3   r   r5   r4   g      ?r>   )r   r   r   r   r   r   r   r]   s    rV   test_acoth_leading_termr    s   sAQ<'''2s1vgai#a&(6JJJJQ<'''3Awqy3q6!87KKKKQ<'''2c!fQhQ6IAbDQRF6RRRRQ<'''3s1vax#a&(7JQrTRSV7SSSS8##AB#/1R469998##AA#.1"R%'9991s++AA+6%*DDD!A,,QQ,75:";LLLL1s++AA+61"R%%*:LLLL!A,,QQ,7E#J;FFF!AqD1qtAv%&66qq6Ac!fWQYQRSUQUVWQWEWWWW!AqD1qtAv%&66qr6Bs1vgaiRSTVRVWXRXFXXXXrX   c                      t        d      } t        |       j                  | dd      t         t        z  dz  | z   | dz  dz  z   | dz  dz  z   | dz  dz  z   | dz  dz  z   t        | dz        z   k(  sJ y )	NrF   r   r9   r5   r>   r=   r;   r[   )r   r   r\   r   r   r)   r]   s    rV   test_acoth_seriesr    s    sA8??1a$	
2a!ad1fq!tAv%1Q.Aa7!ArE(BC C CrX   c                  	   t        d      } t        | dz         j                  | dd       t        d      dz  t        |       dz  z
  | dz  z   | dz  dz  z
  | dz  dz  z   t	        | dz        z   k(  sJ t        | dz
        j                  | dd d      t
        t        z  dz  t        d      dz  z
  t        |       dz  z   | dz  z   | dz  dz  z   | dz  dz  z   t	        | dz        z   k(  sJ t        | dz
        j                  | dd d	      t
         t        z  dz  t        d      dz  z
  t        |       dz  z   | dz  z   | dz  dz  z   | dz  dz  z   t	        | dz        z   k(  sJ t        t
        | z  t        d      dz  z         j                  | dd d      t        t        d      dz        dt
        z  | z  dz  z   d
| dz  z  dz  z
  dt
        z  | dz  z  dz  z
  t	        | dz        z   k(  sJ t        t
        | z  t        d      dz  z         j                  | dd d	      t
        t        z  t        t        d      dz        z   dt
        z  | z  dz  z   d
| dz  z  dz  z
  dt
        z  | dz  z  dz  z
  t	        | dz        z   k(  sJ t        t
        | z  t        d      dz  z
        j                  | dd d      t        t        d      dz         t
        t        z  z
  dt
        z  | z  dz  z   d
| dz  z  dz  z   dt
        z  | dz  z  dz  z
  t	        | dz        z   k(  sJ t        t
        | z  t        d      dz  z
        j                  | dd d	      t        t        d      dz         dt
        z  | z  dz  z   d
| dz  z  dz  z   dt
        z  | dz  z  dz  z
  t	        | dz        z   k(  sJ t        t
         | dz  z  | z
  t        d      dz  z
        j                  | dd       t
        t        z  dz  t        d      dz  z
  d| z  dz  z
  | dz  t        d
       dz  dt
        z  dz  z   z  z   dt
        z  | dz  z  z
  | dz  t        d      dz  dt
        z  dz  z
  z  z   d
| dz  z  dz  z
  t	        | dz        z   k(  sJ y )NrF   r3   r?   r5   r   r>   r  r   r4   ri   r[   r   r  h   )r   r   r   r   r)   r   r   r   r]   s    rV   test_acoth_nseriesr    sE   sAQ<%%aD1SVAXAq5H1Q35NqDG6d2g6!Q$6       Q<%%aDq%9QrT!Vc!fQh=NF1H>s>T"W> !tBw>')*1a4>1 1 1 1Q<%%aDr%:qbeAgAq>PF1H?s?T"W? !tBw?')*1a4?1 1 1 1 1qtAv,,Q4a,@E!A$q&MaCE!GE1fQhEQq!tBE')*1a4E1 1 1 11qtAv,,Q4b,AQrT	!A$q&MFaCE!GF1fQhF'),Qq!tBF79:1a4FA A A A1qtAv,,Q4a,@U1Q4PQ6]NbDE	Q3q57Eq!tVAXE #Aad
2E.01!Q$E8 8 8 81qtAv,,Q4b,AeAaDQRFm^aCE!GF1fQhFQq!tBF')*1a4F1 1 1 1 !AqD1qtAv%&44Q4@AbDFSQRVTUXDUaCEE
qD1Q4%'AaCE/"E#%&qSAXE.011afRi"Q$q&6H0IEJLMaQRdFSTHEUWXYZ\]Y]W^E_ _ _ _rX   c                  B     t        d       t        t         fd       y )NrF   c                  8    t               j                  d      S ra   )r   rb   r]   s   rV   rc   z"test_acoth_fdiff.<locals>.<lambda>  r   rX   re   r]   s   @rV   test_acoth_fdiffr    r   rX   c                      t        d       t               j                         t        k(  sJ t	        t
         fd       t               j                         t        k(  sJ t               j                         t        k(  sJ t               j                         t        k(  sJ t               j                         t        k(  sJ t               j                         t        k(  sJ t               j                         t        k(  sJ t               j                         t        k(  sJ t               j                         t        k(  sJ y )NrF   c                  6    t               j                         S )N)r   inverser]   s   rV   rc   ztest_inverses.<locals>.<lambda>  s    47??#4 rX   )r   r   r  r   r-   AttributeErrorr    r   r   r   r   r   r   r   r   r   r]   s   @rV   test_inversesr    s   sA7??%%%
>457??%%%7??%%%8%%%8%%%8%%%8%%%8%%%8%%%rX   c                     t        d      } t        |       j                  |       dk(  sJ t        |       j                  |       d| z  k(  sJ t        t
        fD ]  } ||       j                  |       | k(  rJ  t        t        t
        t        fD ]:  }d| z  t        j                  fD ]   } ||      }|j                  |       |k(  r J  < t        t        fD ].  } |t        j                        }|j                  |       |k(  r.J  y )NrF   r3   )
r   r   r   r   r   r    r   rP   r   r   )rF   funcareqs       rV   test_leading_termr!    s	   sA7""1%***7""1%1,,,t /Aw&&q)Q.../tT4( /Q3- 	/BbB%%a(B...	// t +!&&\!!!$***+rX   c            	         t        dd      \  } }| |t        z  z   }t        t        t        t
        t        t        fD ]-  } ||      j                          || |t        z  z
        k(  r-J  dD ]i  }t        |      j                  d|      t        |       t        |      z  t        t        |       z  t        |      z  z   k(  sJ t        |      j                  d|      t        |       t        |      z  t        t        |       z  t        |      z  z   k(  sJ t	        |      j                  d|      t        |       t        |       z  t        |      dz  t        |       dz  z   z  t        t        |      z  t        |      z  t        |      dz  t        |       dz  z   z  z   k(  sJ t        |      j                  d|      t        |       t        |       z  t        |      dz  t        |       dz  z   z  t        t        |      z  t        |      z  t        |      dz  t        |       dz  z   z  z
  k(  sJ t        |      j                  d|      t        |      t        |       z  t        |      dz  t        |       dz  z  t        |      dz  t        |       dz  z  z   z  t        t        |      z  t        |       z  t        |      dz  t        |       dz  z  t        |      dz  t        |       dz  z  z   z  z
  k(  sJ t        |      j                  d|      t        |      t        |       z  t        |      dz  t        |       dz  z  t        |      dz  t        |       dz  z  z   z  t        t        |      z  t        |       z  t        |      dz  t        |       dz  z  t        |      dz  t        |       dz  z  z   z  z
  k(  rjJ  y )Na,bTrI   TFcomplexrE   r5   )r   r   r   r   r    r   r   r   	conjugateexpandr$   r'   )abzr  rE   s        rV   test_complexr,    s   5t$DAq	AaCAtT4t4 4Aw  "d1qs7m3334 2Aw~~t  %(,QA473q69I(IJ 	J JAw~~t  %(,QA473q69I(IJ 	J JAw~~d~6$q'$C ;A	DGQJ&;(*+CF(3q6/3q619tAwPQz;Q*R;S S 	S SAw~~d~6$q'$C ;A	DGQJ&;(*+CF(3q6/3q619tAwPQz;Q*R;S S 	S SAw~~d~6#a&47:JcRSfVWi!WaZOa&!)d1gqj0O1 ;245c!fHtAw4F#a&RS)!WaZKa&!)d1gqj0K1 52;2 2 	2 2 Aw~~d~6#a&47:JcRSfVWi!WaZOa&!)d1gqj0O1 ;245c!fHtAw4F#a&RS)!WaZKa&!)d1gqj0K1 52;2 2 	2 22rX   c                      t        dd      \  } }dD ]A  }t        t        t        t        fD ]&  } ||       j                  d|       ||       k(  r&J  C y )Nr#  TrI   r$  r%  )r   r   r   r    r   r(  )r)  r*  rE   r  s       rV   test_complex_2899r.  4  s`    5t$DAq F4t, 	FD7>>$T>:d1gEEE	FFrX   c                     t        d      } t        t        |             | k(  sJ t        t        |             t	        | dz
        t	        | dz         z  k(  sJ t        t        |             | t	        d| dz  z
        z  k(  sJ t        t        |             dt	        | dz
        t	        | dz         z  z  k(  sJ t        t        |             t	        d| dz  z         k(  sJ t        t        |             | k(  sJ t        t        |             dt	        d| dz  z
        z  k(  sJ t        t        |             | t	        | dz
        t	        | dz         z  z  k(  sJ t        t        |             | t	        d| dz  z         z  k(  sJ t        t        |             t	        | dz
        t	        | dz         z  | z  k(  sJ t        t        |             | k(  sJ t        t        |             d| z  k(  sJ t        t        |             t	        d| dz  z         | z  k(  sJ t        t        |             | t	        | dz
        t	        | dz         z  z  k(  sJ t        t        |             d| z  k(  sJ t        t        |             | k(  sJ t        t        |             d| z  k(  sJ t        t        |             dt	        | dz
        t	        | dz         z  z  k(  sJ t        t        |             t	        d| dz  z
        | z  k(  sJ t        t        |             t	        | dz
        t	        | dz         z  k(  sJ t        t        |             dt	        d| dz  z         z  k(  sJ t        t        |             d| z  k(  sJ t        t        |             t	        d| dz  z
        k(  sJ t        t        |             t	        | dz
        t	        | dz         z  | z  k(  sJ y r   )r   r   r   r   r!   r   r   r   r    r   r   r   r]   s    rV   test_simplificationsr0  ;  so   sAa>Qa>T!a%[4A;6666a>QtA1H~----a>QQUd1q5k 9::::a>T!ad(^+++a>Qa>QtA1H~----a>QQUd1q5k 9::::a>QtA1H~----a>T!a%[4A;6::::a>Qa>QqS   a>T!ad(^A----a>QQUd1q5k 9::::a>QqS   a>Qa>QqS   a>QQUd1q5k 9::::a>T!ad(^A----a>T!a%[4A;6666a>QtA1H~----a>QqS   a>T!ad(^+++a>T!a%[4A;6q8888rX   c                  x    t        t        t        d      dz              t        t        d      dz        k(  sJ y )Nr>   r5   r   r?   )r   r   r   r!   r   rX   rV   test_issue_4136r2  \  s/    gajl#$WR[](;;;;rX   c                     t        d      } t        |       j                  t              t        |       t        |        z
  dz  cxk(  rt        |       j                  d      k(  sJ  J t        |       j                  t              t
         t	        | t
        t        z  dz  z         z  k(  sJ t        t        j                  | z        }t        |       j                  t              d|z  d|dz  z
  z  k(  sJ t        t        j                  | z        }t        |       j                  t              d|z  |dz  dz
  z  k(  sJ y )NrF   r5   	tractabler3   )r   r   r   r   r   r   r   r    r   rP   r   rF   	tanh_half	coth_halfs      rV   test_sinh_rewriter8  `  s   sA7??3CFS!W$4a#7 (7??;'( ( ( ( (7??4 QBtA"QJ'7$7777QVVAXI7??4 AiKY\1A$BBBBQVVAXI7??4 AiKA1A$BBBBrX   c                     t        d      } t        |       j                  t              t        |       t        |        z   dz  cxk(  rt        |       j                  d      k(  sJ  J t        |       j                  t              t
         t	        | t
        t        z  dz  z   d      z  k(  sJ t        t        j                  | z        dz  }t        |       j                  t              d|z   d|z
  z  k(  sJ t        t        j                  | z        dz  }t        |       j                  t              |dz   |dz
  z  k(  sJ y )NrF   r5   r4  FrN   r3   )r   r   r   r   r   r   r   r    r   rP   r   r5  s      rV   test_cosh_rewriter:  k  s   sA7??3CFS!W$4a#7 (7??;'( ( ( ( (7??4 QBtA"QJ'G$GGGGQVVAX!I7??4 Q]Q]$CCCCQVVAX!I7??4 Y]Y]$CCCCrX   c                     t        d      } t        |       j                  t              t        |       t        |        z
  t        |       t        |        z   z  cxk(  rt        |       j                  d      k(  sJ  J t        |       j                  t              t
        t	        |       z  t	        t
        t        z  dz  | z
  d      z  k(  sJ t        |       j                  t              t
        t        t
        t        z  dz  | z
  d      z  t        |       z  k(  sJ t        |       j                  t              dt        |       z  k(  sJ y NrF   r4  r5   FrN   r3   )	r   r    r   r   r   r   r   r   r   r]   s    rV   test_tanh_rewriter=  v  s   sA7??3CFS!W$4s1vQB7G#H (7??;'( ( ( ( (7??4 Ad1gId1R46A:.N$NNNN7??4 Ad1R46A:&F$FtAw$NNNN7??4 Ad1gI---rX   c                     t        d      } t        |       j                  t              t        |       t        |        z   t        |       t        |        z
  z  cxk(  rt        |       j                  d      k(  sJ  J t        |       j                  t              t
         t	        t
        t        z  dz  | z
  d      z  t	        |       z  k(  sJ t        |       j                  t              t
         t        |       z  t        t
        t        z  dz  | z
  d      z  k(  sJ t        |       j                  t              dt        |       z  k(  sJ y r<  )	r   r   r   r   r   r   r   r   r    r]   s    rV   test_coth_rewriter?    s   sA7??3CFS!W$4s1vQB7G#H (7??;'( ( ( ( (7??4 QBtAbDFQJ'G$GQ$OOOO7??4 QBtAwJtAbDFQJ/O$OOOO7??4 Ad1gI---rX   c                     t        d      } t        |       j                  t              dt        |       dz  t        |        dz  z
  z  cxk(  rt        |       j                  d      k(  sJ  J t        |       j                  t              t
        t	        | t
        t        z  dz  z   d      z  k(  sJ t        t        j                  | z        }t        |       j                  t              d|dz  z
  d|z  z  k(  sJ t        t        j                  | z        }t        |       j                  t              |dz  dz
  d|z  z  k(  sJ y NrF   r3   r5   r4  FrN   )r   r   r   r   r   r   r   r    r   rP   r   r5  s      rV   test_csch_rewriterB    s   sA7??31Aq3r719(<#= (7??;'( ( ( ( (7??4 Ad1qtAv:&F$FFFFQVVAXI7??4 QA%5)$DDDDQVVAXI7??4 Y\A%5)$DDDDrX   c                     t        d      } t        |       j                  t              dt        |       dz  t        |        dz  z   z  cxk(  rt        |       j                  d      k(  sJ  J t        |       j                  t              t
        t	        | t
        t        z  dz  z   d      z  k(  sJ t        t        j                  | z        dz  }t        |       j                  t              d|z
  d|z   z  k(  sJ t        t        j                  | z        dz  }t        |       j                  t              |dz
  |dz   z  k(  sJ y rA  )r   r   r   r   r   r   r   r    r   rP   r   r5  s      rV   test_sech_rewriterD    s   sA7??31Aq3r719(<#= (7??;'( ( ( ( (7??4 Ad1qtAv:&F$FFFFQVVAX!I7??4 Q]Q]$CCCCQVVAX!I7??4 Y]Y]$CCCCrX   c                  J   t        d      } t        |       j                  |       t        |       dz   k(  sJ t        |       j                  |       t	        |       k(  sJ t	        |       j                  |       t        |       k(  sJ t        |       j                  |       t        |       dz   dz   k(  sJ t        |       j                  |       t        |        t        |       z  k(  sJ t        |       j                  |       t        |        t        |       z  k(  sJ t        |       j                  |       d| dz   dz   z  k(  sJ t        |       j                  |       dt        | dz  dz         z  k(  sJ t        |       j                  |       dt        | dz
        t        | dz         z  z  k(  sJ t        |       j                  |       t        |       j                  t              j                  |       j                         k(  sJ t        |       j                  |       d| dz   dz   z  k(  sJ t!        |       j                  |       d| t        d| dz  z
        z  z  k(  sJ t#        |       j                  |       d| dz  t        d| dz  z         z  z  k(  sJ y )NrF   r7   r5   r3   r4   )r   r   diffr   r   r    r   r   r   r   r!   r   r   r   togetherr   r   r   r]   s    rV   test_derivsrH    s=   sA7<<?tAw}n,,,7<<?d1g%%%7<<?d1g%%%7<<?tAwzkAo---7<<?tAwhtAw....7<<?tAwhtAw....8==q1a4%!)},,,8==qadQh////8==q$q1u+d1q5k"9::::8==uQx//499!<EEGGGG8==q1a4%!)},,,8==r1T!ad(^#344448==r1a4QR[(9#9::::rX   c                     t        d      \  } }t        | |z         j                  d      t        |       t        |      z  t        |       t        |      z  z   k(  sJ t        d| z        j                  d      dt        |       z  t        |       z  k(  sJ t        d| z        j                  d      j                         t        |       dz  dt        |       z  t        |       dz  z  z   k(  sJ y Nr/   T)trigr5   r>   )r   r   r(  r   rF   rU   s     rV   test_sinh_expansionrM    s    5>DAq!9&$q'$q'/DGDGO*KKKK!9&!DG)DG*;;;;!9&--/Q
QtAwYtAwz))* * *rX   c                     t        d      \  } }t        | |z         j                  d      t        |       t        |      z  t        |       t        |      z  z   k(  sJ t        d| z        j                  d      t        |       dz  t        |       dz  z   k(  sJ t        d| z        j                  d      j                         dt        |       dz  z  t        |       z  t        |       dz  z   k(  sJ y rJ  )r   r   r(  r   rL  s     rV   test_cosh_expansionrO    s    5>DAq!9&$q'$q'/DGDGO*KKKK!9&$q'1*tAwz*AAAA!9&--/	$q'1*T!WtAwz)* * *rX   c                  v   t        dd      } t        dd      }t        | d      j                  du sJ t        | d|z  t        z  t        z  z   d      j                  du sJ t        t        t        z  d	z  d      j                  du sJ t        d
t        z  t        z  d	z  d      j                  du sJ y Nr0   TrI   r   r1   FrN   r5   r?   r>   )r   r   is_positiver   r   r0   r   s     rV   test_cosh_positiverT    s     	$AT"AE"..$666AaCF1Hu-99TAAA"Q'33t;;;!Bq5)55>>>rX   c                     t        dd      } t        dd      }t        | d      j                  du sJ t        | d|z  t        z  t        z  z   d      j                  du sJ t        t        t        z  d	z  d      j                  du sJ t        d
t        z  t        z  d	z  d      j                  du sJ t        t
        j                  d      j                  du sJ y rQ  )r   r   is_nonnegativer   r   r   ZerorS  s     rV   test_cosh_nonnegativerX    s    $AT"AE"11T999AaCF1Hu-<<DDD"Q'66$>>>!Bq5)88EAAA'66$>>>rX   c                  2   t        dd      } t        |       j                  J t        |       j                  J t	        |       j                  J t        |       j                  J t        |       j                  J t        |       j                  J y )Nr+  FrI   )r   r   rS   r   r    r   r   r   )r+  s    rV   test_real_assumptionsrZ    s    sA7??"""7??"""7??"""7??"""7??"""7??"""rX   c                     t        dd      } t        dd      }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 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 y )NrK   TrL   r   )negative)	r   r   is_negativerR  r   r    r   r   r   )rK   r   s     rV   test_sign_assumptionsr^    s:   sT"AsT"A7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&rX   c                      t        d       t        t                z        j                         t        t                z        k(  sJ t	        t
         fd       t        t                z        j                         t        dt        d      z         k(  sJ t	        t
         fd       t        t                z        j                         dk(  sJ t	        t
         fd       t        t                z        j                         t        t                z        k(  sJ t	        t
         fd       t        t                z        j                         dk(  sJ t	        t
         fd	       t        t                z        j                         t        dt        d      z         k(  sJ t	        t
         fd
       y )NrF   c                  P    t        t        d z              j                         S Nr3   )r   r   r   r]   s   rV   rc   z"test_issue_25847.<locals>.<lambda>      eC!Ho==a@ rX   r3   r5   c                  P    t        t        d z              j                         S ra  )r   r   r   r]   s   rV   rc   z"test_issue_25847.<locals>.<lambda>  rb  rX   r   c                  P    t        t        d z              j                         S ra  )r   r   r   r]   s   rV   rc   z"test_issue_25847.<locals>.<lambda>  rb  rX   c                  P    t        t        d z              j                         S ra  )r   r   r   r]   s   rV   rc   z"test_issue_25847.<locals>.<lambda>  rb  rX   c                  P    t        t        d z              j                         S ra  )r   r   r   r]   s   rV   rc   z"test_issue_25847.<locals>.<lambda>  rb  rX   c                  P    t        t        d z              j                         S ra  )r   r   r   r]   s   rV   rc   z"test_issue_25847.<locals>.<lambda>  rb  rX   )r   r   r'   r   r-   r,   r   r   r!   r   r   r   r   r   r]   s   @rV   test_issue_25847rh    sk   sA Q?**1-s1vax@@@
9@A Q?**1-Qa[1AAAA
9@A Q?**1-222
9@A Q?**1-s1vax@@@
9@A a++A.!333
9@A Q?**1-Qa[1AAAA
9@ArX   N)!sympy.calculus.accumulationboundsr   sympy.core.functionr   r   sympy.core.numbersr   r   r   r	   r
   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   %sympy.functions.elementary.hyperbolicr   r   r   r   r   r   r   r   r   r   r   r    (sympy.functions.elementary.miscellaneousr!   (sympy.functions.elementary.trigonometricr"   r#   r$   r%   r&   r'   r(   sympy.series.orderr)   sympy.core.exprr*   r+   r,   sympy.testing.pytestr-   rW   r^   rf   rm   rq   rt   rv   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.  r0  r2  r8  r:  r=  r?  rB  rD  rH  rM  rO  rT  rX  rZ  r^  rh  r   rX   rV   <module>rv     s   9 9 J J J " / 9 = A  A  A  A 9 Z Z Z   % = 'J8ZC9
F$R@9
E*PG9
IQX?9
:Mz'9
7MtH9
>JBJ\$<`.:
B:J
GY(?a,:
?9D^(>0*R:
A?H\$:30?:
@=FlT(9j2:
/4d}Y&C_.:
&+2,F9B<CD..ED;"**	??#'"BrX   