
    \hB                        S SK Jr  S SKJrJr  S SKJrJrJrJ	r	J
r
JrJrJr  S SKJr  S SKJrJr  S SKJrJr  S SKJrJr  S SKJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%  S S	K&J'r'  S S
K(J)r)J*r*J+r+J,r,J-r-J.r.J/r/  S SK0J1r1  S SK2J3r3  S SKJ4r4J5r5  S SK6J7r7  S r8S r9S r:S r;S r<S r=S r>S r?S r@S rAS rBS rCS rDS rES rFS rGS rHS  rIS! rJS" rKS# rLS$ rMS% rNS& rOS' rPS( rQS) rRS* rSS+ rTS, rUS- rVS. rWS/ rXS0 rYS1 rZS2 r[S3 r\S4 r]S5 r^S6 r_S7 r`S8 raS9 rbS: rcS; rdS< reS= rfS> rgS? rhS@ riSA rjSB rkSC rlSD rmSE rnSF roSG rpSH rqSI rrSJ rsSK rtSL ruSM rvSN rwSO rxSP rySQ rzSR r{SS r|ST r}SU r~SV rSW rSX rSY rSZ rg[)\    )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                     [        S5      u  p[        SSS9n[        [        5      [        L d   e[        [        5      [        L d   e[        [
        5      [
        L d   e[        [
        * 5      [
        * L d   e[        S5      S:X  d   e[        [        S5      (       d   e[        S5      [        S5      * :X  d   e[        [        U 5      (       d   e[        U * 5      [        U 5      * :X  d   e[        [        [        5      (       d   e[        [        * 5      [        [        5      * :X  d   e[        [        SS	-  [        -  5      (       d   e[        SS	-  * [        -  5      [        SS	-  [        -  5      * :X  d   e[        [        [        -  5      S:X  d   e[        [        * [        -  5      S:X  d   e[        S[        -  [        -  5      S:X  d   e[        S
[        -  [        -  5      S:X  d   e[        SSS-  -  [        -  [        -  5      S:X  d   e[        SSS-  -  [        -  [        -  5      S:X  d   e[        [        [        -  S-  5      [        :X  d   e[        [        * [        -  S-  5      [        * :X  d   e[        [        [        -  [        SS5      -  5      [        :X  d   e[        [        [        -  [        SS5      -  5      [        * :X  d   e[        [        [        -  S-  5      [        R                  [        S5      -  [        -  :X  d   e[        [        [        -  [        S
S5      -  5      [        SS5      [        S5      -  [        -  :X  d   e[        [        [        -  S-  5      [        R                  [        S5      -  [        -  :X  d   e[        [        * [        -  S-  5      [        SS5      [        S5      -  [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        R                  [        S5      -  [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        SS5      [        S5      -  [        -  :X  d   e[        [        [        -  S-  5      [        R                  [        -  :X  d   e[        [        * [        -  S-  5      [        SS5      [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        SS5      [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        SS5      [        -  :X  d   e[        [        [        -  S-  5      [        [        S-  5      [        -  :X  d   e[        [        * [        -  S-  5      [        [        S-  5      * [        -  :X  d   e[        [        SS[        -  -   5      (       d   e[        U [        -  5      [        U 5      [        -  :X  d   e[        U[        -  [        -  5      S:X  d   e[        SU-  [        -  [        -  5      S:X  d   e[        U[        -  [        -  S-  5      [        U[        -  S-  5      [        -  :X  d   e[        U 5      R                  SS9[!        [#        U 5      5      [        [%        U 5      5      -  [        [#        U 5      5      ['        [%        U 5      5      -  4:X  d   e[        SSS9n [        U 5      R                  SS9[        U 5      S4:X  d   e[        SSS9n [        [        U -  5      R(                  SL d   e[        U 5      R*                  SL d   e[        [        5      R*                  SL d   e[        SSS9n[        U5      R,                  SL d   e[        SSS9R,                  SL d   e[        S[        -  [        -  SS9R,                  SL d   eg )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       h/var/www/auris/envauris/lib/python3.13/site-packages/sympy/functions/elementary/tests/test_hyperbolic.py	test_sinhrW      s[   5>DA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                      [        S5      n [        U 5      R                  U SS5      X S-  S-  -   U S-  S-  -   U S-  S	-  -   U S
-  S-  -   [        U S-  5      -   :X  d   eg )NrF   r   r9   r>   rA   r=   x   r;   i  	   i )r   r   seriesr)   rF   s    rV   test_sinh_seriesr^   _   sr    sA7>>!Q#	qDF
QT#X1T	)AqDK7!ArE(BC C CrX   c                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ Nr5   )r   fdiffr]   s   rV   <lambda>!test_sinh_fdiff.<locals>.<lambda>g       tAw}}Q'7rX   r   r-   r+   r]   s   @rV   test_sinh_fdiffrg   e       sA
78rX   c                     [        S5      u  p[        SSS9n[        [        5      [        L d   e[        [        5      [        L d   e[        [
        5      [
        L d   e[        [
        * 5      [
        L d   e[        S5      S:X  d   e[        [        S5      (       d   e[        S5      [        S5      :X  d   e[        [        U 5      (       d   e[        U * 5      [        U 5      :X  d   e[        [        [        -  5      [        [        5      :X  d   e[        [        * [        -  5      [        [        5      :X  d   e[        [        SS	-  [        -  5      (       d   e[        SS	-  * [        -  5      [        SS	-  [        -  5      :X  d   e[        [        [        -  S-  5      S:X  d   e[        [        * [        -  S-  5      S:X  d   e[        S
SS-  -  S-   [        -  [        -  S-  5      S:X  d   e[        SSS-  -  S-   [        -  [        -  S-  5      S:X  d   e[        [        [        -  5      S:X  d   e[        [        * [        -  5      S:X  d   e[        S[        -  [        -  5      S:X  d   e[        S[        -  [        -  5      S:X  d   e[        [        [        -  S-  5      [        R                  :X  d   e[        [        [        -  [        SS5      -  5      [        SS5      :X  d   e[        [        [        -  S-  5      [        R                  [        S5      -  :X  d   e[        [        * [        -  S-  5      [        R                  [        S5      -  :X  d   e[        [        [        -  [        SS5      -  5      [        SS5      [        S5      -  :X  d   e[        [        [        -  [        S
S5      -  5      [        SS5      [        S5      -  :X  d   e[        [        [        -  S-  5      [        R                  [        S5      -  :X  d   e[        [        * [        -  S-  5      [        R                  [        S5      -  :X  d   e[        [        [        -  [        SS5      -  5      [        SS5      [        S5      -  :X  d   e[        [        [        -  [        SS5      -  5      [        SS5      [        S5      -  :X  d   e[        [        [        -  S-  5      [        [        S-  5      :X  d   e[        [        * [        -  S-  5      [        [        S-  5      :X  d   e[        [        SS[        -  -   5      (       d   e[        U [        -  5      [        U 5      :X  d   e[        U[        -  [        -  5      [        U[        -  5      :X  d   e[        SU-  [        -  [        -  5      [        SU-  [        -  5      :X  d   e[        [        U[        -  5      (       d   e[        U 5      R                  SS9[        [!        U 5      5      [        [#        U 5      5      -  [%        [!        U 5      5      ['        [#        U 5      5      -  4:X  d   e[        SSS9n [        U 5      R                  SS9[        U 5      S4:X  d   e[        SSS9n [        [        U -  5      R(                  SL d   e[        [        U -  5      R*                  SL d   e[        [        S-  S-   5      R*                  SL d   e[        S[        -  [        R,                  -  S-  SS9R.                  SL d   e[        U 5      R.                  SL d   eg )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_coshrn   j   s   5>DA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                      [        S5      n [        U 5      R                  U SS5      SU S-  S-  -   U S-  S-  -   U S-  S	-  -   U S
-  S-  -   [        U S-  5      -   :X  d   eg )NrF   r   r9   r3   r5   r?      rA     rj   i  )r   r   r\   r)   r]   s    rV   test_cosh_seriesrr      st    sA7>>!Q#	AqDF
QT"Wq!tCx'!Q$u*4qBx?@ @ @rX   c                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   !test_cosh_fdiff.<locals>.<lambda>   re   rX   rf   r]   s   @rV   test_cosh_fdiffrv      rh   rX   c            	         [        S5      u  p[        SSS9n[        [        5      [        L d   e[        [        5      [        L d   e[        [
        5      S:X  d   e[        [
        * 5      S:X  d   e[        S5      S:X  d   e[        [        S5      (       d   e[        S5      [        S5      * :X  d   e[        [        U 5      (       d   e[        U * 5      [        U 5      * :X  d   e[        [        [        5      (       d   e[        [        * 5      [        [        5      * :X  d   e[        [        SS	-  [        -  5      (       d   e[        SS	-  * [        -  5      [        SS	-  [        -  5      * :X  d   e[        [        [        -  5      S:X  d   e[        [        * [        -  5      S:X  d   e[        S[        -  [        -  5      S:X  d   e[        S
[        -  [        -  5      S:X  d   e[        SSS-  -  [        -  [        -  5      S:X  d   e[        SSS-  -  [        -  [        -  5      S:X  d   e[        [        [        -  S-  5      [        L d   e[        [        * [        -  S-  5      [        L d   e[        [        [        -  [        SS5      -  5      [        L d   e[        [        [        -  [        SS5      -  5      [        L d   e[        [        [        -  S-  5      [        S5      [        -  :X  d   e[        [        [        -  [        S
S5      -  5      [        S5      [        -  :X  d   e[        [        [        -  S-  5      [        :X  d   e[        [        * [        -  S-  5      [        * :X  d   e[        [        [        -  [        SS5      -  5      [        :X  d   e[        [        [        -  [        SS5      -  5      [        :X  d   e[        [        [        -  S-  5      [        [        S5      -  :X  d   e[        [        * [        -  S-  5      [        * [        S5      -  :X  d   e[        [        [        -  [        SS5      -  5      [        [        S5      -  :X  d   e[        [        [        -  [        SS5      -  5      [        [        S5      -  :X  d   e[        [        [        -  S-  5      [        [        S-  5      [        -  :X  d   e[        [        * [        -  S-  5      [        [        S-  5      * [        -  :X  d   e[        [        SS[        -  -   5      (       d   e[        U [        -  5      [        U 5      [        -  :X  d   e[        U[        -  [        -  5      S:X  d   e[        SU-  [        -  [        -  5      S:X  d   e[        U[        -  [        -  S-  5      [        U[        -  S-  5      [        -  :X  d   e[        U 5      R                  SS9[        [        U 5      5      [!        [        U 5      5      -  [#        [%        U 5      5      S-  [        [        U 5      5      S-  -   -  ['        [%        U 5      5      [#        [%        U 5      5      -  [#        [%        U 5      5      S-  [        [        U 5      5      S-  -   -  4:X  d   e[        SSS9n [        U 5      R                  SS9[        U 5      S4:X  d   e[        [        [        -  S-  S-   5      R(                  SL d   e[        U 5      R(                  SL d   e[        [        [        -  U -  S-  5      R(                  b   eg )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   rm   s      rV   	test_tanhrx      s   5>DA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                      [        S5      n [        U 5      R                  U SS5      X S-  S-  -
  SU S-  -  S-  -   SU S	-  -  S
-  -
  SU S-  -  S-  -   [        U S-  5      -   :X  d   eg )NrF   r   r9   r>   r5   r=      r@   r;   i;  >   r[   i  )r   r    r\   r)   r]   s    rV   test_tanh_seriesr|     s~    sA7>>!Q#	qDF
Qq!tVBYAqD,r!Q$wt|;a2hFG G GrX   c                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r    rb   r]   s   rV   rc   !test_tanh_fdiff.<locals>.<lambda>  re   rX   rf   r]   s   @rV   test_tanh_fdiffr     rh   rX   c            	         [        S5      u  p[        SSS9n[        [        5      [        L d   e[        [        5      [        L d   e[        [
        5      S:X  d   e[        [
        * 5      S:X  d   e[        S5      [        L d   e[        [        S5      (       d   e[        S5      [        S5      * :X  d   e[        [        U 5      (       d   e[        U * 5      [        U 5      * :X  d   e[        [        [        -  5      [        * [        [        5      -  :X  d   e[        [        * [        -  5      [        [        5      [        -  :X  d   e[        [        SS	-  [        -  5      (       d   e[        SS	-  * [        -  5      [        SS	-  [        -  5      * :X  d   e[        [        [        -  5      [        * [        [        5      -  :X  d   e[        [        * [        -  5      [        [        [        5      -  :X  d   e[        S[        -  [        -  5      [        * [        S[        -  5      -  :X  d   e[        S
[        -  [        -  5      [        [        S[        -  5      -  :X  d   e[        SSS-  -  [        -  [        -  5      [        [        SSS-  -  [        -  5      -  :X  d   e[        SSS-  -  [        -  [        -  5      [        * [        SSS-  -  [        -  5      -  :X  d   e[        [        [        -  S-  5      S:X  d   e[        [        * [        -  S-  5      S:X  d   e[        [        [        -  [        SS5      -  5      S:X  d   e[        [        [        -  [        SS5      -  5      S:X  d   e[        [        [        -  S-  5      [        * [        S5      -  :X  d   e[        [        [        -  [        S
S5      -  5      [        * [        S5      -  :X  d   e[        [        [        -  S-  5      [        * :X  d   e[        [        * [        -  S-  5      [        :X  d   e[        [        [        -  [        SS5      -  5      [        * :X  d   e[        [        [        -  [        SS5      -  5      [        * :X  d   e[        [        [        -  S-  5      [        S5      * [        -  :X  d   e[        [        * [        -  S-  5      [        S5      [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        S5      * [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        S5      * [        -  :X  d   e[        [        [        -  S-  5      [        [        S-  5      * [        -  :X  d   e[        [        * [        -  S-  5      [        [        S-  5      [        -  :X  d   e[        [        SS[        -  -   5      (       d   e[        U [        -  5      [        U 5      * [        -  :X  d   e[        U[        -  [        -  5      [        U[        -  5      * [        -  :X  d   e[        SU-  [        -  [        -  5      [        SU-  [        -  5      * [        -  :X  d   e[        U[        -  [        -  5      [        U[        -  5      * [        -  :X  d   e[        [        [        S5      5      5      [        [        [        S5      * 5      5      :X  d   e[        S[        [        -  S-  -   5      [        S5      :X  d   e[        U 5      R!                  SS9[#        [%        U 5      5      ['        [%        U 5      5      -  [)        [+        U 5      5      S-  [#        [%        U 5      5      S-  -   -  [)        [+        U 5      5      * [-        [+        U 5      5      -  [)        [+        U 5      5      S-  [#        [%        U 5      5      S-  -   -  4:X  d   e[        SSS9n [        U 5      R!                  SS9[        U 5      S4:X  d   e[/        [        SU -  5      5      [        U 5      S-  S-   S[        U 5      -  -  :X  d   e[/        [        SU -  5      5      [        U 5      S-  S[        U 5      -  -   SS[        U 5      S-  -  -   -  :X  d   e[/        [        X-   5      5      S[        U 5      [        U5      -  -   [        U 5      [        U5      -   -  :X  d   eg )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   rm   s      rV   	test_cothr     s+   5>DA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tAE{#DGDGO(;d1gQ>O'PPPPrX   c                      [        S5      n [        U 5      R                  U SS5      SU -  U S-  -   U S-  S-  -
  SU S-  -  S	-  -   U S
-  S-  -
  [        U S-  5      -   :X  d   eg )NrF   r   rj   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                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   !test_coth_fdiff.<locals>.<lambda>e  re   rX   rf   r]   s   @rV   test_coth_fdiffr   c  rh   rX   c                  t   [        S5      u  p[        SSS9n[        SSS9n[        [        5      [        L d   e[        [        5      [        L d   e[        [
        5      S:X  d   e[        [
        * 5      S:X  d   e[        S5      [        L d   e[        S5      [        S	5      * :X  d   e[        U * 5      [        U 5      * :X  d   e[        [        * 5      [        [        5      * :X  d   e[        S
S-  * [        -  5      [        S
S-  [        -  5      * :X  d   e[        [        [        -  5      [        L d   e[        [        * [        -  5      [        L d   e[        S
[        -  [        -  5      [        L d   e[        S[        -  [        -  5      [        L d   e[        SSS-  -  [        -  [        -  5      [        L d   e[        SSS-  -  [        -  [        -  5      [        L d   e[        [        [        -  S
-  5      [        * :X  d   e[        [        * [        -  S
-  5      [        :X  d   e[        [        [        -  [        SS
5      -  5      [        * :X  d   e[        [        [        -  [        SS
5      -  5      [        :X  d   e[        [        [        -  S-  5      S[        S5      -  [        -  :X  d   e[        [        [        -  [        SS5      -  5      S
[        S5      -  [        -  :X  d   e[        [        [        -  S-  5      [        S
5      * [        -  :X  d   e[        [        * [        -  S-  5      [        S
5      [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        S
5      [        -  :X  d   e[        [        [        -  [        SS5      -  5      [        S
5      [        -  :X  d   e[        [        [        -  S-  5      S[        -  :X  d   e[        [        * [        -  S-  5      S
[        -  :X  d   e[        [        [        -  [        SS5      -  5      S
[        -  :X  d   e[        [        [        -  [        SS5      -  5      S[        -  :X  d   e[        [        [        -  [        SS5      -  5      S
[        -  :X  d   e[        [        [        -  S-  5      S[        [        S-  5      -  [        -  :X  d   e[        [        * [        -  S-  5      S	[        [        S-  5      -  [        -  :X  d   e[        U [        -  5      S[        U 5      -  [        -  :X  d   e[        U[        -  [        -  5      [        L d   e[        SU-  [        -  [        -  5      [        L d   e[        U[        -  [        -  S
-  5      S[        U[        -  S
-  5      -  [        -  :X  d   e[        U5      R                  SL d   e[        [        X-   5      5      S	[        U 5      [        U5      -  [        U 5      [        U5      -  -   -  :X  d   eg )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>DA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"""tAE{#q$q'$q'/DGDGO*K'LLLLrX   c                      [        S5      n [        U 5      R                  U SS5      SU -  U S-  -
  SU S-  -  S-  -   S	U S
-  -  S-  -
  SU S-  -  S-  -   SU S-  -  S-  -
  [        U S-  5      -   :X  d   eg )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                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   !test_csch_fdiff.<locals>.<lambda>  re   rX   rf   r]   s   @rV   test_csch_fdiffr     rh   rX   c                  
   [        S5      u  p[        SSS9n[        SSS9n[        [        5      [        L d   e[        [        5      [        L d   e[        [
        5      S:X  d   e[        [
        * 5      S:X  d   e[        S5      S:X  d   e[        S	5      [        S5      :X  d   e[        U * 5      [        U 5      :X  d   e[        [        [        -  5      [        [        5      :X  d   e[        [        * [        -  5      [        [        5      :X  d   e[        S
S-  * [        -  5      [        S
S-  [        -  5      :X  d   e[        [        [        -  S
-  5      [        L d   e[        [        * [        -  S
-  5      [        L d   e[        SSS-  -  S-   [        -  [        -  S
-  5      [        L d   e[        SSS-  -  S-   [        -  [        -  S
-  5      [        L d   e[        [        [        -  5      S	:X  d   e[        [        * [        -  5      S	:X  d   e[        S[        -  [        -  5      S	:X  d   e[        S[        -  [        -  5      S:X  d   e[        [        [        -  S-  5      S
:X  d   e[        [        [        -  [        SS5      -  5      S:X  d   e[        [        [        -  S-  5      [        S
5      :X  d   e[        [        * [        -  S-  5      [        S
5      :X  d   e[        [        [        -  [        SS5      -  5      [        S
5      * :X  d   e[        [        [        -  [        SS5      -  5      [        S
5      * :X  d   e[        [        [        -  S-  5      S
[        S5      -  :X  d   e[        [        * [        -  S-  5      S
[        S5      -  :X  d   e[        [        [        -  [        SS5      -  5      S[        S5      -  :X  d   e[        [        [        -  [        SS5      -  5      S[        S5      -  :X  d   e[        [        [        -  S-  5      S[        [        S-  5      -  :X  d   e[        [        * [        -  S-  5      S[        [        S-  5      -  :X  d   e[        U [        -  5      S[        U 5      -  :X  d   e[        U[        -  [        -  5      S[        U[        -  5      -  :X  d   e[        SU-  [        -  [        -  5      S[        SU-  [        -  5      -  :X  d   e[        U5      R                  SL d   e[        [        X-   5      5      S[        U 5      [        U5      -  [!        U 5      [!        U5      -  -   -  :X  d   eg )Nzx, yr0   Tr1   r   rL   r   r3   r4   r5   r6   r8   r9   r:   r;   r<   r=   rj   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     sr   6?DA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"""tAE{#q$q'$q'/DGDGO*K'LLLLrX   c                      [        S5      n [        U 5      R                  U SS5      SU S-  S-  -
  SU S-  -  S-  -   S	U S
-  -  S-  -
  SU S-  -  S-  -   [        U S-  5      -   :X  d   eg )NrF   r   r9   r3   r5   r=   r?   rp   =   rA   rq   i  rj   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                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   !test_sech_fdiff.<locals>.<lambda>  re   rX   rf   r]   s   @rV   test_sech_fdiffr     rh   rX   c                  @   [        S5      u  p[        [        U 5      (       d   e[        U * 5      [        U 5      * :X  d   e[        [        5      [        L d   e[        S5      S:X  d   e[        S5      [	        [        S5      S-   5      :X  d   e[        S5      [	        [        S5      S-
  5      :X  d   e[        [        5      [        [        -  S-  :X  d   e[        [        * 5      [        * [        -  S-  :X  d   e[        [        S-  5      [        [        -  S-  :X  d   e[        [        * S-  5      [        * [        -  S-  :X  d   e[        [        5      [        L d   e[        [        * 5      [        * L d   e[        [        [        -  5      [        L d   e[        [        * [        -  5      [        * L d   e[        [        5      [        L d   e[        [        [        S5      S-
  -  S[        SS5      -  -  5      [        [        -  S-  :X  d   e[        [        * [        S5      S-
  -  S[        SS5      -  -  5      [        * [        -  S-  :X  d   e[        [        [        S	5      S-
  -  S
-  5      [        [        -  S-  :X  d   e[        [        * [        S	5      S-
  -  S
-  5      [        * [        -  S-  :X  d   e[        [        [        S	5      S-   -  S
-  5      [        [        -  [        SS5      -  :X  d   e[        [        * [        S	5      S-   -  S
-  5      [        [        -  [        SS5      -  :X  d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        [        5      5      R                  SL d   e[        [        [        5      * 5      R                  SL d   e[        S5      [        -
  [        * :X  d   e[        [        SSS95      R                  SL d   e[        [        SS5      5      [        [        R                  5      * :X  d   e[        [        [!        [#        S5      5      5      (       d   e[        [!        SSS95      S:X  d   e[        [!        SSS95      S:X  d   e[        [!        SSS95      S:X  d   e[        [!        [        SS95      [        :X  d   e[        [!        [        * SS95      [        * :X  d   e[        [!        S	[        -  SS95      S[        -  [        -  S	[        -  -   :X  d   e[        [!        SS[        -  -   5      5      SS
[        -  [        -  -
  S[        -  -   :X  d   e[        [!        SS[        -  -   5      5      SS[        -  -
  S[        -  [        -  -   :X  d   e[        [!        SS[        -  -
  5      5      SS[        -  [        -  -
  S[        -  -   :X  d   e[        [!        SS[        -  -
  5      5      S[        [        -  -
  S[        -  -   :X  d   e[#        SSS 9n[        U5      R$                  SL d   e[        [!        SSS9SS9R$                  SL d   eg )!Nr/   r   r3   r5   r4   rA   r>      r=   r?   r9   r8   Tr7   FrU   rI   v1rN   rz   rk   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>DA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            	         [        S5      n [        U 5      R                  [        5      [        U [	        U S-  S-   5      -   5      :X  d   e[        U 5      R                  [
        5      [        U [	        SU S-  -   5      -  5      :X  d   e[        U 5      R                  [        5      [        * [        [        U -  SS9-  :X  d   e[        U S[        -   -  5      R                  [        5      [        * [        [        U -  S[        -   -  5      -  :X  d   e[        U 5      R                  [        5      [        [        [        U -  SS9-  [        [        -  S-  -
  :X  d   eg )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                     [        S5      n [        U 5      R                  U SS9U :X  d   e[        U [        -   5      R                  U SS9[        [        -  S-  :X  d   e[        U [        -
  5      R                  U SS9[        * [        -  S-  :X  d   e[        SU -  5      R                  U SS9[        U 5      * [        S5      -   :X  d   e[        SU -  5      R                  U SS9[        U 5      [        S5      -
  [        [        -  -
  :X  d   e[        U S[        -  -   5      R                  U SS9[        [        S5      -  :X  d   e[        U S[        -  -   5      R                  U SS9[        * [        S5      -  [        [        -  -   :X  d   e[        U S[        -  -
  5      R                  U SS9[        * [        -  [        [        S5      -  -   :X  d   e[        U S[        -  -
  5      R                  U SS9[        * [        S5      -  :X  d   e[        S[        -  [        U -  -   U S-  -
  5      R                  U SS9[        S[        S5      -
  5      [        [        -  S-  -   :X  d   e[        S[        -  [        U -  -   U S-  -
  5      R                  U SS9[        S[        S5      -
  5      [        [        -  S-  -   :X  d   eg 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                  j   [        S5      n [        U 5      R                  U SS5      X S-  S-  -
  SU S-  -  S-  -   SU S-  -  S	-  -
  [        U S-  5      -   :X  d   e[        U 5      R	                  SU 5      nUSU S-  -  S-  :X  d   e[        U 5      R	                  SXS5      S
U S-  -  S	-  :X  d   eg )NrF   r   rj   r>   rA   r=   (   r;   p   rB   )r   r   r\   r)   taylor_termrF   t5s     rV   test_asinh_seriesr   R  s    sA8??1a#	qDF
Qq!tVBY1a4+a1g56 6 6	q		a	#B1a4??81!,1a4;;;rX   c                  t   [        S5      n [        U [        -   5      R                  U SS 5      [        [        -  S-  [        S5      [        [        5      -  [        -  [        U 5      -  -
  [        S5      [        [        5      -  U [        S5      S-  -  -  S-  -   S[        S5      -  [        [        5      -  [        -  U [        S5      S-  -  -  S-  -   S[        S5      -  [        [        5      -  U [        S5      S-  -  -  S	-  -
  [        U S-  5      -   :X  d   e[        U [        -
  5      R                  U SS 5      [        * [        -  S-  [        S5      [        -  [        U 5      -  [        [        * 5      -  -   [        S5      U [        S5      S-  -  -  [        [        * 5      -  S-  -   S[        S5      -  [        -  U [        S5      S-  -  -  [        [        * 5      -  S-  -
  S[        S5      -  U [        S5      S-  -  -  [        [        * 5      -  S	-  -
  [        U S-  5      -   :X  d   e[        U S[        -  -   5      R                  U SS S
S9[        [        S5      -  [        S5      [        -  U -  S-  -
  [        S5      U S-  -  S-  -   [        S5      [        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        U S[        -  -   5      R                  U SS SS9[        [        -  [        [        S5      -  -
  [        S5      [        -  U -  S-  -   [        S5      U S-  -  S-  -
  [        S5      [        -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        U S[        -  -
  5      R                  U SS S
S9[        [        S5      -  [        [        -  -
  [        S5      [        -  U -  S-  -   [        S5      U S-  -  S-  -   [        S5      [        -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        U S[        -  -
  5      R                  U SS SS9[        * [        S5      -  [        S5      [        -  U -  S-  -
  [        S5      U S-  -  S-  -
  [        S5      [        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        S[        -  [        U -  -   U S-  -
  5      R                  U SS 5      [        [        -  S-  [        S[        S5      -
  5      -   U SS[        S5      -  -   -  SS[        S5      -  -   -  -   U S-  SS[        -  -
  [        S5      SS[        -  -   -  -   -  SS[        S5      -  -   -  -   U S-  S[        S5      SS[        -  -
  -  -   S[        -  -   -  SS[        S5      -  -   -  -   [        U S-  5      -   :X  d   eg )NrF   r?   r5   r>   r   r=      r;     r3   r   r[      r4   r8   $   r      Xr       i.  )
r   r   r   _eval_nseriesr   r!   r   r)   r#   r   r]   s    rV   test_asinh_nseriesr   [  s   sAQ<%%aD1QrT!VGDGOAd1g6 $QQAaDF ;B >6?AB474PQ7ARSTATUVYZ[\Y]^_Y_U`A`adAd6ed1gId1ga!A$q&k!#%6&()!Q$60 0 0 0 Q<%%aD1aRU1WGAId1gdA2h6!%aQqT!V!4T1"X!=b!@6Ad1gIaKAaDFD!H$S(6)+,T!W9Q1a[+@qb+I#+M6NPQRSUVRVPW6X X X X 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rAd1gI~QtAwY'A(*+Q$RT	DGR"Q$Y<O0O*PRUtAwJS +AQ$tAwSU
33c!e;<ed4PQ7l>RSATVWXY[\X\V]A^ ^ ^ ^rX   c                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   "test_asinh_fdiff.<locals>.<lambda>u      uQx~~a'8rX   rf   r]   s   @rV   test_asinh_fdiffr   s      sA
89rX   c                  V   [        S5      n [        [        U * 5      (       d   e[        S5      S:X  d   e[        S5      [        [        -  :X  d   e[        S5      [        [        -  S-  :X  d   e[        [
        R                  5      [        [        -  S-  :X  d   e[        [        SS5      5      [        [        -  [        SS5      -  :X  d   e[        [        5      [        L d   e[        [        5      [        L d   e[        [        * 5      [        L d   e[        [        [        -  5      [        [        [        -  S-  -   :X  d   e[        [        * [        -  5      [        [        [        -  S-  -
  :X  d   e[        [        5      [        L d   e[        [        5      [        [        S[        S5      -   -  5      :X  d   e[        [        * 5      [        [        * S[        S5      -   -  5      :X  d   e[        [        S5      S-
  S[        S5      -  -  5      [        [        -  [        SS5      -  :X  d   e[        [        S5      S-
  * S[        S5      -  -  5      [        [        -  [        S	S5      -  :X  d   e[        [        S5      S-  5      [        [        -  S
-  :X  d   e[        [        S5      * S-  5      [        [        -  [        SS
5      -  :X  d   e[        [        S5      S-  5      [        [        -  S-  :X  d   e[        [        S5      * S-  5      [        [        -  [        SS5      -  :X  d   e[        [        S[        S5      -   5      S-  5      [        [        -  S-  :X  d   e[        [        S[        S5      -   5      * S-  5      [        [        -  [        S	S5      -  :X  d   e[        [        S[        S5      -
  5      S-  5      [        [        -  [        SS5      -  :X  d   e[        [        S[        S5      -
  5      * S-  5      [        [        -  [        SS5      -  :X  d   e[        S[        S5      -   S[        S5      -  -  5      [        [        -  S-  :X  d   e[        S[        S5      -   * S[        S5      -  -  5      [        [        -  [        SS5      -  :X  d   e[        [        S5      S-   S
-  5      [        [        -  S-  :X  d   e[        [        S5      S-   * S
-  5      [        [        -  [        S
S5      -  :X  d   e[        [        S[        -  5      R                  S5      5      S:X  d   e[        [        S[        -  5      R                  S5      5      S:X  d   e[        [        [        S5      5      (       d   e[        [        SSS95      S:X  d   e[        [        SSS95      S:X  d   e[        [        SSS95      S:X  d   e[        [        [        SS95      [        :X  d   e[        [        [        * SS95      [        :X  d   e[        [        S	[        -  SS95      S[        -  [        -  S	[        -  -   :X  d   e[        [        S[        -   5      5      S[        -   :X  d   e[        [        SS[        -  -
  5      5      SS[        -  -
  :X  d   e[        [        SS[        -  -   5      5      SS[        -  -
  :X  d   e[        [        SS[        -  -
  5      5      SS[        -  [        -  -
  S[        -  -   :X  d   e[        [        SS[        -  -   5      5      SS[        -  -
  S
[        -  [        -  -   :X  d   e[        [        [        S5      [        -   5      5      [        S5      [        -   :X  d   e[        SSS9R                   SL d   e[        [        S5      5      R"                  SL d   e[        [        S5      5      R$                  SL d   e[        [        5      R$                  SL d   e[        [        S5      5      R&                  SL d   e[        [        S5      S-  5      R"                  SL d   e[        S5      [        -
  [        * :X  d   e[        [)        SSS95      R"                  b   eg )NrF   r3   r   r4   r5   r>   r=   r   r;   r?   rA   rj   rk   z2.31244 + 1.5708*IrB   z2.31244 - 1.5708*Ir   r8   FrN   r7   r@   ir   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   x  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            	      l   [        S5      n [        U 5      R                  [        5      [        U [	        U S-
  5      [	        U S-   5      -  -   5      :X  d   e[        U 5      R                  [
        5      [	        U S-
  5      [        U 5      * [        S-  -   -  [	        SU -
  5      -  :X  d   e[        U 5      R                  [        5      [	        U S-
  5      [        [        [        U -  SS9-  [        S-  -   -  [	        SU -
  5      -  :X  d   e[        U 5      R                  [        5      [	        U S-
  5      [	        U S-   5      -  [        [	        U S-  S-
  5      U -  5      -  [	        U S-  S-
  5      -  [        [	        U S-
  5      -  U * [	        U S-  5      -  S-   -  S[	        SU -
  5      -  -  -   :X  d   e[        SSS9n [        U 5      R                  [        5      [	        U S-
  5      [	        U S-   5      -  [        [	        U S-  S-
  5      U -  5      -  [	        U S-  S-
  5      -  :X  d   eg )	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                     [        S5      n [        U 5      R                  U 5      [        [        -  S-  :X  d   e[        U S-   5      R                  U 5      [        S5      [        U 5      -  :X  d   e[        U S-
  5      R                  U 5      [        [        -  :X  d   e[        SU -  5      R                  U SS9[        U 5      * [        S5      -   :X  d   e[        SU -  5      R                  U SS9[        U 5      * [        S5      -   S[        -  [        -  -   :X  d   e[        [        U -  S-
  5      R                  U SS9[        S5      :X  d   e[        [        * U -  S-
  5      R                  U SS9S[        -  [        -  [        S5      -   :X  d   e[        U S-  [        U -  -
  [        S5      S-  -   5      R                  U SS9[        [        S5      S-  5      * :X  d   e[        U S-  [        U -  -
  [        S5      S-  -   5      R                  U SS9[        [        S5      S-  5      :X  d   e[        S[        U -  S-
  -  5      R                  U SS9[        [        S5      * S-  5      * :X  d   e[        S[        U -  S-
  -  5      R                  U SS9[        [        S5      * S-  5      :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS9[        [        S5      S-   5      [        [        -  -
  :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS9[        [        S5      S-   5      [        [        -  -
  :X  d   eg )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                     [        S5      n [        U 5      R                  U SS5      [        * U -  [        [        -  S-  -   [        U S-  -  S-  -
  S[        -  U S-  -  S-  -
  S[        -  U S	-  -  S
-  -
  [        U S-  5      -   :X  d   e[        U 5      R                  SU 5      nUS[        -  U S-  -  S-  :X  d   e[        U 5      R                  S	XS5      S[        -  U S	-  -  S
-  :X  d   eg )NrF   r   rj   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1!,Aad
3>>>rX   c                  
   [        S5      n [        U S-   5      R                  U SS 5      [        S5      [        U 5      -  [        S5      U [	        S5      S-  -  -  S-  -
  S[        S5      -  U [	        S5      S-  -  -  S-  -   S[        S5      -  U [	        S	5      S-  -  -  S
-  -
  [        U S-  5      -   :X  d   e[        U S-
  5      R                  U SS 5      [        [        -  [        S5      [        -  [        U 5      -  -
  [        S5      [        -  U [	        S5      S-  -  -  S-  -
  S[        S5      -  [        -  U [	        S5      S-  -  -  S-  -
  S[        S5      -  [        -  U [	        S	5      S-  -  -  S
-  -
  [        U S-  5      -   :X  d   e[        [        U -  S-
  5      R                  U SS SS9[        S5      [        S5      [        -  U -  S-  -
  [        S5      U S-  -  S-  -   [        S5      [        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        * U -  S-
  5      R                  U SS SS9[        S5      S[        -  [        -  -
  [        S5      [        -  U -  S-  -   [        S5      U S-  -  S-  -   [        S5      [        -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        S[        U -  S-
  -  5      R                  U SS SS9[        [	        S5      * S-  5      * [        S5      U -  S-  -   S[        S5      -  [        -  U S-  -  S-  -   S[        S5      -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        S[        U -  S-
  -  5      R                  U SS SS9[        [	        S5      * S-  5      [        S5      U -  S-  -
  S[        S5      -  [        -  U S-  -  S-  -
  S[        S5      -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS 5      [        * [        -  [        [        S5      S-   5      -   U S[        S5      -  S-
  -  S[        S5      -  S-   -  -   U S-  SS[        -  -   [        S5      SS[        -  -   -  -   -  S[        S5      -  S-   -  -   U S-  SS[        -  -   [        S5      SS[        -  -   -  -   -  S[        S5      -  S-   -  -   [        U S-  5      -   :X  d   eg ) NrF   r3   r?   r5   r>   r   r=   r   r;   r   r   r7   r[   r   r@   @       r4   rA   ir   r   r   ?   r   r   ir   r   i  )	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r$q'zA~$q'	A&@')*AsRTzDGR"Q$Y<O/O)PRTUYZ[U\R\S *@
Q$s1utAwc!e44
5tDG|d7J
K@LNOPQSTPTg@V V V VrX   c                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   "test_acosh_fdiff.<locals>.<lambda>   r   rX   rf   r]   s   @rV   test_acosh_fdiffr     r   rX   c                     [        S5      n [        [        U * 5      (       d   e[        S5      S:X  d   e[        S5      [        [        -  :X  d   e[        S5      [
        L d   e[        S5      [        [        -  S-  :X  d   e[        S5      S[        -  [        -  S-  :X  d   e[        [        5      [        L d   e[        [
        5      [        [        -  S-  :X  d   e[        [
        * 5      [        [        -  S-  :X  d   e[        [        5      [        [        [        * S-  [        S-  5      -  :X  d   e[        [        5      [        S[        S5      -   5      [        [        -  S-  -
  :X  d   e[        [        * 5      [        S[        S5      -   5      [        [        -  S-  -   :X  d   e[        [        S5      [        S5      -
  5      S	[        -  [        -  S
-  :X  d   e[        [        SS[        S5      -  -
  5      5      [        [        -  S-  :X  d   e[        [        SS[        S5      -  -
  5      * 5      S[        -  [        -  S-  :X  d   e[        S[        S[        S5      -   5      -  5      [        [        -  S-  :X  d   e[        S[        S[        S5      -   5      -  5      S[        -  [        -  S-  :X  d   e[        [        S5      S-
  5      [        [        -  S-  :X  d   e[        S[        S5      -
  5      S[        -  [        -  S-  :X  d   e[        [        SS[        S5      -   -  5      * 5      S[        -  [        -  S-  :X  d   e[        [        S5      5      [        S[        S5      -  5      :X  d   e[        S[        S5      -  5      [        [        S5      S-  5      :X  d   e[        S[        S[        S5      -   5      -  5      [        [        S[        S5      -   5      S-  5      :X  d   e[        S5      [        [        R                  5      :X  d   e[        [        S5      5      R                  SL d   e[        [        S5      * S-  5      R                  SL d   e[        [        S5      S-  5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                   SL d   e[        [#        SSS95      R                  b   e[        [        S5      * 5      [        [%        S[        S5      -  5      -  :X  d   e[        S[        S5      -  5      [        [%        [        S5      * S-  5      -  :X  d   e[        [        S5      * 5      [        [%        ['        SS5      5      -  :X  d   e[        S[        S5      -  5      [        [%        [        S5      * S-  5      -  :X  d   e[)        [+        [        [        S5      [        S5      -
  5      5      [        S5      [        S5      -
  -  5      S:X  d   e[)        [+        [        [        S5      [        S5      -   5      5      [        S5      [        S5      -   -  5      S:X  d   e[+        [        [        SS[        S5      -  -   5      5      5      [        SS[        S5      -  -   5      -  R-                  5       S:X  d   e[+        [        [        SS[        S5      -  -   5      * 5      5      [        SS[        S5      -  -   5      * -  R-                  5       S:X  d   e[+        [        [        SS[        S5      -   -  5      5      5      [        SS[        S5      -   -  5      -  R-                  5       S:X  d   e[)        [+        [        S[        S5      -   5      5      S[        S5      -   -  5      S:X  d   e[)        [+        [        S[        S5      -
  5      5      S[        S5      -
  -  5      S:X  d   e[)        [+        [        [        S5      * [        S5      -
  5      5      [        S5      * [        S5      -
  -  5      S:X  d   e[/        [        S[        -  5      R1                  S5      5      S:X  d   e[/        [        S[        -  5      R1                  S5      5      S:X  d   eg )NrF   r3   r   r4   r5   r>   r7   rA   rk   r   r=   r9   r[   rj   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                     [        S5      n [        U 5      R                  U SS9[        U 5      * [        S5      -   :X  d   e[        U 5      R                  U SS9[        U 5      * [        S5      -   S[        -  [
        -  -   :X  d   e[        U S-   5      R                  U SS9[        S5      [        -  [        U 5      -  :X  d   e[        SU -  5      R                  U SS9[        [
        -  S-  :X  d   e[        U S-
  5      R                  U SS9[        [
        -  :X  d   e[        [        U -  S-   5      R                  U SS9[        S5      * :X  d   e[        [        * U -  S-   5      R                  U SS9[        S5      :X  d   e[        [        U -  S-
  5      R                  U SS9[        S5      * :X  d   e[        [        * U -  S-
  5      R                  U SS9[        S5      :X  d   e[        [        U -  [        S5      S-  -
  5      R                  U SS9S[        -  [
        -  [        [        S5      * S-  5      -   :X  d   e[        [        U -  [        S5      S-  -
  5      R                  U SS9[        [        S5      * S-  5      :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS9[        [        S5      * S-  S[        S5      -  [        -  S-  -   5      :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS9[        [        S5      * S-  S[        S5      -  [        -  S-  -   5      :X  d   eg )	NrF   r3   r   r5   r4   r>   r8   r7   )r   r   r   r   r   r   r!   r   r]   s    rV   test_asech_leading_termr   E  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                     [        S5      n [        U 5      R                  U SSSS9[        S5      [        U 5      -
  U S-  S-  -
  SU S-  -  S	-  -
  S
U S-  -  S-  -
  SU S-  -  S-  -
  [	        U S-  5      -   :X  d   e[        U 5      R                  U SSSS9[
        [        -  [        S5      -   [        U * 5      -
  U S-  S-  -
  SU S-  -  S	-  -
  S
U S-  -  S-  -
  SU S-  -  S-  -
  [	        U S-  5      -   :X  d   e[        U 5      R                  SU 5      nUSU S-  -  S-  :X  d   e[        U 5      R                  SXS5      SU S-  -  S-  :X  d   eg )NrF   r   r[   r3   r   r5   r?   r>       r=   rA   `   #   rj   r6   r4   rB   i)r   r   r\   r   r)   r   r   r   )rF   t6s     rV   test_asech_seriesr   Y  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1!,AqD===rX   c                  	   [        S5      n [        U S-   5      R                  U SS 5      [        S5      [        U * 5      -  S[        S5      -  U * [	        S5      S-  -  -  S-  -   S[        S5      -  U * [	        S5      S-  -  -  S	-  -   S
[        S5      -  U * [	        S5      S-  -  -  S-  -   [        U S-  5      -   :X  d   e[        U S-
  5      R                  U SS 5      [        [        -  [        S5      [        U 5      -  -   S[        S5      -  U [	        S5      S-  -  -  S-  -   S[        S5      -  U [	        S5      S-  -  -  S	-  -   S
[        S5      -  U [	        S5      S-  -  -  S-  -   [        U S-  5      -   :X  d   e[        [        U -  S-   5      R                  U SS 5      [        S5      * [        S5      U -  S-  -   S[        S5      -  [        -  U S-  -  S-  -
  S[        S5      -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        [        * U -  S-   5      R                  U SS 5      [        S5      [        S5      U -  S-  -   S[        S5      -  [        -  U S-  -  S-  -   S[        S5      -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        [        U -  S-
  5      R                  U SS 5      [        S5      * [        S5      U -  S-  -
  S[        S5      -  [        -  U S-  -  S-  -
  S[        S5      -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        * U -  S-
  5      R                  U SS 5      [        S5      [        S5      U -  S-  -
  S[        S5      -  [        -  U S-  -  S-  -   S[        S5      -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS 5      S[        -  [        -  S-  U [        S5      * S[        -  -   -  S[        S5      -  S[        -  -   -  -   U S-  S[        S5      SS[        -  -
  -  -   S[        -  -   -  S[        S5      -  S[        -  -
  -  -   [        U S-  5      -   :X  d   eg )NrF   r3   r?   r5   r=   r>   r   +   r      r;   r   r@   r   r   r   r8   rA   r   r   H   )r   r   r   r!   r   r)   r   r   r]   s    rV   test_asech_nseriesr   d  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x!A#~$q'	AaC(@)+,a4d1gq2a4x6H1H2a41O+PRTUYZ[U\R\qDS	 ,
@
adG@   rX   c            
         [        S5      n [        U 5      R                  [        5      [        SU -  [	        SU -  S-
  5      [	        SU -  S-   5      -  -   5      :X  d   e[        U 5      R                  [
        5      [        SU -  5      :X  d   e[        U 5      R                  [        5      [	        SSU -  -   5      [        [        [        U -  SS9-  [        S-  -   -  [	        SSU -  -
  5      -  :X  d   e[        U 5      R                  [        5      [	        U S-   5      [	        SU S-   -  5      -  [        [	        SU S-  -
  5      5      -  [        [        -  [	        U 5      * [	        SU -  5      -  S-   [        [	        U S-  5      -  S[	        U S-  * 5      -  -  -
  [        [	        U * 5      -  S[	        U 5      -  -  -
  -  -   :X  d   eg )NrF   r3   r4   FrN   r5   )
r   r   r   r   r!   r   r   r   r   r   r]   s    rV   test_asech_rewriter   z  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                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   "test_asech_fdiff.<locals>.<lambda>  r   rX   rf   r]   s   @rV   test_asech_fdiffr     r   rX   c                     [        S5      n [        [        U 5      (       d   e[        U * 5      [        U 5      * :X  d   e[        S5      [        S[	        S5      -   5      :X  d   e[        S5      [        S[	        S5      -   5      * :X  d   e[        S5      [
        L d   e[        S5      [        S[	        S5      -   S-  5      :X  d   e[        S5      [        S[	        S5      -   S-  5      * :X  d   e[        [        5      [        * [        -  S-  :X  d   e[        [        * 5      [        [        -  S-  :X  d   e[        [        * [	        S5      [	        S5      -   -  5      [        [        -  S	-  :X  d   e[        [        [	        S5      [	        S5      -   -  5      [        * [        -  S	-  :X  d   e[        [        * S[	        S5      -   -  5      [        [        -  S
-  :X  d   e[        [        S[	        S5      -   -  5      [        * [        -  S
-  :X  d   e[        [        * S-  [	        S[	        S5      -
  5      -  5      [        [        -  S-  :X  d   e[        [        S-  [	        S[	        S5      -
  5      -  5      [        * [        -  S-  :X  d   e[        [        * S-  5      [        [        -  S-  :X  d   e[        [        S-  5      [        * [        -  S-  :X  d   e[        [        * [	        SS[	        S5      -  -   5      -  5      [        [        -  S-  :X  d   e[        [        [	        SS[	        S5      -  -   5      -  5      [        * [        -  S-  :X  d   e[        [        * [	        S5      -  5      [        [        -  S-  :X  d   e[        [        [	        S5      -  5      [        * [        -  S-  :X  d   e[        [        * [	        S5      S-
  -  5      S[        -  [        -  S
-  :X  d   e[        [        [	        S5      S-
  -  5      S[        -  [        -  S
-  :X  d   e[        [        * S-  [	        S5      -  5      [        [        -  S-  :X  d   e[        [        S-  [	        S5      -  5      [        * [        -  S-  :X  d   e[        [        * S-  [	        S[	        S5      -   5      -  5      S[        -  [        -  S-  :X  d   e[        [        S-  [	        S[	        S5      -   5      -  5      S[        -  [        -  S-  :X  d   e[        [        * [	        SS[	        S5      -  -
  5      -  5      S[        -  [        -  S-  :X  d   e[        [        [	        SS[	        S5      -  -
  5      -  5      S[        -  [        -  S-  :X  d   e[        [        * [	        S5      [	        S5      -
  -  5      S[        -  [        -  S	-  :X  d   e[        [        [	        S5      [	        S5      -
  -  5      S[        -  [        -  S	-  :X  d   e[        [        5      [        L d   e[        [        * [	        S5      -  5      [        [        [	        S5      -  5      :X  d   e[        [        * S-  [	        S5      -  5      [        [        [	        S5      -  S-  5      :X  d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        [        5      5      R                  SL d   e[        [        [        5      * 5      R                  SL d   e[        S5      [        -
  [        * :X  d   e[        [        SSS95      R                  SL d   e[        [        * [	        S5      -  5      [        * [!        S[	        S5      -  5      -  :X  d   e[        [        * S-  [	        S5      -  5      [        * [!        [	        S5      * S-  5      -  :X  d   e[#        [%        [        [        * [	        S5      [	        S5      -   -  5      5      [        * [	        S5      [	        S5      -   -  -  5      S:X  d   e[#        [%        [        [        S[	        S5      -   -  5      5      [        S[	        S5      -   -  -  5      S:X  d   e[%        [        [        [	        SS[	        S5      -  -
  5      -  5      5      [        [	        SS[	        S5      -  -
  5      -  -  R'                  5       S:X  d   e[%        [        [        * [	        SS[	        S5      -  -
  5      -  5      5      [        * [	        SS[	        S5      -  -
  5      -  -  R'                  5       S:X  d   e[)        [        S[        -  S-   5      R+                  S5      5      S:X  d   e[)        [        S[        -  S-   5      R+                  S5      5      S:X  d   eg )NrF   r3   r5   r4   r   r=   r7   rA   r   r9   rj   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                      [        [        5      S:X  d   e[        [        * 5      S:X  d   e[        [        5      S:X  d   eg )Nr   )r   r   r    rX   rV   test_acsch_infinitiesr     s4    9>>":??:??rX   c                     [        S5      n [        SU -  5      R                  U 5      U :X  d   e[        U [        -   5      R                  U 5      [        * [        -  S-  :X  d   e[        U [        -
  5      R                  U 5      [        [        -  S-  :X  d   e[        U 5      R                  U SS9[        U 5      * [        S5      -   :X  d   e[        U 5      R                  U SS9[        U 5      [        S5      -
  [        [        -  -
  :X  d   e[        U [        S-  -   5      R                  U SS9[        * [        -  [        [        S-  5      -
  :X  d   e[        U [        S-  -   5      R                  U SS9[        [        S-  5      :X  d   e[        U [        S-  -
  5      R                  U SS9[        [        S-  5      * :X  d   e[        U [        S-  -
  5      R                  U SS9[        [        S-  5      [        [        -  -   :X  d   e[        [        S-  [        U -  -   U S-  -
  5      R                  U SS9[        S[        S5      -
  5      [        [        -  S-  -
  :X  d   e[        [        S-  [        U -  -   U S-  -
  5      R                  U SS9[        S[        S5      -
  5      [        [        -  S-  -
  :X  d   eg )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                     [        S5      n [        U 5      R                  U SS5      [        S5      [        U 5      -
  U S-  S-  -   SU S-  -  S-  -
  SU S	-  -  S
-  -   SU S-  -  S-  -
  [	        U S-  5      -   :X  d   e[        U 5      R                  SU 5      nUSU S-  -  S-  :X  d   e[        U 5      R                  S	XS5      SU S	-  -  S
-  :X  d   eg )NrF   r   r[   r5   r?   r>   r   r=   rA   r   r   rj   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1!,!Q$r	999rX   c                  8   [        S5      n [        U [        -   5      R                  U SS 5      [        * [        -  S-  [        S5      [        -  [        U 5      -  [        [        * 5      -  -   SU [        S5      S-  -  -  S[        -
  -  S-  -
  S[        S5      -  [        -  U [        S5      S-  -  -  [        [        * 5      -  S	-  -
  S
U [        S5      S-  -  -  S[        -
  -  S-  -   [        U S-  5      -   :X  d   e[        U [        -
  5      R                  U SS 5      [        [        -  S-  [        S5      [        [        5      -  [        -  [        U 5      -  -
  SU [        S5      S-  -  -  S[        -   -  S-  -
  S[        S5      -  [        [        5      -  [        -  U [        S5      S-  -  -  S	-  -   S
U [        S5      S-  -  -  S[        -   -  S-  -   [        U S-  5      -   :X  d   e[        U [        S-  -   5      R                  U SS SS9[        [        S-  5      * [        [        -  -
  S[        S5      -  [        -  U -  S-  -   S[        S5      -  U S-  -  S-  -
  S[        S5      -  [        -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        U [        S-  -   5      R                  U SS SS9[        [        S-  5      S[        S5      -  [        -  U -  S-  -
  S[        S5      -  U S-  -  S-  -   S[        S5      -  [        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        U [        S-  -
  5      R                  U SS SS9[        [        S-  5      * S[        S5      -  [        -  U -  S-  -
  S[        S5      -  U S-  -  S-  -
  S[        S5      -  [        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        U [        S-  -
  5      R                  U SS SS9[        [        -  [        [        S-  5      -   S[        S5      -  [        -  U -  S-  -   S[        S5      -  U S-  -  S-  -   S[        S5      -  [        -  U S-  -  S-  -
  [        U S-  5      -   :X  d   e[        [        S-  [        U -  -   U S-  -
  5      R                  U SS 5      [        * [        -  S-  [        S[        S5      -
  5      -   U SS[        S5      -  -
  -  SS[        S5      -  -   -  -   U S-  S[        S5      SS[        -  -
  -  -   S[        -  -   -  SS[        S5      -  -   -  -   U S-  SS[        -  -
  [        S5      SS[        -  -   -  -   -  SS[        S5      -  -   -  -   [        U S-  5      -   :X  d   eg )NrF   r?   r5   r=   r>   r3   r   r   r   r   r;   r   r   rj   r[      r4   r   i8   T      r   r   i
  ii  ii  )	r   r   r   r   r   r!   r   r)   r   r]   s    rV   test_acsch_nseriesr    s   sAQ<%%aD1aRU1WGAId1gdA2h6!"1qtAv;A!6r!96:tAwJqLQqT!VT1"X%c)6*,/AaDFOQU,CC,G6HJKAqD'6R R R R Q<%%aD1QrT!VGDGOAd1g6 !!ad1f+q1u 5b 869tAwJtAwqQqT!V$S(6)+.q1Q46{?AE+B3+F6GIJ1a46Q Q Q Q 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"qay.)2$q'	>:A;=>T3GR"Q$YDa%D  >!"%47
"2>4A467dD46MGUT!V^= 7#c$q'k173A3 67q!tWA= = = =rX   c            	         [        S5      n [        U 5      R                  [        5      [        SU -  [	        SU S-  -  S-   5      -   5      :X  d   e[        U 5      R                  [
        5      [        SU -  5      :X  d   e[        U 5      R                  [        5      [	        U S-  * 5      [	        U S-  S-   S-  * 5      * [        [	        U S-  S-   5      5      -  U S-  S-   -  [        S-  -   -  U -  :X  d   eg 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                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   "test_acsch_fdiff.<locals>.<lambda>  r   rX   rf   r]   s   @rV   test_acsch_fdiffr    r   rX   c            
      L   [        S5      n [        S5      S:X  d   e[        [        5      [        [        -  S-  :X  d   e[        [        * 5      [        * [        -  S-  :X  d   e[        S5      [        L d   e[        S5      [        * L d   e[        [
        5      [
        L d   e[        [        5      [        * [        -  S-  :X  d   e[        [        * 5      [        [        -  S-  :X  d   e[        [        [        -  5      [        [        -  S-  :X  d   e[        [        * [        -  5      [        * [        -  S-  :X  d   e[        [        5      [        [        [        * S-  [        S-  5      -  :X  d   e[        U * 5      [        U 5      * :X  d   e[        [        S5      5      R                  SL d   e[        [        S5      S-  5      R                  S	L d   e[        [        S
S	S95      R                  b   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  S	L d   e[        [        S5      5      R                  SL d   e[        [        [        S5      -  5      [        [        -  S-  :X  d   e[        [        * [        S5      -  5      [        * [        -  S-  :X  d   e[        [        [        S5      -  5      [        [        -  S-  :X  d   e[        [        * [        S5      -  5      [        * [        -  S-  :X  d   e[        [        S[        S5      -   -  5      [        [        -  [        SS5      -  :X  d   e[        [        [        S5      S-
  -  5      [        [        -  S-  :X  d   e[        [        S[        S5      -
  -  5      [        * [        -  S-  :X  d   e[        [        * S[        S5      -   -  5      [        [        -  [        SS5      -  :X  d   e[        [        [        SS[        S5      -  -   5      -  5      [        [        -  [        SS5      -  :X  d   e[        [        * [        SS[        S5      -  -   5      -  5      [        [        -  [        SS5      -  :X  d   e[        [        S[        S5      -
  -  5      [        [        -  S-  :X  d   e[        [        [        S5      S-
  -  5      [        * [        -  S-  :X  d   e[        [        5      [        * [        -  S-  :X  d   e[        [        SS5      5      [        [        R                  5      * :X  d   e[        [        [!        [        S5      5      5      (       d   e[        [!        SSS95      S:X  d   e[        [!        SSS95      S:X  d   e[        [!        SSS95      S:X  d   e[        [!        [        SS95      [        :X  d   e[        [!        [        * SS95      [        * :X  d   e[        [!        S[        -  SS95      S[        -  S[        -  [        -  -   :X  d   e[        [!        S[        -   5      5      S[        -   :X  d   e[        [!        SS[        -  -   5      5      SS[        -  [        -  -
  S[        -  -   :X  d   e[        [!        [        S-  5      5      [        S-  :X  d   e[        [!        [        5      5      [        :X  d   e[        [!        SS[        -  -   5      5      SS[        -  [        -  -
  S[        -  -   :X  d   e[        [!        S[        S-  S-  -
  5      5      S[        S-  S-  -
  :X  d   e[        [!        SS[        -  -
  5      5      SS[        -  -
  S[        -  [        -  -   :X  d   eg )NrF   r   r?   r3   r4   r5   Fr=   TrU   rG   r>   rA   rj   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    s3   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            
         [        S5      n [        U 5      R                  [        5      [        SU -   5      [        SU -
  5      -
  S-  :X  d   e[        U 5      R                  [        5      [
        U -  S[        U S-  * 5      -  -  [        U * 5      [        SU S-  -
  5      -  [        SU S-  S-
  -  5      -  [	        [        SU S-  S-
  -  5      5      -  [        U 5      -  -
  :X  d   eg r  )r   r   r   r   r   r   r!   r]   s    rV   test_atanh_rewriter  W  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   [        S5      n [        U 5      R                  U 5      U :X  d   e[        U S-   5      R                  U SS9[        U 5      * S-  [        S5      S-  -   [        [
        -  S-  -
  :X  d   e[        U S-   5      R                  U SS9[        U 5      * S-  [        S5      S-  -   [        [
        -  S-  -   :X  d   e[        U S-
  5      R                  U SS9[        U 5      S-  [        S5      S-  -
  :X  d   e[        U S-
  5      R                  U SS9[        U 5      S-  [        S5      S-  -
  :X  d   e[        SU -  5      R                  U SS9[        * [
        -  S-  :X  d   e[        SU -  5      R                  U SS9[        [
        -  S-  :X  d   e[        [        U -  S-   5      R                  U SS9[        S5      [        [
        -  -   :X  d   e[        [        * U -  S-   5      R                  U SS9[        S5      :X  d   e[        [        U -  S-
  5      R                  U SS9[        S5      * :X  d   e[        [        * U -  S-
  5      R                  U SS9[        * [
        -  [        S5      -
  :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS9[        S5      * S-  [        [
        -  S-  -
  :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS9[        S5      * S-  [        [
        -  S-  -
  :X  d   eg r   )r   r   r   r   r   r   r]   s    rV   test_atanh_leading_termr  ^  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                      [        S5      n [        U 5      R                  U SS5      X S-  S-  -   U S-  S-  -   U S-  S-  -   U S-  S-  -   [        U S-  5      -   :X  d   eg )NrF   r   r9   r>   r=   r;   r[   )r   r   r\   r)   r]   s    rV   test_atanh_seriesr  r  so    sA8??1a$	qDF
QT!Vad1f$q!tAv-!R%89 9 9rX   c                  	   [        S5      n [        U S-   5      R                  U SS SS9[        * [        -  S-  [        S5      S-  -   [        U 5      S-  -
  U S-  -   U S-  S-  -
  U S-  S-  -   [        U S-  5      -   :X  d   e[        U S-   5      R                  U SS S	S9[        [        -  S-  [        S5      S-  -   [        U 5      S-  -
  U S-  -   U S-  S-  -
  U S-  S-  -   [        U S-  5      -   :X  d   e[        U S-
  5      R                  U SS SS9[        S5      * S-  [        U 5      S-  -   U S-  -   U S-  S-  -   U S-  S-  -   [        U S-  5      -   :X  d   e[        U S-
  5      R                  U SS S	S9[        S5      * S-  [        U 5      S-  -   U S-  -   U S-  S-  -   U S-  S-  -   [        U S-  5      -   :X  d   e[        [        U -  S-   5      R                  U SS SS9[        [        -  [        S5      -   [        U -  S-  -
  SU S-  -  S
-  -
  S[        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        U -  S-   5      R                  U SS S	S9[        S5      [        U -  S-  -
  SU S-  -  S
-  -
  S[        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        U -  S-
  5      R                  U SS SS9[        S5      * [        U -  S-  -
  SU S-  -  S
-  -   S[        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        U -  S-
  5      R                  U SS S	S9[        S5      * [        [        -  -
  [        U -  S-  -
  SU S-  -  S
-  -   S[        -  U S-  -  S-  -   [        U S-  5      -   :X  d   e[        [        * U S-  -  U -   S-
  5      R                  U SS 5      [        * [        -  S-  [        S5      S-  -
  U S-  -
  U S-  [        S5      * S-  [        S-  -   -  -   U S-  [        S5      S-  [        S-  -
  -  -   U S-  [        S5      * S-  [        S-  -   -  -   U S-  [        S5      S-  [        S-  -
  -  -   [        U S-  5      -   :X  d   eg )NrF   r3   r?   r   r5   r   r>   0   r4   r[   r   Q   r   rA      r   )r   r   r   r   r   r   r)   r   r]   s    rV   test_atanh_nseriesr  x  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                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   "test_atanh_fdiff.<locals>.<lambda>  r   rX   rf   r]   s   @rV   test_atanh_fdiffr    r   rX   c            
         [        S5      n [        S5      [        [        -  S-  :X  d   e[        [        5      [        * [        -  S-  :X  d   e[        [        * 5      [        [        -  S-  :X  d   e[        S5      [        L d   e[        S5      [        * L d   e[        [
        5      [
        L d   e[        [        5      S:X  d   e[        [        * 5      S:X  d   e[        [        [        -  5      S:X  d   e[        [        * [        -  5      S:X  d   e[        [        5      S:X  d   e[        U * 5      [        U 5      * :X  d   e[        [        [        S5      -  5      [        * [        -  S-  :X  d   e[        [        * [        S5      -  5      [        [        -  S-  :X  d   e[        [        [        S5      -  5      [        * [        -  S-  :X  d   e[        [        * [        S5      -  5      [        [        -  S-  :X  d   e[        [        S[        S5      -   -  5      [        * [        -  S	-  :X  d   e[        [        * [        S5      S-   -  5      [        [        -  S	-  :X  d   e[        [        S[        S5      -
  -  5      [        [        -  [        SS	5      -  :X  d   e[        [        [        S5      S-
  -  5      [        [        -  [        S
S	5      -  :X  d   e[        [        [        SS[        S5      -  -   5      -  5      [        * [        -  S-  :X  d   e[        [        * [        SS[        S5      -  -   5      -  5      [        [        -  S-  :X  d   e[        [        S[        S5      -   -  5      [        * [        -  S-  :X  d   e[        [        * S[        S5      -   -  5      [        [        -  S-  :X  d   e[        [        S[        S5      -
  -  5      [        [        -  [        SS5      -  :X  d   e[        [        [        S5      S-
  -  5      [        [        -  [        SS5      -  :X  d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        S5      5      R                  SL d   e[        [        SSS95      R                  b   e[        [        SS5      5      [        [        R                  5      * :X  d   eg )NrF   r   r5   r?   r3   r4   r>   rA   rj   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            
      Z   [        S5      n [        U 5      R                  [        5      [        SSU -  -   5      [        SSU -  -
  5      -
  S-  :X  d   e[        U 5      R                  [        5      [	        SU -  5      :X  d   e[        U 5      R                  [
        5      U [        U S-  5      -  [        [        SU S-  S-
  -  5      5      -  [        [        -  [        U S-
  U -  5      [        X S-
  -  5      -  [        X S-   -  5      [        SSU -  -   5      -  -
  -  S-  -   :X  d   eg )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/$qVWRWy/:Y\`abhidiaj\klpqruvwxuxqxly\y:y4z{|4||} } }rX   c                  8   [        S5      n [        U S-   5      R                  U SS9[        U 5      * S-  [        S5      S-  -   :X  d   e[        U S-   5      R                  U SS9[        U 5      * S-  [        S5      S-  -   :X  d   e[        U S-
  5      R                  U SS9[        U 5      S-  [        S5      S-  -
  [        [
        -  S-  -   :X  d   e[        U S-
  5      R                  U SS9[        U 5      S-  [        S5      S-  -
  [        [
        -  S-  -
  :X  d   e[        U 5      R                  U SS9[        [
        -  S-  :X  d   e[        U 5      R                  U SS9[        * [
        -  S-  :X  d   e[        [        U -  S-   5      R                  U SS9[        S5      :X  d   e[        [        * U -  S-   5      R                  U SS9[        S5      [        [
        -  -   :X  d   e[        [        U -  S-
  5      R                  U SS9[        * [
        -  [        S5      -
  :X  d   e[        [        * U -  S-
  5      R                  U SS9[        S5      * :X  d   e[        [        * U S-  -  U -
  [        S5      S-  -
  5      R                  U SS9[        S5      * S-  [        [
        -  S-  -   :X  d   e[        [        * U S-  -  U -
  [        S5      S-  -
  5      R                  U SS9[        S5      * S-  [        [
        -  S-  -   :X  d   eg )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                      [        S5      n [        U 5      R                  U SS5      [        * [        -  S-  U -   U S-  S-  -   U S-  S-  -   U S-  S-  -   U S-  S-  -   [        U S-  5      -   :X  d   eg )	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                     [        S5      n [        U S-   5      R                  U SS 5      [        S5      S-  [        U 5      S-  -
  U S-  -   U S-  S-  -
  U S-  S-  -   [	        U S-  5      -   :X  d   e[        U S-
  5      R                  U SS SS9[
        [        -  S-  [        S5      S-  -
  [        U 5      S-  -   U S-  -   U S-  S-  -   U S-  S-  -   [	        U S-  5      -   :X  d   e[        U S-
  5      R                  U SS S	S9[
        * [        -  S-  [        S5      S-  -
  [        U 5      S-  -   U S-  -   U S-  S-  -   U S-  S-  -   [	        U S-  5      -   :X  d   e[        [
        U -  [        S5      S-  -   5      R                  U SS SS9[        [        S5      S-  5      S[
        -  U -  S-  -   S
U S-  -  S-  -
  S[
        -  U S-  -  S-  -
  [	        U S-  5      -   :X  d   e[        [
        U -  [        S5      S-  -   5      R                  U SS S	S9[
        [        -  [        [        S5      S-  5      -   S[
        -  U -  S-  -   S
U S-  -  S-  -
  S[
        -  U S-  -  S-  -
  [	        U S-  5      -   :X  d   e[        [
        U -  [        S5      S-  -
  5      R                  U SS SS9[        [        S5      S-  5      * [
        [        -  -
  S[
        -  U -  S-  -   S
U S-  -  S-  -   S[
        -  U S-  -  S-  -
  [	        U S-  5      -   :X  d   e[        [
        U -  [        S5      S-  -
  5      R                  U SS S	S9[        [        S5      S-  5      * S[
        -  U -  S-  -   S
U S-  -  S-  -   S[
        -  U S-  -  S-  -
  [	        U S-  5      -   :X  d   e[        [
        * U S-  -  U -
  [        S5      S-  -
  5      R                  U SS 5      [
        [        -  S-  [        S5      S-  -
  SU -  S-  -
  U S-  [        S
5      * S-  S[
        -  S-  -   -  -   S[
        -  U S-  -  -
  U S-  [        S5      S-  S[
        -  S-  -
  -  -   S
U S-  -  S-  -
  [	        U S-  5      -   :X  d   eg )NrF   r3   r?   r5   r   r>   r  r   r4   rj   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                  D   ^  [        S5      m [        [        U 4S j5        g )NrF   c                  8   > [        T 5      R                  S5      $ ra   )r   rb   r]   s   rV   rc   "test_acoth_fdiff.<locals>.<lambda>  r   rX   rf   r]   s   @rV   test_acoth_fdiffr-     r   rX   c                    ^  [        S5      m [        T 5      R                  5       [        :X  d   e[	        [
        U 4S j5        [        T 5      R                  5       [        :X  d   e[        T 5      R                  5       [        :X  d   e[        T 5      R                  5       [        :X  d   e[        T 5      R                  5       [        :X  d   e[        T 5      R                  5       [        :X  d   e[        T 5      R                  5       [        :X  d   e[        T 5      R                  5       [        :X  d   e[        T 5      R                  5       [        :X  d   eg )NrF   c                  6   > [        T 5      R                  5       $ )N)r   inverser]   s   rV   rc   test_inverses.<locals>.<lambda>  s    47??#4rX   )r   r   r0  r   r-   AttributeErrorr    r   r   r   r   r   r   r   r   r   r]   s   @rV   test_inversesr3    s   sA7??%%%
>457??%%%7??%%%8%%%8%%%8%%%8%%%8%%%8%%%rX   c                  0   [        S5      n [        U 5      R                  U 5      S:X  d   e[        U 5      R                  U 5      SU -  :X  d   e[        [
        4 H   nU" U 5      R                  U 5      U :X  a  M    e   [        [        [
        [        4 H>  nSU -  [        R                  4 H"  nU" U5      nUR                  U 5      U:X  a  M"   e   M@     [        [        4 H0  nU" [        R                  5      nUR                  U 5      U:X  a  M0   e   g )NrF   r3   )
r   r   r   r   r   r    r   rP   r   r   )rF   funcareqs       rV   test_leading_termr8    s    sA7""1%***7""1%1,,,tAw&&q)Q... tT4(Q3-BbB%%a(B...   ) t!&&\!!!$*** rX   c            	         [        SSS9u  pX[        -  -   n[        [        [        [
        [        [        4 H.  nU" U5      R                  5       U" X[        -  -
  5      :X  a  M.   e   S GH^  n[        U5      R                  SUS9[        U 5      [        U5      -  [        [        U 5      -  [        U5      -  -   :X  d   e[        U5      R                  SUS9[        U 5      [        U5      -  [        [        U 5      -  [        U5      -  -   :X  d   e[	        U5      R                  SUS9[        U 5      [        U 5      -  [        U5      S-  [        U 5      S-  -   -  [        [        U5      -  [        U5      -  [        U5      S-  [        U 5      S-  -   -  -   :X  d   e[        U5      R                  SUS9[        U 5      [        U 5      -  [        U5      S-  [        U 5      S-  -   -  [        [        U5      -  [        U5      -  [        U5      S-  [        U 5      S-  -   -  -
  :X  d   e[        U5      R                  SUS9[        U5      [        U 5      -  [        U5      S-  [        U 5      S-  -  [        U5      S-  [        U 5      S-  -  -   -  [        [        U5      -  [        U 5      -  [        U5      S-  [        U 5      S-  -  [        U5      S-  [        U 5      S-  -  -   -  -
  :X  d   e[        U5      R                  SUS9[        U5      [        U 5      -  [        U5      S-  [        U 5      S-  -  [        U5      S-  [        U 5      S-  -  -   -  [        [        U5      -  [        U 5      -  [        U5      S-  [        U 5      S-  -  [        U5      S-  [        U 5      S-  -  -   -  -
  :X  a  GM_   e   g )Na,bTrI   TFcomplexrE   r5   )r   r   r   r   r    r   r   r   	conjugateexpandr$   r'   )abzr5  rE   s        rV   test_complexrC  "  s   5t$DA	aCAtT4t4Aw  "d1s7m333 5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 rX   c                      [        SSS9u  pS HB  n[        [        [        [        4 H%  nU" U 5      R                  SUS9U" U 5      :X  a  M%   e   MD     g )Nr:  TrI   r;  r<  )r   r   r   r    r   r?  )r@  rA  rE   r5  s       rV   test_complex_2899rE  8  sP    5t$DA4t,D7>>$T>:d1gEEE - rX   c                     [        S5      n [        [        U 5      5      U :X  d   e[        [        U 5      5      [	        U S-
  5      [	        U S-   5      -  :X  d   e[        [        U 5      5      U [	        SU S-  -
  5      -  :X  d   e[        [        U 5      5      S[	        U S-
  5      [	        U S-   5      -  -  :X  d   e[        [        U 5      5      [	        SU S-  -   5      :X  d   e[        [        U 5      5      U :X  d   e[        [        U 5      5      S[	        SU S-  -
  5      -  :X  d   e[        [        U 5      5      U [	        U S-
  5      [	        U S-   5      -  -  :X  d   e[        [        U 5      5      U [	        SU S-  -   5      -  :X  d   e[        [        U 5      5      [	        U S-
  5      [	        U S-   5      -  U -  :X  d   e[        [        U 5      5      U :X  d   e[        [        U 5      5      SU -  :X  d   e[        [        U 5      5      [	        SU S-  -   5      U -  :X  d   e[        [        U 5      5      U [	        U S-
  5      [	        U S-   5      -  -  :X  d   e[        [        U 5      5      SU -  :X  d   e[        [        U 5      5      U :X  d   e[        [        U 5      5      SU -  :X  d   e[        [        U 5      5      S[	        U S-
  5      [	        U S-   5      -  -  :X  d   e[        [        U 5      5      [	        SU S-  -
  5      U -  :X  d   e[        [        U 5      5      [	        U S-
  5      [	        U S-   5      -  :X  d   e[        [        U 5      5      S[	        SU S-  -   5      -  :X  d   e[        [        U 5      5      SU -  :X  d   e[        [        U 5      5      [	        SU S-  -
  5      :X  d   e[        [        U 5      5      [	        U S-
  5      [	        U S-   5      -  U -  :X  d   eg r  )r   r   r   r   r!   r   r   r   r    r   r   r   r]   s    rV   test_simplificationsrG  ?  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                  z    [        [        [        S5      S-  5      5      [        [        S5      S-  5      :X  d   eg )Nr>   r5   r   r?   )r   r   r   r!   r   rX   rV   test_issue_4136rI  `  s/    gajl#$WR[](;;;;rX   c                     [        S5      n [        U 5      R                  [        5      [        U 5      [        U * 5      -
  S-  s=:X  a  [        U 5      R                  S5      :X  d   e   e[        U 5      R                  [        5      [
        * [	        U [
        [        -  S-  -   5      -  :X  d   e[        [        R                  U -  5      n[        U 5      R                  [        5      SU-  SUS-  -
  -  :X  d   e[        [        R                  U -  5      n[        U 5      R                  [        5      SU-  US-  S-
  -  :X  d   eg )NrF   r5   	tractabler3   )r   r   r   r   r   r   r   r    r   rP   r   rF   	tanh_half	coth_halfs      rV   test_sinh_rewriterO  d  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                     [        S5      n [        U 5      R                  [        5      [        U 5      [        U * 5      -   S-  s=:X  a  [        U 5      R                  S5      :X  d   e   e[        U 5      R                  [        5      [
        * [	        U [
        [        -  S-  -   SS9-  :X  d   e[        [        R                  U -  5      S-  n[        U 5      R                  [        5      SU-   SU-
  -  :X  d   e[        [        R                  U -  5      S-  n[        U 5      R                  [        5      US-   US-
  -  :X  d   eg )NrF   r5   rK  FrN   r3   )r   r   r   r   r   r   r   r    r   rP   r   rL  s      rV   test_cosh_rewriterQ  o  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                     [        S5      n [        U 5      R                  [        5      [        U 5      [        U * 5      -
  [        U 5      [        U * 5      -   -  s=:X  a  [        U 5      R                  S5      :X  d   e   e[        U 5      R                  [        5      [
        [	        U 5      -  [	        [
        [        -  S-  U -
  SS9-  :X  d   e[        U 5      R                  [        5      [
        [        [
        [        -  S-  U -
  SS9-  [        U 5      -  :X  d   e[        U 5      R                  [        5      S[        U 5      -  :X  d   eg NrF   rK  r5   FrN   r3   )	r   r    r   r   r   r   r   r   r   r]   s    rV   test_tanh_rewriterT  z  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                     [        S5      n [        U 5      R                  [        5      [        U 5      [        U * 5      -   [        U 5      [        U * 5      -
  -  s=:X  a  [        U 5      R                  S5      :X  d   e   e[        U 5      R                  [        5      [
        * [	        [
        [        -  S-  U -
  SS9-  [	        U 5      -  :X  d   e[        U 5      R                  [        5      [
        * [        U 5      -  [        [
        [        -  S-  U -
  SS9-  :X  d   e[        U 5      R                  [        5      S[        U 5      -  :X  d   eg rS  )	r   r   r   r   r   r   r   r   r    r]   s    rV   test_coth_rewriterV    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                     [        S5      n [        U 5      R                  [        5      S[        U 5      S-  [        U * 5      S-  -
  -  s=:X  a  [        U 5      R                  S5      :X  d   e   e[        U 5      R                  [        5      [
        [	        U [
        [        -  S-  -   SS9-  :X  d   e[        [        R                  U -  5      n[        U 5      R                  [        5      SUS-  -
  SU-  -  :X  d   e[        [        R                  U -  5      n[        U 5      R                  [        5      US-  S-
  SU-  -  :X  d   eg NrF   r3   r5   rK  FrN   )r   r   r   r   r   r   r   r    r   rP   r   rL  s      rV   test_csch_rewriterY    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                     [        S5      n [        U 5      R                  [        5      S[        U 5      S-  [        U * 5      S-  -   -  s=:X  a  [        U 5      R                  S5      :X  d   e   e[        U 5      R                  [        5      [
        [	        U [
        [        -  S-  -   SS9-  :X  d   e[        [        R                  U -  5      S-  n[        U 5      R                  [        5      SU-
  SU-   -  :X  d   e[        [        R                  U -  5      S-  n[        U 5      R                  [        5      US-
  US-   -  :X  d   eg rX  )r   r   r   r   r   r   r   r    r   rP   r   rL  s      rV   test_sech_rewriter[    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                  d   [        S5      n [        U 5      R                  U 5      [        U 5      S-  * :X  d   e[        U 5      R                  U 5      [	        U 5      :X  d   e[	        U 5      R                  U 5      [        U 5      :X  d   e[        U 5      R                  U 5      [        U 5      S-  * S-   :X  d   e[        U 5      R                  U 5      [        U 5      * [        U 5      -  :X  d   e[        U 5      R                  U 5      [        U 5      * [        U 5      -  :X  d   e[        U 5      R                  U 5      SU S-  * S-   -  :X  d   e[        U 5      R                  U 5      S[        U S-  S-   5      -  :X  d   e[        U 5      R                  U 5      S[        U S-
  5      [        U S-   5      -  -  :X  d   e[        U 5      R                  U 5      [        U 5      R                  [        5      R                  U 5      R                  5       :X  d   e[        U 5      R                  U 5      SU S-  * S-   -  :X  d   e[!        U 5      R                  U 5      SU [        SU S-  -
  5      -  -  :X  d   e[#        U 5      R                  U 5      SU S-  [        SU S-  -   5      -  -  :X  d   eg )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_derivsr_    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                     [        S5      u  p[        X-   5      R                  SS9[        U 5      [        U5      -  [        U 5      [        U5      -  -   :X  d   e[        SU -  5      R                  SS9S[        U 5      -  [        U 5      -  :X  d   e[        SU -  5      R                  SS9R                  5       [        U 5      S-  S[        U 5      -  [        U 5      S-  -  -   :X  d   eg Nr/   T)trigr5   r>   )r   r   r?  r   rF   rU   s     rV   test_sinh_expansionrd    s    5>DA9&$q'$q'/DGDGO*KKKK!9&!DG)DG*;;;;!9&--/Q
QtAwYtAwz))* * *rX   c                     [        S5      u  p[        X-   5      R                  SS9[        U 5      [        U5      -  [        U 5      [        U5      -  -   :X  d   e[        SU -  5      R                  SS9[        U 5      S-  [        U 5      S-  -   :X  d   e[        SU -  5      R                  SS9R                  5       S[        U 5      S-  -  [        U 5      -  [        U 5      S-  -   :X  d   eg ra  )r   r   r?  r   rc  s     rV   test_cosh_expansionrf    s    5>DA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                  Z   [        SSS9n [        SSS9n[        U SS9R                  SL d   e[        U SU-  [        -  [        -  -   SS9R                  SL d   e[        [        [        -  S	-  SS9R                  SL d   e[        S
[        -  [        -  S	-  SS9R                  SL d   eg Nr0   TrI   r   r1   FrN   r5   r?   r>   )r   r   is_positiver   r   r0   r   s     rV   test_cosh_positiverk    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                     [        SSS9n [        SSS9n[        U SS9R                  SL d   e[        U SU-  [        -  [        -  -   SS9R                  SL d   e[        [        [        -  S	-  SS9R                  SL d   e[        S
[        -  [        -  S	-  SS9R                  SL d   e[        [
        R                  SS9R                  SL d   eg rh  )r   r   is_nonnegativer   r   r   Zerorj  s     rV   test_cosh_nonnegativero    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                  8   [        SSS9n [        U 5      R                  b   e[        U 5      R                  b   e[	        U 5      R                  b   e[        U 5      R                  b   e[        U 5      R                  b   e[        U 5      R                  b   eg )NrB  FrI   )r   r   rS   r   r    r   r   r   )rB  s    rV   test_real_assumptionsrq    s    sA7??"""7??"""7??"""7??"""7??"""7??"""rX   c                     [        SSS9n [        SSS9n[        U5      R                  SL d   e[        U 5      R                  SL d   e[	        U5      R                  SL d   e[	        U 5      R                  SL d   e[        U5      R                  SL d   e[        U 5      R                  SL d   e[        U5      R                  SL d   e[        U 5      R                  SL d   e[        U5      R                  SL d   e[        U 5      R                  SL d   e[        U5      R                  SL d   e[        U 5      R                  SL d   eg )NrK   TrL   r   )negative)	r   r   is_negativeri  r   r    r   r   r   )rK   r   s     rV   test_sign_assumptionsru    s:   sT"AsT"A7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&7$&&&rX   c                    ^  [        S5      m [        [        T 5      T -  5      R                  T 5      [        [        T 5      T -  5      :X  d   e[	        [
        U 4S j5        [        [        T 5      T -  5      R                  T 5      [        S[        S5      -   5      :X  d   e[	        [
        U 4S j5        [        [        T 5      T -  5      R                  T 5      S:X  d   e[	        [
        U 4S j5        [        [        T 5      T -  5      R                  T 5      [        [        T 5      T -  5      :X  d   e[	        [
        U 4S j5        [        [        T 5      T -  5      R                  T 5      S:X  d   e[	        [
        U 4S	 j5        [        [        T 5      T -  5      R                  T 5      [        S[        S5      -   5      :X  d   e[	        [
        U 4S
 j5        g )NrF   c                  P   > [        [        ST -  5      5      R                  T 5      $ Nr3   )r   r   r   r]   s   rV   rc   "test_issue_25847.<locals>.<lambda>      eC!Ho==a@rX   r3   r5   c                  P   > [        [        ST -  5      5      R                  T 5      $ rx  )r   r   r   r]   s   rV   rc   ry    rz  rX   r   c                  P   > [        [        ST -  5      5      R                  T 5      $ rx  )r   r   r   r]   s   rV   rc   ry    rz  rX   c                  P   > [        [        ST -  5      5      R                  T 5      $ rx  )r   r   r   r]   s   rV   rc   ry    rz  rX   c                  P   > [        [        ST -  5      5      R                  T 5      $ rx  )r   r   r   r]   s   rV   rc   ry    rz  rX   c                  P   > [        [        ST -  5      5      R                  T 5      $ rx  )r   r   r   r]   s   rV   rc   ry  
  rz  rX   )r   r   r'   r   r-   r,   r   r   r!   r   r   r   r   r   r]   s   @rV   test_issue_25847r    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   c            	         [        S5      n S[        SSU -  S-  -   5      -  [        [        S5      S-  [        S5      S-  U S-   -  -
  5      -
  nS[        [	        U S-   S-  5      [	        U S-   5      [	        U 5      -   S-  -  S[	        U S-   5      -  [	        U 5      -   -  5      -  nX-
  R                  U 5      [        U S-  5      :X  d   eg )	NrF   r5   r3   r>   r=   rj   r?   rA   )r   r   r   r   r!   r\   r)   )rF   g1g2s      rV   test_issue_25175r    s    sA	
5QqSU	eAaDFQqT!VQU^$;<	<B	
3tQUAIQUDG 3a774A;a9PQR	RBGA!AqD')))rX   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^   rg   rn   rr   rv   rx   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-  r3  r8  rC  rE  rG  rI  rO  rQ  rT  rV  rY  r[  r_  rd  rf  rk  ro  rq  ru  r  r  r   rX   rV   <module>r     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\$<^0:
B:J
GY(?V.:
?9D^(>,R:
A?H\$:=2?:
@=FlT(9j2:
/4d}Y&C_.:
&+2,F9B<CD..ED;"**	??#'"B8*rX   