
    Rie	~                     p   d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZ d dlmZmZmZ d dlmZmZ d dlmZ d d	lmZmZ d d
lmZmZmZm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z(m)Z) d dl*m+Z+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 d dl9m:Z: d dl;m<Z<m=Z> d dl?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZH d ZId ZJd ZKd ZLd ZMd ZNe:d             ZOd ZPd ZQd ZRd ZSe:d              ZTd! ZUd" ZVe:d#             ZWe:d$             ZXd% ZYd& ZZd' Z[d( Z\d) Z]d* Z^d+ Z_d, Z`d- Zad. Zbd/ Zcd0 Zdd1 Zed2 Zfd3 Zgd4S )5    )expand_func)IRationaloopi)S)default_sort_key)Absargre
unpolarify)exp	exp_polarlog)coshacosh)sqrt)	Piecewisepiecewise_fold)cossinsincasin)erferfc)gamma	polygamma)hypermeijerg)Integral	integratehyperexpandsimplify)_rewrite_single	_rewrite1meijerint_indefinite
_inflate_g_create_lookup_tablemeijerint_definitemeijerint_inversion)slow)verify_numericallyrandom_complex_number)	xyabcdstzc                     d } d } | t           dt                       | t           dz  dt           dz              | t           dz  t          t           dz  z  z   t          dz   t           dz              |t           dz  t           z               |t           t          z             d } |t          t                      t          t                     z  t                      t	          t          t                     t          t                     z  t                     t          d           dt          t                    z  z  dt          t          dd          dt          dd          t          j
        t          d	d          fd
fdt          dd          dffdt          dt          z  t          z            z  t           dz  z            fgdfk    sJ d S )Nc           	      F   t          t          t          gt          g|gt          g|           t
                    }|J t          |d         d         d         t                    sJ |d         d         d         j                            t
                    ||ffk    sJ d S )Nr      )	r&   r   r2   r3   r5   r0   
isinstanceargumentas_coeff_mul)exprr4   mes       Dlib/python3.11/site-packages/sympy/integrals/tests/test_meijerint.pyr7   ztest_rewrite_single.<locals>.t   s    GQC!qcA3==qAA}}}!A$q'!*g.....tAwqz"//22q1$i??????    c           	          t          t          t          gt          gt          gt
          g|           t                    J d S N)r&   r   r2   r3   r4   r5   r0   r?   s    rB   tnztest_rewrite_single.<locals>.tn!   s6    wsQC!qc4@@!DDLLLLLrC      r;   c                     ddl m} t          | |          } |d |d         D                                  t          t
                    }t          || |          sJ d S )Nr   Addc                 0    g | ]}|d          |d         z  S )r   r;    ).0ress     rB   
<listcomp>z2test_rewrite_single.<locals>.u.<locals>.<listcomp>-   s$    000C#a&Q-000rC   )sympy.core.addrK   r&   replacer   r   r.   )r?   r0   rK   rrA   s        rB   uztest_rewrite_single.<locals>.u*   su    &&&&&&D!$$C001Q4000199s !!T1-------rC   r         )rH   rM   @   T)r0   r1   r   r   r&   r   r   r   r   r   Halfr   r   )r7   rG   rT   s      rB   test_rewrite_singler[      s   @ @ @M M M AaAJJJAadAq!tAadQq!tVmQUAqD!!!Bq!taxLLLBq!tHHH. . . Ac1"ggc!ffna 3q66#a&&=!,,GG8QtBxxZ !Xb!__a!Q!QPRVW"a!,-r)BqDG2D2D/DQT/IK KL 
MNR	TT T T T T TrC   c                  x   t          t          dz  t          t          gt          gt
          gt          gt          dz  t          t          dz  z  z             z  dz  t                    dt          dz  ddt          t          gt          gt
          gt          gt          dz  t          dz   z            fgdfk    sJ d S )NrW   r;      rH   r   T)r'   r0   r   r2   r3   r4   r5   r1   rM   rC   rB   test_rewrite1r^   C   s    QT'1#sQC!adQq!tVmDDDQFJJ	
AqDAq'1#sQC!adAElCCDEtLM M M M M MrC   c                     d }  | dt                       | dt                       | ddt           z              | dt           dz              | dt           t          d          z              | t           dz  t                       | dt           t          d          z  z  dt           t          d          z  z             d S )	Nc           	         t          t          gt          gt          gt          g|          | z  }t          t                      dz  t          t                      dz  t          z   t          t                      t          t                      i}t          |t                    }|J t          |
                    |          |                    t                    
                    |          t                    sJ d S )N
   )r   r2   r3   r4   r5   randcplxr   r(   r0   r.   subsdiff)facr   grc   integrals        rB   r7   z0test_meijerint_indefinite_numerically.<locals>.tI   s    QC!qcA3,,S08::b=!XZZ]Q%68::q(**.'1--###!!&&,,a0@0@0E0Ed0K0KQOOOOOOOrC   rH   r;   r]   3/2rW   rV   z7/3)r0   r   )r7   s    rB   %test_meijerint_indefinite_numericallyri   H   s    P P P AaGGGAaGGGAa1IIIAaAJJJAaAeHHAadAJJJAa1U88mQq!E(({]#####rC   c                      t          t          t          dd          \  } }| j        r|du sJ t          t          t          t          t                    \  } }| j        r|du sJ d S )Nr   T)r+   r0   is_zeror   )vr3   s     rB   test_meijerint_definiterm   Y   s\    aAq))DAq9"daB++DAq9"drC   c                  @   t           t                      dz  t          t                      dz  t          z   t          t                      t
          t                      t          t                      dz  ifd}  | t           gt          ggt          gt
          ggt          d          sJ  | t           t          gt          ggt          gt
          ggt          d          sJ  | t           gt          ggt          t          gt
          ggdt          dz  z  d          sJ d S )Nra   c                     ddl m} t          | ||          } |t          ||           }t	          |                              |                              t          dd          S )Nr   )Mulg?g)r3   r5   )sympy.core.mulrp   r   r)   r.   rc   r0   )r2   r3   r   nrp   m1m2rc   s          rB   r7   ztest_inflate.<locals>.td   sk    &&&&&&Q3S*R##$ ""''$--SDQQQQrC   rW   r;   )r2   rb   r3   r   r4   r5   r1   r0   )r7   rc   s    @rB   test_inflateru   `   s    xzz"}aB!2Axzzxzz1hjjm-DR R R R R 1qcA3Z1#sQ*****1q!fqc]aS1#J1-----1qcA3Z1a&1#!Q$2222222rC   c                      ddl m}   | dd          \  }}}t          t          |z
  dz             t          t          |z
  dz             z  }t	          |t          dt
          fd          }t          |                                          t          d          t          t                    z  t          t          d          ||z   z  dz            dz   t          |dz   dz  ||z  z   |dz  dz  z
            z  z  d	z  k    sJ t	          t          t          |z
  dz             t          t          |z
  dz             z  t          |t          z            z  t          dt
          fd          }t          |          t          d          t          t                    z  t          t          d          d|z  d|z  z   |z   z  d	z            dz   z  t          |dz   |dz  z
  d|z  d|z  z   |z   dz  d
z  z             z  d	z  k    sJ t          t	          t          t          |z
  |z
  |z
  dz             t          dt
          fd                    t          t                    dz  dt          ||z   |z             z   z  k    sJ t          t	          t          t          |z   |z   |z   dz             t          dt
          fd                    t          t                    dz  dt          ||z   |z             z
  z  k    sJ d S )Nr   symbolsza b cTpositiver;   r   rH   rV      )sympy.core.symbolrx   r   r0   r!   r   r%   expandr   r   r   )rx   r2   r3   r4   rS   rA   s         rB   test_recursiver   p   s   ))))))gg---GAq!a!eaZKq1uqj[)))A!aBZ...AAHHJJQR	T!WWa!e_Q		!	#S!Q$q1Q3Aa)?%@%@@	BBC	DE E E E 	#Azk""3Q
{#3#33C!HH<q!RjRVWWWAA;;QR#d1ggqsQqSy1}5a7881<=c1a4%!Q$,Q319q=1
Q
C ?  ?  	  !	"# # # # IcAEAIMA#5"566Ar
DQQQRRR
AAEAI&'( ( ( (IcAEAIMA#5"566Ar
DQQQRRR
AAEAI&'( ( ( ( ( (rC   c                     ddl m}  ddlm}  |dd          \  }}}t	          t          g g dgg ||z            t          g g |dz  g| dz  g|dz  dz            z  |dt          f          j        sJ  |d	d
          }t	          t          |z  t          g g gdgg gt                    z  t          dt          f          t          |dz             k    sJ t	          t          |z  t          g g gdgg gt                    z  t          dt          fd          t          |dz             k    sJ t          t	          t          |z  t          g g gdgg gt                    z  t          dt          fd          t                    sJ t          t          t                    t                    t          t                    k    sJ  |dd
          \  }}t          t          t          |z  t          d|          d                   ||dz   z  |dz   z  k    sJ t          t          dz   dz  t          t                     z  t          dt                    dk    sJ  |dd
          \  }}t          t          t          |z
  d|z  z  dz             t          dt                    \  }}	t          |          t!          t"                    |z  dt%          |d|z  z            z
  z  k    sJ |	dk    sJ t          t          | t          z            t          |t          z            z  t          dt                    \  }}
t          |          d||z
  z  k    sJ t          t          t                    t          t           d          t          d          dfk    sJ  | t          t          t                    t          dt&                    d                   t          t&                    dz
  k    sJ  | t          t          t                     t          dt                    d                   dt          t          t&          t)          t                    z             t+          t                    z            z
  k    sJ t          t          t          dz             t          t           t                    t!          t"                    dfk    sJ t          t          t+          t                               t          t           t                    dk    sJ t          t          dt          z  dz
  dz             t          t           t                    t!          t"                    dz  dfk    sJ t          t          t+          dt          z  dz
                       t          t           t                    dk    sJ t          t          t          |z
  |z  dz   dz            t!          dt"          z  |dz  z            z  t          t           t                    dk    sJ t          t-          t                    dz  t          t           t                    t"          dfk    sJ t          t          t                     t/          t                    z  t          dt                    t0          j        dfk    sJ d }t5          d          D ]c}t	          t          t                     t/          t                    z  t          |z  z  t          dt          fd           ||          k    sJ dt          t	          t          t                     t/          t          |z             z  t          dt          fd                    t!          d          t/          |t"          dz  z             z  dz  k    sJ  |d          \  }}}t          t          g g |dz  g| dz  gt          dz            t          g g |dz  g| dz  gt          dz            z  t          |dz
  z  z  t          dt                    ddd|z  dz
  z  z  t          d|z  dz             z  t          |dz  |dz  z   |z             z  t          | dz  |dz  z   |z
  dz             t          |dz  |dz  z
  |z
  dz             z  t          |dz  |dz  z   |z
  dz             z  z  t7          |          dk     t7          |          t1          d          dz  k     z  t7          |          dz  t7          |          dz  z   t7          |          z   dk    z  fk    sJ t	          t/          t          |z            t/          t          |z            z  t          dt          fd          t          t/          t          |z            t/          t          |z            z  t          dt          f          k    sJ t	          t          t          dz             t9          t                    z  t          dt          fd          t!          t"                    t;          dt0          j                  z  dz                                  k    sJ ddlm}  |dd          }t          t	          t          t                     t          |z  z  t          d                     ||dz   t                    k    sJ  |dd
          }t          dt          z
  |z  t/          |t          z            z  t          dd          t!          t"                    |z  t          |dz             z  t          d|dz  t0          j        z   |dz  dz   ffddt0          j        ftA          dd          ff|dz  dz            z  dz  dfk    sJ  |dd
          \  }}t          t	          t          |z  t          | t          dz  z            z  t          t           t          f                    || dz  t0          j        z
  z  d|z  dz   z  t          |dz  t0          j        z             z  dz  k    sJ d S ) Nr   )r~   rw   zs t muTrealr;   rV   r6   ry   rH   r{   Fa brW   )   Tzsigma mu)r;   T)rH   Tc                     ddt           dz  z   z                      t           |                               t           d          d| z  z  S NrH   r;   rU   )r0   rd   rc   )rr   s    rB   rO   ztest_meijerint.<locals>.res   s=    1q!t8""1a((--a33R!G;;rC      za b s
lowergammarr   )integeralpharM   rU   r   za s)!sympy.core.functionr~   r}   rx   r!   r   r   is_Piecewiser0   r   r<   r    r(   r   r%   r+   r   r   r   r   r   absr   r   r   rZ   ranger   r   r   'sympy.functions.special.gamma_functionsr   r   )r~   rx   r6   r7   mur2   r3   sigmair4   _rO   rr   r   r   s                  rB   test_meijerintr      s   ******))))))wxd+++HAq"WRaS"ac22b"r!tfs1ugq!tAv>>?BZ! !!-. . . 	d###AQT'2r(aS"Iq999Aq":FFa!e   QT'2r(aS"Iq999Aq":!# # #&+AEll3 3 3 3i1Wb"XRy!%D%D D!"Ar
E; ; ;           A**c!ff4444 754(((DAq&q!tQ155a899	AE
AE    q1uqjaR0!Q;;zIIII 
T222IE2cQVag$6#:":;;Q2FFDAqA;;$r((5.!d2qw<.@.@*@AAAAA9999c2#a%jjU1W5q!R@@DAqA;;!R%Z.(((( c!ffa"a00SVVTNBBBB6$SVVQ155a899SVVaZGGGG6$S!WWaA66q9::	CQs1vvXs1vv%&&&' ' ' ' c1a4%jj!bS"55$r((D9IIIIIc3q66'llAsB779DDDDcAaC!Ga<-00!bS"==	b!T   c3qsQw<<-00!bS"==JJJJcQVUNQ#6"6q"899$qtE1H}:M:MM"b* *-67 7 7 7d1ggqj!bS"55"dCCCC c1"ggc!ffnaB77AFD>IIII< < <1XX  aRQ1,q!Rj$GGGCFF     Ic1"ggc!a%jj01a*dKKK  aQAX.q01 1 1 1 ggGAq!gb"qseqbdVQqSAA2rAaC5A2a4&!A#667781q5zBCDa
 
 
1qsQw<bdQh	'acAaCi!m(<(<	<!A!a!#$$U1Q319q=1+<%=%==!A#!)a-!#$$%
& UUQY2a551Q446>*beeAg1a.?"Q%%.G!.KL	NO O O O SAYYs1a4yy(1a*dCCCQT3q!t99$q!Rj112 2 2 2 S!Q$ZZA&Ar
DAAA	b)Aqv&&	&q	(00223 3 3 3 CBBBBBT"""AIc1"ggadlAt<<<==
1q5!    GGd+++Eq1uunSq\\91aCC	b%eai((	("uQw7Ga!7 2Aqv"a(:;UAXb[*J *J 
JJK
LMQ	SS S S S
 754(((DAqIad3r!Q$w<</!bS">>??	QBqD16MR!GaK(qsQV|)<)<<Q>? ? ? ? ? ?rC   c            	      B   ddl m} m} t          t	           |t
          t                     |t          t                    z  t          z  t          dt          fdd                    dt          t          t
          dz  t          dz  z
  z            z  t          t
          t          z
  z  t
          t          z   z  z  k    sJ t          t	           |t
          t                     |t
          t                    z  t          z  t          dt          fdd                    ddt
          z  z  k    sJ t          t	          t          t          t          z            t          dz  dz
  t          t          j        z    z  z  t          dt          fdd          dz  t          dz  t          z  t          t                    z  t!          t          j        t          z
            z  z             |t          t                    k    sJ t	          t           |dt                    z  t          d          t           |dt                    z  k    sJ t	          t           | dt                    z  t          d          t           | dt                    z  k    sJ t	           |dt                    t          d           |dt                     k    sJ t	           |dt                    dz  t          z  t          d           |dt                    dz   |dt                    dz  z    dz  k    sJ t	           |dt                    dz  t          dz  z  t          d          d	t          z   |dt                    dz  z  dt          z   |dt                    dz  z  z
  d |dt                    z   |dt                    z  z    |dt                    dz  t          z  z
  k    sJ t	           |dt                     |dt                    z  t          d           |dt                    dz   dz  k    sJ t	          t          dz   |dt                    z   |dt                    z  t          d          t          dz   |dt                    dz  z  dz  k    sJ t	           |dt                     |dt                    z  t          z  t          d          t           |dt                    dz  z  t           |dt                    dz  z  z    |dt                     |dt                    z  z
  k    sJ t	           |dt          dz            t          z  t          d           |dt          dz             dz  k    sJ d S )
Nr   besselibesseljTnoner   condsr;   rH   r{   r   )sympy.functions.special.besselr   r   r%   r!   r2   r8   r3   r   r   r   r0   r1   r   rZ   r   r   r   s     rB   test_besselr      sW   AAAAAAAAIggammGGAqMM9!;aBZ!1 1 1 2 2	#b!A#!)n

r1q5z1q5123 3 3 3 IggammGGAqMM9!;aBZ!1 1 1 2 256!W= = = =
 Ic!A#hh1qa!&jM'BB !Rj$fF F F1qb)%
*;*;;= > > 	1    Qwwq!}}_a666!GGAqMM/IIIIQwwq!}}_a666!GGAqMM/IIII WWQ]]At444AFFFFWWQ]]A%a'D999
'!Q--
WWQ]]A-
-.q01 1 1 1 WWQ]]A%ad*At<<<
1WWQ]]A!GGAqMM1$4 44
GGAqMM/''!Q--
'	(*1'!Q--*:1*<	== = = = WWQ]]771a==0!TBBB	A	!   QT''!Q--'15q$GGG	1WWQ]]Aa       WWQ]]771a==02AtDDD	
771a==!	a1q 00	0GAqMM''!Q--'
() ) ) ) WWQ1%%a'D999	AqD		!     rC   c                     ddl m}  ddlm} d } |dt          dz  dz   z            t          t                     |t                    z  k    sJ  |t          t          dz  dz   z            t          t                     |t                    z  k    sJ  |t          t                     t          z             |t          dz
            k    sJ  |dt          dt          dz  z             z             | dt                     |t                    z  k    sJ t          t          t                    t          dt          dz  z             z  t          t                    J  |t          t          dz                      J t          t          t          dz             t          t                    J d S )Nr   r   )	Heavisidec                 R    t          t          | t          t                              S rE   )r   r,   r6   r7   fs    rB   invztest_inversion.<locals>.inv!  s    1!Q::;;;rC   rH   r;   )r   r   'sympy.functions.special.delta_functionsr   r6   r   r7   r   r   r   r,   )r   r   r   s      rB   test_inversionr     s   666666AAAAAA< < <3q!Q$(|Ayy|| 333333q!Q$(|Ayy|| 333333sA2wwqy>>YYq1u------3qa!Q$h  GGAqMM))A,,$>>>>> tAwwtA1H~~5q!<<DDD3s1a4yy>>!!!sAqD5zz1a0088888rC   c                     ddl m}  ddlm}  | dd          }t	          t
          |z            t          dt	          |          z  t	          t                    z            z  }t          |t          t                    }|j
        rJ  | dd	          }|                    ||          }t          |t          t                    }|j
        sJ |j        d         d         |                    ||          k    sJ |j        d
         d         sJ  ||t          t          d           }|j        d
         d         |k    s|j        d
         d         |j        k    sJ d S d S )Nr   Symbol)InverseLaplaceTransformr2   Try   r   r3   r   rU   rH   )r}   r   sympy.integrals.transformsr   r   r   r   r6   r,   r7   r   rc   argsas_integral)r   r   r2   Fr   r3   f2ILTs           rB   !test_inversion_conditional_outputr   .  s^   ((((((BBBBBBsT"""ART

3r$q''z$q'')***AAq!$$A~sA	q!A	Q1	%	%B?71:a=AFF1aLL((((72;q>
!
!!Q4
0
0C72;q>S  BGBKNco$E$E$E$E  $E$ErC   c                  p   ddl m}  ddlm}  | dd          } | dd	          }d
dt          z  z   } | d          }t          t          |t          z            t          t                    j	        rJ t          t          |t          z            t          t                    J t          t          |t          z            t          t                    J t          t          |t          z            t          t                    }|j	        sJ t          |j        d         d         |          sJ d S )Nr   r   )
DiracDeltarS   Tr   r4   F)extended_realrH   r;   r8   )r}   r   r   r   r   r,   r   r6   r7   r   r<   r   )r   r   rS   r4   r2   r8   r   s          rB   %test_inversion_exp_real_nonreal_shiftr   C  s    ((((((BBBBBBsAs%(((A	AaCAsA"3qs88Q22????s1Q3xxA..666s1Q3xxA..666C!HHa++A>afQilJ///////rC   c                     ddl m} m} ddlm} ddlm} i }t          |           |                                D ]\  }}t          |t                    D ]f\  }}}	}
i }t          |j                  |gz   D ]8}t          |d          r|j        r |dd          ||<   ) | d	d
          ||<   9t          |t                    s ||          }d |D             }t!          d |D                       sJ  |d |D              }|                    |          |                    |          }}t%          t'          |          t'          |                    }|dk     r,t'          ||z
                                            dk    sJ 9t'          ||z
            |z                                  dk    sJ hd S )Nr   )uniform	randrangerJ   )r8   )key
propertiesrH   ra   g      ?g       @c                 2    g | ]\  }}t          |          S rM   r"   )rN   r   rf   s      rB   rP   z%test_lookup_table.<locals>.<listcomp>f  s"    ;;;6AqA;;;rC   c              3   P   K   | ]!}|j         p |j        t                     V  "d S rE   )r   hasr   )rN   r0   s     rB   	<genexpr>z$test_lookup_table.<locals>.<genexpr>g  s6      NNq~;UQU7^^);NNNNNNrC   c                     g | ]
\  }}||z  S rM   rM   )rN   r   r0   s      rB   rP   z%test_lookup_table.<locals>.<listcomp>j  s     555VaQqS555rC   )rc   g|=)sympy.core.randomr   r   rQ   rK   sympy.integrals.meijerintr8   r*   itemssortedr	   listfree_symbolshasattrr   r<   allrr   minr   )r   r   rK   z_dummytabler   lformulatermscondhintrc   aiexpandedr2   r3   rS   s                    rB   test_lookup_tabler   R  s!   44444444""""""666666E 3 31*08H*I*I*I 	3 	3&GUD$D7/00G9< 1 12|,, 1 1(yB//DHH&wsC00DHHeT** $d <;U;;;HNNXNNNNNNNN s55u5556H99$9'')>)>qACFFCFF##A1uu1q5zz||~~.....AE

1''))U22222-	33 3rC   c            
         ddl m}  ddlm}  |t	          t          t          dz            t          d                              t                    d          dt          t          dz            z  t          t          dd                    z  dz  t          t          d	d                    z  k    sJ t	          t          t          dz            t          d          dt          z  t          t          dz            z  t          t          dd                    z  dt          t          d	d                    z  z  dt          t          dd                    z   | t          dd          t          d
z            z  dt          t                    z  t          t          d	d                    z  z  z
  k    sJ d S )Nr   r   )	powdenestrW   Tr{   polarr;   r]   r   )r   r   sympy.simplify.powsimpr   r!   r   r0   rd   r   r   r   r   )r   r   s     rB   test_branch_bugr   s  s   BBBBBB0000009Ys1a4yy!T:::??BB  C1II+eHQNN&;&;;A=eHQPQNN>S>SST T T TSAYY4000	!C1IIeHQNN+++QuXa^^/D/D-DE
E(1a..!!
!**Xa^^QT"B"B
BAd2hhJuU]^_abUcUcOdOdDd
e	ff f f f f frC   c                  &   ddl m}  t          t          t          dz
            t          d          t          dt          z
             k    sJ t           | dt          dz
            t          d           | ddt          z
             k    sJ d S )Nr   r   rH   Tr{   )r   r   r!   r   r0   r   r   s    rB   test_linear_subsr   ~  s    666666SQZZD111c!a%jj[@@@@WWQA&&4888WWQA=N=N<NNNNNNNrC   c            
      n+  $%&'() ddl m$ ddlm} m} ddlm} ddlm}  |dd          \  &} |d	d
          \  )} | dd
          (d 'd %t           't          &)          t          t           t          fd          dk    sJ t          t           't          &)          z  t          t           t          fd          &k    sJ t          t          dz   't          &)          z  t          t           t          fd          &dz  )dz  z   k    sJ t          t          dz   't          &)          z  t          t           t          fd          &dz  d&z  )dz  z  z   k    sJ t           't          &)           't          ||          z  t          t           t          ft          t           t          fd          dk    sJ t          t           't          &)          z   't          ||          z  t          t           t          ft          t           t          fd          &k    sJ t          t           't          &)          z   't          ||          z  t          t           t          ft          t           t          fd          |k    sJ t          t          t          z   't          &)          z   't          ||          z  t          t           t          ft          t           t          fd          &|z  k    sJ t          t          t          z   dz    't          &)          z   't          ||          z  t          t           t          ft          t           t          fd          d&z   |z   k    sJ t          t          t          z   dz
   't          &)          z   't          ||          z  t          t           t          ft          t           t          fd          d&z   |z   k    sJ t          t          dz   't          &)          z   't          ||          z  t          t           t          ft          t           t          fd          }|                    t                    rJ t          |          &dz  )dz  z   k    sJ t          t          dz   't          &)          z   't          ||          z  t          t           t          ft          t           t          fd          |dz  |dz  z   k    sJ t           %t          (          t          dt          fd          dk    sJ t          t           %t          (          z  t          dt          fd          d(z  k    sJ t          t          dz   %t          (          z  t          dt          fd          d(dz  z  k    sJ $%&'()fd} |d          dk    sJ  |t          t          z            &(z  k    sJ  |t          t          dz  z            &dz  (z  )dz  (z  z   k    sJ )dz  d(dz  z  z   }t           |t          t          z   dz   dz             |t          t          z   dz             dz  z
            |k    sJ t           |t          t          z   dz
  dz             |t          t          z   dz
            dz  z
            |k    sJ t           |t          t          z   dz             |t          t          z             dz  z
            |k    sJ  |dd
          \  }	}
t          |	dz
  z  dt          z   |	 |
z
  z  z  t!          |	|
z             z  t!          |	          z  t!          |
          z  }t          |t          dt          fd          dk    sJ t          t          |z  t          dt          fdd          } ||d                   |d         f|	|
dz
  z  d|
k     fk    sJ t          t          dz  |z  t          dt          fdd          }|d         |
dk    k    sJ  ||d         |d         dz  z
            |	|
z   dz
  |	z  |
dz
  z  |
dz
  dz  z  k    sJ  |dd
          \  }}t          |dz
  z  t           dz   |dz
  z  z  t!          ||z             z  t!          |          t!          |          z  z  }t          t          |t          ddfd                    dk    sJ t          t          t          |z  t          ddfd                    |||z   z  k    sJ t          t          t          dz  |z  t          ddfd                    ||dz   z  ||z   z  ||z   dz   z  k    sJ t          t          t          t          z  |z  t          ddfd                    t!          ||z             t!          |t          z             z  t!          |          z  t!          ||z   t          z             z  k    sJ  | ddd          }dd|dz  z
  z  t          |dz
  z  z  t#          t          dz   dz            z  t!          |dz            z  } |t          |t          dt          fd                    dk    sJ t          t          t          |z  t          dt          fd                    t%          d          t!          |dz   dz            z  t!          |dz            z  k    sJ t          t          t          dz  |z  t          dt          fd                    |k    sJ d| dz  z  t!          |dz            z  t          |dz  dz
  z  z  t#          t           dz            z  } |t          |t          dt          fd                    dk    sJ t          t          t          |z  t          dt          fd                    |k    sJ t          t          t          dz  |z  t          dt          fd                    ||dz   z  k    sJ  |t          t          |z
  t%          d|z            z  dz  |z  t          dt          fd                    dt%          d          z  t%          |          z  k    sJ  |dd
          \  }}}||z  t          z  t          |z  ||z  z  z  dt          |z  ||z  z  z   |dz   z  z  }t          t          |t          dt          fd                    dk    sJ t          |z  }t          t          |t          dt          fdd                    ||z  t!          dd|z  z
            z  t!          |dz   d|z  z             z  ||z  dz   t!          |          z  z  k    sJ t          t          t          |z  t          dt          fdd                    ||dz  z  t!          dd|z  z
            z  t!          |dz   d|z  z             z  ||z  dz   t!          |          z  z  k    sJ  |dd
          \  }}t%          |t          z  |z  ||z  z  |t          z  |z   ||z   z  z            t          z  t!          |dz            z  t!          |dz            z  t!          ||z   dz            z  }t          t          |t          dt          fd                    dk    sJ t          t          t          |z  t          dt          fdd                    ||dz
  z  k    sJ t          t          t          dz  |z  t          dt          fdd                    |dz  |dz   z  |z  |dz
  z  |dz
  z  k    sJ  |dd
          \  }}t%          |dz  t&          z            t          t)          dd          z  z  t#          | t          |z
  dz  z  t          z  dz  |dz  z            z  }d  } |t          |t          dt          f                    dk    sJ  |t          t          |z  t          dt          f                    |k    sJ  |t          t          |z
  dz  |z  t          dt          f                    |dz  |z  k    sJ  |t          t          |z
  dz  |z  t          dt          f                    d|d!z  z  |dz  z  k    sJ  | d"d
          }t          t%          |dz  t&          z            t#          | dz  t          |z
  z            z  t          |z
  t+          d#          z  z  t          |t          f          dk    sJ  |dd
          \  }	}
|
|	z  t          |
dz
  z  z  |	|
dz
  z  z  dt          |
z  |	|
z  z  z   dz  z  }t          t          |t          dt          f                    dk    sJ t          t          t          |z  t          dt          fd$                    t&          |	z  |
z  t-          t&          |
z            z  k    sJ t          t          t          t          z  |z  t          dt          fd$                    t&          |	t          z  z  t          z  |
z  t-          t&          t          z  |
z            z  k    sJ  | dd
          } | d%d
          }||z  t          |z  |dz
  z  z  t#          t          |z  |z             z  }t          t          |t          dt          f                    dk    sJ t          t          t          |z  |z  t          dt          f                    ||z  t!          d||z  z             z  k    sJ dd&lm}  |d'd
          \  } }!t          |!dz  z  t#          t          dz  | dz  z    dz  |!dz  z            z   |dt          | z  |!dz  z            z  }"t          |"t          dt          fd          dk    sJ  | d(d)          } | d*d
          }t#          t3          t          |z
             |z            dz  |z  }#t          |#t          t           t          fd          dk    sJ t          t          |#z  t          t           t          fd          |k    sJ t          t          dz  |#z  t          t           t          fd          d|dz  z  |dz  z   k    sJ  | dd
          } | $t          t5          t                    t          |dz
  z  z  t#          t                     z  t!          |          z  t          dt          f                              t7          d|          k    sJ d S )+Nr   )
expand_mul)r   rx   )	gammasimp)powsimpzmu1 mu2T)nonzerozsigma1 sigma2ry   lambdac                     dt          dt          z  |dz  z            z  t          | |z
  dz   dz  |dz  z            z  S NrH   r;   )r   r   r   )r0   r   r   s      rB   normalz test_probability.<locals>.normal  sE    ad5!8m$$$S1r6A+aq)@%A%AAArC   c                 .    |t          | | z            z  S rE   )r   )r0   rates     rB   exponentialz%test_probability.<locals>.exponential  s    CaLL  rC   r{   rH   r;   rW   rU   c                    t          |  t                    z   t                    z  t          dt          ft          t           t          fd          }t          |  t                    z   t                    z  t          t           t          ft          dt          fd          } |           |          k    sJ |S )Nr   Tr{   )r!   r0   r1   r   )	r?   res1res2r   r   mu1r   r   sigma1s	      rB   Eztest_probability.<locals>.E  s    kk!T22266!S&3I3IIQa"b\4A A Akk!T22266!S&3I3IIRCq!Rj$@ @ @z$::d#3#33333rC   z
alpha betaseparater   r   k)r   rz   za b pr   zd1 d2rV   zlamda muc                 P    t          |                     t                              S rE   )r%   rewriter   rF   s    rB   <lambda>z"test_probability.<locals>.<lambda>  s    (4<<#4#455 rC   r]   r4   rh   )r   rr   )r   znu sigmar   r   r3   )r   r   r}   r   rx   sympy.simplify.gammasimpr   r   r   r!   r0   r   r1   r   r
   r%   r   r   r   r   r   r   r   r   r   r   r   r   )*r   rx   r   r   mu2sigma2r   r   ansr   betabetadistjr2   r3   r   chi
chisquaredpdagumr   d1d2r   lamdar   distmysimpr4   distnrr   r   nur   ricelaplacer   r   r   r   r   r   s*                                       @@@@@@rB   test_probabilityr	    s    /.....33333333222222......wy$///HCW_t<<<NFF6(T***DB B B! ! ! VVAsF++a"b\4HHHAMMMMQvvaf---B3|TJJJ   QT&&C0001rc2,MMM6FAI   QT&&C0001rc2,MMM6AcE&!)O#$ $ $ $VVAsF++FF1c6,B,BB"b\AsB<? ? ?BCD D D DQvvaf---ffQV.D.DD"b\AsB<? ? ?BEF F F FQvvaf---ffQV.D.DD"b\AsB<? ? ?BEF F F FQqS3///q#v0F0FF"b\AsB<? ? ?BEc'J J J Ja!eai3!7!77q#v8N8NN"b\AsB<? ? ?BCc'C-P P P Pa!eai3!7!77q#v8N8NN"b\AsB<? ? ?
S3    	!Q$vvaf---ffQV.D.DDrc2,RCd	< 	< 	<AuuSzzA;;#q&619,,,,,QT&&C00031G1GG"b\AsB<? ? ?	CF    [[D))Aq":tDDDIIIIQ{{1d+++aBZFFF	$   QT++a...Ar
DIII	$'	             1Q44199991QqS66SX1Qq!tV99Qtfain44444
!)aai
CAAq1uqy1n%%!a%!)a788C????AAq1uqy1n%%!a%!)a788C????AAq1uqjMMAAa!eHHaK/00C7777 ',666KE4519~q1u66uUT\7J7JJ	uDkk"HX1bz4888A====!H*q!Rj$jIIIAIadOOQqT"udQh'7T&BBBBB!Q$x-!QTLLLAQ4D1H9QqTAaD!G^$$)95(@
()AXM)" " " " " 754(((DAq1q5zA26QU++E!a%LL8%((588:KLHIhAq	4@@@AAQFFFFIaj1a)TBBBCC	1q5	   Iad8maAYEEEFF	1q5	1q51q519%& & & &Iad8maAYEEEFFa!eU1q5\\!%((*5Q+;+;;< < < < 	sD4000A
a!A#g,q1q5z
!#q!teAg,,
.uQqSzz
9C79S1a*d;;;<<AAAAIaeaBZ>>>??Qq1uai   qs+, , , ,Iad3hAr
DAAABBaGGGG aRT51::%a!A#'l23r!t99<J79Z!QTBBBCCqHHHHIa
lQ2JEEEFF!KKKKIad:o1bz4HHHII	1q5	   9YQQqS		 1A5j@1a* " " " # #&'QiQ&78 8 8 8 gg---GAq!aCE1Q3!A#,AqDAIQ77EIeaBZ>>>??1DDDD
E'CIcAq":t6JJJ  1U1qs7^^+E!a%!A#+,>,>>qS1WeAhh&(( ( ( ( IaeaBZVLLL  1a4a!A#g.uQUQqS[/A/AAqS1WeAhh&(( ( ( (
 WWt,,,FBr!tbj2r6!BqD2Ib#99::1<	r!t	2a4[[	!!&R{!3!3	4AIa!QT:::;;q@@@@IacAq":t6JJJ  R!V% % % %Iad1fq!Rj$fMMM  QQ*BF3R!V<= = = = 
T222IE2a
AQ00eVQVaK5G5I!5KBPQE5Q1R1RRD55F6)D1a*--..!33336)AdFQ2J//00B66666)QVaK,q!Rj99::b!eEkIIII6)QVaK,q!Rj99::aAgeQh>NNNNN 	sT"""AT!A#b&\\#qbdAFm"4"44a"fqxx5GGBK! !$%& & & &
 ',666KE4%ZTAX&utax'88	
QWUD[ 	 1$%E
 IeaBZ0011Q6666Iag1bz@@@AA
5c"T'll"# # # # Iad5j1a*FCCCDD
5!8Ad3r!tDy>>)* * * * 	sT"""AsT"""AeGQuWA&&sQuWqL='9'99EIeaBZ0011Q6666Iad5j1a*5566qq1Q3w        766666
T222IBUAX:cAqD2q5L/!+E1H4555gga2eQh6O6OODTAq":t4449999 
4	 	 	 BsT"""A3q2v;;,q.!!!#A%GWq2#rlD999Q>>>>QwYRCd;;;rAAAAQT'\AsB<>>>	!Q$Q    	sT"""A9ZZ	#a&&QU*;CGG*CE!HH*L !Rj!* !* + + , ,/8A? ? ? ? ? ?rC   c            
         ddl m}  ddlm} ddlm}m}m}m}m	}m
} t          t          t          t          t           t           z            t           t"          z  z  t           dt$          fdd                              |                              d	                               |t"          t                    k    sJ t          t          t           t           z            t           z  t           dt$          fdd                              |                                           |dt                    k    sJ t          t          t           t           z            t           d
z  z  t           dt$          fdd                              |                                           |d
t                                        |                              |          k    sJ t          t          t           t           z            t           dz  z  t           dt$          fdd                              |                                           |dt                                        |                              |                                          k    sJ  | dd          }t          t+          t                      t           z  t           |t$          fd                                           ||          k    sJ t          t-          t                      t           z  t           |t$          fd                                           ||          t.          d
z  z
  k    sJ t          t-          t                     t           z  t           dt          fd           |t                    k    sJ t           |t                     t           z  t           dt          fd           |t                    k    sJ t          t          t                      t           z  t           d                                                              |          t0          t.          z   |dt                     z
  k    sJ t          t          t                      t           d
z  z  t           d                              |                                           |dt                     t          t                      t           z  z
  t0          t.          z  z
  k    sJ  | dd          }	t          t+          |	          |	z  |	d                                                              |	          d          ||	          k    sJ t          t5          |	          |	z  |	d                                                              |	          d          ||	          k    sJ t           |dt                     t           d                              |                                          t            |dt                     z  t          t                      z
  k    sJ t           |d
t                     t           d                              |                                          t           d
z    |dt                     z  d
z  t           t          t                      z  d
z  z   t          t                      d
z  z
  k    sJ t          t          t           |t"          t                     t           d                              |                              d	                               |t"          dz   t                      k    sJ t           |t                     t           d          t            |t                     z  t+          t                     z   k    sJ t           ||	          |	d                                          |	 ||	          z  t-          |	          z
  k    sJ t           |t                     t           d          t            |t                     z  t5          t                     z
  k    sJ t           ||	          |	d                                          |	 ||	          z   ||	          z
  k    sJ t           |t                     t          t                      z  t           dt$          fd          t.          dz  k    sJ t           |dt                     t-          t                     z  t           dt$          fd          t7          d
          d
z  k    sJ dS )z% Test various exponential integrals. r   r   )sinh)ChiCiEiShiSiexpintrH   Tr   r   )funcr;   rW   r7   ry   r{   rT   r   rV   N)r}   r   %sympy.functions.elementary.hyperbolicr  'sympy.functions.special.error_functionsr  r  r  r  r  r  r%   r   r!   r   r8   r0   r1   r   r   r~   r   r   r   r   as_independentr   r   )
r   r  r  r  r  r  r  r  r7   rT   s
             rB   test_expintr  K  sI    )(((((::::::VVVVVVVVVVVVVVVVJyaRT1a4!QF     '&//&&d&"3"35 5 6 69?1F F F F S!AYYq[1a*d!# # ##*76??6688q!    S!AYYq!t^aBZ!# # ##*76??6688q!R  ((001 1 1 1 S!AYYq!t^aBZ!# # ##*76??6688q!R  ((007799: : : : 	sT"""Ac!ffWQYAr
D999@@BBbbeeKKKKc!ffWQYAr
D999@@BB
11   SVVAX1ay$77722a55@@@@TT!WWQYAq	4888CCFFBBBBS!WWQY40007799AA&II	"vva||   S!WWQT\1d333;;FCCJJLL6!Q<<#qb''!)#ad*+ + + + 	s$ASVVAXq$///6688GGJJ1M2a55   T!WWQY40007799HHKKAN3q66    VVAq\\1d   gfooffhh!FF1aLL.3r77*BC C C CVVAq\\1d   gfooffhh	
AffQll1qaRy{*S!WWQY67 7 7 7 Jy1q     &wvvv4v/@/@B B C C	Aq		    RRUUAt,,,""Q%%#a&&0@@@@@RRUUAt,,,335522a553q669IIIIISSVVQ---33q66DGG1CCCCCSSVVQ---4466!CCFF(TT!WW:LLLLLRRUU3r77]Q2J===AEEEEVVAq\\#a&&(1a*dCCCs1vvaxOOOOOOrC   c            
      
   ddl m} m} ddlm}m} ddlm} ddlm	}m
}m}m} ddlm}	m}
  |
 |t                     t           t"          d           |t"                     t$          d	z  z   t"          z  ddfk    sJ  |
 |t                     t           t"          d           |t"                    t"          z  t&           t"          d	z  d
k    fk    sJ  |
 |t                     t           t"          d          t)          t"          dz            t)          d
d
t"          d	z  z  z
            z
  d	t"          z  z  t&           t"          d	z  d
k    fk    sJ  |
 |t*          t                     t           t"                    d
d          dt-          t*                    dk    t-          t*                    dk    z  fk    sJ  |	 |d
t                     t           z  t           t"          d          }|d                             d                                          |d
         ft3          dt"          d
d	t$          z  z  k    t"          dd	t$          z  z  k     z  fd	t5          dt$          d	z  z  t"          d	z  z  d
z             z  df          t"          dk    fk    sJ t7           |t                      |dt                     z  t           dt&          fd          t)          d
t5          d	          z             k    sJ t7           |t                      |d
t                     z  t           dt&          fd          t)          t8          j        t5          d	          d	z  z             k    sJ t7          d
t           z  t5          d
t           d	z  z
            z  t           d          t3           | d
t           z             t=          t           dz            d
k    ft>           |d
t           z            z  df          k    sJ d S )Nr   )r   acoth)r   atanr   )r  E1r  r  )fourier_transformlaplace_transformTr$   r;   rH   r   rU   F)noconds)deeprY   r{   ) r  r   r  (sympy.functions.elementary.trigonometricr   r  r   r   r  r  r  r  r  r   r  r  r0   r6   r   r   r   r2   r   factorr~   r   r   r!   r   rZ   r   r   )r   r  r   r  r   r  r  r  r  r  r  r   s               rB   
test_messyr!    s   DDDDDDDDEEEEEEEE666666JJJJJJJJJJJJQQQQQQQQbbeeQD999tAwwhAoq !T*+ + + + SSVVQD999a
RCA># # # # # SSVVQD999	QWA!Q$J	'!A#.QTAX>? ? ? ? ?
 WWQ]]Aq11!""5	
RUURZBqEEBJ'() ) ) ) 
GGAqMM!OQ5
A
A
ACFMMtM$$++--s1v6	AAqtHR2Y78d2b!e8AqD=1,---t4
6 
6781u	>> > > > RRUU771a==(1a*dCCCAQK   RRUU771a==(1a*dCCCAFT!WWQY        QqSa!Q$h'D999EE!A#JJ;AGq 01Add1Q3iiK3FGGH H H H H HrC   c                     t          t          t           t          dz  z            t          t           t          fd          t           t          t                    z  t          t          t          z  dz            z  k    sJ d S )Nr;   Tr{   rV   )r!   r   r   r0   r   r   r   rM   rC   rB   test_issue_6122r#    sl    S!AqD\\AsB<>>>	
488C"QKK           rC   c                      dt           z  t          t          t           z  z   t          dd          z  z  } t	          | t           d          }|                    t                    rJ d S )NrH   rW   Tr{   )r0   r2   r3   r   r!   r   r   )r?   antis     rB   test_issue_6252r&    sU    Q3AaC(1a..((DT1d+++DxxrC   c                  &   t          t          t          t          z            dt          dz  z   z  t          t           t          f                                                              t                    t          t          d          z  k    sJ d S r   )r!   r   r   r0   r   r%   r   r   rM   rC   rB   test_issue_6348r(    ss    S1XXq1a4x(1rc2,77@@BBJJ3OOc"gg:     rC   c            	      n   ddl m} m} t          t	          t          t          t          dz  z  dz            t                               |t                    k    sJ t          t	          t          t          t          dz  z  dz            t                               | t                    k    sJ d S )Nr   fresnelcfresnelsr;   )	r  r+  r,  r   r!   r   r   r0   r   r*  s     rB   test_fresnelr-    s    LLLLLLLLyR1WQY3344CCCCyR1WQY3344CCCCCCrC   c                  ^    t          t          t          t          z  z  t                    J d S rE   )r(   r0   rM   rC   rB   test_issue_6860r/    s&    1a4++33333rC   c                     t          t          t          dt          z  dz             z  t                                                    } | t          dt          z  dz             dt          dz  z  t          z   dz
  z  dz  k    sJ |                     t          t
          j        t
          j                  t          dd          k    sJ d S )Nr;   rW   r]   )	r(   r0   r   together_eval_intervalr   NegativeOneOner   r   s    rB   test_issue_7337r5    s    QtAaC!G}}_a0099;;AQqS1WqAvzA~.q00000Aq}ae44AFFFFFFrC   c                  z   t          t          t                    t          t           t          z            z  t                    t           dz
  t          t                    z  t           dz   t          t                     z  z   t          t           t          z            z  dz  t          dz  dz
  z  k    sJ d S r   )r(   r   r0   r   r7   rM   rC   rB   test_issue_8368r7    s    QQBqD		 1155
aQA263r77**C1II:667:89:A:C C C C C C CrC   c                      ddl m} m} t          dt	          t
          t          z
  dz  | dz  z             dz  z  t          d|ft
          d|f          dt	          d|dz  | dz  z  z             z  | z  d| z  z
  k    sJ d S )Nr   hwrH   r;   rW   )	sympy.abcr:  r;  r!   r   r1   r0   r9  s     rB   test_issue_10211r=    s    aacAX1_--q00Aa7QqGDD	$q1a419}

a!A#%& & & & & &rC   c                      ddl m}   | dd          \  }}t          dt          t          dz  |dz  z             dz  z  t          | |f          d|z  |dz  t          |dz  |dz  z             z  z  k    sJ d S )	Nr   rw   zy LTry   rH   r;   rW   )r}   rx   r!   r   r0   )rx   r1   Ls      rB   test_issue_11806r@    s    ))))))754(((DAqQtAqD1a4K((!++a!QZ88	!QT$q!tad{###$% % % % % %rC   c            
         ddl m}  ddlm}m} t          |dz  |dz  |dz  z
  dz  z  |d          }d|d	z  z  |d
z  z  t          dt          d
d          ft          dd          f|dz  t          dt          z  t          z            z  |dz  z            z  }|                     ||z                                  d	d          sJ d S )Nr   )RR)RrS   r;   g      ?Tr{   gUUUUUU?g      ?rW   g      r]   g-q=)sympy.polys.domains.realfieldrB  r<  rC  rS   r!   r   r   r   r   r   almosteqrr   )rB  rC  rS   r   rf   s        rB   test_issue_10681rF    s    000000!Q$1QT	C''D999A	3q!tE4!Q"88Aq>>:K"#Q$y1R'8'8"8A"=? ? 	?A;;!wwyy#u-------rC   c                      ddl m}   | dd          }t          dt          dz  z  t          t          |f          d|z  k    sJ d S )	Nr   r   r2   Try   rH   r;   rU   )r}   r   r!   r0   r   )r   r2   s     rB   test_issue_13536rH    s[    ((((((sT"""AQq!tVaQZ((BqD000000rC   c                  ,   ddl m}   | d          } | d          }t          t          ||z            ||z  z  |d                              |d                              t          t          |dz            |dz  z  |d                    sJ d S )Nr   r   r0   rr   Tr{   r;   )r}   r   r!   r   rc   equals)r   r0   rr   s      rB   test_issue_6462rK    s    ((((((sAsA SAYYq!t^Q555::1a@@GGc!Q$ii1na6668 8 8 8 8 8 8rC   c                      t          t          t          z   t           z  t          d          t          dt          z
  z   dt          t          z  z   dt          z
  z  z  t          dz
  z  k    sJ d S )NTr{   rH   )r!   r3   r7   r2   rM   rC   rB   test_indefinite_1_bugrM    sn    a!er]At 
 
 
!a%j[!ac'QU++QU34 4 4 4 4 4rC   c            	      Z   t          dt          t          t          z
  dz  dz
            z  d          t	          t          t          t          z
            t          t          t          z
  dz            dk    ft           t          t          t          z
            z  df          k    sJ d S )NrH   r;   Tr{   )r!   r   r0   r   r   r   r
   r   rM   rC   rB   test_pr_23583rO    s    QtQUQJqL)))4888eAEllCQ
OOa$78A2d1q5kk>4:PQQR R R R R RrC   N)hr   r   sympy.core.numbersr   r   r   r   sympy.core.singletonr   sympy.core.sortingr	   $sympy.functions.elementary.complexesr
   r   r   r   &sympy.functions.elementary.exponentialr   r   r   r  r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   r   r  r   r   r   r   r  r   r   r   r   r   sympy.functions.special.hyperr   r   sympy.integrals.integralsr    r!   sympy.simplify.hyperexpandr#   sympy.simplify.simplifyr%   r   r&   r'   r(   r)   r*   r+   r,   sympy.testing.pytestr-   r   r.   r/   rb   r<  r0   r1   r2   r3   r4   r5   r6   r7   r8   r[   r^   ri   rm   ru   r   r   r   r   r   r   r   r   r   r	  r  r!  r#  r&  r(  r-  r/  r5  r7  r=  r@  rF  rH  rK  rM  rO  rM   rC   rB   <module>r\     s   + + + + + + 4 4 4 4 4 4 4 4 4 4 4 4 " " " " " " / / / / / / I I I I I I I I I I I I H H H H H H H H H H = = = = = = = = 9 9 9 9 9 9 J J J J J J J J K K K K K K K K K K K K ? ? ? ? ? ? ? ? F F F F F F F F : : : : : : : : ; ; ; ; ; ; ; ; 2 2 2 2 2 2 , , , , , ,- - - - - - - - - - - - - - - - - - & % % % % %+ + + + + + + + / / / / / / / / / / / / / / / / / / / / / /&T &T &TRM M M
$ $ $"# # #3 3 3 ( ( ($ g? g? g?T- - -`9 9 9"F F F*0 0 0 3 3 3@f f fO O O C? C? C?L 3P 3P 3Pl#H #H #HL     
    
D D D4 4 4G G GC C C
& & &% % %. . .1 1 18 8 84 4 4
R R R R RrC   