+
    iqf                         R t ^ RIt^ RIt^ RIt^ RI5 ]3R lt]! ^ 4      t]! ^4      t]	! R4      t
]	! R4      t]	! R4      tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR# )a  
Limited tests of the elliptic functions module.  A full suite of
extensive testing can be found in elliptic_torture_tests.py

Author of the first version: M.T. Taschuk

References:

[1] Abramowitz & Stegun. 'Handbook of Mathematical Functions, 9th Ed.',
    (Dover duplicate of 1972 edition)
[2] Whittaker 'A Course of Modern Analysis, 4th Ed.', 1946,
    Cambridge University Press

N)*c                     R pT;'       d'    V P                   P                  VP                   V4      pT;'       d'    V P                  P                  VP                  V4      pV# )T)realaeimag)abepsress   &&& z/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/mpmath/tests/test_elliptic.pympc_aer      sL    
C

(
(!&&))AFFC(C

(
(!&&))AFFC(CJ    sncndnc                     \        V R 7      # )k)qfromr   s   &r   <lambda>r   #   s    51:r   c                  D   ^\         n        \        R^ ^ 4      ^8X  g   Q h\        R^ ^ 4      ^8X  g   Q h\        R^ ^ 4      ^8X  g   Q h\        R^ ^ 4      ^8X  g   Q h\        RR^ 4      P                  \	        R4      4      '       g   Q h\        RR^ 4      P                  \        R4      4      '       g   Q h\        RR^ 4      P                  ^4      '       g   Q h\        R	R^ 4      P                  \        R4      4      '       g   Q h\        R
R^ 4      P                  \        R4      4      '       g   Q h\        RR^ 4      P                  ^4      '       g   Q h\        RR^ 4      P                  \        R4      4      '       g   Q h\        RR^ 4      P                  \	        R4      4      '       g   Q h\        RR^ 4      P                  \        R4      4      '       g   Q h\        RR^ 4      P                  \        R4      4      '       g   Q h\        RR^ 4      P                  \        R4      4      '       g   Q h\        RR^ 4      P                  \        R4      4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        R	R^4      P                  \        R4      4      '       g   Q h\        R
R^4      P                  \        R4      4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        RR^4      P                  ^4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        RR^4      P                  ^4      '       g   Q h\        RR^4      P                  \        R4      4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        R	RR4      P                  R4      '       g   Q h\        R
RR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q h\        RRR4      P                  R4      '       g   Q hR# )    ssccddnnr         ?r   r   nsncndscsdcdcsdcds      ?g@p4(?gTi$?g>x?g(?@gZx:	?g~??gbUaA?g]`w73?gk?g) @g
oA?gff @N)mpdpsellipfunr   sincoscscsectancottanhsechcothcoshsinhcsch r   r   test_ellipfunr7   %   sA   BFD!Q1$$$D!Q1$$$D!Q1$$$D!Q1$$$D$"%%c$i0000D$"%%c$i0000D$"%%a((((D$"%%c$i0000D$"%%c$i0000D$"%%a((((D$"%%c$i0000D$"%%c$i0000D$"%%c$i0000D$"%%c$i0000D$"%%c$i0000D$"%%c$i0000D$"%%d4j1111D$"%%d4j1111D$"%%d4j1111D$"%%d4j1111D$"%%d4j1111D$"%%d4j1111D$"%%d4j1111D$"%%d4j1111D$"%%a((((D$"%%d4j1111D$"%%a((((D$"%%d4j1111D$$''(>????D$$''(>????D$$''(>????D$$''(=>>>>D$$''(=>>>>D$$''(=>>>>D$$''(>????D$$''(>????D$$''(>????D$$''(=>>>>D$$''(=>>>>D$$''(=>>>>r   c                  @   ^d\         n        \        \        4      p V \        8X  g   Q h^\         n        \	        ^4      ^
,          \	        R4      3\	        ^4      ^
,          \	        R4      3\	        ^4      ^
,          \	        R4      3\	        ^4      ^
,          \	        R4      3\	        ^4      ^
,          \	        R4      3\	        ^4      ^
,          \	        R4      3\	        ^4      ^
,          \	        R4      3\	        ^4      ^
,          \	        R4      3\	        ^	4      ^
,          \	        R	4      3\	        ^	4      ^
,          \	        R	4      3.
pV F@  pV^ ,          p\        \        V4      4      p V P                  V^,          4      '       d   K@  Q h	  ^\         n        R
# )d   z0.006584651553858370274473060z0.01394285727531826872146409z0.02227743615715350822901627z0.03188334731336317755064299z0.04321391826377224977441774z0.05702025781460967637754953z0.07468994353717944761143751z0.09927369733882489703607378z0.1401731269542615524091055N)r'   r(   calculate_nomezerompfsqrtr   )qmath1ims       r   test_calculate_nomerB   S   sK   BFtA99BF!fRi<=>!fRi;<=!fRi;<=!fRi;<=!fRi;<=!fRi;<=!fRi;<=!fRi;<=!fRi:;<!fRi:;<	>E aD47#ttAaDzzz 
 BFr   c                  >  aaa	 ^\         n        \        ;o	o\        ^^4       F'  o\	        SS	S4      p V S^,
          ^,          8X  d   K'  Q h	  \
        \        ^4      3 F7  o\        ^^4       F$  o\        P                  ! \        VVV	3R l4       K&  	  K9  	  \
        ^
,          o	\
        ^,          o\        R4      p\	        ^S	S4      pVP                  V4      '       g   Q h\        R4      p\	        ^S	S4      pVP                  V4      '       g   Q h\        R4      p\	        ^S	S4      pVP                  V4      '       g   Q h\        R4      p\	        ^S	S4      pVP                  V4      '       g   Q h\        p\        ^,          p\        ^
4       Fx  p\        \        P                  ! 4       4      p\        V4      o\	        ^VS4      pVP                  ^ 4      '       g   Q h\	        ^VS4      pVP                  ^ 4      '       d   Kx  Q h	  ^\         n        R# )   c                     < \        S SS4      # Njtheta)nr>   zs   r   r   test_jtheta.<locals>.<lambda>w   s    fQ1or   z0.1069552990104042681962096z1.101385760258855791140606z1.178319743354331061795905z0.8219318954665153577314573N)r'   r(   r;   rangerH   oner<   pytestraises
ValueErrorr   pistrrandom)
valuer
   resultz1z2r@   qstringrI   r>   rJ   s
          @@@r   test_jthetarY   m   s   BFLA1QZq!Q1q !   3q6]qAMM*&=>   	BABA +
,CAq!_F99S>>> *
+CAq!_F99S>>> *
+CAq!_F99S>>> +
,CAq!_F99S>>> 
B	AB2Yfmmo&L2q!yy|||2q!yy|||  BFr   c                    a ^\         n        \         ;P                  ^,          un        \        ^4      ^
,          \        R,          ,
          \        ^4      ^
,          \        ,          ,
          o\         ;P                  ^,          un        \        R4      \        R4      \        ,          ,           p \        ^^S4      p\         ;P                  ^,          un        \        ^4      ^
,          \        R,          ,
          \        ^4      ^
,          \        ,          ,
          o\         ;P                  ^,          un        \        P                  ! \        V3R l4       ^d\         n        ^\        ,           ^,          p\        R4      R,          \        R4      R,          \        ,          ,           o\        R4      \        R4      \        ,          ,           p ^\         n        \        ^VS4      pVP                  V 4      '       g   Q h^P\         n        ^^\        ,          ,           pRR\        ,          ,           o\        ^VS4      p^\         n        \        ^VS4      pVP                  V4      '       g   Q h^P\         n        ^\        ,           p\        \        ^,          4      p\        ^^4       FZ  p^P\         n        V^\        ^4      ^
V,          ,          ,
          ,          o\        ^VS4      p^\         n        \        ^VS4      pK\  	  VP                  V4      '       g   Q h^\         n        \        ^R	R
^	4      P                  R4      '       g   Q h\        ^R	R
^24      P                  R4      '       g   Q h^2\         n        \        ^R	R
^	4      pVP                  R4      '       g   Q h\        ^R	R
^24      pVP                  R4      '       g   Q hR# )   z32.0031009628901652627099524264z16.6153027998236087899308935624c                     < \        ^^S 4      # )   rG   )r>   s   r   r   &test_jtheta_issue_79.<locals>.<lambda>   s    fQ1or   l   'e[>
 l   tQh z$2.4439389177990737589761828991467471z$0.5446453005688226915290954851851490r&   g      @r   gl2<@z21359.048926806828939547859396600218966947753213803z4-6148327726309051673317975084654262.4119215720343656Ni@B i l     I5 g3m,)r'   r(   r<   rM   jrH   rN   rO   rP   r   exprL   )	r
   rU   rJ   r1r2q1rI   rr>   s	           @r   test_jtheta_issue_79re      s    BFFFbLFAr	CIAr	A-AFFbLF
 /
0
/
01
45CAq!_FFFbLFAr	CIAr	A-AFFbLF
MM*56 BF	
1aAOV#c/&:6&AA&EEA
4
5
4
5q
89CBFAq!_F99S>>>BF	AaCAc!eA	1aBBF	1aB55999BF	AA	QqSB 1a[CF2q5L !Aq!_Aq!_  55999BF!S$"%%&67777!S$#&&'<====BFq#tQA44DEEEEq#tR A44FGGGGr   c                 6   ^n\         n        \        \        ^4      p \	        ^
4       EF  p\        \        P                  ! 4       4      p\        V4      p\        ^
\        P                  ! 4       ,          4      p\        V4      p\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          pWg,
          V,           p	V	P                  ^ V 4      '       g   Q h\        ^d\        P                  ! 4       ,          4      p\        V4      p\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          pWg,
          V,           p	V	P                  ^ V 4      '       g   Q h\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          pWg,
          V,           p	V	P                  ^ V 4      '       g   Q h\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          p\        ^WS4      ^,          \        ^\        V4      ^,          ,          pWg,
          V,           p	V	P                  ^ V 4      '       g   Q h\        ^\        V4      ^,          p\        ^\        V4      ^,          p\        ^\        V4      ^,          pWg,           V,
          p	V	P                  ^ V 4      '       d   EK  Q h	  ^\         n        R# )z
Tests the some of the jacobi identidies found in Abramowitz,
Sec. 16.28, Pg. 576. The identities are tested to 1 part in 10^98.
N)r'   r(   ldexpr	   rL   rR   rS   r<   rH   r;   r   )
eps1r@   rX   r>   zstringrJ   term1term2term3equalitys
             r   test_jtheta_identitiesrn      s   
 BFb>D2Yfmmo&Lb()L 1!#q$(:A(=>1!#q$(:A(=>1!#q$(:A(=>=5({{1d##$#c&--/)*L 1!#q$(:A(=>1!#q$(:A(=>1!#q$(:A(=>=5({{1d##$#
 1!#q$(:A(=>1!#q$(:A(=>1!#q$(:A(=>=5({{1d##$#
 1!#q$(:A(=>1!#q$(:A(=>1!#q$(:A(=>=5({{1d##$# 4#a'4#a'4#a'=5({{1d##$#e f BFr   c            	         ^\         n        \        ^4      ^,          \        ^,          ,           p \        ^4      ^,          \        ^,          ,           p\        R4      \        R4      \        ,          ,           p\	        ^W4      p\        W24      '       g   Q h\        R4      \        R4      \        ,          ,           p\	        ^W4      p\        W24      '       g   Q h\        R4      \        R4      \        ,          ,           p\	        ^W4      p\        W24      '       g   Q h\        R4      \        R4      \        ,          ,
          p\	        ^W4      p\        W24      '       g   Q h^d\         n        \        ^4      ^,          \        ^,          ,           p \        ^4      ^,          \        ^,          ,           p\         ;P                  ^
,          un        ^ ^ \	        ^^ V4      \	        ^^ V4      \	        ^^ V4      .p^ \	        ^W4      \	        ^W4      \	        ^W4      \	        ^W4      .pV^,          V^,          ,          ^,          V^,          V^,          ,          ^,          ,
          V^,          V^,          ,          ^,          ,           V^,          V^,          ,          ^,          V^,          V^,          ,          ^,          ,
          V^,          V^,          ,          ^,          ,           V^,          V^,          ,          ^,          V^,          V^,          ,          ^,          ,
          V^,          V^,          ,          ^,          ,           V^,          V^,          ,          ^,          V^,          V^,          ,          ^,          ,
          V^,          V^,          ,          ^,          ,           V^,          ^,          V^,          ^,          ,           V^,          ^,          ,
          .p\         ;P                  ^
,          un        V F   p\        V\        ^ 4      4      '       d   K   Q h	  ^\         n        R	# )
r[   z%0.31618034835986160705729105731678285z%0.07542013825835103435142515194358975z$1.6530986428239765928634711417951828z$0.2015344864707197230526742145361455z$1.6520564411784228184326012700348340z$0.1998129119671271328684690067401823z%0.37619082382228348252047624089973824z%0.15623022130983652972686227200681074N)r'   r(   r<   r_   rH   r   dosmpc)rJ   r>   r
   rd   r   txs          r   test_jtheta_complexrt     s   BFAq1Q3AAq1Q3A
5
6
5
6
:;Cq!A!>>> 4
5
4
5
9:Cq!A!>>> 4
5
4
5
9:Cq!A!>>> 5
6
5
6
:;Cq!A!>>> BFAq1Q3AAq1Q3AFFbLF	
1fQ1ovaAq!Q@A	
F1aOVAq_fQovaOA
A$qt)a1Q4!9q.	(AaD!A$J?	:	
1adQ!A$qt)a'1Q41:/9	
1adQ!A$qt)a'1Q41:/9	
1adQ!A$qt)a'1Q41:/9	!a!A$'AaD!G#		%A
 FFbLFaQ  !  BFr   c                  H  a	a
 ^\         n        \        ^,          \        ^,          ,           p \        ^,          \        ^,          ,           o
\	        R4      \	        R4      \        ,          ,
          p\        ^V S
^4      p\        W!4      '       g   Q h\	        R4      \	        R4      \        ,          ,
          p\        ^V S
^4      p\        W!4      '       g   Q h\	        R4      \	        R4      \        ,          ,
          p\        ^V S
^4      p\        W!4      '       g   Q h\	        R4      \	        R4      \        ,          ,           p\        ^V S
^4      p\        W!4      '       g   Q h\        ^
4       F  p\        \        P                  ! 4       ,          \        \        P                  ! 4       ,          ,           ^,          o
\        ^^ S
^4      p\        ^^ S
4      \        ^^ S
4      ,          \        ^^ S
4      ,          pVP                  V4      '       d   K  Q h	  ^\         n        \        ^,          \        ^,          3\        ^,          \        ^,          ,           \        ^,          3\        ^,          \        ^,          \        ^,          ,           3\        ^,          \        ^,          ,           \        ^,          \        ^,          ,           33 F  w  o
p R Fw  o	\        S	V S
^4      p\        V	V
3R	 lV ^R
7      pVP                  V4      '       g   Q h\        S	V S
^4      p\        V	V
3R lV ^R
7      pVP                  V4      '       d   Kw  Q h	  K  	  \        ^,          o
\        p ^ .^,          p\        ^V S
^4      \        ^V S
^4      ,          V^&   R F&  o	\        S	V S
^4      \        S	V S
4      ,          VS	&   K(  	  V^,          V^,          ,           V^,          ,           V^,          ,
          pVP                  ^ 4      '       g   Q h^\         n        R# )r[   z$1.5555195883277196036090928995803201z%0.02439761276895463494054149673076275z%0.19825296689470982332701283509685662z%0.46038135182282106983251742935250009z%0.36492498415476212680896699407390026z%0.57743812698666990209897034525640369z&-0.38936892528126996010818803742007352z%0.66549886179739128256269617407313625c                    < \        SV S4      # rF   rG   zzrI   r>   s   &r   r   test_djtheta.<locals>.<lambda>m      2q!1r   )rI   c                    < \        SV S4      # rF   rG   rw   s   &r   r   ry   p  rz   r   N)      r]      )r}   r]   r~   )r'   r(   rM   r_   r<   rH   r   rL   rS   r   diffr;   )rJ   r
   rU   r@   r   r   rd   ra   rm   rI   r>   s            @@r   test_djthetar   C  s/   BFA!AA!A
4
5
5
6
:;CAq!QF& 5
6
5
6
:;CAq!QF& 5
6
5
6
:;CAq!QF& 6
7
5
6
:;CAq!QF&2Y 1V]]_#44a71aA1aOF1aO+F1aO;ttAwww  BFQAQ1c!e 4	QA!s1uqs{CEAaCK8:!Aq!Q"A11:B4488O8q!Q"A11:B4488O8 : 	AAA	
AA!Q1fQ1a00AaDaAq!&Aq/1! tad{QqT!AaD(H;;q>>>BFr   c                 H   ^d\         n        \        \        \        4      p V \        8X  g   Q h\	        ^
4       FU  p\        \        P                  ! 4       4      p\        V4      p\        \        V4      pVP                  ^ 4      '       d   KU  Q h	  ^\         n        \        ^
,          p\        R4      p\        \        R4      p\        WW4      p V P                  V4      '       g   Q h\        R4      p\        WU4      p V P                  V4      '       g   Q h^\         n        R# )z3
Test some special cases of the sn(z, q) function.
z0.09983341664682815230681420z0.09981686718599080096451168N)r'   r(   jsnr;   rL   rR   rS   r<   r   rM   rg   )rU   r@   rX   r>   rm   argr
   rA   s           r   test_jsnr   ~  s     BF t_FT>> 2Yfmmo&LtQ<{{1~~~ " BF
b&C
,
-Cc4A[F99S>>> ,
-C]F99S>>>BFr   c                    ^d\         n        \        \        P                  ! 4       4      p \	        V 4      p\        \        V4      pVP                  \        4      '       g   Q h^\         n        \        ^
,          p\        \        R4      p\	        R4      p\        W44      pVP                  V4      '       g   Q h\	        R4      p\        W34      pVP                  V4      '       g   Q h^\         n        R# )z3
Test some special cases of the cn(z, q) function.
z0.9950041652780257660955620z0.9950058256237368748520459Nr   )
r'   r(   rR   rS   r<   jcnr;   r   rM   rg   )rX   r>   r   r   rA   r
   rU   s          r   test_jcnr     s     BF &--/"GGA	T1B55::: BF
b&Cc4A
+
,C[F99S>>> +
,C]F99S>>>BFr   c                 l   ^d\         n        \        \        P                  ! 4       4      p \	        V 4      p\        \        V4      pVP                  \        4      '       g   Q h^\         n        \	        R4      p\        ^
,          p\        WD4      pVP                  V4      '       g   Q h^\         n        R# )z3
Test some special cases of the dn(z, q) function.
z0.9995017055025556219713297N)	r'   r(   rR   rS   r<   jdnr;   r   rM   )mstringrA   r   r
   r   rU   s         r   test_jdnr     s     BF &--/"GGA	T1B55:::BF
+
,C
b&C]F99S>>>BFr   c                 <   ^d\         n        ^p \        V 4       F  p\        \        P                  ! 4       4      p\        V4      p\        ^d\        P                  ! 4       ,          4      p\        V4      p\        WS4      ^,          p\        WS4      ^,          p\        V,
          V,
          pVP                  ^ 4      '       d   K  Q h	  \        V 4       F  p\        \        P                  ! 4       4      p	\        X4      p
V
P                  4       p\        ^
\        P                  ! 4       ,          4      p\        V4      pV^,          \        WZ4      ^,          ,          p\        WZ4      ^,          p\        V,
          V,
          pVP                  ^ 4      '       d   K  Q h	  \        V 4       EF]  p\        \        P                  ! 4       4      p	\        V	4      p
V
P                  4       p\        \        P                  ! 4       4      p\        V4      pV^,          \        WZ4      ^,          ,          p^V^,          ,
          p\        WZ4      ^,          pW,
          V,
          pVP                  ^ 4      '       g   Q h\        V^,          4      p\        W4      pVP                  \        4      '       g   Q h\        W4      pVP                  ^ 4      '       g   Q hT
p\        V\        4      pVP                  \        4      '       d   EK^  Q h	  ^\         n        R# )zl
Tests the some of the jacobi elliptic function identities found
on Mathworld. Haven't found in Abramowitz.
N)r'   r(   rL   rR   rS   r<   r   r   rM   r   r=   r   ellipkr;   )Nr@   rX   r>   ri   rJ   rj   rk   rm   r   rA   r   rl   Krd   rT   s                   r   test_sn_cn_dn_identitiesr     s8   
 BF	A1Xfmmo&Lc&--/)*L A	1A	1;&{{1~~~  1Xfmmo&LFFHb()L1s1y!|#A	1;&{{1~~~  1Xfmmo&LFFHfmmo&L 1s1y!|#AqDA	1=5({{1~~~1a4L IttCyyy q9{{1~~~ Atxx}}}= @ BFr   c                  Z   ^\         n        \        R4      \        R4      \        ,          ,           p \        ^4      ^,          \        ^,          ,           p\        ^4      ^,          \        ^,          ,           p\	        W4      p\        W04      '       g   Q h\        R4      \        R4      \        ,          ,
          p \        W4      p\        W04      '       g   Q h\        R4      \        R4      \        ,          ,
          p \        W4      p\        W04      '       g   Q h^\         n        R# )r[   z!0.2495674401066275492326652143537z"0.12017344422863833381301051702823z!0.9762691700944007312693721148331z!0.0307203994181623243583169154824z%0.99639490163039577560547478589753039z%0.01346296520008176393432491077244994N)r'   r(   r<   r_   r   r   r   r   )r
   urA   rd   s       r   test_sn_cn_dn_complexr   +  s    BF
1
2
2
3a
78CAq1Q3AAq1Q3AA	A!>>> 1
2
1
21
45CA	A !>>> 5
6
5
6q
89CA	A!>>>BFr   c                     ^\         n        \        ^ ^^4      P                  R4      '       g   Q h\        ^^^4      P                  R4      '       g   Q h\        \        \        ) ^4      P                  R4      '       g   Q h\        ^ \        \        ) 4      P                  R34      '       g   Q h\        ^ \        ^,
          \        4      P                  R44      '       g   Q h\        R5\        ,
          \        ) R6\        ,           4      P                  R74      '       g   Q h\        ^ ^ ^ 4      ^ 8X  g   Q h\        ^ ^ ^4      P                  ^4      '       g   Q h\        ^ ^^ 4      P                  ^4      '       g   Q h\        ^^ ^ 4      P                  ^4      '       g   Q h\        ^^^ 4      P                  R4      '       g   Q h\        ^^ ^4      P                  R4      '       g   Q h\        ^ ^^4      P                  R4      '       g   Q h^RR8r!p \        WV4      P                  R94      '       g   Q h\        WV4      P                  R94      '       g   Q h\        WV4      P                  R94      '       g   Q h\        WV 4      P                  R94      '       g   Q h\        W V4      P                  R94      '       g   Q h\        W!V 4      P                  R94      '       g   Q hR: EFk  pV\         n        \        ^^^ 4      P                  R4      '       g   Q h\        R^^ 4      P                  R4      '       g   Q h\        \        \        ) ^ 4      P                  R4      '       g   Q h\        \        ^,
          \        ^ 4      P                  \        R	R
4      4      '       g   Q h\        ^^^4      P                  R4      '       g   Q h\        \        \        ) ^4      P                  R4      '       g   Q h\        \        ^,
          \        ^\        ,
          4      P                  \        RR4      4      '       g   Q h\        ^ R4      P                  \        54      '       g   Q h\        R^4      P                  \        54      '       g   Q h\        ^ \        4      P                  \        RR4      4      '       g   Q h\        \        ) \        4      P                  \        RR4      4      '       g   Q h\        RR54      P                  \        ^,          4      '       g   Q h\        \        R64      P                  \        RR4      4      '       g   Q h\        ^ ^^^4      P                  R4      '       g   Q h\        ^^^^4      P                  R4      '       g   Q h\        ^^^R6\        ,           4      P                  \        RR4      4      '       g   Q h\        \        \        ) ^ ^4      P                  R4      '       g   Q h\        R6\        ,           R6\        ,
          ^^4      P                  R4      '       g   Q h\        \        \        ) ^ ^\        ,
          4      P                  \        RR4      4      '       g   Q h\        R6\        ,           R6\        ,
          ^R;\        ,           4      P                  \        RR 4      4      '       g   Q h\        R6\        ,           R5\        ,
          \        ) R6\        ,           4      P                  \        R!R"4      4      '       g   Q h\        ^ ^^4      P                  \        54      '       g   Q h\        ^^^4      P                  R#4      '       g   Q h\        ^ \        \        ) 4      P                  R$4      '       g   Q h\        \        ^,
          \        ^ 4      P                  \        R%R&4      4      '       g   Q h\        \        ) \        ^,
          \        4      P                  \        R'R(4      4      '       g   Q h\        ^ \        R)4      ^4      P                  R*4      '       d   EKl  Q h	  ^\         n        \        R<R=R>R?4      P                  R@R+R,7      '       g   Q h\        R-RA^ RB4      P                  RCR+R,7      '       g   Q h\        R.RDR/RE4      P                  RFR+R,7      '       g   Q h\        R.RGR/RE4      P                  RHR0R,7      '       g   Q h\        R.RIR/RE4      P                  RJR+R,7      '       g   Q h\        R.RKR/RE4      P                  RLR+R,7      '       g   Q h\        R.RMR/RE4      P                  RN4      '       g   Q h\        R.ROR/RE4      P                  RP4      '       g   Q h\        RQRRRS4      P                  RT4      '       g   Q h\        RURV4      P                  RW4      '       g   Q h\        RXRY4      P                  RZ4      '       g   Q h\        R1R[4      P                  R\4      '       g   Q h\        RVRU4      P                  R]4      '       g   Q h\        RVR14      P                  R^4      '       g   Q hR2# )_r   g2e_?gi+"?gP$M?g{ I|`?y              ?zo1.3110287771460599052324197949455597068413774757158115814084108519003952935352071251151477664807145467230678763r&   zn1.854074677301371918433850347195260046217598823521766905585928045056021776838119978357271861650371897277771871zp0.79612586584233913293056938229563057846592264089185680214929401744498956943287031832657642790719940442165621412zp-1.2138566698364959864300942567386038975419875860741507618279563735753073152507112254567291141460317931258599889zp0.58408284167715170669284916892566789240351359699303216166309375305508295130412919665541330837704050454472379308zo1.0441445654064360931078658361850779139591660747973017593275012615517220315993723776182276555339288363064476126zp0.93912050218619371196624617169781141161485651998254431830645241993282941057500174238125105410055253623847335313zq-0.53296252018635269264859303449447908970360344322834582313172115220559316331271520508208025270300138589669326136r   g      @zo1.1107207345395915617539702475151734246536554223439225557713489017391086982748684776438317336911913093408525532zp-1.1107207345395915617539702475151734246536554223439225557713489017391086982748684776438317336911913093408525532zo1.2260849569072198222319655083097718755633725139745941606203839524036426936825652935738621522906572884239069297zq-0.34471136988767679699935618332997956653521218571295874986708834375026550946053920574015526038040124556716711353zp0.77778596920447389875196055840799837589537035343923012237628610795937014001905822029050288316217145443865649819zo0.1983248499342877364755170948292130095921681309577950696116251029742793455964385947473103628983664877025779304zp0.77688623778582332014190282640545501102298064276022952731669118325952563819813258230708177398475643634103990878zp0.14297579667156753833233879421985774801466647854232626336218889885463800128817976132826443904216546421431528308zp0.13613945827770535203521374457913768360237593025944342652613569368333226052158214183059386307242563164036672709zq-0.38207561624427164249600936454845112611060375760094156571007648297226090050927156176977091273224510621553615189zo1.6490011662710884518243257224860232300246792717163891216346170272567376981346412066066050103935109581019055806zp0.94148358841220238083044612133767270187474673547917988681610772381758628963408843935027667916713866133196845063zo1.8260115229009316249372594065790946657011067182850435297162034335356430755397401849070610280860044610878657501zo1.2290661908643471500163617732957042849283739403009556715926326841959667290840290081010472716420690899886276961zq-0.61127970812028172123588152373622636829986597243716610650831553882054127570542477508023027578037045504958619422zp-1.0684038390006807880182112972232562745485871763154040245065581157751693730095703406209466903752930797510491155zo1.8249027393703805304622013339009022294368078659619988943515764258335975852685224202567854526307030593012768954zp-1.2218475784827035854568450371590419833166777535029296025352291308244564398645467465067845461070602841312456831zo1.7255030280692277601061148835701141842692457170470456590515892070736643637303053506944907685301315299153040991zp0.42360654239698954330324956174109581824072295516347109253028968632986700241706737986160014699730561497106114281zp0.44660591677018372656731970402124510811555212083508861036067729944477855594654762496407405328607219895053798354zp0.70768352357515390073102719507612395221369717586839400605901402910893345301718731499237159587077682267374159282zp0.36023392184473309033675652092928695596803358846377334894215349632203382573844427952830064383286995172598964266zp0.40348623401722113740956336997761033878615232917480045914551915169013722542827052849476969199578321834819903921z0.0796zo1.0284758090288040009838871385180217366569777284430590125081211090574701293154645750017813190805144572673802094g:0yE>)abs_epsgn?gQkw?gX9v?gh㈵>g       @NyfFU?6?@y,R<8*y#62?zy            ?yafG?Etw\?)   r   r[   <   r9   y            y      $      y      $      y            $@y+͸q?3(?y'1@mgQy9]տ9DBٿyS%MbX9?g>W[yf0č[Ꭳ5yS%MbX9yݶ#?,eĿyS%vq-?yv0ƾ=T󵱿yS% y?yg%Xd毿yS%vq-y9px?`?yS% yycr??^JY?y @Gz?yffffff@\(\?y      @{Gz?y8Y+}ڿ<@y       @      y       @      ?yRع?Y\ny       @      y      ?      ?y;=?>%yy      ?      ?y=R?IOyRع?Y\n?yi2)G@L !'- @)r'   r(   elliprdr   r_   elliprgelliprfrq   elliprcrQ   ln2elliprjr<   ellippi)rs   yrJ   rI   s       r   test_elliptic_integralsr   D  s#
   BF1Qq>233331Qq>344441aR?455551Qr?LMMMM1QqSOPPPP2a42a4 ##$RSSSS1Qq>Q1Qr?a    1R?a    2a?a    1Qq>566661Qq>566661Qq>56666bA1q>MNNNN1q>MNNNN1q>MNNNN1q>MNNNN1q>MNNNN1q>MNNNN!q1~    "S  T  T  	T  Ts1Q""  $T  U  U  	U  Uq!A!!  #S  T  T  	T  Tqs1Q""3  (Z~$@ A A 	A Aq1~    "T  U  U  	U  Uq!A!!  #T  U  U  	U  Uqs1QqS!$$S  *\&A B B 	B Bq!!2#&&&&tA!!3$''''q|s  $U~ @ A A 	A Ar!}  %V!A B B 	B BtB""3q5))))q}  %W}! @ @ 	@ @q1Q""  $V  W  W  	W  Wq1Q""  $V  W  W  	W  Wq1RT"%%c  +]'A B B 	B Bq!Aa ##  %V  W  W  	W  Wr!tBqD1%((  *\  ]  ]  	]  ]q!Aac"%%c  +\}' @ @ 	@ @r!tBqD2a4(++C  1d~-@ A A 	A Ar!tBqD!BqD),,S  2c~.@ A A 	A A qB""B3''''q1~    "S  T  T  	T  TqA2!!  #U  V  V  	V  Vqs1Q""3  (Z~$@ A A 	A Ar!A#a ##C  )[~%@ A A 	A Aq#h-+..  0a  b  b  	b  bQ "R BF 7FFF3667cmq6rrrr5.!V4778eos7tttt6=%9<<=isw<xxxx6=%9<<=fpt<uuuu6>5':==>jtx=yyyy6?E7;>>?isw>xxxx 6>5':==>jkkkk6?E7;>>?kllll;[9<<=mnnnn8X&))*STTTT8X&))*UVVVV3!$$%OPPPP8X&))*STTTT8S!$$%OPPPPr   c                  H    \        \        \        R 7      4      '       g   Q hR# ))rA   N)isnanr   nanr6   r   r   test_issue_238r     s    r   )__doc__mpmathrS   rN   r	   r   r<   r;   rM   r)   r   r   r   r:   r7   rB   rY   re   rn   rt   r   r   r   r   r   r   r   r   r6   r   r   <module>r      s         1v	!ftntntn%)?\4.b9Hv;z+Z9v+Z#J.BH2WQrr   