
    g              
          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#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/m0Z0m1Z1 d dl2m3Z3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZB d dlCmDZD d dlEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZM d dlNmOZO d dlPmQZQmRZR d dlSmTZT d dlUmVZVmWZWmXZXmYZYmZZZ d dl[m\Z\m]Z]  ed          \
  Z^Z_Z`ZaZbZcZdZeZfZg ed          ZhdedefdZid Zjd Zkd Zld Zmd Zne]d              Zoe]d!             Zpd" Zqd# Zrd$ Zsd% Ztd& Zud' Zvd( Zwe]d)             Zxd* Zyd+ Zzd, Z{d- Z|e]d.             Z}d/ Z~d0 Ze]d1             Ze]d2             Zd3 Zd4 Zd5 Ze]d6             Zd7 Ze]d8             Zd9 Zd: Ze]d;             Zd< Zd= Zd> Zd? Zd@ ZdA ZdB ZdC ZdD ZdES )F    )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piecewise_fold)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)rD   xr   equalsrK   rL   s     ]/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/integrals/tests/test_manual.pyassert_is_integral_ofrS      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            )rE   r$   rO   r%   ur&   r(   r
   r   r   rK    rT   rR   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???????rT   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 )NrV      rY   	   )rD   yrO   r   r[   r\   rT   rR    test_manualintegrate_polynomialsrb   +   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/???????rT   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 )NrV   rW   r_   )rD   r   rO   r   rS   r   r\   rT   rR   !test_manualintegrate_exponentialsrd   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0rT   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 )	NrV   rY   r_      rX      rW   r   )rD   r   rO   r'   r#   r   r"   rF   )results    rR   test_manualintegrate_partsri   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NNNNNNrT   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 )NrV   r_   r   )rD   r'   rO   r#   r(   r   r&   r%   r$   rS   r   r   r   r   r   r"   r   rewriter   simplifyr   rQ   s     rR   !test_manualintegrate_trigonometryrn   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7rT   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 )	NrV   r_      rY       rf   rX      )rD   r'   rO   r#   r(   r&   r$   r%   r\   rT   rR   test_manualintegrate_trigpowersrs   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 3rT   c                  7   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          t          z            z            t          t          t          t          z            z  z  t          t          d          fdt          t          z  z  d	f          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 )NrW   rV   rY   r`   r_   rX      aTrealbr   rZ   rp      )r   T)rD   r   rO   r"   r   r   r   r   r	   rv   ry   r   r!   r
   r   r   r   r   rA   r    r   rC   )rarbs     rR    test_manualintegrate_inversetrigr~      s    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--D4!99<M<MqQUVWXYVYQZQZ{<[]_`acd]e]e;f<>!Hd;K2M 2M M M M M 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$	& 	&& & & & & &rT   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 )Nru   rV   r`   r_   rY   rk   rW      }      rf   rr   1   iѷiW )	rD   r   rO   r   r   rC   r
   r   Halfr\   rT   rR   &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rT   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 )NrK   )rD   r   rO   r/   r   rA   rK   s    rR   )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 4rT   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 )NrW   rY   rV   rZ   )rD   rO   r   r\   rT   rR   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KrT   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 )
NrY   rV   r_   rW   rp   irf   r`   i)r   rO   r   r   r2   rS   r3   r
   r7   r/   r'   r4   r#   r5   r.   r1   r   r-   r   r0   r   r6   r@   r,   r+   rQ   s     rR   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rT   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 )NrV   r_   )rD   r   r   rO   ra   rA   r'   r\   rT   rR   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##$ $ $ $ $ $rT   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_   rV   r   rW   Tr{   rY   ra   rr      )rS   r*   rO   r)   rD   rv   ry   r   r   r
   r   r'   r#   r   )ra   s    rR   test_manualintegrate_Heavisider   2  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rT   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nrr   rf   r_   )r{   rZ   r   rW   r_   rf   rp   r   rV   rW   )rV   rY   rr   t)r   r
   r=   rO   r;   r9   r:   r?   r<   r>   r8   rD   subs
ValueErrorr   r   rangelenargslist
isinstancefuncrA   )r   rv   ry   polyspintegraldegp_subbedqr   inew_argss               rR   $test_manualintegrate_orthogonal_polyr   J  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positiverV   rY   )mapr   splitr#   r   rD   r'   rB   trigsimphasr   )rrO   phir   	integrandlimitss         rR   test_issue_6799r   h  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6rT   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 )NrW   rZ   T)rD   rO   ra   r   r   r   r\   rT   rR   test_issue_12251r   u  sj    1a4##y	
QUQU	R2YY'#a&&$(9 (9 9 9 9 9 9 9rT   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 )NrV   rY   F)risch)	rD   r   r   rO   rB   r	   r   r   r2   r\   rT   rR   test_issue_3796r   z  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PrT   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manualrV   )rB   r   rO   r'   r#   r\   rT   rR   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.)* * * * * *rT   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 )Nra   r   r   Tr   rW   )zero)nonzerorv   negativery   rV   rZ   rY   )
r   rD   rO   r   r   r   r   r"   r   rA   )ra   r   rv   ry   s       rR   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&'++, , , , , ,rT   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 )NrV   rW   )rD   r!   rO   r   r   rA   r   r"   r\   rT   rR   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rT   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 )NrV   rf   r_   rY   rp   rW   )rD   r'   rO   r   r#   rG   contains_dont_knowrA   r\   rT   rR   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rT   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 )NrY   ru         !     )r#   rO   r   r'   rD   r   rQ   s     rR   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......rT   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 )
NrY   r_   ru   rV      rp   rX   rf   rW   )rD   rO   r"   r\   rT   rR   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rT   c                     t          t          dz  t          dz  t          z
  z  t                    t          t          t	          t          t          t                     z            t          t                     z  t          t          d          fdt          z  df          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          dz  z  t          t	          t          t          t          z
            t          t                    z            t          t                    z  t          t          d          fdt          t          t          z
            z  df          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          t          z  t          z             t          t                     z             t          t                     z  t          t          d          fdt          t          t          z  t          z             z  df          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          |          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          t          t          d          z  fdt          z  t          t          t          z  t          z             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 )NrV   r   rZ   Tcrw   rY   r_   r`   ra   zr{   rW   rv   ry   rf      r   rk   )rD   rO   r   r   r"   r   r   r   r   ra   r   r
   rv   ry   r   r	   r   rA   )rcryrzrh   r|   r}   s         rR   test_issue_10847r     s}    1a41a4!8,a00	)T!D!HH*%%dA2hh.1a9BqD$<
H
HH1LM M M M 
$			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	!Q$y$tAE{{477233DGG;R1XXFT!a%[[.$/1 1 	112	356qSa!e_Q5F	G	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T!A#']]Q.22FY1Y
tAaC!G}}T1"XX%
&
&	&tQBxx	/Aq:	
4!a==$&! &! !!#$T!A#']]?!346q!HH > 
aQ            &!!Y	
1T$qsQw--aR())	)$r((	2QtAaC!G}}_	DbAhhQSTUWXQYQYFYZ	Ad1Q37mm	aQqS1Wo	-r!Qxx8	aQ&  &         
 
$			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;;;< < < < < <rT   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 rN   )rD   rK   rO   ra   r   rA   r   r\   rT   rR   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LrT   c                      t          t          t          t          ddf          t                    t          t          t          t          ddf          z  k    sJ d S )NrW   rV   )rD   rA   ra   rO   r\   rT   rR   #test_constant_independent_of_symbolr     sU    8A1ay11155	(1q!Qi
 
  ! ! ! ! ! !rT   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 )NrV   r{   r_   rW   )rD   r'   rO   r#   r   r\   rT   rR   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 2rT   c                      t          t          t                    t          t                    dz  z  t                    t          t                    dz   dz  k    sJ d S )Nrf   rX   )rD   r'   rO   r#   r\   rT   rR   test_issue_13297r      sH    3q66CFFAI-q11c!ffaiZ!^CCCCCCrT   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 )NrW   )rS   rO   r   r   r\   rT   rR   test_issue_14470r   %  s^    !QtAE{{]+Sa!eq-A-ACQQRUVWDXDX-XYYYYYrT   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 )NrV   
   c              3   T   K   | ]#}t           t          |t           z            z  V  $d S rN   )rO   r   ).0ks     rR   	<genexpr>z"test_issue_9858.<locals>.<genexpr>2  s0      ??aqQqSz??????rT   rW   rp   rr   rX   rf   rY   r_   r   $   r   ru   r`   )
rD   r   rO   r#   r'   r   rA   r   sumr   )ress    rR   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??5A;;?????CC	#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rT   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 )
NrY   rW   rV   rX   r   r_   rf   r   r`   )rD   rO   r"   r   factorr   s    rR   test_issue_8520r   8  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6rT   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 rN   )rH   )exprrO   s   rR   <lambda>z"test_manual_subs.<locals>.<lambda>G  s    {433 rT   c                  B    t           t                              S rN   )rH   r   r   rO   ra   s   rR   r   z"test_manual_subs.<locals>.<lambda>H  s    {4QA>> rT   )r   r   r   rH   rI   r   r   s   @@@rR   test_manual_subsr   ?  s    5>>DAqq66CFF?DtSVVQ''1s3q66{{?::::tSVVQ''3q66A:5555
:33333444
:>>>>>>?????rT   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_   rY   irW   r   r   ru   r   )r   rO   r#   r
   r'   rS   rQ   s     rR   test_issue_15471r   K  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rT   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 )Nrf   rV   r_   rp   rX   rg      rW   E   rY   )rO   rD   r   r   r"   r
   )rK   gs     rR   test_quadratic_denomr   R  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CrT   c                      t          t          t                    t                    t          t          t                    z  k    sJ d S rN   )rD   r'   rO   ra   r\   rT   rR   test_issue_22757r   X  s3    3q661%%SVV333333rT   c                      t          t          t                    t                    } | j        j        }|j        |j        |j        z  k    sJ d S rN   )rG   r(   rO   substepr   constantother)stepsconstant_times_steps     rR   test_issue_23348r  \  sI    3q661%%E-/(,?,HK^Kd,dddddddrT   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 )
NrW   rV   r{   rZ   Tr   rY   r_   z1.31695789692482)rA   r   rO   doitr   strr   )r   s    rR   test_issue_23566r
  b  s    41q>>!Ar2;//44D4AAAQ477]###c!ff,,,,,qssuu::+++++++rT   c            
      	   t          dd          } t          dd          }t          t          t          t          dz  z  t
          z             t                    t          t                    t          t
                    z  t          t          t                    t          z            z  dt          t                    z  z  k    sJ t          t          | t          dz  z  t
          z             t                    t          t                    t          t
                    z  t          t          |           t          z            z  dt          |           z  z  k    sJ t          t          |t          dz  z  t
          z             t                    t          t                     t          t
                    z  t          |t          z  t          |           z            z  dt          |           z  z  k    sJ t          t          t          t          dz  z  t
          z             t                    t          d          t          t                    z  t          t
                    t          t          d          t          t                    z  t          z  t          t                    z            z  t          t
                    t          t          d          t          t                    z  t          z  t          t                    z            z  z   z  dt          t                    z  z  k    sJ t          t          t          t          dz  z  t
          z             t                    t          d          t          t                    z  t          t
                     t          t          d          t          t                    z  t          z  t          t                    z            z  t          t
                    t          t          d          t          t                    z  t          z  t          t                    z            z  z   z  dt          t                    z  z  k    sJ d S )NapTr   anr   rV   )r   rD   r   rv   rO   ry   r   r   r3   r2   r'   r4   r#   r5   )r  r  s     rR   test_issue_25093r  h  s(   	t	$	$	$B	t	$	$	$B3qAvz??A..$r((3q66/$tAwwqy//2QSTUYZ[U\U\S\2]]]]]3r!Q$w{++Q//488CFF?4RQR
CSCS3SUVW[\^W_W_U_3`````3r!Q$w{++Q//DHH9SVV3CC1TSURUYYDWDW3WYZ[_ac`c[d[dYd3eeeee3qAvz??A..QR#a&&$q''$q''/!*;DHH*D!E!EE
a&&$q''$q''/!+DHH455
56 	789$q''		CD D D D 3qAvz??A..QR3q66'(477477?1+<T"XX+E"F"FF
a&&$q''$q''/!+DHH455
56 	789$q''		CD D D D D DrT   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 )NrV   rf   r_   rX   rg   rW   rZ   Tr   )rS   r   rO   r   r   r   rv   ry   derD   r   r   r   rP   r   )rK   F1F2s      rR   test_nested_powr  v  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-------rT   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 )Nrf   r_   rY   rV   r   rr   i7     (   Q      r{   r   TrW   rX      r   rp   r`   rg   )rS   rO   r   r   rD   rv   ry   r   r   r   Oner   r"   r\   rT   rR    test_manualintegrate_sqrt_linearr    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rT   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 )NrW   rV   r_   rY   rf   rg   rk      rX   r   Trr   r`   irq      e   rp      ru   i  i iY  i+A  iiQ  iC)  ir+  i  i:C)rS   r   rO   r	   r   r   r   r!   r   rD   rv   ry   r   r   r   r  r  r\   rT   rR   #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rT   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 )NrV   r_   rY   rX   )rS   rO   r&   r(   r   r#   r   rK   r\   rT   rR   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;< < < < <rT   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   r   (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/   r0   r1   r2   r3   r4   r5   r6   'sympy.functions.special.gamma_functionsr7   #sympy.functions.special.polynomialsr8   r9   r:   r;   r<   r=   r>   r?   &sympy.functions.special.zeta_functionsr@   sympy.integrals.integralsrA   rB   sympy.logic.boolalgrC   sympy.integrals.manualintegraterD   rE   rF   rG   rH   sympy.testing.pytestrI   rJ   rO   ra   r   r[   r   rv   ry   r   r  r  rK   rS   r]   rb   rd   ri   rn   rs   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r  r#  r%  r\   rT   rR   <module>r<     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 J J J J J J J J 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" _& _& _&D
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 :< :< :<z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, , ,D D D. . .r r r$,g ,g ,g^< < < < <rT   