+
    ir                        ^RI Ht ^RIHtHt R tRt]. R3R l4       t]R 4       t]R 4       t	]R	 4       t
]R
 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       tR t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t]R#R l4       t]R 4       t]R 4       t]R 4       t]R  4       t ]R! 4       t! ]R" 4       t"R# )$   )xrange)defundefun_wrappedc                 `   R ;rE^ p. p\        V4       EF  w  rV	w  rrrpR p\        V
4       FE  w  ppV'       d   K  V P                  VV,          4      ^ 8:  g   K/  VV,          '       g   K@  R;rERpKG  	  . ROp\        WV.4       F  w  pp\        V4       F  w  ppV P                  V4      w  ppV^ 8  d   K#  VV P                  8X  da   R pV^8X  d7   V F0  pV P	                  V4      '       g   K  V\        V4      8  g   K.  Rp M	  V'       d   K}  VV;;,          ^,          uu&   K  VR8  g   K  VV) ,          pRpK  	  K  	  V'       d@   V^,          V^ ,          V^,          ,           8  d   V'       g   VP                  V4       EK}  \        V4      '       g   EK  R;rEEK  	  WEWg3# )FT)    r   r   )	enumeraterenint_distanceninfisnpintintappendsum)ctxtermsprecdiscard_known_zerosperturb	recompute	extraprecdiscard
term_indextermw_sc_salpha_sbeta_sa_sb_szhave_singular_nongamma_weightkw
pole_count
data_indexdataixndokus   &&&&                         /Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/mpmath/functions/hypergeometric.py_check_need_perturbr/      s   GIG%e,
15.'3Q(-% cNDAq166#a&>Q&3q66*..G481	 #
 
 )7C*@ AJ!$1((+1q5= B!Q!$A"{{1~~!s1v+%) % "%  z*a/* V!OI $I- ( !B0 :a=:a=:a=3P#P1NN:&__"&&GiQ -R y11    a  
hypercomb() failed to converge to the requested %i bits of accuracy
using a working precision of %i bits. The function value may be zero or
infinite; try passing zeroprec=N or infprec=M to bound finite values between
2^(-N) and 2^M. Otherwise try a higher maxprec or maxterms.
Tc                    V P                   pV P                  pV P                  pV P                  pVR ,          p	VP	                  RR4      p
VP	                  RV P                  V4      4      pWR&   VP	                  R4      pVP	                  R4      pRp^ p  V ;P                   ^
,          un         V P                   V8  d"   \        \        WPP                   3,          4      hV P                   pV	R ,          pV! V!  pV
'       d8   \        4        \        R4       \        RV P                   4       \        R	V4       \        V VWS4      w  ppppV ;P                   V,          un         V'       d   R
V9   d   VR
,          pM?V P                  '       d   \        V P                   R,          4      pMV^
,           V,           pV P                  V P                  V) 4      pV^
,           V,           ^
,           V n         \        \        V4      4       F/  pVV;;,          V,          uu&   VVV^,           ,          ,          pK1  	  V'       d   V! V!  pV'       d)   \!        V4       UUu. uF  w  ppVV9  g   K  VNK  	  pppV'       g   V P                  WPn         # . p\!        V4       EF  w  ppVw  ppp p!p"p#p$V
'       d   \        4        \        RV^,           \        V4      \        V"4      \        V#4      3,          4       \        RV P#                  V4      V P#                  V4      4       \        RV P#                  V 4      V P#                  V!4      4       \        RV P#                  V"4      V P#                  V#4      4       \        RV P#                  V$4      4       T P%                  V P&                  ! V"V#V$3/ VB .V  U%u. uF  p%V P)                  V%4      NK  	  up%,           V! U&u. uF  p&V P+                  V&4      NK  	  up&,           \-        VV4       U'U(u. uF  w  p'p(V P/                  V'V(4      NK  	  up(p',           4      p)V
'       d   \        RV)4       VP1                  V)4       EK  	  \        V4      ^8X  d   V'       g   V^ ,          pEMV P                  '       d   V P3                  V4      pEMV P3                  V4      pV U*u. uF  p*V P5                  V*4      NK  	  p+p*\7        V+4      p,V P5                  V4      p-V,V-,
          p.V
'       d6   \        4        \        RV.R4       \        RV P                   V,
          R4       V.V P                   V,
          8  p/Vf   Rp0MV,V P                   ,
          V) 8  p0Vf   Rp1MV,V8  p1V/'       d	   V'       d   V P9                  V.4      '       d   MV/'       d   Vf   V^,          pTpEK3  V P5                  Wn,
          4      V P5                  V4      V,
          8:  d   MV0'       d   V P                  pMV1'       d   V P:                  pMlR
V9   d   MdV^,          pTpEK  \=        \7        V.V^,          4      \7        VV4      4      p2V ;P                   V2,          un         V
'       d   \        R4       EK  WPn         V5# u uppi u up%i u up&i u up(p'i u up*i   YPn         i ; i):NNNverboseFmaxpreczeroprecinfprecNzENTERING hypercomb main loopzprec =hextrahmagg333333?z  Evaluating term %i/%i : %iF%iz
    powersz	    gammaz	    hyperz    zz
    Value:z  Cancellation:bitsz  Increased precision:z*  Must start over with increased precision)r   zeror   r   get_default_hyper_maxprec
ValueError_hypercomb_msgprintr/   _fixed_precisionr   ldexponerangelenr	   nstrfprodhypergammargammazippowerr   fsummagmaxisnaninfmin)3r   functionparamsr   kwargsorigsumvaluedistr   orig_paramsr2   r3   r4   r5   perturbed_reference_valuer6   orig2r   r   r   r   r   r7   hr#   r(   r   evaluated_termsr   	term_datar   r   r   r   r   r    r!   abr$   cvr)   term_magnitudesmax_magnitudesum_magnitudecancellationprecision_okzero_okinf_ok	increments3   &&&&,                                              r.   	hypercombri   :   s   88DxxHD88D)KjjE*GjjC$>$>t$DEG9zz*%Hjj#G $FwHHNHxx'! 42B!BCCHHE ^Ff%E45h)h'#CJ 3GY	7HH	!HV#!&>D)))sxx|,D"9v-DIIcggu- 2:,r1s6{+A1INI
 AaCLA ,  &)"/8/?T/?)1d1GCS/?Txxd c !O)25)9%
I9B6S'63QG;#As5z3s8SXFG H,sxx}E+sxx'8#((6:JK+sxx}chhsmD'388A;/
 IIsyyc1??@+237aSYYq\734,23FqSZZ]F34 25S>1SYYq^>? @ ,*&&q)) *:, 5zQ*1-###88O4xx0H3BC?aswwqz?OC0MGGH-M(=8L'v>.4H'#((T/9L'#((2hY>&0W<1H1H,4bLF08-WWXAB)D01"xxH"wwHv%aKF08-  L$' :C	$<OP	I%FG9k U& 43> Db s   A.Z8 BZ8 B4Z8 	Z8 Z8 %Z6Z<
Z8 Z8 D(Z8 Z#Z8 'Z(Z8 Z-6Z8 9Z8 Z8 #(Z8 Z3%B+Z8 Z8 Z8 0Z8 9AZ8 Z8 A9Z8 Z8 8[ c                h   V P                  V4      p\        V4      p\        V4      pV Uu. uF  qpP                  V4      NK  	  ppV Uu. uF  qP                  V4      NK  	  ppVP                  RR4      '       d   VP                  RR4      p	^ p
W8  d~   V'       dv   W*,          pW9   d]   V	'       g   V P	                  V^ ,          4      '       g7   VP                  V4       VP                  V4       V^,          pV^,          pKx  V
^,          p
K  V^ 8X  d5   V^8X  d   V P                  ! W#3/ VB # V^ 8X  d   V P                  V4      # EM4V^8X  d_   V^8X  d   V P                  ! WV3/ VB # V^8X  d   V P                  ! WV3/ VB # V^ 8X  d!   V P                  V^ ,          ^ ,          V4      # MV^8X  dn   V^8X  d   V P                  ! WV3/ VB # V^8X  d   V P                  ! WV3/ VB # V^8X  d   V P                  ! WV3/ VB # V^ 8X  d   V P                  ! WV3/ VB # M[WV^,           8X  d   V P                  ! WVWV3/ VB # WV^,           8  d-   VP                  R4      '       g   V P                   ! WVWV3/ VB # \#        W,           !  w  rV P$                  ! WVWV3/ VB # u upi u upi )z(
Hypergeometric function, general case.
	eliminateTeliminate_allFforce_series)convertrC   _convert_paramr:   r   remove_hyp0f1exp_hyp1f1_hyp1f2_hyp1f0_hyp2f1_hyp2f2_hyp2f3_hyp2f0_hypq1fq
_hyp_borelrI   hypsum)r   r   r    r!   rS   pqr]   r^   elim_nonpositiver(   coeffstypess   &&&&,        r.   rF   rF      sk   
 	AACACA*-
.#Qa #C
.*-
.#Qa #C
.zz+t$$!::ou=eAx-S[[15F5F

1

1QQQAv!VCKK9&99!VCGGAJ&V	
a!VCKK!>v>>!VCKK!>v>>!VCKKAq	155V	
a!VCKK!>v>>!VCKK!>v>>!VCKK!>v>>!VCKK!>v>>V	
c||A#A888	
qSN33~~aCa:6::#'OMF::aE1777C /
.s   J*J/c                 .    V P                   ! . V.V3/ VB # NrF   )r   r^   r!   rS   s   &&&,r.   hyp0f1r      s    99RA'''r0   c                 0    V P                   ! V.V.V3/ VB # r   r   r   r]   r^   r!   rS   s   &&&&,r.   hyp1f1r      s    99aS!Q(((r0   c                 0    V P                   ! V.W#.V3/ VB # r   r   )r   a1b1b2r!   rS   s   &&&&&,r.   hyp1f2r      s    99bT2'!-f--r0   c                 0    V P                   ! W.V.V3/ VB # r   r   )r   r]   r^   r_   r!   rS   s   &&&&&,r.   hyp2f1r      s    99aUA3q*6**r0   c                 0    V P                   ! W.W4.V3/ VB # r   r   )r   r   a2r   r   r!   rS   s   &&&&&&,r.   hyp2f2r      s    99bWbWQ000r0   c                 2    V P                   ! W.W4V.V3/ VB # r   r   )r   r   r   r   r   b3r!   rS   s   &&&&&&&,r.   hyp2f3r     s     99bWbBZ3F33r0   c                 .    V P                   ! W.. V3/ VB # r   r   r   s   &&&&,r.   hyp2f0r     s    99aU2a)&))r0   c                 2    V P                   ! WV.WE.V3/ VB # r   r   )r   r   r   a3r   r   r!   rS   s   &&&&&&&,r.   hyp3f2r   	  s     99bBZ3F33r0   c                 $    ^V,
          V) ,          #     )r   r]   r!   s   &&&r.   ru   ru     s    aCaR=r0   c                   a aa	 Vw  w  o	pS'       d   S P                  S4      pM^ pV^8  d   VP                  R4      '       g    S P                  p S ;P                  ^V^,          ,           ,          un        V	V V3R lpS P                  V. RR7      pS P	                  S	4      ^S P                  S P                  4      ,          ,          V,          pVS n        S P                  S	4      '       d)   S P                  S4      '       d   S P                  V4      pV5# S P                  ! ^ ^V3S	.S3/ VB #   TS n        i ; i  S P                   d     L8i ; i)r   rm   c                    < SP                  S	) 4      p SP                  V ,          p^^V,          ,          pSP                  S,
          pSP                  ^V,          4      pV) V.VR.. . SSP                  ,
          SP                  S,
          .. V) 3pW.V^.. . SSP                  ,
          SP                  S,
          .. V3pWV3# r   )sqrtjmpq_1_2rr   mpq_3_2)
r$   jwr-   r_   ET1T2r^   r   r!   s
          r.   rZ   _hyp0f1.<locals>.h!  s    !AqB1R4AaA"A3q'Ab62rAckkM3;;q=3QSUXYWYZB&1Q%R!CKK-Q1OQSUVWB6Mr0   Trm   )rL   r:   r   ri   rG   r   pi_is_real_type_reNoConvergencer|   )
r   r    r!   rS   btypemagzrT   rZ   r`   r^   s
   f&f,     @r.   rq   rq     s)   KJQwwqzqyN33	
 88D BqL(" MM!RdM;IIaL!CHHSVV$4"45a7  ##(9(9!(<(<GGAJ2I ::aUHqc1777      		s7   E BD7 E 3E 
E 7	E  E EEc                 .  a aa Vw  w  rVVw  w  rxS'       g   S P                   S,           # S P                  S4      p	V	^8  Edi   S P                  V4      '       d   S P                  V4      ^ 8:  Eg;   S P	                  S4      '       df   S P                  V4      S P                  V4      u;8X  d+   S P                  S4      u;8X  d   ^8X  d    S P                  #  S P                  S,          #   S ;P                  V	,          un        S P                  S4      ^ 8  oV VV3R lp
S P                  WV.RR7      pS P                  V4      '       d@   S P                  V4      '       d)   S P                  S4      '       d   S P                  V4      pV5S ;P                  V	,          un        # S P                  ! ^^Wh3WW.S3/ VB pV#   S P                   d     Mi ; i S ;P                  T	,          un        LM  S ;P                  T	,          un        i ; i)   c                 H  < S'       d$   SP                  SP                  V R R7      4      pMSP                  V 4      p^S,          pVS.^V ) .V.W,
          .V ^V ,           V,
          .. V) 3pSP                  S4      S.^W,
          .V.V .W,
          ^V ,
          .. V3pWE3# )Texact)expjpifnegrr   )	r]   r^   r   rzr   r   r   sectorr!   s	   &&    r.   rZ   _hyp1f1.<locals>.hE  s    JJsxxx'>?JJqM1BQ%!QB!qsea1QZbSIB771:a.1QS'A3ac1Q3ZRPB6Mr0   Tr   )rA   rL   isintr
   isinfsignrO   nanr   _imri   r   r   r   r|   )r   r   r    r!   rS   r]   atyper^   r   r   rZ   r`   r   s   f&&f,       @r.   rs   rs   5  s   KJQKJQwwqy771:Dqy#))A,,366!9>99Q<<xx{chhqk=SXXa[=A=ww >77Q;	D a" MM!UM>$$Q''C,=,=a,@,@SEVEVWXEYEY
Ar HHH

1a%!=f=AH $$ HHHCHHHs1   0A7G (G ?G GG9 GG9 9Hc                 :   WW43w  rgrV P                   p
VP                  R ^dV
,          4      p^
p W,           V n         V P                  V	4      pV P                  ^ 4      pV P                  ^4      pV P                  ^ 4      p^ pW,          V,          pW0P                  ,          pV^,           V P                  ,          p^V,
          pVV,          pW,          V,          pW2,
          V,
          pV^,
          pV P                   ) ^
,
          pV P
                  pV P                  pV P                  pV P                  p VV,           pVV,           VV,           ,          V,          ^V^,           ,          V,          VV,           ,          ,          pVVVV,           V,          V,          ,
          ,          p VVV,          VV,           V,          ,           ,          p!VVVV,          VV,          ,           V,
          ,          V,
          ,          ^V,          V,          ,          p"W,           V",
          p#\        VV! V#4      4      pV! V#V,
          4      V8  d   MT T!T#rpV^,          pEK+  VV! V#4      ,
          p$V$V8  d    V## VV$,          pW8  g   EKb  V P                  h)r3   )r   r:   rn   mpfr   rD   nprintrL   r   rM   r   )%r   r]   r^   r_   r!   rS   _a_b_c_zrT   r3   extrar+   efr#   abzchc1hnzgabgcbaz2tolrD   r   rL   maxmagkchkakbzd1e1ftf1rd   s%   &&&&&,                               r.   _hyp2f1_gosperr   Y  s&    *KB"88DjjCH-GE
< KKOGGAJGGAJGGAJ c!e_sckk!qSbDc!ec!eqSxxi"nxxggB$CqS1Q3KMQ!WS[!C%%89E1S5!)A+&B#qsAg&BAs1uQrTz!|$S()1S584BBR)F2a4y3"b!AFAB'%
 I \!E'''r0   c                   a aa Vw  w  rVw  rxVw  w  op	S^8X  Ed   S P                  SV,
          V,
          4      ^ 8  p
S P                  V4      ;'       d    V^ 8*  ;'       g    S P                  V4      ;'       d    V^ 8*  pS P                  S4      ;'       dy    S^ 8*  ;'       dl    S P                  V4      ;'       d    STu;8*  ;'       d    ^ 8*  Mu ;'       g0    S P                  V4      ;'       d    STu;8*  ;'       d    ^ 8*  Mu '       * pV
'       g	   V'       d=   V'       g5   S P                  SSV,
          V,
          .SV,
          SV,
          .RR7      # S P                  WWS^S P                  ^,          ,
          4      S P
                  ,          # S'       g,   S'       g   V^ 8X  g   V^ 8X  d
   ^S,           # S P                  # S P                  S4      '       dq   S^ 8:  dj   S P                  V4      '       d   STu;8:  d   ^ 8:  g7   M S P                  V4      '       d   STu;8:  d   ^ 8:  d   M S P
                  # MS P
                  # \        S4      pVR8:  gK   S P                  V4      '       d   V^ 8:  d   VR8  g&   S P                  V4      '       d*   V^ 8:  d#   VR8  d   S P                  ! ^^WhV	3WWS.S3/ VB # S P                  p S ;P                  ^
,          un	        VR8  d   VV V3R lpS P                  ! WV.3/ VB pM\        ^S,
          4      R8:  d   VV3R lpS P                  ! WV.3/ VB pMl\        SS^,
          ,          4      R8:  d@   S P                  VSV,
          SSS^,
          ,          4      ^S,
          V,          ,          pM\        S WWSS3/ VB pVS n	        V5#   TS n	        i ; i)	r   T)_infsigng?g?c                   < SP                   S,
          q V,
          p^S	,          pS	) .V ) .SV) .VSV ,
          .WV ,           .SP                   V,           .V3pS	) .V) .SV.V SV,
          .WV,           .SP                   V,
          .V3pWV3# r   )mpq_1)
r]   r^   tabr   r   r   r_   r   r!   s
   &&     r.   rZ   _hyp2f1.<locals>.h  s    IIaKc!2rdQB4!RC!AaC1qS'399R<.2NrdQB4!B1Q3!aC#))B,"Mvr0   g      ?c                    < SV ,
          V,
          pSV ,
          pSV,
          p^S	,
          p. . SV.W4.W.^V,
          .V3pV.V.SW,           S,
          .W.W4.^V,           .V3pWg3# r   r   )
r]   r^   r   cacbr   r   r   r_   r!   s
   &&      r.   rZ   r     s}    aCE!2!A#RAaCraURGaUQqSE2=TA313q5	A52'AaC5"Dvr0   i)r
   r   	gammaprodr   epsrO   r   absr|   r   ri   r   )r   r   r    r!   rS   r]   r   r^   r   ctype
convergentfinitezerodivabszrT   rZ   r`   r_   s   f&&f,            @r.   rv   rv     s    JQ
KJQAvVVAaCE]Q&
))A,))16GGsyy|/F/FQ))A, O O16 O Oiil**qA{{{MM		!0L0La1/O &'==!QqSUac1Q3Z$=GG zz!a#''!),sww66  Q!q&Q3Jww yy||QIIaLLQ![q[IIaLLQ![q[ 77N  77Nq6D s{syy||Q1:yy||Q1:zz!Qu 5ay!NvNN88DB 3;
 aA1&1A 1X
 aA1&1A AaC\T!

1ac1a1g.!A#9A s1q4V4A 2I s   CO 	O
c                  a aaaaaaaaaaaa  \        S!  w  op\        S!  w  op\        S4      o\        S4      o\        S4      p	Rp
S F'  pS P                  V4      '       g   K  V^ 8:  g   K%  Rp
 M	  V	^8  g	   V
'       d&    S P                  ! SSWx,           SS,           S3/ VB # S^8X  dX   S P                  \        S4      \        S4      ,
          4      pV^ 8:  d'   S P                  ! SSR3/ VB S P                  ,          # SS3R8X  d   \        S^,
          4      R8  d   Sw  oooSw  ooSS,           S,
          pS P                  SS,
          SS,
          SS.SS,
          SS,
          ^V.4      p^ V/3VVVVVV V3R llo  S P                  S ^ S P                  .VP                  R4      VP                  RR4      R	7      pVS P                  SS.SSS.4      ,          # V	R8  d   S P                  S4      ^8:  d   ^ S P                  /3VVV VVV V3R
 llo VP                  RR4      p S P                  S ^ S P                  .VP                  R4      VP                  RR4      VP                  RR4      R7      # V VVV3R lpS P.                  ! VSS,           3/ VB #   S P
                   d    T	R8  g	   T
'       d   h  EL#i ; i  S P
                   d     Li ; i  S P
                   d    RT9  d   h  Mi ; iTP                  R4      '       d   \!        R4        TTT T3R loTTT T3R lpS P"                  R,          pS P$                  p ^2S P&                  ,          pS ;P$                  ^,          un        \)        ^4       F  pS P+                  T 3R l\)        T4       4       4      pS P-                  S TS P                  .TT! T4      TP                  R4      RRR7      w  ppTT8  d   TT,           p MOT^,          pS ;P$                  S P$                  ^,          ,          un        T^8X  g   K  S P                  R4      h	  TS n        X5#   TS n        i ; i)z
Evaluates 3F2, 4F3, 5F4, ...
FTg?g?g?c                 L  < SS,           S,
          V ,           pW9   d
   W,          pMcW^,
          ,          pVSV ,           S,
          ^,
          SV ,           S,
          ^,
          ,          ,          pW0V^,
          ,          ,          pW1V &   VS	P                  SSVS
4      ,          # r   )r   )r#   _cacher-   r   r   r   r   r   r   r   r!   s   &&  r.   r   _hypq1fq.<locals>.term  s    2b
A{IQ3Kbd2gai"Q$r'!),,!Wq	szz"R!,,,r0   r2   strict)r2   r   c                    < \        V 4      pW 8w  dq   SS
P                  V 4      ,          S
P                  V 4      ,          pS F  qCS
P                  W@4      ,          pK  	  S	 F  qSS
P                  WP4      ,          pK  	  V# W!9   d	   W,          # S! V^,
          4      pV^,
          p\	        S4       F  qsSV,          V,           ,          pK  	  \	        S4       F  qsS	V,          V,           ,          pK  	  VS,          pW2,          pW1V&   V# r   )r   r   facrfr   )kkr   r#   r   r]   r^   mr   r   r    r   r}   r~   r   r!   s   &&      r.   r   r   '  s    BAw$swwr{2A366!</aA366!</a{y QqS	A!AAYc!fQhYAYc!fQhYFAFA1IHr0   
sum_methodzr+s+er    )r2   r   methodz$Attempting Euler-Maclaurin summationc              3     <a a"   S^.,           p\        VV 3R lS 4       4      \        VV 3R lV 4       4      ,
          S SP                  S4      ,          ,           x  ^ o \        VVV 3R lS 4       4      \        VVV 3R lV 4       4      ,
          pS^ 8X  d   VSP                  S4      ,          pVx  S^,          oKb  5i)r   c              3   T   <"   T F  pSP                  VS,           4      x  K  	  R # 5ir   loggamma).0r]   r   k0s   & r.   	<genexpr>._hypq1fq.<locals>.log_diffs.<locals>.<genexpr>i  s!     6#Qcll1R4((#   %(c              3   T   <"   T F  pSP                  VS,           4      x  K  	  R # 5ir   r   )r  r^   r   r  s   & r.   r  r  j  s!     31CLL2&&r  c              3   V   <"   T F  pSP                  SVS,           4      x  K   	  R # 5ir   psi)r  r]   r   r(   r  s   & r.   r  r  m  s!     5A!B$   &)c              3   V   <"   T F  pSP                  SVS,           4      x  K   	  R # 5ir   r  )r  r^   r   r(   r  s   & r.   r  r  n  s!     4A!B$r
  )r   log)r  r   r`   r(   r   r    r   r!   s   f  @r.   	log_diffs_hypq1fq.<locals>.log_diffsg  s     sB6#66333468mD DA55544456OAQs   B?Cc              3      <"   SP                  S Uu. uF  qNK  	  upS Uu. uF  q"NK  	  up4      pSP                  S	! V 4      4       F  pW4,          pVx  K  	  R # u upi u upi 5ir   )r   	diffs_exp)
r  r^   r]   Cr+   r`   r   r    r   r  s
   &     r.   hyper_diffs_hypq1fq.<locals>.hyper_diffst  s_     #.#Qq#.C0@CqC0@AA]]9R=1E 2 /0@s   A*
A A*
A%
=A*i   c              3   4   <"   T F  pS! V4      x  K  	  R # 5ir   r   )r  r#   r   s   & r.   r  _hypq1fq.<locals>.<genexpr>  s     ?AQs   )r   adiffsr2   error_fast_abortz*Euler-Maclaurin summation did not convergec            
        < \        V R S 4      p\        V SR  4      p. pSP                  S,          pSP                  SRR7      p\        S^,           4       EF  pW,          pV.pV) .p	W'.,           \        S^,           4       U
u. uF  qV8w  g   K  W,          V,
          NK  	  up
,           pT\        S4       U
u. uF  qV
,          V,
          NK  	  up
,           pV.\        S4       U
u. uF  qW*,          ,
          ^,           NK  	  up
,           p\        S^,           4       U
u. uF!  qV8w  g   K  ^W,          ,
          V,           NK#  	  pp
VP	                  WWWV34       EK  	  V# u up
i u up
i u up
i u up
i )NTr   )listrA   r   rB   r   )argsr   r    Tsrecznegzr#   akr  Cpr   GnGdFnFdr   r}   r~   r!   s   *              r.   rZ   _hypq1fq.<locals>.h  sH   48n48nwwqyxxx&qsABA#Bt%!*G*QQysvbyy*GGB5848aAr		844BeAh7hCF1h77B',QqSz<z!!V+!CF(2++zB<IIqbbd34  	 H47<s$   E.E.>E3.E8)E=6E=)   r   )rI   r  r   r   r|   r   r
   r   rF   rO   r   nsumr:   r   rA   replacer>   r   r   dpsr   rK   sumemri   )!r   r}   r~   r   r    r!   rS   a_typesb_typesr   ispolyr]   Sr-   initialr   r  r   r   truncr(   headtailerrr`   rZ   r   r   r   r   r   r  r   s!   ffffff,                   @@@@@@@r.   rz   rz     s   
 9LC9LC
s)C
s)Cq6DF99Q<<AFF 
 ax6	::aGOSWaJ6JJ& 	Av FF3s8CH$%699S#s5f5??	!u~#ac(T/2b2rE"H--Br"uR 3RU2b514EFg; 		- 		-	#''{FJJy4Izz(D1  3As}}bWbBZ888 czcggajAoswwK 	 	$ ZZg6
	88D1SWW+vzz)7Lzz(D1!))#b1  3 3v   ==CG.v..k    	czV $	Z    		@    	*$	
 ::i  89	>	 		 	 ggnxx	LEHHNHAYxx???IIdUCGG,<#&u-"JJy1 $	 & &	c
 9tA
 CHHaK'6++DF F $ CHr	 CHsQ   #J) AK 4AK( )K	KKK%$K%(LLC#Q! Q! !	Q*c                 4  a aaaa S'       d   \        S!  w  op\        S4      oM. R
uopS'       d   \        S!  w  op\        S4      oM. R
uopVP                  R S P                  4      VR &    S P                  ! WWx,           SS,           S3/ VB #   S P
                   d     Mi ; iS P                  p	 TP                  RS P                  ^,          4      p
S ;P                  ^
,          un        ^ S P                  /3TTTT3R lloS P                  p\        ^S P                  4       F.  pS! T4      pY,          p\        T4      T
8:  g   K%  Tu T	S n        # 	  T	S n        M  T	S n        i ; iY^,           8:  Ed   TP                  R4      pT'       g   S P                  S4      R8  ds   S\        ^\        S4      4      ,          pS P                  S4      ^ 8  d!   ^ RRT,          ^T,          S P                  .pM.^ RRT,          ^T,          S P                  .pM^ S P                  .pTP                  R/ 4      pTTT T3R lpS P                  ! TT3RR	/TB w  ppT\        T4      S P                  ,          ^,          8:  d   T# S P
                  h)maxterms	asymp_tolc                    < W9   d	   W,          # S! V ^,
          4      pS F  q2W0^,
          ,           ,          pK  	  S F  qBW@^,
          ,           ,          pK  	  VS,          pW ,          pW!V &   V# r   r   )	r#   cacher   r]   r^   r   r    r   r!   s	   &&   r.   r   _hyp_borel.<locals>.term  s^    zxQqS	AQ3.!SQ3.!SFAFA!HHr0   contourg      ?y               @quad_kwargsc                 v   < SP                  V ) 4      SP                  SS^.,           V S,          4      ,          # r   )rr   rF   )r   r   r    r   r!   s   &r.   r   _hyp_borel.<locals>.g  s/    77A2;syyc1#gqs;;;r0   r  Tr   y       @       @y              y       @       )rI   r  r:   r   r|   r   r   rA   r   r   argrM   rO   quad)r   r}   r~   r   r    r!   rS   r+  r,  r   r   sr#   r   r:  r-   r;  r   Ir3  r   s   f&&fff,             @r.   r{   r{     s7   
CyW3i2W
CyW3i2WJ9F:zz!S!FvFF 88Djjcggai0BSWW+ 		 		 GG388$AQAFA1v} % 4aCx**Y'wwqzD As1v&771:? "tQh!SWW=G #qy!A#sww?G
 cgg,jj3	< 	<!W@D@K@3#a&.""H


s+   0"B B'&B'7BE' E' E' '	E0c           	        a a Vw  w  rVw  rxVw  w  rw  r\        S4      pS P                  S4      pS P                  pTpVP                  R 4      '       * ;'       d    S P                  V4      ^8  pV'       d     S ;P                  V,          un        V V3R lpS P	                  VWWW.R^S P                  ,          R7      p\        V 3R lWWWS3 4       4      ^8X  d   S P                  V4      pVVS n        # S P                  ! ^^WhW3WWW.S3/ VB #   S P                   d     Mi ; i TS n        L;  TS n        i ; i)rm   c                   < W,           V,
          V,
          pW,           pW#,           p/ pSP                   V^ &   V^,
          V,          W#,          ,           W,          ,
          V^&   ^ p^ p	^ p
 W9  Ed8   ^V,
          ^V ,          ,           V ^,          ,           ^V,          ,           V^,          ,           WV,          ,
          W,          ,           W#,          ,           ^V,          ^V^,           ,          ,
          V	,          ,           ^V	^,          ,          ,           pW,
          V,           ^,
          W,
          V,           ^,
          ,          W,
          ^,
          ,          pSP                   V	,          WV	^,
          ,          ,          WV	^,
          ,          ,          ,
          ,          Wy&   Wy,          SV	) ,          ,          p\        V4      RSP                  ,          8  d   MIV	^8  d-   \        V
4      \        V4      ,          R8  d   SP                  hW,          pTp
V	^,          p	EK  SP	                  S4      V,          pSV.V^.W#.W.. . ^ 3pS) .V ) .W#W,
          .WV ,
          W0,
          .W V,
          ^,           W,
          ^,           .W,
          ^,           .RS,          3pS) .V) .W#W,
          .WV,
          W1,
          .WV,
          ^,           W,
          ^,           .V ) V,           ^,           .RS,          3pVVV3# )r   皙?      ?r   )rA   r   r   r   rr   )r   r   r   r   XA2B2r_   s1r#   tprevuu1uu2t1r.  r   r   T3r   r!   s   &&&&              r.   rZ   _hyp2f2.<locals>.h  s   bABBA77AaDqD!8BE>"%/AaDBAE:"#B$qt)BE/!B$"6r1u"<RU"B25"H"NPQRTPTUVXZ[\X\U]P]_`O`"`abcdfgcgag"gC#$4719qtBwqy"913q5"AC#&7719acF
31v:0E#FADTAG^r7S[0!q5SZ#b'%9C%?"%"3"33 "Q
2AA1wwr"Q>B"seR25M2eBE2BB"uQwruUVwCWY[Y^_`Y`XabdefbffB"seR25M2eBE2BB"uQwruUVwCWZ\Y\]_Y_`aYaXbcefgcggBr2:%r0   Trm   r5  c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5ir   r   r  r-   r   s   & r.   r  _hyp2f2.<locals>.<genexpr>!  s     E_s((++_   !)	r   rL   r   r:   ri   r   r
   r   r|   )r   r   r    r!   rS   r   a1typer   a2typer   b1typer   b2typer   r   rT   asymp_extrapreccan_use_asymptoticrZ   r`   s   f&&f,               r.   rw   rw     sF   !$LR,2!$LR,2q6D771:D88D O %jj88  		 
 +	(O+&> MM!bB]PQRURZRZPZM[EbB!_EEJq	A CH::aVV<rr>NPQ\U[\\ $$ CHtCHs%   ;A7D D)&D5 (D))D5 5	D>c                   a a Vw  w  rVVw  w  rxw  r\        S4      pS P                  S4      pS P                  pS;'       d
    V^,          pVP                  R4      '       * ;'       d8    S P                  V4      ^8  ;'       d    S P	                  V4      RV,          8  pV'       d     S ;P                  V,          un        V V3R lpS P                  VWWV	.R^S P                  ,          R7      p\        V 3R lWWV	S3 4       4      ^8X  d   S P                  V4      pVVS n        # S P                  ! ^^WhV
3WWV	.S3/ VB #   S P                   d     Mi ; i TS n        L;  TS n        i ; i)r   rm   rE  c                 p
  < SP                   W,
          V,
          SP                   ,           ,          p/ pSP                  V^ &   ^SP                  ^V ,          V,           V,           ^,
          ,          W,
          V,
          ,          W,          ,           SP                  ,
          ,          V^&   ^W,          SP                  W,
          V,
          ,          ^V ,          V,           V,           ^,
          ,          ,           SP                  ,
          ^,          ,          SP                  R^V ,          ^,
          ,          V,          V,          ^W,
          V,
          ,          RV ^,          ,          ^V ,          ,           V,           V,           ^,
          ,          ,           ^,
          ,          ,           V^&   ^ p^ p^ p^ p Wt9  Edv   ^V^,          ,          RV ,          ^V,          ,           ^V,          ,           ^,
          V,          ,           ^V ^,          ,          ,           W,
          ^,          ,
          ^V ,          W,           ^,
          ,          ,
          SP                  ,           p	Wp,
          V,           V,
          SP                   ,
          Wp,
          V,
          V,           SP                   ,
          ,          Wp,
          V,           V,           SP
                  ,
          ,          p
SP                  ^V,          ,          WV^,
          ,          ,          WV^,
          ,          ,          ,
          ,          WG&   WG,          S) RV,          ,          ,          pSP                  ) V,          SP                  ^4      V) ,          ,          V,          pSP                  V,          SP                  ^4      V) ,          ,          V,          p\        V4      RSP                  ,          8  d   MQV^8  d-   \        V4      \        V4      ,          R8  d   SP                  hW\,          pWm,          pTpV^,          pEK  SP                  SP                  V,          ^SP                  S) 4      ,          ,           4      V,          SP                  SP                  V,          ^SP                  S) 4      ,          ,           ) 4      V,          ,           pRV,          SP                  S) .^RV.W.V .. . ^ 3pS) .V ) .W.W,
          W ,
          .W V,
          ^,           W,
          ^,           .. ^S,          3pVV3# )r         ?rD  rE  i      )r   rA   mpq_1_4mpq_3_16mpq_1_16mpq_5_2r   r   r   r   r   expjr   r   )r   r   r   rF  r_   rI  s2r#   rJ  rK  rL  r$   rM  t2r.  r   r   r   r!   s   &&&              r.   rZ   _hyp1f2.<locals>.hI  s   RU2Xckk%9:AA77AaDckk1R472:a<8"%(CBEI#,,VWAaDbeCKKr$:AbDGBJqL$II#,,VYZZZc1R46l2ob&8258bQhr"unR&7&:1&<='>>?'@ AAAaD BBAE:#$QT62b52:ad?1+<a*?#?!BE'#I!#
$+-.rT257^$<>Akk$JC#$472:ckk#9ADGBJs{{<R"S!"bCKK!7#9C#&77AaC=#!f*S1Q3Z2G#HADDQB$q&>1"uufq[3771:+;;a? UUAX
aR(881<r7S[0!q5SZ#b'%9C%?"%"3"33 "Q!CHHaRL.!89"<366!8AchhrlN#:!;<R?@Aa%!,q$lRHrdB"B"urgruRUmrE!GBE!G,b!A#6Br6Mr0   TrP  c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5ir   rR  rS  s   & r.   r  _hyp1f2.<locals>.<genexpr>r  s     B\s((++\rU  
r   rL   r   r:   r   ri   r   r
   r   r|   )r   r   r    r!   rS   r   rV  r   rX  r   rY  r   r   rT   rZ  r[  rZ   r`   s   f&&f,             r.   rt   rt   -  sd   MLR!$LR,2q6D771:D88D mmD!GO %jj88 $ $		$ $	$#d(	"  4	1O+'"P MM!bBZdQsxxZMXBbBq\BBaGq	A CH ::aVV4rrlAPPP $$ CHtCHs%   ,A7E EE& EE& &	E/c           
        a a Vw  w  rVw  rxVw  w  rw  rw  r\        S4      pS P                  S4      pS;'       d
    V^,          pS P                  pVP                  R4      '       * ;'       d8    S P                  V4      ^8  ;'       d    S P	                  V4      RV,          8  pV'       d     S ;P                  V,          un        V V3R lpS P                  VWWWV.R^S P                  ,          R7      p\        V 3R lWWWVS3 4       4      ^8X  d   S P                  V4      pVVS n        # S P                  ! ^^WhWV3WWWV.S3/ VB #   S P                   d     Mi ; i TS n        L=  TS n        i ; i)r   rm   rE  c           	      *  < SP                   W,           V,
          V,
          V,
          SP                   ,           ,          pW,           pW#,           V,           pW,          pW#,          WC,          ,           W$,          ,           p	W#,          V,          p
/ pSP                  V^ &   ^W,
          SP                  ^V,          V,           ^,
          ,          Wg,
          ,          ,           SP                  ,
          ,          V^&   SP                   V^,          ^,          ,          SP                  R^V,          ^,
          ,          W,
          ,          ^ V
,          ,           ^RV^,          ,          ^V,          ,           ^V,          ,           V,           ^,
          ,          Wg,
          ,          ,           ^,
          ,          ,           V^&   ^ p^ p^ p^ p W9  Ed   V^V,          ,
          ^,
          V^V,          ,
          ^V,          ,
          ^,
          ,          V^V,          ,
          ^V,          ,
          ^,
          ,          V^V,          ,
          ^V,          ,
          ^,
          ,          p^V^,
          ^,          ,          ^^V,          V,           ,          V^,
          ^,          ,          ,
          ^^V^,          ,          ^V,          V,          ,           ^V	,          ,           V,           ^,
          ,          V^,
          ,          ,           ^ V^,          ,          ,
          ^V,          V^,          ,          ,
          ^V	,          ,
          ^V
,          ,
          ^^V	,          V,           ^,
          ,          V,          ,
          ^V,          ,           ^,
          p^V^,
          ^,          ,          ^RV,          V,           ^V,          ,
          ^,           ,          V^,
          ,          ,           ^V^,          ,          ,           pSP                  ^V,          ,          VW^,
          ,          ,          VW^,
          ,          ,          ,
          VW^,
          ,          ,          ,           ,          W&   W,          SP                  S) RV,          4      ,          pSP                  ) V,          SP                  ^4      V) ,          ,          V,          pSP                  V,          SP                  ^4      V) ,          ,          V,          p\        V4      RSP                  ,          8  d   MSV^8  d-   \        V4      \        V4      ,          R8  d   SP                  hVV,          pVV,          pTpV^,          pEK  SP                  SP                  V,          ^SP                  S) 4      ,          ,           4      V,          SP                  SP                  V,          ^SP                  S) 4      ,          ,           ) 4      V,          ,           pRV,          SP                  S) .^RV.W#V.W.. . ^ 3pS) .V ) .W#WAV ,
          .WV ,
          W0,
          W@,
          .W V,
          ^,           W,
          ^,           W,
          ^,           .W,
          ^,           .^S,          3pS) .V) .W#W@V,
          .WV,
          W1,
          WA,
          .WV,
          ^,           W,
          ^,           W,
          ^,           .V ) V,           ^,           .^S,          3pVVV3# )r   r^  rD  rE  r_  r`  ira  )r   rA   rb  rc  rd  rJ   r   r   r   r   r   rf  r   r   )r   r   r   r   r   rF  rG  B3ABRr_   rI  rg  r#   rJ  rK  rL  uu3r$   rM  rh  r.  r   r   rN  r   r!   s   &&&&&                     r.   rZ   _hyp2f3.<locals>.h  sK   RU2Xb[^CKK%?@ABrBAbeBE)AbAA77AaDaeckk1R4719&=ru&EETUAaD;;qtQw.sAbDF|QS?QTVWXTX?X2b!e8be+ac1B6:;RUC@DDE@F 2G GAaDBBAE:#$QqS57QqsU1R4Z\":AacE!B$JqL"I!"1Q3qtA#/C#$acAX:1Q3r6
AaC!80C#C !2ad72b57?1Q3#6r#9!#; <ac B$CEG1W$M "2ad
$+-.qS$134Q3$79:AaCF1Ha$HJKB$$OOP$QC $%acAX:aQr!B$q.A1Q3.G#G!A$#NC#&77AaC=#a!f*SQ3Z2GAPQcF
2R#SADD399aRa#88"uufq[3771:+;;a? UUAX
aR(881<r7S[0!q5SZ#b'%9C%?"%"3"33bb "Q!CHHaRL.!89"<366!8AchhrlN#:!;<R?@Aa%!,q$lRRL2(B"B"urR2&6b5ru7MrE!GBE!GBE!G4ruQwi1EB"urR2&6b5ru7MrE!GBE!GBE!G4rc"fQhZ1EBr2:%r0   TrP  c              3   F   <"   T F  pSP                  V4      x  K  	  R # 5ir   rR  rS  s   & r.   r  _hyp2f3.<locals>.<genexpr>  s!     H5Gs((++5GrU  rl  )r   r   r    r!   rS   r   rV  r   rW  r   rX  r   rY  r   b3typer   r   rZ  rT   r[  rZ   r`   s   f&&f,                 r.   rx   rx     s~   !$LR,2/2,LR,2q6D771:D mmD!GO88D
 %jj88 = =		= ="%((4.3t8";  :	7O+-&\ MM!bB"%5DSTUXU]U]S]M^HbB"Q5GHHAMq	A CH::aVVVDrrWYFZ\]haghh $$ CHtCHs%   2A9E E$!E0 #E$$E0 0	E9c                 \  a a Vw  w  rVw  rx VP                  4       p	V	P                  R S P                  4      V	R &   S P                  ! ^^ Wh3WW.S3/ V	B #   S P                   d    TP                  R4      '       d   h  Mi ; iT T3R lp
S P
                  ! Y^T,           T,
          .3/ TB # )r5  rm   c                   < SP                  V4      pRS,          pSP                  W#.^RV .. W,
          ^,           V.V .V.V3pSP                  ) W#.^R^V ,           V,
          .. V ^V,
          .W,
          ^,           .^V,
          .V3pWE3# r   )sinpir   )r]   r^   r$   r   r   r   r   r!   s   &&    r.   rZ   _hyp2f0.<locals>.h  s    IIaLTvvamQr!HRQq	1#qc"=wqna1Q3q5\"a!Wac!eWacU2Fvr0   )copyr:   r   r|   r   ri   )r   r   r    r!   rS   r]   r   r^   r   kwargsbrZ   s   f&&f,      r.   ry   ry     s     JQ
++-%kk*chh?
zz!QuaC7CC ::n%% ==!AJ1&11s   AA 'B=B BNc                   a aaaaaa Vw  rxVw  r\        V4      oS\        V4      ,           o\        V	4      oS\        V
4      ,           oWx,           pW,           pV Uu. uF  pS P                  V4      NK  	  ppV Uu. uF  pS P                  V4      NK  	  ppS P                  S4      oVf=   SS8  d   ^pSS8  d   ^pSS8X  d$   SS,           S8X  d   \        S4      ^8  d   ^pM^pVP                  R4      '       d   \	        RSSSSV4       V^8X  d   V VVVVVV3R lpMV VVVVVV3R lpS P
                  ! WV,           3/ VB # u upi u upi )Nr2   zMeijer G m,n,p,q,series =c            
        < V R S pV SR  p. p\        S4       EF  pS.pW$,          S,          .p\        S4       Uu. uF   qwV8w  g   K  W',          W$,          ,
          NK"  	  ppT\        S4       Uu. uF  p^W,          ,
          W$,          ,           NK!  	  up,          p\        SS4       Uu. uF  qqV,          W$,          ,
          NK  	  p	pT	\        SS4       Uu. uF  p^W',          ,
          W$,          ,           NK!  	  up,          p	\        S4       Uu. uF  p^W,          ,
          W$,          ,           NK!  	  p
p\        S4       Uu. uF'  qwV8w  g   K  ^W',          ,
          W$,          ,           NK)  	  ppSP                  ) SS,
          S,
          ,          SSP                  S,          ,          ,          pVP                  WVWWV34       EK  	  V# u upi u upi u upi u upi u upi u upi r   )rB   rA   r   r  r]   r^   r   r#   basesexptsr   gngdhnhdhzr   r   r*   r}   r~   rr!   s   *            r.   rZ   meijerg.<locals>.h  s   RaAQRAE1Xa).q<A!Viad14ii<E!H5Hqqvad{{H55).q4Ad14ii4E!AJ7Jqqvad{{J77+0848aafQTkk84+08>8aAvkafQTkk8>wwh!A#a%(1swwqy>9eBBB?@  L =5474>s/   G
G3%G/G#%G(%G-G2 G2c            
      J  < V R S pV SR  p. p\        S4       EF  pS.pS^8X  d   W,          ^,
          .pM&W,          ^,
          SP                  S4      ,          .p\        S4       Uu. uF   qwV8w  g   K  W,          W,          ,
          NK"  	  ppT\        S4       Uu. uF  p^W,          ,
          W',          ,           NK!  	  up,          p\        SS4       Uu. uF  qqV,          W',          ,
          NK  	  p	pT	\        SS4       Uu. uF  p^W,          ,
          W,          ,           NK!  	  up,          p	\        S4       Uu. uF  p^W,          ,
          W',          ,           NK!  	  p
p\        S4       Uu. uF'  qwV8w  g   K  ^W,          ,           W,          ,
          NK)  	  ppSP                  ) SS,
          S,
          ,          SSP                  S,          ,          ,          pVP                  WVWWV34       EK  	  V# u upi u upi u upi u upi u upi u upi r   )rB   rn   rA   r   r  s   *            r.   rZ   r    s   RaAQRAE1X6T!VHEd1fckk!n45E).q<A!Viad14ii<E!H5Hqqvad{{H55).q4Ad14ii4E!AJ7Jqqvad{{J77+0848aafQTkk84+08>8aAvkafQTkk8>wwh!A#a%(1swwqy>9eBBB?@  L =5474>s0   +H8H!%HH%H%H;H  H )rC   rn   r   r:   r>   ri   )r   r   r    r!   r  seriesrS   anapbmbqr]   r^   _rZ   r   r*   r}   r~   s   f&&ff&,        @@@@r.   meijergr    s1   FBFBBA	CGABA	CGA
A
A!"#AQA#!"#AQA#AA~q51&q51&6saxCFQJzz))1Qq6:{	 	"	 	& ==aC*6**e 	$#s   E>Ec           	      `   \        V4      \        V4      8  d   YereY2r2R  pV P                  V4      '       d   MV P                  V4      '       d   MV P                  V4      '       d	   WeW23w  rVr#MV! V4      '       g   WV,
          V^,
          ,          p	V! V	4      '       g   \        R4      h^V,
          V) ,          ^V,
          WA,
          V,
          ,          ,          V P                  ! WA,
          W$V,
          V,
          WIV3/ VB ,          # V P                  ! RV.RV.RV./RV./WV3/ VB # )c                     \        V 4      R 8  # )gGz?)r   )r)   s   &r.   r,   appellf1.<locals>.ok+  s    1v}r0   z%Analytic continuation not implementedm+nr   r*   )r   r   r<   appellf1hyper2d)
r   r]   r   r   r_   r)   yrS   r,   u1s
   &&&&&&&,  r.   r  r  $  s    1vA1B {{1~~	R	RR|b"
 !uu#!Bb66 !HIIaCB3<1B/QSbDGA<V<= =;;qc#rd3t4uaSk1Q&QQr0   c                 J    V P                   ! R V.RV.RV./RV.RV./Wg3/ VB # r  r   r*   r  )	r   r]   r   r   c1c2r)   r  rS   s	   &&&&&&&&,r.   appellf2r  A  sD     ;;qc#rd3t4	bT#rdQ,$*, ,r0   c                 J   V P                  V4      ;'       g    V P                  V4      p	V P                  V4      ;'       g    V P                  V4      p
V	'       g+   V
'       g   \        V4      \        V4      8  d
   YvrvW!WC3w  rr4V P                  ! R W.RW$./RV./Wg3/ VB # )r   r*   r  )r   r   r  )r   r   r   r   r   r_   r)   r  rS   outer_polynomialinner_polynomials   &&&&&&&&,  r.   appellf3r  G  s    {{299#++b/{{299#++b/s1vAq+KB";;RGC05!+aKFKKr0   c                 >    V P                   ! R W./RV.RV./WV3/ VB # r  r  )r   r]   r^   r  r  r)   r  rS   s   &&&&&&&,r.   appellf4r  Q  s/     ;;qe}sB4RD&9!GGGr0   c                	  a  S P                  V4      pS P                  V4      pV 3R lp\        V4      p\        V4      pV! VR4      p	V! VR4      p
V! VR4      pV! VR4      pV! VR4      pV! VR4      pV! VR4      pV! VR	4      pV! VR4      pV! VR4      pV! VR4      pV'       d(   \        R
VP                  4       ^ ,          ,          4      hV'       d(   \        R
VP                  4       ^ ,          ,          4      h^ pS P                  pS P                  ^ 4      p^ pS P                  pVP                  R^V,          4      p S ;P                  ^
,          un        S P                  5p ^p^p\        V
4      p\        V4      pV	 Uu. uF  qV,           NK  	  ppV Uu. uF  q"V,           NK  	  p pV F.  pVV,           pVP                  V4       VP                  V4       K0  	  V F.  pVV,           pVP                  V4       V P                  V4       K0  	  V F:  pVP                  VV,
          4       V P                  VV,
          ^,
          4       K<  	  V FT  pVR,          pVRV,          ,          pVP                  ^V,
          V,
          4       VP                  V) V,
          4       KV  	  V F]  pVP                  V^V,          ,           4       VP                  V^V,          ,           ^V,           ^V,          ,           ,          4       K_  	  V Fm  pVR,          pVP                  ^V,
          ^V,          ,
          4       VP                  V^V,          ,           ^V,           ^V,          ,           ,          4       Ko  	  V Fp  pV^,          pVP                  RVV,
          ,          4       VP                  RVV,
          ^,           ,          4       V P                  VV,
          ^,
          4       Kr  	  S P                  ! VVVV,          3RS P                  /VB p!VV!,          V,          p"\        V"4      V8  d   V^,          pM^ pV^8  g	   V'       g   MaVV",          pV F  pVV,          pK  	  V  F  pVV,          pK  	  V^,          pVV,          V,          pVV8  g   EKK  S P                  R4      hVS n        V5# u upi u upi   TS n        i ; i)a  
Sums the generalized 2D hypergeometric series

.. math ::

    \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
        \frac{P((a),m,n)}{Q((b),m,n)}
        \frac{x^m y^n} {m! n!}

where `(a) = (a_1,\ldots,a_r)`, `(b) = (b_1,\ldots,b_s)` and where
`P` and `Q` are products of rising factorials such as `(a_j)_n` or
`(a_j)_{m+n}`. `P` and `Q` are specified in the form of dicts, with
the `m` and `n` dependence as keys and parameter lists as values.
The supported rising factorials are given in the following table
(note that only a few are supported in `Q`):

+------------+-------------------+--------+
| Key        |  Rising factorial | `Q`    |
+============+===================+========+
| ``'m'``    |   `(a_j)_m`       | Yes    |
+------------+-------------------+--------+
| ``'n'``    |   `(a_j)_n`       | Yes    |
+------------+-------------------+--------+
| ``'m+n'``  |   `(a_j)_{m+n}`   | Yes    |
+------------+-------------------+--------+
| ``'m-n'``  |   `(a_j)_{m-n}`   | No     |
+------------+-------------------+--------+
| ``'n-m'``  |   `(a_j)_{n-m}`   | No     |
+------------+-------------------+--------+
| ``'2m+n'`` |   `(a_j)_{2m+n}`  | No     |
+------------+-------------------+--------+
| ``'2m-n'`` |   `(a_j)_{2m-n}`  | No     |
+------------+-------------------+--------+
| ``'2n-m'`` |   `(a_j)_{2n-m}`  | No     |
+------------+-------------------+--------+

For example, the Appell F1 and F4 functions

.. math ::

    F_1 = \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
          \frac{(a)_{m+n} (b)_m (c)_n}{(d)_{m+n}}
          \frac{x^m y^n}{m! n!}

    F_4 = \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
          \frac{(a)_{m+n} (b)_{m+n}}{(c)_m (d)_{n}}
          \frac{x^m y^n}{m! n!}

can be represented respectively as

    ``hyper2d({'m+n':[a], 'm':[b], 'n':[c]}, {'m+n':[d]}, x, y)``

    ``hyper2d({'m+n':[a,b]}, {'m':[c], 'n':[d]}, x, y)``

More generally, :func:`~mpmath.hyper2d` can evaluate any of the 34 distinct
convergent second-order (generalized Gaussian) hypergeometric
series enumerated by Horn, as well as the Kampe de Feriet
function.

The series is computed by rewriting it so that the inner
series (i.e. the series containing `n` and `y`) has the form of an
ordinary generalized hypergeometric series and thereby can be
evaluated efficiently using :func:`~mpmath.hyper`. If possible,
manually swapping `x` and `y` and the corresponding parameters
can sometimes give better results.

**Examples**

Two separable cases: a product of two geometric series, and a
product of two Gaussian hypergeometric functions::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> x, y = mpf(0.25), mpf(0.5)
    >>> hyper2d({'m':1,'n':1}, {}, x,y)
    2.666666666666666666666667
    >>> 1/(1-x)/(1-y)
    2.666666666666666666666667
    >>> hyper2d({'m':[1,2],'n':[3,4]}, {'m':[5],'n':[6]}, x,y)
    4.164358531238938319669856
    >>> hyp2f1(1,2,5,x)*hyp2f1(3,4,6,y)
    4.164358531238938319669856

Some more series that can be done in closed form::

    >>> hyper2d({'m':1,'n':1},{'m+n':1},x,y)
    2.013417124712514809623881
    >>> (exp(x)*x-exp(y)*y)/(x-y)
    2.013417124712514809623881

Six of the 34 Horn functions, G1-G3 and H1-H3::

    >>> from mpmath import *
    >>> mp.dps = 10; mp.pretty = True
    >>> x, y = 0.0625, 0.125
    >>> a1,a2,b1,b2,c1,c2,d = 1.1,-1.2,-1.3,-1.4,1.5,-1.6,1.7
    >>> hyper2d({'m+n':a1,'n-m':b1,'m-n':b2},{},x,y)  # G1
    1.139090746
    >>> nsum(lambda m,n: rf(a1,m+n)*rf(b1,n-m)*rf(b2,m-n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    1.139090746
    >>> hyper2d({'m':a1,'n':a2,'n-m':b1,'m-n':b2},{},x,y)  # G2
    0.9503682696
    >>> nsum(lambda m,n: rf(a1,m)*rf(a2,n)*rf(b1,n-m)*rf(b2,m-n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    0.9503682696
    >>> hyper2d({'2n-m':a1,'2m-n':a2},{},x,y)  # G3
    1.029372029
    >>> nsum(lambda m,n: rf(a1,2*n-m)*rf(a2,2*m-n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    1.029372029
    >>> hyper2d({'m-n':a1,'m+n':b1,'n':c1},{'m':d},x,y)  # H1
    -1.605331256
    >>> nsum(lambda m,n: rf(a1,m-n)*rf(b1,m+n)*rf(c1,n)/rf(d,m)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    -1.605331256
    >>> hyper2d({'m-n':a1,'m':b1,'n':[c1,c2]},{'m':d},x,y)  # H2
    -2.35405404
    >>> nsum(lambda m,n: rf(a1,m-n)*rf(b1,m)*rf(c1,n)*rf(c2,n)/rf(d,m)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    -2.35405404
    >>> hyper2d({'2m+n':a1,'n':b1},{'m+n':c1},x,y)  # H3
    0.974479074
    >>> nsum(lambda m,n: rf(a1,2*m+n)*rf(b1,n)/rf(c1,m+n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    0.974479074

**References**

1. [SrivastavaKarlsson]_
2. [Weisstein]_ http://mathworld.wolfram.com/HornFunction.html
3. [Weisstein]_ http://mathworld.wolfram.com/AppellHypergeometricFunction.html

c                    < V P                  V. 4      p \        V4      pV Uu. uF  pSP                  V4      NK  	  up#   \         d    T.p L1i ; iu upi r   )popr  	TypeErrorrn   )dctkeyr  r>  r   s   &&  r.   parsehyper2d.<locals>.parse  s[    wwsB	:D -11DSC D11  	6D	1s   A AAAr   r*   r  zm-nzn-mz2m+nz2m-nz2n-mzunsupported key: %rr5  r^  r4   zmaxterms exceeded in hyper2dr   )rn   dictr<   keysrA   r   r   r:   r   r  r   rF   r   r   )#r   r]   r^   r)   r  rS   r  r   r    a_ma_n	a_m_add_n	a_m_sub_n	a_n_sub_m
a_2m_add_n
a_2m_sub_n
a_2n_sub_mb_mb_n	b_m_add_nr@  outerr   ok_countr   r5  r   
inner_sign
outer_signinner_ainner_bouter_aouter_binnerr   s#   f&&&&,                             r.   r  r  V  s1   P 	AAAA2 q'C
q'C
3-C
3-CaIaIaIq&!Jq&!Jq&!J
3-C
3-CaI
01668A;>?
?
01668A;>?
?	AGGE
AH88Dzz*bg.H>BwwhJJ3iG3iG$'(CqssCG($'(CqssCG(aCq!q! 
 aCq!q! 
 qs#qs1u%  r"
rQi'
qs1u%r!t$	   q1u%!A#!AaC01    r"
qs1Q3w'!A#!AaC01  
  a
sAaCy)sAaCE{+qs1u%	  
 IIgw
1 --%+-E5=:-D4y3A1}EIAeqjeWeqjeWFAAIME8|''(FGG2Io )(j s9   AS SS $S5J2S (AS 9S 
S 	S'c                  aaa	 V P                  S4      oW,           p\        V4      o	\        V4      pS	V3R8X  g
   S	V3R8X  d   V P                  S,          # S	V,
          ^,          oVV	V3R lpV P                  ! Wu3/ VB # )a  
Evaluates the bilateral hypergeometric series

.. math ::

    \,_AH_B(a_1, \ldots, a_k; b_1, \ldots, b_B; z) =
        \sum_{n=-\infty}^{\infty}
        \frac{(a_1)_n \ldots (a_A)_n}
             {(b_1)_n \ldots (b_B)_n} \, z^n

where, for direct convergence, `A = B` and `|z| = 1`, although a
regularized sum exists more generally by considering the
bilateral series as a sum of two ordinary hypergeometric
functions. In order for the series to make sense, none of the
parameters may be integers.

**Examples**

The value of `\,_2H_2` at `z = 1` is given by Dougall's formula::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> a,b,c,d = 0.5, 1.5, 2.25, 3.25
    >>> bihyper([a,b],[c,d],1)
    -14.49118026212345786148847
    >>> gammaprod([c,d,1-a,1-b,c+d-a-b-1],[c-a,d-a,c-b,d-b])
    -14.49118026212345786148847

The regularized function `\,_1H_0` can be expressed as the
sum of one `\,_2F_0` function and one `\,_1F_1` function::

    >>> a = mpf(0.25)
    >>> z = mpf(0.75)
    >>> bihyper([a], [], z)
    (0.2454393389657273841385582 + 0.2454393389657273841385582j)
    >>> hyper([a,1],[],z) + (hyper([1],[1-a],-1/z)-1)
    (0.2454393389657273841385582 + 0.2454393389657273841385582j)
    >>> hyper([a,1],[],z) + hyper([1],[2-a],-1/z)/z/(a-1)
    (0.2454393389657273841385582 + 0.2454393389657273841385582j)

**References**

1. [Slater]_ (chapter 6: "Bilateral Series", pp. 180-189)
2. [Wikipedia]_ http://en.wikipedia.org/wiki/Bilateral_hypergeometric_series

c                  (  < \        V R S 4      p\        V SR  4      pV Uu. uF  p^V,
          NK  	  ppV Uu. uF  p^V,
          NK  	  ppRS,          S,          .V Uu. uF  p^V,
          NK  	  up,           V Uu. uF  p^V,
          NK  	  up,           pR.^.\        V4      ,          ,           R.\        V4      ,          ,           p. . . . V^.,           VS3p	Wx. . V^.,           VRS,          S,          3p
W3# u upi u upi u upi u upi )Nr   )r  rC   )r   r   r    r^   aa_sr]   bb_srprcr   r   negr}   r!   s   *          r.   rZ   bihyper.<locals>.h{  s   3r7m3qr7m !S!S! !S!S!Ci!m_S1S!S11#4F#QQqSS#4FFTQCCL B4C=0RSA3YQ.RTQCZSy1}<v "!14Fs   D D"D
 D)r   r   )r   r   )rn   rC   r9   ri   )
r   r   r    r!   rS   r   r~   rZ   r  r}   s
   &&&f,   @@r.   bihyperr  D  sw    ` 	AA
)CCACA	1v1a&E/xx!|Q3!)C	 ==*6**r0   )r   N)#libmp.backendr   	functionsr   r   r/   r=   ri   rF   r   r   r   r   r   r   r   r   ru   rq   rs   r   rv   rz   r{   rw   rt   rx   ry   r  r  r  r  r  r  r  r   r0   r.   <module>r     sl   " +-2^ $&D E EN (8 (8T ( ( ) ) . . + + 1 1 4 4 * * 4 4   !8 !8F ! !F4l M M^ G/ G/R ; ;| @] @]H MQ MQb Oi Oib 2 2( ;+ ;+z R R8 , ,
 L L H H d dL @+ @+r0   