
    Rieρ              
          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 d dlmZ d dlmZmZmZ d dlmZmZ d d	lmZmZmZmZmZmZmZ d d
l m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZA d dlBmCZC d dlDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL d dlMmNZN d dlOmPZPmQZQ d dlRmSZS d dlTmUZUmVZVmWZWmXZXmYZY d dlZm[Z[m\Z\  ed          \
  Z]Z^Z_Z`ZaZbZcZdZeZf ed          ZgdedefdZhd Zid Zjd Zkd Zld Zme\d              Zne\d!             Zod" Zpd# Zqd$ Zrd% Zsd& Ztd' Zud( Zve\d)             Zwd* Zxd+ Zyd, Zzd- Z{e\d.             Z|d/ Z}d0 Z~e\d1             Ze\d2             Zd3 Zd4 Zd5 Ze\d6             Zd7 Ze\d8             Zd9 Zd: Ze\d;             Zd< Zd= Zd> Zd? Zd@ ZdA ZdB ZdC ZdDS )E    )Expr)Mul)
DerivativeFunctiondiffexpand)IRationalpi)Ne)S)DummySymbolsymbols)explog)asinhcschcoshcothsechsinhtanh)sqrt)	Piecewise)acosacotacscasecasinatancoscotcscsecsintan)	Heaviside
DiracDelta)
elliptic_e
elliptic_f)
ChiCiEiShiSierferfifresnelcfresnelsli)
uppergamma)assoc_laguerre
chebyshevt
chebyshevu
gegenbauerhermitejacobilaguerrelegendre)polylog)Integral	integrate)And)manualintegratefind_substitutions_parts_ruleintegral_stepsmanual_subs)raisesslowzx y z u n a b c d efFc                     t          | t                    |k    sJ |                    t                                        |           sJ d S N)rC   xr   equalsrJ   rK   s     Alib/python3.11/site-packages/sympy/integrals/tests/test_manual.pyassert_is_integral_ofrR      sG    1a  A%%%%66!99A    c                  $   t          t          t                    dz  dz   dz  t          t                    dz  z  t          t                    dz  z  t          t                    t          t                    dt          dz   dt          dz  z  z
  t          dz  z
  fgk    sJ t          t          t                    dz  t          t                    t          t                    z  z   t          t                    t          t                    z   z  t          t                    t          t                    t          t                    z   ddt          z  fgk    sJ t          dz   t          dd          t          t                    ft          t          t          t          dz             z  t          t                    v sJ t          t          t          t                    t                    dz  t          t                    rJ d S )N            )rD   r#   rN   r$   ur%   r'   r
   r   r   rJ    rS   rQ   test_find_substitutionsr\   "   s   s1vvqy1}q0Q:3q6619DaKK
a&&!adUQq!tV^ad*	+,- - - -s1vvqy3q66CFF?:s1vvAO$ $),Q#a&&!QqS(A'BC C C CTE8B??CFF+/A!c1a4%jj.RSUV/W/WWWWW!*QqTT1"5"5q"8!Q???????rS   c                  |   t          t          t                    t          t          z  k    sJ t          t          d          t                    t          t          d          z  k    sJ t          t          dz  t                    t          dz  dz  k    sJ t          dt          dz  z  dt          dz  z  z   t                    t          dz  t          dz  z   k    sJ t          t          dz   dz  t                    t          dz   dz  dz  k    sJ t          dt          z  dz   dz  t                    dt          z  dz   dz  dz  k    sJ t          t          dz   dz  t                    t          dz   dz  dz  k    sJ t          dt          z  dz   dz  t                    dt          z  dz   dz  dz  k    sJ d S )NrU      rX   	   )rC   yrN   r   rZ   r[   rS   rQ    test_manualintegrate_polynomialsra   +   s   1a  AaC''''3q661%%SVV33331a4##q!tax////1q!t8a!Q$h.22adQTkAAAAAEA:q))a!eaZ!^;;;;AaC!Ga<++!a!|a/?????AEA:q))a!eaZ!^;;;;AaC!Ga<++!a!|a/???????rS   c                  x   t          t          dt          z            t                    t          dt          z            dz  k    sJ t          dt          z  t                    dt          z  t          d          z  k    sJ t	          dt          dt          dt          z            z
            z  t          t          dt          dt          z            z
            dz
            dz  t          t          dt          dt          z            z
            dz             dz  z
             t          dt          z  t                    t          t                    k    sJ t          ddt          z  dz   z  t                    t          dt          z  dz             dz  k    sJ t          t          t                    dz  t          z  t                    t          t                    dz  dz  k    sJ t	          t          t          z  t          t                    dz   z  t          t          z             d S )NrU   rV   r^   )rC   r   rN   r   rR   r   r[   rS   rQ   !test_manualintegrate_exponentialsrc   8   s   3qs88Q''3qs88a<77771a4##Q#a&&'88888!D3qs88,,,d1s1Q3xx<001455a7#d1s1Q3xx<>P>PST>T:U:UVW:WWY Y Y 1q5!$$A....1!a=!,,AaC!Gq0@@@@@3q6619q=!,,A	A====!Q$Aq/1a400000rS   c                     t          t          t                    t          t                    z  t                    t          t                    t          t                    z  dz  t          t                    t	          t                    z  dz  z
  k    sJ t          dt          z  t	          t                    z  t                    dt          z  t          t                    z  dt	          t                    z  z   k    sJ t          t          t          t                    z  t                    t          dz  t          t                    z  dz  t          dz  dz  z
  k    sJ t          t          t                    t                    t          t          t                    z  t          z
  k    sJ t          dt          dz  z  dz   t          t                    z  t                    dt          dz  z  t          t                    z  dt          z  t          t                    z  z
  dt          t                    z  z   k    sJ t          t          t                    t                    t          t          t                    z  t          t          dz  dz             dz  z
  k    sJ t          t	          t                    t                    d k    sJ t          t          t                    t                    d k    sJ t          t          dz  t                    d k    sJ t          t          t                    t                    } | d         t          t                    k    r| d         dk    sJ d S )	NrU   rX   r^      rW      rV   r   )rC   r   rN   r&   r"   r   r!   rE   )results    rQ   test_manualintegrate_partsrh   E   sp   3q66CFF?A..	Q#a&&AQ#a&&A 556 6 6 61Q3s1vv:q))QqSQZ!CFF(-BBBBB1s1vv:q))QT#a&&[]QT!V-CCCCC3q661%%SVVa7777AadFQJ#a&&0!44	!Q$s1vv!CFF
"RAY./ / / /477A&&!DGG)c!Q$(mmAo*EEEEE s1vvq!!T))))s1vvq!!T))))q!tQ4''''a!$$F!9QF1INNNNNNrS   c            	         t          t          t                    t                    t          t                     k    sJ t          t	          t                    t                    t          t          t                               k    sJ t          t          t                    t                    t          t          t                    t	          t                    z             k    sJ t          t          t                    t                    t          t          t                    t          t                    z              k    sJ t          t          t                    t          t                    z  t                    t          t                    dz  dz  t          t                    dz   dz  fv sJ t          t          t                     t	          t                    z  t                    t          t                     k    sJ t          t          t                    t          t                    z  t                    t          t                     k    sJ t          t          t                    dz  t                    t	          t                    k    sJ t          t          t                    dz  t                    t          t                     k    sJ t          t          t          t          dz            z  t                    t          t	          t          dz            t          t          dz            z             dz  k    sJ t          t          t                    t          t          t                              z  t                    t          t          t          t                              t          t          t                              z              k    sJ t          t          dt          z            t          t                    z  t                    t           t          dt          z            z   k    sJ t          t          dt          z            t          t                    z  t                    dt          t          t                              z  dt          t          t                    dz            z  z   dt          t                    dz  z  z
  k    sJ t          t          dt          z            t          dt          z            dz             t          t          t          t          dz            z  t          t          dz            dz             t          t          t                    t          t          t                                         t          t          t                    t          t          t                                         t          t                    dt          t          t          dz                      z  }} t          | t                    |k    sJ |                    t                    | z
                      t$                                                    dk    sJ t)          t                    t          t          t          dz                      }} t          | t                    |k    sJ |                    t                    | z
                      t$                                                    dk    sJ d S )NrU   r^   r   )rC   r&   rN   r"   r'   r   r%   r$   r#   rR   r   r   r   r   r   r!   r   rewriter   simplifyr   rP   s     rQ   !test_manualintegrate_trigonometryrm   X   s   3q661%%#a&&00003q661%%#c!ff++55553q661%%SVVc!ff_)=)=====3q661%%#c!ffs1vvo*>*>)>>>>>3q66CFF?A..3q66Q;?SVVQYJQRN2SSSSSCFF7SVV+Q//CFF7::::3q66CFF?A..3q66'99993q6619a((CFF22223q6619a((SVVG33331s1a4yy=!,,C1IIAqD		4I0J0J10LLLLL3q66#c!ff++-q11c#c!ff++CPQFF:S6T6T5TTTTT3qs88CFF?A..1"s1Q3xx-????3qs88CFF?A..
3s1vv;;3s1vvqy>>))Ac!ffaiK78 8 8 8 $qs))T!A#YYq[111!DAJJ,QT

1555$q''3tAww<<000$q''3tAww<<00077Ad4!99oo%qA1a  A%%%%FF1IIM""3''0022a777777CQqS		NNqA1a  A%%%%FF1IIM""3''0022a777777rS   c                  <   t          t          t                    dz  t          t                    z  t                    t          t                    dz  dz  k    sJ t          t          t                    dz  t          t                    dz  z  t                    t          dz  t          dt          z            dz  z
  k    sJ t          t          t                    t          t                    dz  z  t                    t          t                    dz   dz  k    sJ t          t          t                    dz  t          t                    dz  z  t                    t          t                    dz  dz  t          t                    dz  dz  z
  k    sJ t          t	          t                    dz  t          t                    z  t                    t          t                    dz  dz  t          t                    z
  k    sJ t          t	          t                    t          t                    dz  z  t                    t          t                    dz  dz  k    sJ t          t          t                    dz  t          t                    z  t                    t          t                    dz   dz  dt          t                    dz  z  dz  z   t          t                    z
  k    sJ t          t          t                    dz  t          t                    dz  z  t                    t          t                    dz   dz  dt          t                    dz  z  dz  z
  t          t                    dz  dz  z
  k    sJ d S )	NrU   r^      rX       re   rW      )rC   r&   rN   r"   r'   r%   r#   r$   r[   rS   rQ   test_manualintegrate_trigpowersrr   w   s   3q6619s1vv-q11SVVQY]BBBB3q6619s1vvz1155	AAaC2   3q66CFFAI-q11c!ffaiZ!^CCCC3q6619s1vvqy0!44A	AA	A%& & & & 3q6619s1vv-q11SVVQYq[3q665IIIII3q66CFFQJ.22c!ffaikAAAA3q6619s1vv-q11	Q
1qQ{1}$s1vv-. . . .3q6619s1vvqy0!44	Q
1qQ{1}$s1vvqy{23 3 3 3 3 3rS   c                  Z7   t          t          t                    dt          dt          z            z   z  t                    t          t          t                              k    sJ t          dddt          dz  z  z   z  t                    t          dt          z  dz            dz  k    sJ t          dddt          dz  z  z   z  t                    t          t                    dz  k    sJ t          ddt          dz  z   z  t                    t          t          dz            dz  k    sJ t          dddt          dz  z  z   z  t                    t          dt          z            dz  k    sJ t	          dd	
          } t	          dd	
          }t          d| |t          dz  z  z   z  t                    t          t          t          t          | |z            z            |t          | |z            z  z  | |z  dk    ft          t          t          |  |z            z
            t          t          t          |  |z            z             z
  dt          |          z  t          |            z  z  d	f          k    sJ t          dd|t          dz  z  z   z  t                    t          t          t          dt          d|z            z  z            d|z  t          d|z            z  z  d|z  dk    ft           t          t          dt          d|z            z  z
            t          t          dt          d|z            z  z             z
  z  dt          |          z  z  d	f          k    sJ t          d| dt          dz  z  z   z  t                    t          t          dt          z  t          |           z            dt          |           z  z  | dk    ft          t          t          |            dz  z
            t          t          t          |            dz  z             z
  dt          |            z  z  d	f          k    sJ t          dddt          dz  z  z   z  t                    t          t                    dz  k    sJ t          dt          t          t          dz  z  z   z  t                    t          t          t          t          t          z            z            t          t          t          t          z            z  z  k    sJ t          dt          dt          dz  z
            z  t                    t          t                    k    sJ t          dt          ddt          dz  z  z
            z  t                    t          t                    dz  k    sJ t          dt          ddt          dz  z  z
            z  t                    t          dt          z            k    sJ t          dt          ddt          dz  z  z
            z  t                    t          t          t          dd          z            dz  k    sJ t          dt          t          dz  dz             z  t                    t          t                    k    sJ t          dt          t          dz  dz             z  t                    t          t          dz            k    sJ t          dt          dt          dz  z  dz             z  t                    t          t                    dz  k    sJ t          dt          dt          dz  z  dz             z  t                    t          dt          z            dz  k    sJ t          dt          | t          dz  z  dz             z  t                    t          t          t          t          |            z            t          |            z  | dk     ft          t          |           t          z            t          |           z  | dk    ft          d	f          k    sJ t          dt          | t          dz  z             z  t                    t          t          t          t          d| z            z            | dk    ft          dt          z  dt          | t          dz  z             z  z             d	f          k    sJ t          dt          t          dz  dz
            z  t                    t          dt          z  dt          t          dz  dz
            z  z             k    sJ t          dt          t          dz  dz
            z  t                    t          dt          z  dt          t          dz  dz
            z  z             k    sJ t          dt          dt          dz  z  dz
            z  t                    t          dt          z  dt          dt          dz  z  dz
            z  z             dz  k    sJ t          dt          dt          dz  z  dz
            z  t                    t          dt          z  dt          dt          dz  z  dz
            z  z             dz  k    sJ t          dt          | t          dz  z  dz
            z  t                    t          t          dt          |           z  t          | t          dz  z  dz
            z  d| z  t          z  z             t          |           z  t          | d          ft           t          z  dz  d	f          k    sJ t          dt          |  dt          dz  z  z             z  t                    t          t          dt          z  t          d| z            z            dz  | dk     ft          dt          z  dt          |  dt          dz  z  z             z  z             dz  d	f          k    sJ t          t          t                    t                    t          t          t                    z  t          dt          dz  z
            z   k    sJ t          t          t          t          z            t                    t          t          t          z  t          t          t          z            z  t          t          dz   t          dz  z  dz             z   t          z  t          t          d          fd          k    sJ t          t          t          t          t          z            z  t                    t           t          t           t          t          dz   t          dz  z  dz             z  dt          dz  z  z  t          dt          dz  z  t          z  dt          t          dz             z  t          t          dz   t          dz  z  dz             z  z             dt          dz  z  t          t          dz             z  z  z   t          t          dz  d          ft          dz  dz  d	f          z  dz  t          dz  t          t          t          z            z  dz  z   k    sJ t          t          t                    t                    t          t          t                    z  t          dt          dz  z
            z
  k    sJ t          t          t          t          z            t                    t          t          t          z  t          t          t          z            z  t          t          dz   t          dz  z  dz             z
  t          z  t          t          d          ft           t          z  dz  d	f          k    sJ t          t          t          t          t          z            z  t                    t          t          t           t          t          dz   t          dz  z  dz             z  dt          dz  z  z  t          dt          dz  z  t          z  dt          t          dz             z  t          t          dz   t          dz  z  dz             z  z             dt          dz  z  t          t          dz             z  z  z   t          t          dz  d          ft          dz  dz  d	f          z  dz  t          dz  t          t          t          z            z  dz  z   k    sJ t          t          t                    t                    t          t          t                    z  t          t          dz  dz             dz  z
  k    sJ t          t          t          t          z            t                    t          t          t          z  t          t          t          z            z  t          t          dz  t          dz  z  dz             dz  z
  t          z  t          t          d          fd          k    sJ t          t          t          t          t          z            z  t                    t           t          t          dz  z  t          t          t          t          dz            z            t          dz  t          t          dz            z  z  z
  z  dz  t          dz  t          t          t          z            z  dz  z   k    sJ t          t#          t                    t                    t          t#          t                    z  t%          dt          t          ddt          dz  z  z
            z  z  t                    z   k    sJ t          t#          t          t          z            t                    t          t#          t          t          z            z  t%          dt          t          ddt          dz  t          dz  z  z  z
            z  z  t                    t          z  z   k    sJ t          t          t#          t          t          z            z  t                    t          dz  t#          t          t          z            z  dz  t%          dt          ddt          dz  t          dz  z  z  z
            z  t                    dt          z  z  z   k    sJ t          t'          t                    t                    t          t'          t                    z  t%          dt          t          ddt          dz  z  z
            z  z  t                    z
  k    sJ t          t'          t          t          z            t                    t          t'          t          t          z            z  t%          dt          t          ddt          dz  t          dz  z  z  z
            z  z  t                    t          z  z
  k    sJ t          t          t'          t          t          z            z  t                    t          dz  t'          t          t          z            z  dz  t%          dt          ddt          dz  t          dz  z  z  z
            z  t                    dt          z  z  z
  k    sJ t          t)          t                    t                    t          t)          t                    z  t          t          dz  dz             dz  z   k    sJ t          t)          t          t          z            t                    t          t          t          z  t)          t          t          z            z  t          t          dz  t          dz  z  dz             dz  z   t          z  t          t          d          ft           t          z  dz  d	f          k    sJ t          t          t)          t          t          z            z  t                    t          t          t          dz  z  t          t          t          t          dz            z            t          dz  t          t          dz            z  z  z
  z  dz  t          dz  t)          t          t          z            z  dz  z   k    sJ t          dt          | |t          dz  z  z
            z  t                    t          t          t          t          || z            z            t          |          z  t+          | dk     | dk              ft          t          t          | | z            z            t          |           z  t+          | dk    | dk              ft          d|z  t          z  dt          |           z  t          | |t          dz  z  z
            z  z             t          |           z  t          |d          ft          t          |           z  d	f          k    sJ t          dt          | |t          dz  z  z             z  t                    t          t          t          t          | | z            z            t          |           z  t+          | dk    |dk               ft          t          t          || z            z            t          |          z  t+          | dk    |dk              ft          dt          |          z  t          | |t          dz  z  z             z  d|z  t          z  z             t          |          z  t          |d          ft          t          |           z  d	f          k    sJ d S )NrV   rU   rX   r_   r^   rW      aTrealbr   rY   ro      )r   T)rC   r   rN   r!   r   r   r   r   r	   ru   rx   r    r
   r   r   r   r   r   r@   r   r   rB   )rarbs     rQ    test_manualintegrate_inversetrigr}      se    3q66QQqS\2A66$s1vv,,FFFF1A1H-q11T!a%']]Q5FFFFF1R!Q$Y/33tAww|CCCC1AqD>1--a!eq@@@@1A1H-q11T!A#YY]BBBB	$			B	$			B1b2ad7l+Q//4$r"u++&&42;;7BCD"RLL())CD"RLL0@,A,AAAd2hhJtUWTWyyDXY[_`	b 	bb b b b 1a"QT'k?A..41T!B$ZZ<())1R4QrT

?;QrTAXF2s1qbe},--A$r"u++4E0F0FFG4PR88TVZ[	] 	]] ] ] ] 1b1QT6k?A..4!DHH%%qbz2BF;D"IIaK((3q499Q;+?+??!D"II+NPTU	W 	WW W W W 1a!AqD&j>1--a1<<<<1a!AqD&j>1--aQqS		k1B1BAd1Q3iiK1PPPPP 1T!AqD&\\>1--a88881T!AadF(^^+Q//47719<<<<1T!AadF(^^+Q//4!99<<<<1T!AadF(^^+Q//4(1a..8H3I3I!3KKKKK 1T!Q$(^^+Q//a   1T!Q$(^^+Q//ac

   1T!AqD&1*---q11a
   1T!AqD&1*---q11ac

1   1T"QT'A+...224$s))$$T2#YY.Q7%R
:K:KDQSHH:TVX[\V\9]`acg_hiij j j j1T"q!t)__,a0054"::&&Q/#acAd219oo<M6M2N2NPT1UVVW W W W 1T!Q$(^^+Q//3qsQtAqD1H~~=M7M3N3NNNNN1T!Q$(^^+Q//3qsQtAqD1H~~=M7M3N3NNNNN1T!AqD&1*---q11S1qa1fqjAQAQ?Q9Q5R5RST5TTTTT1T!AqD&1*---q11SA$qAvPQzBRBR@R9R5S5STU5UUUUU1T"QT'A+...22c!DHH*T"QT'A+%6%662a?@@bI2bRS99UYZXZ[\X\]^X^`dWeffg g g g1T2#!Q$,///3351T"R%[[))!+R!V4s1Q34aPQSTPTfCUCUAU;U7V7VWX7XZ^6_``a a a a
 477A&&!DGG)d1q!t8nn*DDDDD4!99a((I!D1IIaQRdUSTVWSWZZ[^H\H\8\^_7_acdeghaiai6jlu,v,vvvvv1T!A#YY;**2i!D!Q$q!ta000!AqD&9R1WQY4A;;tQTE!Q$JN7K7K)KKLLaPQSTPTfUY[\^_[_Z_U`U`N`abcefgijfjlmcncnpAa( ( (()*,-qDacN1,<== = = =
 477A&&!DGG)d1q!t8nn*DDDDD4!99a((I!D1IIaQRdUSTVWSWZZ[^H\H\8\^_7_acdeghaiai6jmopqmqrsmsuylz,{,{{{{{1T!A#YY;**Y4Aad
Q///1a48Bq!tGAI$1u++dAqD5A:>6J6J(JJKKQqRStVTXZ[]^Z^Y^T_T_M_`abdefhieiklbmbmo1Q~' ' ''()+,a4QqS		>!+;<< < < <
 477A&&!DGG)c!Q$(mmAo*EEEEE4!99a((I!D1IIAqDQRTUQUIXYMHZHZ[\H\8\^_7_acdeghaiai6jlu,v,vvvvv1T!A#YY;**qb!AqD&4$q2w--;P;PRSUVRVW[\]`b\cWdWdRd;e2e.fgh.hklnokoptuvwxuxpypykyz{k{.{{{{{477A&&!DGG)hq!DQqRStVDTDTBT?UWX6Y6Y*YYYYY4!99a((Ad1Q3iiK(1aQQRTUWXTXYZ\]Y]T]Q^M^H_H_F_C`bc:d:def:f,fffff1T!A#YY;**ad4!99nQ.>!DQRUVXY[\X\]^`a]aXaUbQbLcLcJcefAgAgijklilAm.mmmmm477A&&!DGG)hq!DQqRStVDTDTBT?UWX6Y6Y*YYYYY4!99a((Ad1Q3iiK(1aQQRTUWXTXYZ\]Y]T]Q^M^H_H_F_C`bc:d:def:f,fffff1T!A#YY;**ad4!99nQ.>!DQRUVXY[\X\]^`a]aXaUbQbLcLcJcefAgAgijklilAm.mmmmm477A&&!DGG)c!Q$(mmAo*EEEEE4!99a((I!D1IIAqDQRTUQUIXYMHZHZ[\H\8\^_7_acdeghaiai6jmopqmqrsmsuylz,{,{{{{{1T!A#YY;**a1a4$qa"g:O:OQRTUQUVZ[\_a[bVcVcQc:d1d.efg.gjkmnjnostuvwtwoxoxjxyzjz.zzzzz 1T"R1W*---q114$r"u++&&tBxx/bS1Wb1f1E1EF4B<<((rc2Caa4H4HIr"uQw499T"r!Q$w,-?-?!??@@rcJBrSTIIVT"XX:t$	& 	&& & & &
 1T"r!Q$w,///334$s2v,,''bS		13rAvrAv3F3FG42;;''R0#b1fb1f2E2EFqbz$rBq!tG|"4"44qtAv=>>tBxxGBPQST"XX:t$	& 	&& & & & & &rS   c                     t          t          dt          dz  z  dz
            t          z  t                    t          t          dt          dz  z  dz
            dt	          ddt          z  z            z  z
  t          t          t          dd          k     t          t          dd          k              f          k    sJ t          dt          dz  t          dt          dz  z
            z  z  t                    t          t          t          dz   dz  dz              d	t          z  z  t          dz   dz  dz   dt          j        z  z  d
t          dz  z  z  z
  t          t          dk     t          dk              f          k    sJ t          t          dz  dt          dz  z  dz   dt          j        z  z  z  t                    dt          dz  z  dz   dt          j        z  z  dz  dt          dz  z  dz   dt          j        z  z  dz  z
  dt          dt          dz  z  dz             z  dz  z   ddt          dt          dz  z  dz             z  z  z   k    sJ d S )Nrt   rU   r_   r^   rX   rj   rV      }      re   rq   1   iѷiW )	rC   r   rN   r   r   rB   r
   r   Halfr[   rS   rQ   &test_manualintegrate_trig_substitutionr      sK   41a4!,,Q.2241a4!$$qa1g6q8Aq>>)1xA+>??A 	B 	BB B B B 1adT"QT']]23Q77D!Q$rA&&&A.TE"HqLAafH-r!Q$w789<QUAF9K9KM 	N 	NN N N N 1a4AqD1AF
 ;;Q??
QT'A+16	"8	+
QT'A+16	"7	*
+	
41a4!	W	$
%'('$r!Q$w{2C2C*C'D
EF F F F F FrS   c                  @   t          t          t                    t          t                     z
  t          z  t                    t          t                      t          t                    z   k    sJ t	          d          } t           | t                     | t                     z
  t          z  t                    t           | t                     t          z  t                     t           | t                    t          z  t                    z   k    sJ d S )NrJ   )rC   r   rN   r.   r   r@   rJ   s    rQ   )test_manualintegrate_trivial_substitutionr      s    CFFS!WW,a/33A2wAFFFFAAAaDD11aR55L!+Q//	!!QB%%'1		1a 3 334 4 4 4 4 4rS   c                  x   t          ddt          dz  z
  z  t                    t          t          dz
             dz  t          t          dz             dz  z   k    sJ t          ddt          dz  z   z  t                    t          t          dz
            dz  t          t          dz             dz  z
  k    sJ d S )NrV   rX   rU   rY   )rC   rN   r   r[   rS   rQ   test_manualintegrate_rationalr      s    1a!Q$h<++AE

{1}s1q5zz!|/KKKKK1b1a4i=!,,AE

1s1q5zz!|0KKKKKKKrS   c            
      0   dt          t          dz   dz            z  dt          d          z  t          t                    z  t	          t          d          t          z  dz            z  }} t          | |           dt          dt          dz  z            z  dt          t                    z  t          dt          z            z  dz  }} t          | |           t          t          dd          z  t          t           dz            z  dt          t          dd          t          dz            z  }} t          | |           t          dt          z            t          z  t          dt          z            }} t          | |           t          ddt          z  z   t          dz  z
            t          t                    t          d          z  t	          t          dz
            z  dz  }} t          | |           t          t          dz  dt          z  z   dz             } t          d          t          t                    z  t          d           t          t          d          dt          z  dz   z  dt          t                    z  z            z  t          d          t          t          d          dt          z  dz   z  dt          t                    z  z            z  z   z  dz  }t          | |           t          dt          dz  z            t          d          t          t                    z  t          dt          d          z  t          z  t          t                    z            z  dz  }} t          | |           t          dt          z  dz             t          z  t          d          t          dt          z            z  t          d          t          dt          z            z  z   }} t          | |           t!          dt          z  dz
            t          z  t!          d           t#          dt          z            z  t%          d          t'          dt          z            z  z   }} t          | |           dt          dt          z  dz
            z  t          z  dt          d          z  t          dt          z            z  dt          d          z  t          dt          z            z  z   }} t          | |           t%          t          dz            t          z  t#          t          dz            }} t          | |           t          t          dz            t          z  t          t          dz            dz  }} t          | |           dt)          dt          z  dz             z  t+          dt          z  dz             dz  }} t          | |           t-          ddt          z            t          z  t-          ddt          z            }} t          | |           dt          ddt          t                    dz  z  z
            z  dt          d          z  t/          t          t          dd                    z  dz  }} t          | |           t          ddt          t                    dz  z  z             dt1          t          t          d	d                    z  }} t          | |           d S )
NrX   rU   r^   rV   ro   ire   r_   i)r   rN   r   r   r1   rR   r2   r
   r6   r.   r&   r3   r"   r4   r-   r0   r   r,   r   r/   r   r5   r?   r+   r*   rP   s     rQ   test_manualintegrate_specialr     sK   S!Q$q\\>1T!WW9T"XX-c$q''!)A+.>.>>qA!QS1a4[[=!DHH*T!A#YY.q0qA!Qhq!nnS!AYY&Jx1~~qs,K,K(KqA!Qqs88A:r!A#wwqA!Qq1Q3wA~RQAE

 :1 <qA!QAqD1Q3JNA	ab	CFF78DGGQqS1W,=qbz,J#K#KKAxQ1q)1T"XX:67778 
99:
;A!QqAv;;QR(!DGG)A+d2hh2F)G)GGIqA!QqsQw<<>3q66"QqS''>CFF2ac77N:qA!Q!a==?T!WWHS1XX-QAaC0@@qA!QS1q\\>!Qs1vvXb1gg-#a&&AaC0@@qA!Q!99Q;AaCqA!Qq!t99Q;1a4
qA!QS1q\\>2acAg;;q=qA!Q1ac??1ga1ooqA!QT!aA	k/"""Ad1ggIjHQNN.K.K$KA$MqA!QAc!ffaiK  !Jq(2q//$B$B"BqA!QrS   c            	         t          t          t          t          dz  dt          z  z   dz             z  t                    t          t          dz  dt          z  z   dz   z  k    sJ t          t          t          dz  dt          z  z   dz   t                    t                    t          t          t          dz  dt          z  z   dz   t                              k    sJ t          t          t          t                    t          t          t          t                    t                    t          t          t                    t          t          t                    k    sJ d S )NrU   r^   )rC   r   r   rN   r`   r@   r&   r[   rS   rQ   test_manualintegrate_derivativer   (  s   2
1a4!A#:> : ::A>>
adQqSj1n   :adQqSj1na88!<<AqD1Q3JNA..//0 0 0 0:c!ffaAq991==3q661a##$ $ $ $ $ $rS   c            	      
   t          t          dt          z  dz             t          dt          z  dz             dz             t          t          dt          z  d          t          dt          z            dz             t	          t          t
          t          t          z  z   d          t                    t          t          t
          t          t          z  z             t          z  t          t          d          ft          t          t
          d          z  df          k    sJ t          t          t          dz  dz
  d          dt          t          dz  dz
  d          z             t	          t          t                    t                    t          t          t                    z  k    sJ t	          t          t          d          z  t                    t          dz  dz  k    sJ t	          t          t          d          z  t                    dk    sJ t	          t          t          t                    z  t                    t          dz  t          t                    z  dz  k    sJ t	          t          t          t                     z  t                    t          dz  t          t                     z  dz  k    sJ t	          t          dt          z  dz             t                    t          dz   t          dt          z  dz             z  k    sJ t	          t          t          t                    z  t                    t          dz  t          t                    z  dz  k    sJ t	          t          t          dz             t          dt          z
            z  t          dz  z  t                    t          dz  dz  t          dd          z   t          t          dz             z  t          dd          z
  t          t           dz             z  k    sJ t          d          } t	          t          d	t          z             t          dt          z  d	z
            z  t                    t          t          d	z              t          t          d
d                    z   t          dt          z  t          d	          z
            z  k    sJ t	          t          | t          z             t          dt          z  | z
            z  t                    t          | t          dd          z            t          t          | z             z
  t          dt          z  | z
            z  k    sJ d S )Nr^   rU   r   rV   Trz   rX   r`   rq      )rR   r)   rN   r(   rC   ru   rx   r   r   r
   r   r&   r"   r   )r`   s    rQ   test_manualintegrate_Heavisider   1  s=   *QqSU++Yqs1u-=-=a-?@@@*QqS!,,i!nnQ.>???:a!eQ//33:a!A#g&&q("Q((3a
1a8H8H6H$5OPPQ Q Q Q*QqSUA..*QqSUA2F2F0FGGG9Q<<++q1~====1Yq\\>1--Aa77771Yr]]?A..!33331Y]]?A..!Q$y!}}2DQ2FFFFF1Yr]]?A..!Q$y!}}2DQ2FFFFF9QqS1W--q11ac9QqS1W;M;M5MMMMM1Yq\\>1--Aill1B11DDDDD9QU++Ia!e,<,<<QTA1EE
Q$q&8Aq>>
!9QU#3#3	3hq!nn	DiQRPRUVPVFWFWWX X X X 	sA3q1u::i!a&8&88!<<1q5zz\CQ000)AaC!A$$J2G2GGH H H H 3q1u::i!a&8&88!<<8Aq>>!""SQZZ/1Q371C1CCD D D D D DrS   c                     t          d          } dt          dd          }}t          | ||t                    t	          | |t                    t          | t                    t          | t                    t          | t                    t          | t                    t          | t                    t          | |t                    g}|D ]}t          |t                    }dD ]s}	 |                    | |          }n# t          $ r Y &w xY w|                    | |                              t                    |z
                                  dk    sJ tt          |                    t          dt          z  dz             z  }t          |t                    }d	D ]_}|                    | |                              t                    |                    | |          z
                                  dk    sJ `t          d
          }	t!          t#          |j                  dz
            D ]H}
t'          |j                  }|	||
<   t)          t           |j        | |	          t,                    sJ Id S )Nnrq   re   r^   )rz   rY   r   rV   r^   re   ro   r   rU   rV   )rU   rX   rq   t)r   r
   r<   rN   r:   r8   r9   r>   r;   r=   r7   rC   subs
ValueErrorr   r   rangelenargslist
isinstancefuncr@   )r   ru   rx   polyspintegraldegp_subbedqr   inew_argss               rQ   $test_manualintegrate_orthogonal_polyr   I  sL   Ahq!nnqAAq!QAq!!4!4jA6F6F1a(1a..'!Q--!Qq!Q!E  O O"1a((* 	L 	LC66!S>>   MM!S))..q11H<DDFF!KKKKK affQ!a   "1a(( 	R 	RCMM!S))..q11AFF1cNNBJJLLPQQQQQQ CLLs16{{Q'' 	O 	OAAF||HHQKofafh.?CCXNNNNNN	O%O Os   'C>>
D
Dc                     t          t          d                                          \  } }}t          ddd          }t          |||z
  z            t          ||z            z  }|t           t          f}t          ||          ||z  dz  t          d|z  |z            dz  z   t          ||z            z  t          ||z            t          ||z            dz  z  dz  z
  |z  k    sJ | t          ||                                          z  t          z  | t          ||z            z  k    sJ t          ||          	                    t                    rJ d S )Nzr x phir   T)integerpositiverU   rX   )mapr   splitr"   r   rC   r&   rA   trigsimphasr   )rrN   phir   	integrandlimitss         rQ   test_issue_6799r   g  sP   FIOO--..IAq#sD4000AQ#YAaC(I"b\F9a((
A#a%#ac!e**Q,
AcE

	*S3ZZAaC!-CA-E	EqHI I I IyF++44666;q3q3w<<?OOOOOF++//6666666rS   c                      t          t          t          z  t                    t          t          t          dz   z  t          dz   z  t	          t          d          ft          t                    df          k    sJ d S )NrV   rY   T)rC   rN   r`   r   r   r   r[   rS   rQ   test_issue_12251r   t  sj    1a4##y	
QUQU	R2YY'#a&&$(9 (9 9 9 9 9 9 9rS   c            	         t          t          t          t          t          dz  z                       t                    t          t          t          dz  z             k    sJ t	          t          t          t          dz            z  t          d          t
           t          t                    z  t          t
          t          dz  z            z  dz  k    sJ d S )NrU   rX   F)risch)	rC   r   r   rN   rA   r	   r   r   r1   r[   rS   rQ   test_issue_3796r   y  s    4A1H..22c!ad(mmCCCCQQT]AU333r$r(({3qAv;;7Nq7PPPPPPPrS   c                  &   t          t          t                    t          t                    z  t          d          t          t                    t          t                    z  dz  t          t                    t	          t                    z  dz  z
  k    sJ t          t          t                    t	          t                    z  t          d          t          t                    dz  dz  t	          t                    dz   dz  fv sJ d S )NTmanualrU   )rA   r   rN   r&   r"   r[   rS   rQ   test_manual_truer   ~  s    SVVc!ff_a555	Q#a&&AQ#a&&A 556 6 6 6SVVc!ff_a555	Q1q3q6619*q.)* * * * * *rS   c                  X   t          d          } t          d          }t          | t          z  t                    t          | t          z  t	          |           z  t          t	          |           d          ft          df          k    sJ t          | |t          z  z  t                    t          t          | |t          z  z  t	          |           z  t          t	          |           d          f|t          z  df          |z  t          |d          ft          df          k    sJ t          t          |t          z            t                    t          t          |t          z            |z  t          |d          ft          df          k    sJ t          dd          } t          | dz   t          z  t                    | dz   t          z  t	          | dz             z  k    sJ t          dd          } t          | dz   t          z  t                    t          k    sJ t          d          } t          dd          }t          | |t          z  z  t                    t          | |t          z  z  t	          |           z  t          t	          |           d          f|t          z  df          |z  k    sJ t          dd          } t          | dz   |t          z  z  t                    | dz   |t          z  z  |t	          | dz             z  z  k    sJ t          d	d
          }t          d          }t          d||t          dz  z  z   z  t                    t          t          t          ||z            z            |t          ||z            z  z  k    sJ t          dd
          }t          d||t          dz  z  z   z  t                    t          t          t          |           t          d|z            z  z            |t          |           z  t          d|z            z  z  k    sJ t          dt          |z  | |z  z   dz   t          |t          dz  z  dz             z  z  t                    | | z  t          t          | z  | | z  t          |t          dz  z  dz             z  t          | z  t          |t          dz  z  dz             z  z   dt          | z  z  | | z  z  t          |t          dz  z  dz             z  z   z  t                    z  k    sJ t          dt          dz  dz   t          dt          dz  z  dz             z  z  t                    t          dt          dz  dz   t          dt          dz  z  dz             z  z  t                    k    sJ t          dt          |t          z  z
  t          |dz  z  z   z  t                    t          d|t          z   |dz  t          z  z   t          z   z  t                    k    sJ d S )Nr`   r   r   T)r   rV   )zero)nonzeroru   )negativerx   rU   rY   rX   )
r   rC   rN   r   r   r   r   r!   r   r@   )r`   r   ru   rx   s       rQ   test_issue_6746r     s   sAsA1a4##y	
Ac!ffbQmm$q$i(1 (1 1 1 1 11qs8Q''9	1Xc!ff_bQmm,qS$K

 

 
 1XX	 
D	, ,     3qs88Q''9	QqS!R1XXD	,+ ,+ + + + + 	sT"""AAEA:q))a!eaZAE

-BBBBBsAAEA:q))Q....sAsD!!!A1qs8Q''9	
QqS#a&&"SVVQ--(1Q3+,7 ,778,9 9 9 9 9sT"""AAEQqS>1--	
Q!A##a!e**%& & & &sT"""AsA1a!AqD&j>1--aQqS		k1B1BAd1Q3iiK1PPPPPsT"""A1a!AqD&j>1--QaRbd#$%%qqbz$r!t**'<=> > > >1q!tad{QQq!tVaZ0@0@@A1EE	QBaR!qb'$qAvz*:*:":	QBQq!tVaZ   #!#$Q!W9Q!W#4T!AqD&1*5E5E#E#F GHIK K 	KK K K K 1q!taxa1fqj)9)99:A>>QTAXtAadFQJ///0!445 5 5 51a!Q$h1a4/0!44QTEAqDFNQ&'++, , , , , ,rS   c                     t          t          t                    t          t                    z  t                    t           t          t                    z  t	          t          dz   dz             z
  t          t          t                    z  t	          t          dz   dz             z   t          t                    z  z   t          t	          t          dz   dz             t          z  t                    z
  k    sJ t          t          t                    t          t                    z  t                    t           t          t                    z  t	          t          dz   dz             z   t          t          t                    z  t	          t          dz   dz             z
  t          t                    z  z   t          t	          t          dz   dz             t          z  t                    z   k    sJ t          t          t                    t          t                    z  t                    t           t          t                    z  t          t          t                    z  t          t          dz  dz             dz  z
  t          t                    z  z   t          t          dz  dz             dz  z   t          t          t          dz  dz             t          z  t                    dz  z   k    sJ d S )NrU   rV   )rC   r    rN   r   r   r@   r   r!   r[   rS   rQ   test_issue_2850r     s6   4773q66>1--!DGGdAqD519oo1May4A	??*CFF2235=dAqD519ooa>OQR5S5S2T T T T T4773q66>1--!DGGdAqD519oo1M	
477T1a4%!)__	$c!ff,2-/7adUQY8I1/M/M2N N N N N4773q66>1--!DGGqay1qMM!O@ VV?$ 2$&)!Q$(mmAo268@QTAXqRS8T8TUV8V2W W W W W W WrS   c            
         t          t          dt          z            t          t                    z  t                    t          t                    t          dt          z            z  dz  dt          t                    z  t	          dt          z            z  dz  z
  k    sJ t          t          dt          z            t          t                    z  t                                                    rJ t          t          dz
  t          dz  dt          z  z
  dz   dz  z  t                    t          t          t          dz  dt          dz  z  z
  dt          dz  z  z   dt          z  z
  dz   z  t                    dt          dt          dz  dt          dz  z  z
  dt          dz  z  z   dt          z  z
  dz   z  t                    z  z
  k    sJ d S )NrU   re   r^   rX   ro   rV   )rC   r&   rN   r   r"   rF   contains_dont_knowr@   r[   rS   rQ   test_issue_9462r     s{   3qs88CFF?A..#a&&QqS/!2CaAhsSTUVSVxxFWXYFY2YYYYYc!A#hhs1vvoq11DDFFFFFAEadQqSj1nq%88!<<#Aq!ta1f}qAv'=!'Ca'G$H!LLx1a4!AqD&=1QT6+AAaC+G!+K(LaPPPQQ Q Q Q Q QrS   c                     t          t                    t          t          dz            z  } dt          t          dz            z  t          t                    z  dz  dt          t          dz            z  t          t                    z  dz  z   }t	          | t                    |k    r|                    t                    | k    sJ t          t          t                    z  t          t          dz            z  } t          dt          t          dz            z  t          t                    z  dz  dt          t          dz            z  t          t                    z  dz  z   z  dt          t          dz            z  t          t                    z  dz  z
  dt          t          dz            z  t          t                    z  dz  z   }t	          | t                    |k    r|                    t                    | k    sJ d S )NrX   rt         !     )r"   rN   r   r&   rC   r   rP   s     rQ   test_cyclic_partsr     sp   As1Q3xxA
3qs88CFF2#ac((
3q66 1" 44A1a  A%%!&&))q....	#a&&QqSA	
Bs1Q3xxKAr!Ac!A#hhJs1vv$5b$88	9C!HHSVVC
 "%c!A#hh,s1vv"5c"9
:A1a  A%%!&&))q......rS   c                     t          dt          dz  z  dt          dz  z  z   dt          dz  z  z   dt          z  z   dz   t          dz  dt          dz  z  z   dt          dz  z  z   dt          dz  z  z   dt          dz  z  z   dt          z  z   d	z   z  t                    dt          z  t          dz  d	z   z  dt          t                    z  z   d	t          dz  d	z   z  z
  dt          d	z   z  z
  k    sJ d S )
NrX   r^   rt   rU      ro   rW   re   rV   )rC   rN   r!   r[   rS   rQ   test_issue_10847_slowr     s    AadFQq!tVObAg51<q@dQq!tVma1f4qAv=!Q$F1LqPRSTV VQ31q>Ad1ggI51a4!8Dq!a%yPQ Q Q Q Q QrS   c                  f   t          t          dz  t          dz  t          z
  z  t                    t          t          t          t	          t                     z            z  t	          t                     z  t          z   k    sJ t          dd          } t          t          dz  t          dz  | z
  z  t                    | t          t          t          t	          |            z            t	          |            z  | dk     ft          t	          |            t          z             t          t	          |           t          z             z
  dt	          |           z  z  df          z  t          z   k    sJ t          t	          t          t          z
            t          t          t          z            z  t                    dt          t          dd          z  z  t          t	          t          t          z
            t	          t                    z            z  dz  dt          z  t	          t          t          z
            z  dz  z
  dt          t          z
  t          dd          z  z  t          t          t          z            z  dz  z   dt          t          z
  t          dd          z  z  dz  z   k    sJ t          d	d          }t          d
d          }t          t	          t          |z
            t          |t          z            z  t                    d|dz  z  t          t          t	          t          |z
            t	          |          z            t	          |          z  |dk    ft          t	          |            t	          t          |z
            z             t          t	          |           t	          t          |z
            z             z
  dt	          |           z  z  df          z  dz  d|z  t	          t          |z
            z  dz  z
  dt          |z
  t          dd          z  z  t          |t          z            z  dz  z   dt          |z
  t          dd          z  z  dz  z   k    sJ t          t	          t                    t          t                    z  t                    dt          t          dd          z  z  t          t                    z  dz  dt          t          dd          z  z  dz  z
  k    sJ t          t	          t          t          z  t          z             t          z  t                    t          dt          z  t          t	          t          t          z  t          z             t	          t                     z            z  t	          t                     z  dt	          t          t          z  t          z             z  z   t          t          d          ft	          t                    t          t                    z  df          k    sJ t          dd          }t          dd          }t          t	          |t          z  |z             t          z  t                    t          d|z  t          t          t	          |t          z  |z             t	          |           z             t	          |           z  |dk     ft           t          t	          |           t	          |t          z  |z             z             t          t	          |          t	          |t          z  |z             z             z
  z  dt	          |           z  z  df          z  dt	          |t          z  |z             z  z   t          |d          ft	          |          t          t                    z  df          k    sJ t          t          t	          |t          z  |z             t          | z   z  t                              t          d|z  | z  t          t          t	          |t          z  |z             t	          || z  |z
            z            t	          || z  |z
            z  || z  |z
  dk    ft          t	          | | z  |z              t	          |t          z  |z             z             dt	          | | z  |z             z  z  t          t	          | | z  |z             t	          |t          z  |z             z             dt	          | | z  |z             z  z  z
  df          z  d|z  t          t          t	          |t          z  |z             t	          || z  |z
            z            t	          || z  |z
            z  || z  |z
  dk    ft          t	          | | z  |z              t	          |t          z  |z             z             dt	          | | z  |z             z  z  t          t	          | | z  |z             t	          |t          z  |z             z             dt	          | | z  |z             z  z  z
  df          z  z   dt	          |t          z  |z             z  z   t          |d          ft	          |          t          | t          z             z  df          k    sJ t          t	          dt          z  dz             t          dz   z  t                    dt	          dt          z  dz             z  t          t	          dt          z  dz             dz             z
  t          t	          dt          z  dz             dz
            z   k    sJ t          t	          dt          z  dz             dz  t          z  t                    dt          z  dz   t          dd          z  dz  dt          z  dz   t          dd          z  dz  z
  k    sJ t          t          t          dd          z  t          t                    z  t                    dt          t          dd          z  z  t          t                    z  dz  dt          t          dd          z  z  dz  z
  k    sJ t          t          dz  t          t                    z  t                    t          t                     dt          dz  z  z  ddt          dz  z  z  z
  k    sJ t          t          t                    t          dz  ddt          z  z
  z  z  t                    t          t                    t          ddt          z  z             z  t!          t          ddt          z  z             t          z  t                    z
  k    sJ d S )NrU   cTrv   r   rX   r^   r_   r`   zru   rx   rz   rV   re      r   rj   rY   )rC   rN   r   r!   r   r   r   r   r`   r   r
   ru   rx   r   r	   r   r@   )rcryrzr{   r|   s        rQ   test_issue_10847r     s    1a41a4!8,a00Ad1T1"XX:6F6F4FtQBxx4ORS4SSSSS	$			B1a41a4"9-q11
9d1T2#YY;''bS		126:DHH9q=))CR1,=,==$r((
KTRT T 	TVW	XX X X X 4A;;QU3Q77	!Xa^^
Da!eT!WW!4555a7!A#d1q5kk/!:KK	1q58Aq>>
!!#ac((*1,	-/0!a%(1a..1H/H/J	KK K K K 
$			B	$			B4B<<#b1f++5q99	"a%	4QVT"XX 566tBxx?aHbS		zDRLL899CbS		DQRUWQWLL@X<Y<YY\]^bdfcf^g^g\ghjnoq q 	qqr	sR4QV,Q.	/12AFXa^^3K1KCPRSTPTII1UVW1W	X a"fx1~~55a7	88 8 8 8 477SVV+Q//1QA5F3Fs1vv3Ma3ORSTUW_`acdWeWeTeRefgRg3ggggg4!a==1,a001Q3tD1qMM$r((2333D!HH<qacAgNPRSTVWPXPXY\`ab\c\cdghidjdj\jlp[qrrs s s s	$			B	$			B41r	??Q.22U9tBqD2ItRCyy0111$s));R!VDS$r((T"Q$)__455DHHtBqDSUI<V8W8WWXZ[\`bdad\e\eZefhlmo o o tBqD2I !#2q		+ "XXc!ff_d#	% 	%% % % % /$r!tby//QV"<a@@AAbeBhy$tBqD2ItBrEBJ?O?O/O*P*PQUVXY[V[^`V`QaQa*acefhchkmcmpqcq)r(+T2#b&2+->->,>bdRi,P(Q(QSTUY[]Z]^`Z`ceZeUfUfSf(g(+D"R",=,=RTBY,O(P(PRSTXZ\Y\]_Y_bdYdTeTeRe(f)ghl(n o  o o d9d41r	??42
;K;K+K&L&LTRTUWRWZ\R\M]M]&]_abd_dgi_ilm_m%n%($s2v{*;*;);d2a4"9oo)M%N%NPQRVXZWZ[]W]`bWbRcRcPc%d%(rc"frk):):T"Q$)__)L%M%MqQUWYVYZ\V\_aVaQbQbOb%c&dei%kl l ll RTBY'( *,B4 7;2hhs26{{6JD5QS SS S S S 4!a==AE2A66!D1qMM/CPTUVWXUX[\U\P]P]`aPaLbLb:behimnopqnqtunuivivyzize{e{:{{{{{4!a==1,q0!441q8Aq>>8QRT8TXYZ[X[^_X_bjklnobpbpWpqrWr8rrrrr1hqmm+c!ff4a88Aa!A>N<NsSTvv<UVW<WZ[\]_ghijk_l_l\lZlmoZo<ooooo1r7SVV+Q//CFF7AadF3Ca1a4j3PPPPP3q661a4QqS>2A66As2!8}}xB1Ha;;;< < < < < <rS   c            	      4   t          t          t          t                                        t                    t                    t          t          t          t          t                    t                    t                    k    sJ t          t          t          t                                        t                                        t                    t                    t          t          t          t                    t                    k    sJ d S rM   )rC   rJ   rN   r`   r   r@   r   r[   rS   rQ   test_issue_12899r     s    1Qq66;;q>>!,,AaFF19M9Ma0P0PPPPP1Qq66;;q>>..q11!44
1Qq66!8L8LLLLLLLrS   c                      t          t          t          t          ddf          t                    t          t          t          t          ddf          z  k    sJ d S )NrV   rU   )rC   r@   r`   rN   r[   rS   rQ   #test_constant_independent_of_symbolr     sU    8A1ay11155	(1q!Qi
 
  ! ! ! ! ! !rS   c                     t          t          dt          z            t                    t          dt          z             dz  k    sJ t          t          t                    t          dt          z            z  t                    dt          t                    dz  z  dz  k    sJ t          t          dt          z            t          t                    z  dt          t                    z   z  t                    dt	          t          t                    dz             z  t          t                    dz  z
  dt          t                    z  z   k    sJ d S )NrU   rz   r^   rV   )rC   r&   rN   r"   r   r[   rS   rQ   test_issue_12641r     s    3qs88Q''C!HH9Q;66663q66#ac((?A.."SVVQY,q.@@@@C!HHSVVOa#a&&j91==
3s1vvz??SVVQY&3q6612 2 2 2 2 2rS   c                      t          t          t                    t          t                    dz  z  t                    t          t                    dz   dz  k    sJ d S )Nre   rW   )rC   r&   rN   r"   r[   rS   rQ   test_issue_13297r     sH    3q66CFFAI-q11c!ffaiZ!^CCCCCCrS   c            
          t          dt          t          t          dz             z  z  t          t          t          dz             dz
            t          t          t          dz             dz             z
             d S )NrV   )rR   rN   r   r   r[   rS   rQ   test_issue_14470r     s^    !QtAE{{]+Sa!eq-A-ACQQRUVWDXDX-XYYYYYrS   c            	      v   t          t          t                    t          t          t                              z  t                    t	          t          t                              k    sJ t          t          dt          z            t          t          t                              z  t                    t          t                    t	          t          t                              z  t          t          t                              z   k    sJ t          t          dt          z            t	          t          t                              z  t                    } |                     t                    rJ |                     t                    t          dt          z            t	          t          t                              z  k    sJ t          t          d t          dd          D                       t                    t          t          dt          z            z  dz  t          t          dt          z            z  dz  z   t          t          dt          z            z  dz  z   t          t          d	t          z            z  d	z  z   t          t          d
t          z            z  d
z  z   t          t          dt          z            z  dz  z   t          t          t                    z  z   t          dt          z            dz  z
  t          dt          z            dz  z
  t          dt          z            dz  z
  t          d	t          z            dz  z
  t          d
t          z            dz  z
  t          dt          z            d	z  z
  t          t                    z
  k    sJ d S )NrU   
   c                 L    g | ]!}t           t          |t           z            z  "S r[   )rN   r   ).0ks     rQ   
<listcomp>z#test_issue_9858.<locals>.<listcomp>&  s&    @@@q#ac((
@@@rS   rV   ro   rq   rW   re   rX   r^   r   $   r   rt   r_   )
rC   r   rN   r"   r&   r   r@   r   sumr   )ress    rQ   test_issue_9858r     s   3q66#c!ff++-q11SQ[[@@@@3qs88CAKK/33As3q66{{SQ[[() ) ) )
#bd))CAKK/
3
3Cwwx     88A;;#bd))CAKK/////3@@E!QKK@@@AA1EE	#ac((
1qQqSz!|#aAaCjl2Qs1Q3xxZ\A	#ac((
1	QqSz!|	$&'Ah	/14QqS"	=>A!A#hhrk	JAaC	!A#hhrk	"$'!HHQJ	/14QqS!	<>A!ff	EF F F F F FrS   c                     t          t          t          dz  dz   z  t                    t          t          dz            dz  k    sJ t          t          dz  t          dz  dz   z  t                    t          t          dz  dz            dz  k    sJ t          d	t          dz  z  dz   dz  z  } t          | t                                        t                                                    | k    sJ d S )
NrX   rV   rU   rW   r   r^   re   r   r_   )rC   rN   r!   r   factorr   s    rQ   test_issue_8520r   ,  s    1adQh<++tAqDzz!|;;;;1a4A+Q//41Q<<?BBBB	1QT6A:/A1a  %%a((//11Q666666rS   c                      t          d          \  t                    t                    z    t           t                              t          t                              z   k    sJ t           t                              t                    z   k    sJ t	          t
           fd           t	          t
           fd           d S )Nzx yc                  $    t                     S rM   )rG   )exprrN   s   rQ   <lambda>z"test_manual_subs.<locals>.<lambda>;  s    {433 rS   c                  B    t           t                              S rM   )rG   r   r   rN   r`   s   rQ   r   z"test_manual_subs.<locals>.<lambda><  s    {4QA>> rS   )r   r   r   rG   rH   r   r   s   @@@rQ   test_manual_subsr   3  s    5>>DAqq66CFF?DtSVVQ''1s3q66{{?::::tSVVQ''3q66A:5555
:33333444
:>>>>>>?????rS   c                     t          t                    t          t          t                              z  t          t          dd          z  z  } dt          t          dd          z  z  t	          t          t                              z  dz  dt          t          dd          z  z  t          t          t                              z  dz  z   dt          t          dd          z  z  t	          t          t                              z  dz  dt          t          dd          z  z  t          t          t                              z  dz  z   t          t                    z  z   }t          | |           d S )	Nr^   rX   irV   r   r   rt   r   )r   rN   r"   r
   r&   rR   rP   s     rQ   test_issue_15471r   ?  s   As3q66{{1hq!nn,,AQAs3q66{{*3.QA5F1Fs3q66{{1RSV1VVZ\]^`hijlm`n`n]nZnorsvwxsysyozozZz{}Z}  AB  CD  FN  OP  RS  FT  FT  CT  AT  UX  Y\  ]^  Y_  Y_  U`  U`  A`  ac  Ac  [c  eh  ij  ek  ek  Zk  	kA!QrS   c                  n   dt           z  dz   dt           dz  z  dt           z  z
  dz   z  } t          | t                     dt          dt           dz  z  dt           z  z
  dz             z  dz  dt          d          z  t	          dt          d          z  t           t          dd          z
  z  dz            z  d	z  z   k    sJ ddt           dz  z  dt           z  z   dz   z  }t          |t                     dt          d
t           z  dz             z  dt          d
t           z  d
z             z  z
  k    sJ d S )Nre   rU   r^   ro   rW   rf      rV   E   rX   )rN   rC   r   r   r!   r
   )rJ   gs     rQ   test_quadratic_denomr   F  s$   	
1q1QT6AaC<!#$A1a  Ac!AqD&1Q3,*:&;&;$;A$=488DQRSWXZS[S[Q[]^aijkmnaoao]oQpqsQsLtLt@tuw@w$wwwww	1QT6AaC<!A1a  Ac!A#'llNQs1Q37||^$CCCCCCCrS   c                      t          t          t                    t                    t          t          t                    z  k    sJ d S rM   )rC   r&   rN   r`   r[   rS   rQ   test_issue_22757r   L  s3    3q661%%SVV333333rS   c                      t          t          t                    t                    } | j        j        }|j        |j        |j        z  k    sJ d S rM   )rF   r'   rN   substepr   constantother)stepsconstant_times_steps     rQ   test_issue_23348r  P  sI    3q661%%E-/(,?,HK^Kd,dddddddrS   c                  T   t          dt          t          dz  dz
            z  t          ddf                              d          } | t	          ddt          d          z  z
             t	          d          z   k    sJ t          |                                           d	k    sJ d S )
NrV   rU   rz   rY   Tr   rX   r^   z1.31695789692482)r@   r   rN   doitr   strr   )r   s    rQ   test_issue_23566r  V  s    41q>>!Ar2;//44D4AAAQ477]###c!ff,,,,,qssuu::+++++++rS   c            
         t          t          t          dz            t          t          t          dz            z  dz             t          t          t          t          d          dz  z            dt          z  t          t          t          d          dz  z            z  dz             t          dt          t          dz            z  t          t	          t                    z  t          t          dz            z             t          t          t          t          dz            z  t          dz  t          t          dz            z  t	          t                    z             t
          t          t          t          z  z   t          z  z  t          z  } t
          t          t          t          z  z   t          z  z  t          z  t          t          z  t          z   z  t          t          z  dz   z  }t
          t          t          t          z  z   t          z  z  t          z  t          t          z  t          z   z  t	          t          t          z  t          z             z  }t          | t                    t          t          |t          t          t          z  d          f|d	f          t          t          d
          ft          t          t          z  t
          z  t          z  z  d	f          k    sJ |                    t                                        |           sJ |                    t                                        t          t          z  d                              |           sJ d S )NrU   re   r^   rW   rf   rV   rY   Tr   )rR   r   rN   r   r   r   ru   rx   derC   r   r   r   rO   r   )rJ   F1F2s      rQ   test_nested_powr  \  sI   $q!t**aQT

l1n555$q1Q446{++QqSa!A$$q&k1B1B-B2-EFFF!DAJJ,#a&&ad(;<<<!DRMM/1a4QU+;CFF+BCCC	
AacEA:A
Q1WqL.1	acAg	&!a	0B
Q1WqL.1	acAg	&s1Q37||	3B1a  9b"QqS"++.T
;;R1XXFAqDQRFUV;X\H]^^_ _ _ _771::Q771::??1Q3##**1-------rS   c                     t          dt          dz  z  dz   t          ddt          z  z             z  ddt          z  dz   t          d          dz  z  z  dz  ddt          z  dz   t          d          dz  z  z  dz  z
  d	dt          z  dz   t          d          dz  z  z  d
z  z   dt          dt          z  dz             z  d
z  z              t	          t          t          t
          t          t          z  z             dz  z  t                    t          t          dt          dz  t
          t          t
          t          t          z  z             z  t          t
          t          t          z  z             z             t          t          d          ft          dz  dt
          t          d          dz  z  z  z  df          k    sJ t          t          dt          z  dz             dz   dt          z  dz   dt          d          z  z  dz   z  dt          d          z  dt          z  dz   t          d          dz  z  z  dz  dt          d          z  dt          z  dz   t          d          dz  z  z  dz  z
  dt          d          z  dt          z  dz   t          j
        dz  z  z  dz  z
  ddt          z  dz   t          d          dz  z  z  dz  z   ddt          z  dz   t          j
        dz  z  z  dz  z
  t          d          t          dt          z  dz             z  dz  z   dt          dt          z  dz   t          j
        dz  z  dz             z  dz  z   dt          d          z  t          dt          z  dz   t          j
        dz  z            z  dz  z              t          t          t          t          t                    z             dt          t          t                    t          z             z  t          t                    dz  t          dz  z   t          d          dz  z
  z  t          dt          t                    z  dt          t          t                    t          z             z  z   dz             dz  z              t          t          dt          z  dz   t          dt          z  dz             z             dz  t          dt          z  t          dt          z  dz             z   dz             dt          z  dz  ddt          z  dz   t          d          dz  z  z  d	z  z   t          dt          z  dz             d	z  z   dt          z  dz   dz  dz  z   t          d          dz  z   z  dz             d S )Nre   r^   rX   rU   r   rq   i7     (   Q      rz   r   TrV   rW      r   ro   r_   rf   )rR   rN   r   r   rC   ru   rx   r   r   r   Oner   r!   r[   rS   rQ    test_manualintegrate_sqrt_linearr  j  s   1QT6!8T!AaC%[[0acAg1a004q!A#'QqTT!V9L7LR7OOacAg1a003469$qsQw--6G6JKL L L 1T!AaC%[[!^+Q//3q!R%4AaC==4AaC==!@AA2a88LqRStUVWX[\]^[_[_`a[aWbUbOceiNjkkl l l l4!A;;q=AaCEQqttV+<Q+>?DGG)QqS1W!Q$77:QtAwwY!aSTUVSWSWXYSYGZ=Z[]=]]DGG)QqS1Wa$88:;=>!a1Q44PQ6?R=RST=TUWXZ[\]Z]`aZaefejklelYmWmnoWopq''$qsQw--/1245c1Q37aeAg:NQR:R6S6S4STU4UV DGG)D!A#'QU1W)=$>$>>q@AB B B
 $qay//Da1---tAwwrzAaC/?!A$$q&/HICPQRVWXRYRYPY\]^bcghicjcjmncn^o^o\oPorsPsLtLtuvLvvx x x$qs1uT!A#a%[[01114qsT!A#']]2Q677Q3r6B!a1Q446':$:2$==QqS1Wb@PPTUVWTWZ[T[^_S_`bSbbefgiejejkmemmoopqr r r r rrS   c                  !   t          dt          t          t          z
  dz  dz
            z  t	          dt          z  dt          t          dz  dt          z  t          z  z
  dz
            z  z   dt          z  z
                       t          dt          dt          dz  z  dt          z  z   dz             z  t          d          t          dt          d          z  t          t          d          dz  z   z  dz            z  dz             t          dt          dt          dz  z  dt          z  z   dz             z  t          d          t          dt          d          z  t          t          d          dz  z
  z  dz            z  dz             t          dt          dt          dz  z  dt          z  z   dz
            z  t          d          t	          d	t          z  dt          d          z  t          dt          dz  z  dt          z  z   dz
            z  z   dz             z  dz             t          dt          dt          dz  z  dt          z  z
  dz             z  t          t          j        z
  t	          t          t          j        z
            z  dt          t          t          j        z
  dz            z  z             t          dt          t          t          t          z  z   t          t          dz  z  z             z  t                    t          t	          t          dt          t                    z  t          t          t          t          z  z   t          t          dz  z  z             z  z   dt          z  t          z  z             t          t                    z  t          t          d
          t          t          t          dz  dt          z  z  z
  d
          z  ft          dt          z  z  t          z   t	          t          dt          z  z  t          z             z  t          t          t          dt          z  z  t          z   dz  z            z  t          t          d
          fdt          t          t          t          z  z             z  t          z  t          t          d
          ft          t          t                    z  df          k    sJ t          dt          z  d	z   t          dt          dz  z  dt          z  z   dz             z  dt          dt          dz  z  dt          z  z   dz             z  dz  dt          d          z  t          dt          d          z  t          t          d          dz  z   z  dz            z  dz  z              t          dt          z  d	z   t          dt          dz  z  dt          z  z   dz             z  dt          dt          dz  z  dt          z  z   dz             z  dz  dt          d          z  t          dt          d          z  t          t          d          dz  z
  z  dz            z  dz  z              t          dt          z  d	z   t          dt          dz  z  dt          z  z   dz
            z  dt          dt          dz  z  dt          z  z   dz
            z  dz  dt          d          z  t	          d	t          z  dt          d          z  t          dt          dz  z  dt          z  z   dz
            z  z   dz             z  dz  z              t          t          t           t          z  z   t          t          t          t          z  z   t          t          dz  z  z             z  t                    t          t           t           z  dt          z  z  t          z   t          t	          t          dt          t                    z  t          t          t          t          z  z   t          t          dz  z  z             z  z   dt          z  t          z  z             t          t                    z  t          t          t          dz  dt          z  z  z
  d
          ft          dt          z  z  t          z   t	          t          dt          z  z  t          z             z  t          t          t          dt          z  z  t          z   dz  z            z  df          z  t           t          t          t          t          z  z   t          t          dz  z  z             z  t          z  z   t          t          d
          fdt          z  t          t          t          t          z  z             z  dt           z  t           t          t          t          t          z  z             z  t          t          t          z  z   t          d          dz  z  dz  z   z  t          z  z   t          z  t          t          d
          ft          t          z  t           t          dz  z  dz  z   t          t                    z  df          k    sJ t          dt          dz  z  t          dz  z
  dt          z  z   dz
  t          t          dz  dt          z  z
  dz             z  t                    t          t          dz  dt          z  z
  dz             t          dz  dt          z  dz  z   t          d          dz  z   z  dt	          dt          z  dt          t          dz  dt          z  z
  dz             z  z   dz
            z  dz  z   k    sJ t          t          dt          dz  z  dt          z  z
  dz             t          dz  t          d          dz  z
  t          dt          dz  z  dt          z  z
  dz             z  dt          d          z  t          dt          z  dz  t          d          dz  z
            z  dz  z              t          t          t          t          t          dz  z  z             t                    t          t          t          t	          dt          t                    z  t          t          t          t          dz  z  z             z  dt          z  t          z  z             t          t                    z  t          t          d
          ft          t	          t                    z  t          t          t          dz  z            z  df          z  dz  t          t          t          t          t          dz  z  z             z  dz  z   t          t          d
          ft          t                    t          z  df          k    sJ t          t          t          t          t          z  z   t          t          dz  z  z             t                    t          t          dz  t          dz  dt          z  z  z
  t          t	          t          dt          t                    z  t          t          t          t          z  z   t          t          dz  z  z             z  z   dt          z  t          z  z             t          t                    z  t          t          t          dz  dt          z  z  z
  d
          ft          dt          z  z  t          z   t	          t          dt          z  z  t          z             z  t          t          t          dt          z  z  t          z   dz  z            z  df          z  t          dt          z  z  t          dz  z   t          t          t          t          z  z   t          t          dz  z  z             z  z   t          t          d
          fdt          t          t          z  z   t          d          dz  z  z  dt          z  z  t          t          d
          ft          t                    t          z  df          k    sJ t          t          t          t          dz  dt          z  z   dz             z  t          dz  dz  t          d	z  z   t          d          d	z  z   t          t          dz  dt          z  z   dz             z  dt          t          d          t          dz   z  dz            z  dz  z
             d S )NrV   rU   r^   rX   re   rf   rj      rW   r   Trq   r_   irp      e   ro      rt   i  i iY  i+A  iiQ  iC)  ir+  i  i:C)rR   r   rN   r	   r   r   r   r    r   rC   ru   rx   r   r   r   r
  r  r[   rS   rQ   #test_manualintegrate_sqrt_quadraticr  |  s   !D!a%!A...AaC!DA!APQAQ<R<R:R4RUVWXUX4X0Y0YZZZ!D1a4!A...QaRj!aPQddSTf*>UVX>X8Y8Y0YZ[0[\\\!DAqD1Q///aaRj!aPQddSTf*>UVX>X9Y9Y1YZ[1[\\\!D1a4!A...QAaC!DGG)DQRSTVWSWQWZ[\]Z]Q]`aQaLbLbBb<bef<f8g8g0ghi0ijjj!D1a4!A...QVSQV__0LaPTVWZ[Z`V`cdUdPePeNe0fggg1T!AaC%!Q$,///333q1T!WW9T!ac'AadF*:%;%;;;ac!eCDDT!WWLbQRTUhhY[\]`acd`dfghifi`j\jlmYnYnNnoqsGaKQ!Wq[!1!11$q!QqS'A+9I7I2J2JJBqRSHHUT!ac']]?1$bAhh/!DGG)T1B	D 	DD D D D
 1Q3q5$qAvacz!|"4"44D1a4!A#!122214qayqbzSTWXYZW[W[\]W]S]G^_aGaAbAb7bcd7ddf f f1Q3q5$r!Q$wqs{1}"5"55T"QT'AaC-!"3444Q6DGGD4PR88UVYZ[\Y]Y]^_Y_U_I`acIcDdDd9def9ffh h h1Q3q5$qAvacz!|"4"44D1a4!A#!122214qayQqS1TRSWW9UYZ[\]_`\`Z`cdefcfZfijZjUkUkKkEknoEoApAp7pqr7rrt t tAacE4!A#a1f#5#55q99QBqD!A#JNc!aQiQ1WqAv5E0F0F&F"F1Q"NOOPTUVPWPWWY[\]`acd`dfghifi`j\jlmYnYno !A#w{C1Q3!,<,<<T!Q!Wq[STDTBT=U=UUW[\^ ^^ T!ac'AadF*+++A-. 02!Qxx9 aCQ1W%!aRQ1W-=QqSAaDDQRF@STU@U-U(VWX(XXZ[[]_`acd]e]efaC!AqD&(NDGG+T2	4 	44 4 4 4 AadF1a4K!OA-tAqD1HQJ/?/??CCQTAaCZ!^adRT!VmaffQh67#c!A#$qRStVWXYVYz\]~J^J^H^B^abBb>c>c:cdf:ffg g g g $uQTz%'1%788Q35%/eAqDj576JU6R1S1SS#DJJ.uU1WU]QuXXd]5R/S/SST^^_` ` ` 4!AqD&>>1--1YAd1ggId1qAv:.>.>$>1Q$F G GQ OQSTUWXQYQYZ !#a&&a1f 5t<> > >>?@BCDQqRStVDTDTBTUVBVWXZ[\^_X`X`b7719d#	% 	%% % % % 4!A#a1f--q11AaC!Q$!*$c!aQiQ1WqAv5E0F0F&F"F1Q"NOOPTUVPWPWWY[\]`acd`dfghifi`j\jlmYnYno !A#w{C1Q3!,<,<<T!Q!Wq[STDTBT=U=UUW[\^ ^^ qsGacM4AaC!AqD&(8#9#99: <>a88E a!A#g1a((!A#.1a97719d#	% 	%% % % % !DAac!,,,a46AaC<!A$$q&0$q!taczA~2F2FF5QUVWQXQXZ[^_Z_Q`abQbKcKcIcdeIeeg g g g grS   c            
         t          t          t          t                    z  t          t                    z  t          t          t                    z  t	          t          t                    t          t                    z             z
             t          t          t          t                    dz  z  t          t          t                    z  t	          t          t                              z              t          t          dz  t          t          t                    t          df          z  t          dz  t          t          t                    t          df          z  dt          dz  z  t          t          t                    t          df          z  z
  dt          z  t          t          t                    t                    z  z   dt          t                    z  z
             d S )NrU   r^   rX   rW   )rR   rN   r%   r'   r   r"   r   rJ   r[   rS   rQ   test_mul_pow_derivativer    s=   !CFF(3q66/1SVV8c#a&&3q66/6J6J+JKKK!CFFAI+qQx#c!ff++'=>>>!Q$z!A$$A777Q$z!A$$A777!AqD&AaDDSTVWRXAYAY:YYA#j1q111245addF;< < < < <rS   N)sympy.core.exprr   sympy.core.mulr   sympy.core.functionr   r   r   r   sympy.core.numbersr	   r
   r   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   r   r   &sympy.functions.elementary.exponentialr   r   %sympy.functions.elementary.hyperbolicr   r   r   r   r   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   'sympy.functions.special.delta_functionsr(   r)   *sympy.functions.special.elliptic_integralsr*   r+   'sympy.functions.special.error_functionsr,   r-   r.   r/   r0   r1   r2   r3   r4   r5   'sympy.functions.special.gamma_functionsr6   #sympy.functions.special.polynomialsr7   r8   r9   r:   r;   r<   r=   r>   &sympy.functions.special.zeta_functionsr?   sympy.integrals.integralsr@   rA   sympy.logic.boolalgrB   sympy.integrals.manualintegraterC   rD   rE   rF   rG   sympy.testing.pytestrH   rI   rN   r`   r   rZ   r   ru   rx   r   r
  r  rJ   rR   r\   ra   rc   rh   rm   rr   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r[   rS   rQ   <module>r5     s                     D D D D D D D D D D D D 0 0 0 0 0 0 0 0 0 0 $ $ $ $ $ $ " " " " " " 6 6 6 6 6 6 6 6 6 6 = = = = = = = = ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 9 9 9 9 9 9 : : : : : : w w w w w w w w w w w w w w w w w w w w w w w w w w w w I I I I I I I I O O O O O O O O m m m m m m m m m m m m m m m m m m m m m m m m > > > > > > J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J  J : : : : : : ; ; ; ; ; ; ; ; # # # # # #. . . . . . . . . . . . . . - - - - - - - -&w'<== 1aAq!Q1HSMMT d    
@ @ @
@ 
@ 
@
1 
1 
13 3 3&8 8 8> 3 3 3" ^& ^& ^&B
F 
F 
F4 4 4L L L
"  "  " J$ $ $D D D0O O O< 	7 	7 	79 9 9
Q Q Q
* * *%, %, %,P W W WQ Q Q9 9 9 Q Q Q /< /< /<dM M M
! ! !
2 2 2 D D DZ Z Z F F F7 7 7	@ 	@ 	@      D D D4 4 4e e e, , ,. . .r r r$,g ,g ,g^< < < < <rS   