+
    i                     X   R t ^ RIHtHtHtHt ^ RIHtHtH	t	 ^ RI
Ht ^ RIHt ^ RIHtHt ^ RIHtHt ^ RIHt ^ RIHt ^ R	IHtHtHt ^ R
IHtHtHt ^ RI H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8 ^ RI9H:t: ^ RI;H<t<H=t=H>t>H?t?H@t@HAtA ]! R4      w  tBtCtD]! R4      tER tFR tGR tHR tIR tJR tKR tLR tMR tNR tOR tPR tQR tRR tSR tTR tUR  tVR! tWR" tXR# tYR$ tZR% t[R& t\R' t]R( t^R) t_R* t`R+ ta ! R, R-]b4      tcR. tdR/ teR0 tfR1 tgR2 thR3 tiR4 tjR5 tkR6# )7z?Most of these tests come from the examples in Bronstein's book.)FunctionLambdadiff
expand_log)IRationalpi)Ne)S)Symbolsymbols)explog)sqrt)	Piecewise)atansintan)Polycancelfactor)gcdex_diophantinefrac_in
as_poly_1t
derivationsplitfactorsplitfactor_sqfcanonical_representationhermite_reducepolynomial_reduceresidue_reduceresidue_reduce_to_basicintegrate_primitive%integrate_hyperexponential_polynomialintegrate_hyperexponential!integrate_hypertangent_polynomialintegrate_nonlinear_no_specialsinteger_powersDifferentialExtensionrisch_integrateDecrementLevelNonElementaryIntegralrecognize_log_derivativerecognize_derivativelaurent_series)raises)xtnuzayzt:3ic                     \        \        \        ^,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ,          ,           ^,           4      \        \        ^,          \        ^,          ,           ^\        ,          ,
          ^,
          4      \        \        ^,          ^,
          4      4      \        \        ^,          ) ^\        ,          ,           ^,
          ^,          4      \        \        ^,          ^\        ^,          ,          ,
          ^\        ,          ,           ^
,
          ^,          4      38X  g   Q h\        \        \        ^,          ^\        ,          ,           ^,           4      \        \        ^,          ^\        ,          ,           ^,           4      \        \        ^,           4      4      \        R\        RR7      \        R\        ,          R,           \        RR7      38X  g   Q hR# )   QQdomainNg;;?g;;g؉؉?)r   r   r0        ^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/integrals/tests/test_risch.pytest_gcdex_diophantiner?      s?   T!Q$1a4-!AqD&"82a4"?""DEA1qs	Q	adQh1	1uqs{Q!	"D!Q$1a4-"Q$*>*CQ)F$GHI I I T!Q$1*q.141qs
Q3GaRSeU	dAd	#T%'D.!D%IJK K Kr=   c                     \        \        \        ^,           \        ,          \        ,          \        4      \        4      \        \        \        ,          \        ,           \        4      \        \        \        4      38X  g   Q h\        \        ^,           \        ,          \        ,          \        4      \        \        \        ,          \        ,           \        4      \        \        \        4      38X  g   Q h\        \        \        ^,           \        ,          \        ,          \        4      \        \        ^,           \        4      3\        4      \        \        \        ,          \        ,           \        4      \        ^\        ,           \        ,          \        4      38X  g   Q h\	        \
        R 4       \        \        ^^\        ,          ,           \        ^\        ,           ,          ,           ^\        ,           ^,          ,          \        4      \        RR7      \        \        ^,           \        4      \        \        ^,           \        4      38X  g   Q hR# )   c                  v    \        \        ^,           \        \        4      ,          \        ,          \        4      # )rA   )r   r0   r   r1   r<   r=   r>   <lambda>test_frac_in.<locals>.<lambda>)   s    wAs1v~a'7;r=   T)r   N)r   r   r0   r1   r/   
ValueErrorr<   r=   r>   test_frac_inrF   "   sY   4Q	!Q'+	acAgq	41:&' ' 'AE19Q;"	acAgq	41:&' ' 'D!a%1a($q1ua.91=	acAgq	4Q	1-./ / /
:;<4QqS1a!e9,q1uqj8!<aM	a!eQa!eQ() ) )r=   c            	         \        ^\        ,          \        ,           \        \        4      \        \        ^\        ,          ,           \        \        4      \        \        ^\        ,          ,           \        \        4      39   g   Q h\        ^\        ,          ^\        ^,          ,          ,           \        \        4      \        ^\        ,          ^\        ^,          ,          ,           \        \        4      \        ^\        ,          ^\        ^,          ,          ,           \        \        4      39   g   Q h\        ^\	        ^4      ^,           \        ,          ,          \        \        4      \        ^\	        ^4      ^,           ,          \        ,          \        \        4      \        ^\	        ^4      ^,           ,          \        ,          \        \        4      39   g   Q h\        ^\	        ^4      ^,           \        ,          ,          \        ,           \        \        4      \        \        ^\	        ^4      ^,           ,          \        ,          ,           \        \        4      \        \        ^\	        ^4      ^,           ,          \        ,          ,           \        \        4      39   g   Q h\        \
        P                  \        \        4      \        ^ \        \        4      8X  g   Q hR#    N)r   r1   r3   r   r   r
   Zeror<   r=   r>   test_as_poly_1trK   .   s   acAgq!$Q1WaT!ac'1a0)2 2 2 2acAadFlAq)QqS1QT6\1a $qsQq!tV|Q":.< < < <a#a&1*a(!Q/QA
^Aq!$d1c!fqj>!+;Q&B4D D D Da#a&1*a(1,a3QCFQJ!!1a($q1c!fqj>!3C/CQ*J8L L L Laffa#tAq!}444r=   c            
      4   \        ^\        ^,          ,          \        ^,          ,          R	\        ^,          ,          ^\        ^,          ,          ,
          \        ^,          ,          ,           R
\        ^,          ,          ^\        ^,          ,          ,           \        ^,          ,          ,           ^\        ,          ^\        ^,          ,          ,           ^\        ^,          ,          ,           \        ^,          ,          ,           ^^\        ,          ,
          ^\        ^,          ,          ,
          \        ,          ,           ^,
          ^\        ,          ,           \        4      p \        R\        ^\        4      \        \        ^,          ) ^^\        ,          ,          \        ,          ,
          ^^\        ,          ,          ,           \        4      ./R7      p\	        W4      \        R\        ^,          ,          \        ^,          ,          ^\        ^,          ,          ^\        ^,          ,          ,           \        ^,          ,          ,           ^\        ^,          ,          ^\        ^,          ,          ,           \        ^,          ,          ,           \        \        ^^4      ,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          \        ^,          ,          ,           R\        \        ^^4      ,          ,
          ^\        ^,          ,          ,           \        ^,          ,          ,           ^^\        ,          ,
          ^
\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ,          ,          \        ,          ,
          ^^\        ^,          ,          ,
          ^\        ,          ,          ,           \        4      8X  g   Q h\	        \        ^\        4      V4      \        ^ \        4      8X  g   Q h\	        \        \        \        4      V4      VP                  8X  g   Q h\	        \        \        ^,          ^\        ,          \        ,          ,           ^^\        ,          ,
          ^\        ^,          ,          ,          ,           \        4      V4      \        R\        ^,          ,          ^\        ,          \        ^,          ,          ,
          ^^\        ,          ,
          ^\        ^,          ,          ,          \        ,          ,
          ^^\        ,          ,
          ^\        ^,          ,          ,          ,
          \        RR7      8X  g   Q h\        R\        ^\        4      \        ^\        ,          \        4      \        \        \        4      ./R7      p\	        \        \        \        ,          \        ,          \        4      V4      \        \        \        ,          \        \        ,          \        ,          ,           \        ,           \        4      8X  g   Q h\	        \        \        \        ,          \        ,          \        4      VRR7      \        ^\        ,           \        ,          \        4      8X  g   Q h\        R\        ^\        4      ./R7      p\	        \        \        \        4      V4      \        ^\        4      8X  g   Q h\	        \        ^,           \        ^,
          ,          VRR7      R^^\        ,          ,
          \        ^,          ,           ,          8X  g   Q h\        R\        ^\        4      \        \        \        4      ./R7      p\	        \        ^,           \        ^,
          ,          VRR7      R\        ,          ^^\        ,          ,
          \        ^,          ,           ,          8X  g   Q h\	        \        ^,           VRR7      \        8X  g   Q hR# )r8   D	extensionZZ(x)r:   TcoefficientD)basicNi)r   r0   r1   r(   r   r   dt1pDEs     r>   test_derivationr]   :   s   Qq!tVAqD[Bq!tGa1f,ad22bAg!Q$6F15LL	
1qAv!Q$	1$%()AaC!AqD&(8!';<>?@BCA#FGH	JA	#Q
D!Q$AaCQRARUVXYZ[X[U\A\^_<`/a)b	cBaSAXad]a1fr!Q$w6F15L%L	AqD2ad7	AqD &!$%hq!n$4r!Q$w$>AqD$H!Q$#N&O	aQ	!AqD&	(!Q$.&/23ac'Bq!tG2Ca1f2LqQRs1STU1U&V 
Qq!tVac& !    d1aj"%a333d1aj"%---d1a4!A#a%<1qs7Qq!tV*<<a@"ER1Wqs1a4x1qs7Qq!tV"4Q"66!ac'AadF9KKQW^_` ` `	#Q
D1bM4PQST:/V)W	XBd1Q3r61or*d1R4!A#b&=13Da.HHHHd1Q3r61or=a"faZ  	#Q
|)<	=Bd1aj"%a333q1uq1uor6"a!A#g1n:MMMM	#Q
DAJ/G)H	IBq1uq1uor6"Q$AaC!Q$:OOOOa!eRt,111r=   c            
      T   \        ^\        ^,          ,          \        ^,          ,          R	\        ^,          ,          ^\        ^,          ,          ,
          \        ^,          ,          ,           R
\        ^,          ,          ^\        ^,          ,          ,           \        ^,          ,          ,           ^\        ,          ^\        ^,          ,          ,           ^\        ^,          ,          ,           \        ^,          ,          ,           ^^\        ,          ,
          ^\        ^,          ,          ,
          \        ,          ,           ^,
          ^\        ,          ,           \        RR7      p \        R\        ^\        4      \        \        ^,          ) ^^\        ,          ,          \        ,          ,
          ^^\        ,          ,          ,           \        4      ./R7      p\	        W4      \        ^\        ^,          ,          \        ^,          ,          R\        ^,          ,          ^\        ^,          ,          ,
          \        ^,          ,          ,           ^\        ^,          ,          ^\        ^,          ,          ,           \        ,          ,           ^\        ^,          ,          ,
          \        RR7      \        \        ^,          ^\        ,          \        ,          ,           ^^\        ,          ,
          ^\        ^,          ,          ,          ,           \        RR7      38X  g   Q h\	        \        \        \        4      V4      \        \        \        4      \        ^\        4      38X  g   Q h\        R	\        ^,          ,          \
        ^,          ,          ^\        ^,          ,          \
        ^,          ,          ,           \
        \        ^,          ,          ,
          ^\        ^,          ,          \
        ^,          ,          ,
          ^\        ^,          ,          \
        ^,          ,          ,           \        ^,          ,           \
        \        ^,          ,          ,           \        ^,          ,
          \        4      p\        R\        ^\        4      \        ^\        ,          \        4      ./R7      p\	        W!RR7      \        \        \
        ,          \        ^,          ,
          \
        \        ^,          ,          ,
          \        ^,          ,           \        4      \        \        ^,          ) ^\        ^,          ,          \
        ^,          ,          ,           \        4      38X  g   Q h\        W!RR7      \        \        \
        ,          \        ^,          ,
          \
        \        ^,          ,          ,
          \        ^,          ,           \        4      ^33\        \        ^,          ) ^\        ^,          ,          \
        ^,          ,          ,           \        4      ^3338X  g   Q h\	        \        ^ \        4      V4      \        ^ \        4      \        ^\        4      38X  g   Q h\        \        ^ \        4      V4      \        ^ \        4      ^33R38X  g   Q hR# )r8   T)fieldrM   rN   rP   r:   rQ   NrT   rU   r<   )r   r0   r1   r(   r   r3   r   )r[   r\   rs      r>   test_splitfactorrb   S   s   Qq!tVAqD[Bq!tGa1f,ad22bAg!Q$6F15LL	
1qAv!Q$	1$%()AaC!AqD&(8!';<>?@BCA#FGHPT	VA	#Q
D!Q$AaCQRARUVXYZ[X[U\A\^_<`/a)b	cBq$qAvad{bAg!Q$6F15L'L	
1a4!AqD&!(1f(%&'#9QTAaCE\Q1WqAv..'B"D D D D tAqz2&41:tAqz*BBBBR1WQT\AadF1a4K'!AqD&01QT6!Q$;>1a41LqRStSVWXY[\X\V\\_`bc_ccefgA	#Q
D1aL/I)J	KBq40	acAqDj1QT6!AqD(!	,dAqD51QT6!Q$;3F.JKL L L1t4!ad
Qq!tV#ad*A.
2	4adUQq!tVAqD[=PRS8TVW7X6Z[\ \ \tAqz2&41:tAqz*BBBB41:r*aQ/A2.FFFFr=   c            
      >   \        R \        ^\        4      \        ^\        ^,          ,           \        4      ./R7      p \	        \        \        \        ,
          \        4      \        \        ^,          \        4      V 4      \        ^ \        RR7      \        ^ \        RR7      \        ^\        RR7      3\        \        ) \        ,           \        RR7      \        \        ^,          \        4      338X  g   Q h\        R \        ^\        4      \        \        ^,          ^,           \        4      ./R7      p \	        \        \        ^,          \        ^,          ,           \        ^,          \        ,          ,           ^,           \        4      \        \        ^,          ^,           ^,          \        4      V 4      \        ^ \        RR7      \        \        ^,          \        ^,          ,           \        ^,          \        ,          ,           ^,           \        RR7      \        \        ^,          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^,           \        RR7      3\        ^ \        RR7      \        ^\        RR7      338X  g   Q hR# )rM   rN   zZZ[x]r:   QQ[x]ZZr9   N)r(   r   r0   r1   r   r\   s    r>   test_canonical_representationrg   e   s   	#Q
DQT1<M/N)O	PB#DQNDAqM2F	a7	#d1a&@Q$&!#'Q'#BQT1#	   
#Q
DA1<M/N)O	PB#DA1q!tAv)=)A1$E!Q$(QB 	a7	#d1a4!Q$;Aa+?!+CQw&W	adQq!tVma1f$q(!D	9&;	a7	#T!Qt%<=	?? ? ?r=   c                  X   \        R \        ^\        4      \        \        ^,          ^,           \        4      ./R7      p \	        \        \        \        ,
          \        4      \        \        ^,          \        4      V 4      \        \        ) \        RR7      \        \        \        RR7      3\        ^ \        RR7      \        ^\        RR7      3\        \        ) \        RR7      \        ^\        RR7      338X  g   Q h\        R \        ^\        4      \        \        ^,          ) \        \        ,          ,
          ^\
        ^,          \        ^,          ,          ,
          ,
          \        4      ./R7      p \	        \        \        ^,          \        ^,          ,          \        \        ^,          ,          ,           \
        ^,          \        ^,          ,          ,
          \        \        ^,          ^,           ,          \        ^,          ,          ,
          \        ^,          \
        ^,          ,
          \        ,          ,
          \        ^,          ^,          ,
          \        4      \        \        ^,          \        ^,          ,          \        ^,          \        ^,          ^,           ,          \        ^,          ,          ,           \        ^,          ,           \        ^,          ,           \        ^,          ^,          ,           \        4      V 4      \        \        ^,          ) ^,
          \        RR7      \        ^\        ^,          ,          ^\        ^,          ,          ,           ^,           \        RR7      3\        R\
        ^,          ,          \        ^,          ,
          \        ,          ^\        ^,          ,          ^\        ,          ,           ,
          \        RR7      \        ^\        ^,          ,          \        ^,          ,          \        ^,          ,           ^\        ^,          ,          ,           \        RR7      3\        \        \        ,          ^,           \        RR7      \        \        \        RR7      338X  g   Q h\        R \        ^\        4      \        ^\        ,          \        4      ./R7      p \        R^\        ,          ,           \        ^,          ,          R\        ,           \        ^,          ,          ,           R	\        ,          ^\        ^,          ,          ,           \        ,          ,           \        ^,          ,           \        4      p\        \        \        ^,          ,          ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          \        ^,          \        ^,          ,          ,           \        4      p\	        WV 4      \        ^\        ^,          ,          \        ,           ^\        ,          ,           \        RR7      \        ^\        ^,          ,          ^	\        ,          \        ^,          ,          ,
          ^	\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ,          ,
          \        RR7      3\        ^ \        RR7      \        ^\        RR7      3\        ^ \        RR7      \        ^\        RR7      338X  g   Q h\	        \        \        ^,          ) ^\        ,          ,           ^,           \        RR7      \        \        ) \        ^,          ,          ^\        ,          \        ,          ,           \        ,
          \        RR7      V 4      \        ^\        RR7      \        \        ^,
          \        RR7      3\        ^ \        RR7      \        ^\        RR7      3\        ^\        RR7      \        \        \        RR7      338X  g   Q h\	        \        \        ^,          ) \        ^,          ,          R^\        ^,          ,          ,
          \        ^,          ,           \        ^,          ,          ,           R
^\        ^,          ,          ,
          \        ^,          ,          ,           ^\        ,          \        ,          ,
          \        ,
          ^\        ^,          ,          ,
          \        RR7      \        \        ^,          \        ^,          ,          ^\        ^,          ,          \        ^,          ,          ,
          ^,           \        RR7      V 4      \        \        ^,          \        ,          \        ^,          ,           ^,           \        RR7      \        \        ^,          \        ^,          ,          \        ,
          \        RR7      3\        ^ \        RR7      \        ^\        RR7      3\        R\        RR7      \        \        ^,          \        RR7      338X  g   Q h\	        \        R^\        ,          ,           \        ^,          ,          R\        ,           \        ^,          ,          ,           R	\        ,          ^\        ^,          ,          ,           \        ,          ,           \        ^,          ,           \        4      \        \        \        ^,          ,          ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          \        ^,          \        ^,          ,          ,           \        4      V 4      \        ^\        ^,          ,          \        ,           ^\        ,          ,           \        RR7      \        ^\        ^,          ,          ^	\        ,          \        ^,          ,          ,
          ^	\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ,          ,
          \        RR7      3\        ^ \        RR7      \        ^\        RR7      3\        ^ \        RR7      \        ^\        RR7      338X  g   Q hR# )rM   rN   rd   r:   ZZ(x,nu)rP   NrW   rT   rU   )r(   r   r0   r1   r   r2   r\   r4   rX   s      r>   test_hermite_reducerl   s   s   	#Q
DA1<M/N)O	PB$q1ua.$q!tQ-<
r1W
%tAq'A	B
q!G
$d1a&@	A
r1W
%tAq'A	B	DD D D
 
#Q
D!Q$1PQTVXYTYZ[]^Z^T^P^A_ab<c/d)e	fBAadQq!tV#b!eAqDj01adQh<13DD1rSTuVWGWWZ[]^Z^_`Z``bcdAadQT1a4!8_QT11AqD81a4?!Q$q&H!LbR 1uqy!J
/a1fqAvo6I1U_1`	a
2q51a4"a1fqsl3Qz
J
qAvad{QT!AadF*Aj
A
C
qsQw*
-tAq/L	M	OO O O 
#Q
D1aL/I)J	KBb1Q3h1_Q1},1qAvq/@@1a4GKAQq!tVa1fQTk!AadF1a4K/!AqD&A+=1QT	I1MA!#
qAvzAaC7
3
qAv!AqD 1QT6!Q$;.1a491W
M
O
q!G
$d1a&@	A
q!G
$d1a&@	A	CC C C !Q$1q!G4!AqD1Q3q51$a8"> q!G
$d1q5!G&D	E
q!G
$d1a&@	A
q!G
$d1a&@	A	CC C C !Q$q!trAadF{QT11a4772!Q$;1:LL!AadF#$%g7AadQq!tVAqD[(1,a@"F q!tAv1}q !G
4d1a419q=!T[6\	]
q!G
$d1a&@	A
r1W
%tAqD!G'D	E	G	G G G "qs(AqDBFAqD=0BqD1QT6M13DDq!tKQO1a4!AqD&A+%!Q$q!t3a1fQTkAAqDAIMqQSUW qAvzAaC7
3
qAv!AqD 1QT6!Q$;.1a491W
M
O
q!G
$d1a&@	A
q!G
$d1a&@	A	CC C Cr=   c            	         \        R \        ^\        4      \        ^\        ^,          ,           \        4      ./R7      p \	        \        ^\        \        ,          ,           \        ^,          ,           \        4      V 4      \        \        \        4      \        \        \        ,          \        4      38X  g   Q h\	        \        ^ \        4      V 4      \        ^ \        4      \        ^ \        4      38X  g   Q hR# rM   rN   N)r(   r   r0   r1   r   rf   s    r>   test_polynomial_reducero      s    	#Q
DQT1<M/N)O	PBT!ac'AqD.!4b9	aT!A#q\"# # #T!QZ,	aT!QZ ! ! !r=   c            
         \        R \        ^\        4      \        ^\        4      ./R7      p \        ^$\        4      p\        \        ^,
          \        ^,          ^,
          ^,          ,          \        4      p\        \        ^,          ^,
          \        4      p^p\	        WW4V 4      \        R\        ^,          ,          ^\        ^,          ,          ,           ^\        ,          ,
          ^,
          \        4      \        \        ^,          \        ^,          ,           ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          \        ,           ^,           \        4      \        R\        ^,          ,          ^\        ^,          ,          ,
          \        RR7      \        ^\        ^,          ,          ^\        ^,          ,          ,           ^\        ^,          ,          ,
          \        RR7      .38X  g   Q hR# )rM   rN   r9   r:   NrU   )r(   r   r0   r1   r.   )r\   r4   rX   Fns        r>   test_laurent_seriesrs      sF   	#Q
DAJ/G)H	IBRAa!eadQh]"A&AQTAXqA	A!b)	bAg!Q$1$q(!	,d1a4!Q$;1a43G!AqD&3PST3TWX3XZ[.\	bAg!Q$$	/a1fqAvo!Q$6NPQZ^1_`	bb b br=   c                  V   \        R \        ^\        4      ./R7      p \        ^$\        4      p\        \        ^,
          \        ^,          ^,
          ^,          ,          \        4      p\        WV 4      R8X  g   Q h\        R \        ^\        4      \        ^\        ,          \        4      ./R7      p \        ^\        4      p\        \        ^,          ^,
          \        4      p\        WV 4      R8X  g   Q h\        \        \        \        ,          \        4      \        ^\        4      V 4      R8X  g   Q h\        R \        ^\        4      \        \        ^,          ^,           \        4      ./R7      p \        \        \        \        4      \        ^\        4      V 4      R8X  g   Q hR# )rM   rN   FTN)r(   r   r1   r-   r0   rk   s      r>   test_recognize_derivativeru      s%   	#Q
|)<	=BRAa!eadQh]"A&Ab)U222	#Q
D1aL/I)J	KBQ
AQTAXqAb)U222QqS!d1aj"=EEE	#Q
DA1<M/N)O	PBQ
DAJ;tCCCr=   c                  T   \        ^\        ^,          ,          ^\        ,          \        ,          ,           ^\        ,          ,
          \        ^,          \        ,          ,
          \        4      p \        ^\        ,          \        ,           \        \        ^,          ,           ,          \        4      p\        R\        ^\        4      \        \        \        4      ./R7      p\	        WV\
        4      R8X  g   Q h\        R\        ^\        4      \        ^\        ,          \        4      ./R7      p\	        \        \        ^,           \        4      \        \        \        ,           \        4      V4      R8X  g   Q h\	        \        ^\        4      \        \        ^,          ^,
          \        4      V4      R8X  g   Q h\        R\        ^\        4      ./R7      p\	        \        ^\        4      \        \        ^,          ^,
          \        4      V4      R8X  g   Q h\	        \        ^\        4      \        \        ^,          \        ,           \        4      V4      R8X  g   Q h\        R\        ^\        4      \        \        ^,          ^,           \        4      ./R7      p\	        \        ^\        4      \        \        ^,          ^,
          \        4      V4      R8X  g   Q h\	        \        ^\        4      \        \        ^,          \        ,           \        4      V4      R8X  g   Q hR# )rI   rM   rN   TFN)r   r0   r1   r(   r,   r3   )r4   rX   r\   s      r>   test_recognize_log_derivativerw      s   Qq!tVac!e^ac!AqDF*A.AacAgAqD!1%A	#Q
DAJ/G)H	IB#A"a0D888	#Q
D1aL/I)J	KB#DQNDQNBG4OOO#DAJQTAXq0A2F$NNN	#Q
|)<	=B#DAJQTAXq0A2F%OOO#DAJQTAXq0A2F$NNN	#Q
DA1<M/N)O	PB#DAJQTAXq0A2F%OOO#DAJQTAXq0A2F%OOOr=   c                     \        ^\        ^,          ,          \        ,
          \        ^,          ,
          \        4      p \        \        ^,          \        ^,          \        ,          ,
          \        4      p\        R\        ^\        4      \        ^\        ,          \        4      .R\        ./R7      p\        WV\        RR7      \        \        ^,          \        ^^4      ,
          \        RR7      \        ^^\        ,          \        ,          ,           ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           \        ,          \        \        ,          ,
          \        ^,          ,           ^\        ^,          ,          \        ^,          ,          ,           ^\        ,          \        ^,          ,          ,
          \        RR7      3.R38X  g   Q h\        WV\        R	R7      \        \        ^,          \        ^^4      ,
          \        RR7      \        \        ^\        ,          \        ,          ,           \        4      3.R38X  g   Q h\        \        R\        ,          \        4      \        \        ^,          ^,
          \        4      V\        RR7      \        \        ^,          ^,
          \        R
R7      \        R\        ,          \        ,          \        ,          ^\        ,          ,
          \        RR7      3.R	38X  g   Q h\        \        R\        ,          \        4      \        \        ^,          ^,
          \        4      V\        R	R7      pV\        \        ^,          ^,
          \        R
R7      \        \        \        ,           \        4      3.R	38X  g   Q h\        V^ ,          V\        4      \	        R\	        \        4      ,           4      ) \	        ^\	        \        4      ,           4      ,           8X  g   Q h\        R\        ^\        4      \        \        ^,          ) \        \        ,          ,
          ^\        ^,          \        ^,          ,          ,
          ,
          \        4      ./R7      p\        \        R\        ^,          ,          \        ^,          ,
          ^\        ^,          ,          ,          \        ,          ^\        ^,          ,           \        ,          ,
          \        4      \        \        ^,          ^,           \        ^,          ^,          ,           \        4      V\        4      \        \        \        P                  ,           \        R
R7      \        \        ^,          ^,           \        ^,          ^,          ,           \        RR7      3.R	38X  g   Q h\        R\        ^\        4      \        ^\        ^,          ,           \        4      ./R7      p\        \        R\        ,          \        ,          ^,           \        ^,          ,
          \        4      \        \        ^,          ^\        ,          \        ,          ,           ^,           \        ^,          ,           \        4      V\        4      \        \        ^,          \        ^^4      ,           \        4      \        \        \        ,           ^\        ,          ,           \        4      3.R	38X  g   Q h\        R\        ^\        4      \        \        \        4      ./R7      p\        \        \        \        4      \        \        \        ^4      ,           \        4      V\        4      \        \        ^,
          \        R
R7      \        \        \        ^4      ,           \        4      3.R	38X  g   Q hR# )rI   rM   TfuncsrN   F)invertrP   r:   zZZ(z, x)Tr9   zZZ(z,x)ri   NrW   rj   )r   r1   r0   r(   r   r    r3   r   r!   r2   r
   Halfr   )r4   rX   r\   anss       r>   test_residue_reducer}      s   Qq!tVaZ!Q$"AQTAqDF]AA	#Q
D1aL/I8VYUZ)[	\B!Ae41x1~%q9
AaCE	AadF"Qq!tV+a1fQTk91<qsBQTI1fQTkaC1H%&'
<= 
>?D	FF F F !Ad31x1~%q94AaCE	1;M
N	OQVWX X X$r!tQ-adQh);R5Q1q!D)41Qq1Q3)+T
U	VX\]^ ^ ^
bdAQTAXq(92q
NCT!Q$(Ad3T!a%^DEtLLLL"3q62q1c"s1v+6F5FQQTUVQWZ5XXXX	#Q
D!Q$1PQTVXYTYZ[]^Z^T^P^A_ab<c/d)e	fB$2q51a4!AqD&9!;q1a4xlJANAAqDF	AA'AFF
Ad+T!Q$(QT!V2CQ.   
!"&	(( ( ( 
#Q
DQT1<M/N)O	PB$r!tAvzAqD0!4A!A	AqD	 !$b!-1x1~%q)4A!Q+?
@	A4HI I I 
#Q
DAJ/G)H	IB$q!*d1tAw;&:BBAq&Qa[!(<
=	>EF F Fr=   c                  )   \        ^^\        ,          ,           \        ^,          ,           ^\        ^,          ,          ,           \        ^,          ,          ^\        ^,          ,           \        ,          ,           ^,           \        ^,          ,           \        4      p \        ^\        4      p\        R\        ^\        4      \        ^\        ^,          ,           \        4      \        \        ^\        ^,          ,           ,          \        4      .R\
        \        \        \        \        \        4      4      4      ./R7      p\        WV4      \        ^\        \        4      ,          4      \        \        4      ,          \        \        \        4      4      ,           ^\        ^,          ,           R38X  g   Q h\        \        ^,          \        ^,           \        ^,          ,          ,           \        ,           \        ,           ^,           \        ,          \        4      p \        WV4      \        \        \        4      ,           \        \        \        4      4      ,          ^ R38X  g   Q h\        \        \        4      p \        ^\        4      p\        R\        ^\        4      \        ^\        ,          \        ,          \        4      .R\        \        \        \        ^,          4      4      ./R7      p\        WV4      ^ \        \        \        ^,          4      \        4      R38X  g   Q h\        R\        ^\        4      \        \        \        4      .R\        ./R7      p\        WV4      \        \        4      ^ R38X  g   Q h\        ^\        ^,          ,          ^
\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ,          ,           ^,
          \        4      p \        ^\        ^,          ,          ^#\        ^,          ,          ,           ^\        ^,          ,          ,           ^,           \        4      p\        WV4      ^^
\        \        4      ,          ,
          ) ^^\        ^\        ,          4      ,          ,           ,          \        ^\        ^\        ,          4      ,           4      ,           RR38X  g   Q h\        R\        ^\        4      \        \        \        4      \        \        \        ,          \        4      .R\        \        \        \        \        \        4      4      4      ./R7      p\        \        ^\        ,          \        ^,          ,          \        4      \        ^\        4      V4      \        ^\        \        4      ,          4      ^ R38X  g   Q h\        R\        ^\        4      \        \        \        4      \        \        ) \        ,          \        4      .R\        \        \        \        \        \        4      ) 4      4      ./R7      p\        \        R\        ^	4      ,          ^\        ,          \        ^	4      ,          ,
          ^\        ,          \        ,          \        ^	4      ,          ,           \        4      \        ^$\        ^4      ,          \        ^,          \        ^4      ,          ,           ^\        ,          \        ^4      ,          ,
          \        ,          \        4      V4      ^\        \        \        4      4      ,          R	\        ^	4      ,          \        \        ^	4      ,          ,           ,          ^ R38X  g   Q h\        R\        ^\        4      \        \        \        4      .R\        ./R7      p\        \        \        ^,          ^,          \        ,          \        4      \        ^\        4      V4      ^^\        ,          ,
          \        ^,          ,           \        \        4      ,          ^,          ^ R38X  g   Q h\        \        ^\        ,           \        4      \        \        \        4      V4      \        \        ) 4      ) ^R38X  g   Q h\        \        \        \        4      \        \        ^,           \        4      V4      ^ \        \        ^\        \        4      ,           ,          \        4      R38X  g   Q h\        R\        ^\        4      \        ^\        ,          \        4      \        ^\        ,          \        ,          \        4      .R\        \        \        \        \        ^,          4      4      ./R7      p\        \        ^\        ^,          ,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           \        ,
          \        ^,          ,          ^\        ,          \        ^,          ,          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,           ^\        ,          \        ^,          ,          ,           \        \        ,          ,
          ^\        ^,          ,          ,           ^$\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^\        ^,          ,          ,
          \        ,
          ^,           \        ^,          ,          ,           ^\        ,          \        ^,          ,          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,           \        \        ^,          ,          ,           ^\        ,          \        ,          ,
          ^\        ^	,          ,          ,           ^$\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          \        ,           ^,           \        ^,          ,          ,           ^\        ,          \        ^,          ,          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,           ^
\        ,          \        ^,          ,          ,           ^\        ,          \        ^,          ,          ,
          \        \        ,          ,
          ^\        ^
,          ,          ,           ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^	\        ^,          ,          ,
          \        ^,          ,
          ^\        ,          ,           \        ,          ,           ^\        ,          \        ^,          ,          ,           ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,
          ^\        ,          \        ^,          ,          ,           \        \        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^\        ^,          ,          ,
          \        ^,          ,
          \        ^,          ,           \        4      \        ^\        ^,          ,          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           \        ,
          \        ^,          ,          ^\        ^,          ,          ^\        ^,          ,          ,           ^$\        ^,          ,          ,
          ^\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^\        ^,          ,          ,
          \        ,
          \        ^,          ,          ,           ^\        ^	,          ,          ^\        ^,          ,          ,           ^$\        ^,          ,          ,
          ^$\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           ^\        ^,          ,          ,
          ^\        ^,          ,          ,
          \        ^,          ,          ,           ^\        ^
,          ,          ^\        ^	,          ,          ,           ^\        ^,          ,          ,
          ^$\        ^,          ,          ,
          ^\        ^,          ,          ,           ^\        ^,          ,          ,           \        ^,          ,
          ^\        ^,          ,          ,
          \        ,          ,           ^\        ^
,          ,          ,           ^\        ^,          ,          ,
          ^\        ^,          ,          ,           \        ^,          ,
          \        4      V4      w  r4p\        V4      \        ^,
          \        \        4      ,          \        \        \        ^,          4      ,           ^\        ^,          ,          ^,
          ,          ,          ) 8X  g   Q hWE3\        \        \        ^,          4      \        \        ^,          4      ^,           ,          \        4      R38X  g   Q hR# )
rA   rM   ry   rN   TFNrj   ii)r   rY   r1   r(   r0   r   r   r6   r   r$   r+   r   t0r   )r4   rX   r\   elemnonelembs         r>   test_integrate_hyperexponentialr      s   a!B$hQ2q5(!Q$.!b!e)Q>BRUJANAQ
A	#Q
DRUB<OQBE	]A0 !)C3s1v;1G+H*J 
KB%aB/	Qs1vXs1v	CF	+QQY=> > >b!eq1ub!em#b(1,q0!3Q7A%aB/
c!f*c#a&k	!1d+, , , 	Q
AQ
A	#Q
D1QN/K6!SAY'(** 
+B &aB/	
!#ad)Q/78 8 8 
#Q
DAJ/GTWSX)Y	ZB%aB/CFAt3DDDDR1Wr!Q$w1a4'!AqD&02ad7:QqS@1DaHAR1Wr!Q$wAqD(1,a0A%aB/3q6	>	A3qs8O	,s1s1Q3x</@	@"dKL L L	#Q
DRL$rRStUV-/X3q#c!f+./*1 
2B%d1R419a&8$q!*bIcRSTWXYTZRZm]^`dMeeee	#Q
DRL$PRsSTuVW./Y3q#s1vg,/0*2 
3B%d3s1v:Bs1v+EqDGCFN,'bRj1a4B<7"Q$s2w,FI1MrS	CAKCFQs1vX-	.489 9 9 
#Q
DAJ/GTWSX)Y	ZB%d1a46!8Q&7aRH
ac'AqD.#a&	 	"At,- - -%d1q5!nd1aj"E
qb'1d  %d1aj$q1ua."E	
!!QQZ.!4e<= = = 
#Q
D1bM4PQRSPSTVPVXZK[/\3q#ad),-*/ 
0B 2$!Q$AqD8H1QPQT68QTU8UWY[\W\7\	
2adQrT!Q$Y	2ad	*QrT!Q$Y	62ad	BRT	I
1a4
QT'
adF
#%'1W
-/0Av
689!Q$
?AB
CEF
GHJA	N8N R419qtAqDy 2b5A:-"QT	9BrE!Q$JF
1a4B$q&ad7#%'1W-/0Av68:1a4@BDQT'J	!Q$1a4 !#Q'8'
 +,B$q!t)ad1a4i*?"R%1**L	"QT	+rE!Q$J+!"2ad++-/T+245aeG+<>@Ag+FHI!Q$+O
AqD&+ad7+q!tV+$&'1f+-/0!t+467c+:;=*>8> AB"QT	8J 	2ad
8 rT!Q$Y8 "#2ad8+ .01W85 89Av8> AB!Q$8G 	
!Q$	8 1a4	8 Q$	8 "#A	8& (*	3+ -1!AqD&2ad72BQq!tV2K	3
q52q!tGa1f$r!Q$w.AqD82ad7BQq!tVK	!Q$E21Wr!Q$w.AqD82ad7BR1WL
1a4AqD&QT6"#%q5)2) -.aeGbAg,=1a4,G
1a4-AqD&-ad7-#%&T-*,-adF-346,727 :;1b5	2A DFad7	2K
 	
!Q$2
 A2
 -
  D1  $<a!eSV^a#ad)ma1fqj-IJKKKK<1#ad)SAY]2KQOQVWWWWr=   c            	         \        R\        ^,          ,          \        ,          ^\        ^,          ,          \        ,          ,
          ^\        ^	,          ,          \        ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^T\        ^
,          ,          \        ^,          ,          ,           ^\        ^	,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,           ^T\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           \        ^,          \        ^,          ,          ,           \        ^,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          \        ^	,          ,           \        ^
,          ,
          ^\        ^,          ,          ,           R\        ^,          ,          \        ,          ^\        ^
,          ,          \        ^,          ,          ,           ^8\        ^	,          ,          \        ^,          ,          ,
          ^F\        ^,          ,          \        ^,          ,          ,           ^8\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          \        ^,          \        ^,          ,          ,           \        ^,          ,           ,          \        ^,          ,          R\        ^,          ,          \        ,          ^\        ^,          ,          \        ,          ,
          ^\        ^	,          ,          \        ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^T\        ^
,          ,          \        ^,          ,          ,           ^\        ^	,          ,          \        ^,          ,          ,
          ^(\        ^,          ,          \        ^,          ,          ,
          ^(\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,           ^T\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          ^\        ^	,          ,          ,           ^\        ^
,          ,          ,
          ^\        ^,          ,          ,           R\        ^,          ,          \        ,          ^\        ^
,          ,          \        ^,          ,          ,           ^8\        ^	,          ,          \        ^,          ,          ,
          ^F\        ^,          ,          \        ^,          ,          ,           ^8\        ^,          ,          \        ^,          ,          ,
          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          \        ^,          \        ^,          ,          ,           \        ^,          ,           ,          \        ,          ,           R	\        ^,          ,          \        ,          ^\        ^,          ,          \        ,          ,           \        \        ^,          ,          ,           \        ^,          \        ^,          ,          ,
          \        ^,          ,           \        ^,          ,
          R
\        ^,          ,          \        ,          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,
          \        ^,          \        ^,          ,          ,           \        ^,          ,           ,          ,           \        \        RR7      p \        R\        ^\        4      \        ^\        ,          \        4      \        ^\        ,          \        ,          \        4      ./R7      p\        W\        4      \        \        \        ,
          \        ^,          ,          R	\        ,          ^\        ,          ,           \        ,          ,           \        4      \        R	\        ,          \        ,          \        ^,          ,           \        ^,          ,           \        4      R38X  g   Q h\        R\        ^\        4      \        \        \        4      ./R7      p\        \        ^ \        4      V\        4      \        ^ \        4      \        ^\        4      R38X  g   Q hR# )   FexpandrM   rN   TNir`   rW   rT   )r   r0   r   rY   r3   r(   r#   rZ   s     r>   *test_integrate_hyperexponential_polynomialr   <  st    	c!R%ilQq!tVBY&1a42R1WRU]B
1a4A1b5Q'),QT"a%8:<QT'"a%-H
1a4A1a4A&(*1a4A68;AqDQG 	1a4A !Q$r1u% ()Avb!e|4 78d2q5jA DEa4A:N 	1a4A	 !Q$r1u	% ()!t	, /0e	4 782g	> AC1b5
1b5QAAqDQA')+AqDQA79;AqDQAG
1a4AA!Q$r1uA%'(!tBEzA245rEA:	; <>q5A 
QU21a4
	"R1WRZ	/"QT'"a%-	?
1a4A
1b5Q
'),QT"a%
8:<QT'"a%-
H
1a4A
1a4A
&(*1a4A
68;AqDQ
G 	1a4A
 1a4A
& )+1a4A
6 9:!Q$r1u
E 	
!Q$r1u	
 !Q$wr1u}	
% ()Avb!e|	
4 781f	
= @ABw	
G
 	
!R%

 QU(2+1b5Q.AqDQ>
1a4A1a4A&(*1a4A689!Q$r1uE	1RU
U	 	 #%QT'"*qAvby"81RU7"B	1RU
#T#qD#!#%ad72:!Q$r1u#<qAvb!e|#K	1RU
$T$"  %!	1A" 
#Q
D1bM4PQRSPSTVPVXZK[/\)]	^B0:a"fb!e^r"uqs{B..3T"Q$r'AqD.
A;6?    
#tAqz4B<.H)I	JB0ab!DQT!R[$I( ( ( (r=   c            
      N   \        R 4      w  r\        V \        ,          \        4      p\        VP                  VP
                  V4      \        \        \        \        V 4      ,          4      \        V 4      ,          \        \        V 4      ^ 4      3\        R34      ^ R38X  g   Q h\        W\        ,          ,          \        4      p\        VP                  VP
                  V4      \        \        V\        ,          \        V 4      ,          4      V\        V 4      ,          ,          \        V\        V 4      ,          ^ 4      3\        R34      ^ R38X  g   Q h\        \        V \        ,          4      \        4      p\        VP                  VP
                  V4      \        \        V \        ,          4      V ,          \        V ^ 4      3\        R34      ^ R38X  g   Q h\        \        \        V \        ,          4      ,          \        4      p\        VP                  VP
                  V4      \        V \        ,          ^,
          \        V \        ,          4      ,          V ^,          ,          \        V ^,          ^ 4      3\        ^,          ^,          R34      ^ R38X  g   Q h\        \        ^,          \        V \        ,          4      ,          \        4      p\        VP                  VP
                  V4      \        \        ^,          V ^,          ,          ^V ,          \        ,          ,
          ^,           \        V \        ,          4      ,          V ^,          ,          \        V ^,          ^ 4      3\        ^,          ^,          R34      ^ R38X  g   Q h\        \        \        ,          \        ,           \        4      p\        VP                  VP
                  V4      \        \        \        \        4      \        ,          4      \        \        4      ,          \        \        \        4      ^ 4      3\        R34      \        R38X  g   Q h\        \        \        ,          \        ,           \        ^\        ,          ,          ,           \        4      p\        VP                  VP
                  V4      \        \        ^\        \        4      ,          \        ,          4      \        \        4      ,          ^\        \        \        4      \        ,          4      ,          \        \        4      ,          ,           ^\        \        4      ^,          ,          ,          \        ^\        \        4      ^,          ,          ^ 4      3^\        ,          R34      \        R38X  g   Q hR# )za bTN)r   r(   r0   r$   fafdr   r   r   r	   r5   r3   )r4   r   r\   s      r>   1test_integrate_hyperexponential_returns_piecewiser   [  s   5>DA	q!tQ	'B%beeRUUB7I	Qs1vXs1v	r#a&!}-4y=:;<d<D D D D	qQ3x	+B%beeRUUB7I	QqSQZ!CF(	#R#a&!_54y=BCDd<L L L L	s1Q3x	+B%beeRUUB7I	QqS!R1XD	=+,-t<5 5 5 5	qQqSz1	-B%beeRUUB7I
A#'3qs8	AqD	 "QT1+.Aa=@ABD<J J J J	q!tC!H}a	0B%beeRUUB7I
Q$q!t)ac!e
a
QqS	)!Q$	.1a4<	
Aa=D<" " " " 
q!tax	+B%beeRUUB7I	SVAXs1v	r#a&!}-4y=:;<d<D D D D	q!tax!ac(2A	6B%beeRUUB7I
aAhqj/#a&
 c#a&(mOCF"#%&s1vqy[
235aA	k13E	GqS$K=
 d	<   r=   c                  (   \        R 4      w  rp\        ^\        ) ,          ^V,          ^,           ,          V4      ^\        ) ,          V,          ^\        ) ,          \        ^V,          ^,           4      ,          \        ^4      ,          ,
          8X  g   Q h\        WV,
          ,          W,          ^,           ,          V4      \	        V) \        V 4      ,          4      \        W,          ^,           4      ,          \        V 4      ,          8X  g   Q hR# )za t sN)r   r)   r   r   r   )r4   r1   ss      r>   test_issue_13947r   z  s    gGA!1s8QTAX.2	RC
Q"Xc!Q$(m+CF223 3 311u:qtax0!4QBs1vIs14!8}$SV+, , ,r=   c                  	   \        R \        ^\        4      \        ^\        ,          \        4      .R\        ./R7      p \        \        \        \        4      \        ^\        4      V 4      \        \	        \        4      ,          RR38X  g   Q h\        \        \        \        4      \        \        \        4      V 4      ^ \        \        \	        \        4      ,          \        4      R38X  g   Q h\        R \        ^\        4      \        ^\        ,          \        4      \        ^\        ^,           ,          \        4      .R\        \        \        \	        \        ^,           4      4      ./R7      p \        \        \        \        4      \        \        \        4      V 4      ^ \        \	        \        4      \	        ^\        ,           4      ,          \        4      R38X  g   Q h\        R \        ^\        4      \        ^\        ,          \        4      \        ^\        \        ,          ,          \        4      .R\        \        \        \	        \	        \        4      4      4      ./R7      p \        \        \        \        4      \        \        \        4      V 4      ^ \        \	        \	        \        4      4      \	        \        4      ,          \        4      R38X  g   Q h\        R \        ^\        4      \        ^\        ,          \        4      .R\        ./R7      p \        \        \        ^,          \        ^,          ,          ^\        ^,          ,          \        ,           \        ^,          ,          ,           ^\        ^,          ,          ^\        ,          ,           \        ,          ,           \        ^,          ,           \        ,           \        4      \        \        ^,          \        ^,          ,          ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ^,          ,          ,           ^\        ^,          ,          \        ,          ,           \        ^,          ,           \        4      V 4      R\	        \        4      ^,           ,          \        ^\	        \        4      ^,           ,          \        4      R38X  g   Q hR# )rM   ry   rN   TFNrj   )r(   r   r0   r1   r   r"   r+   rY   t2r   r6   r   rf   s    r>   test_integrate_primitiver     s8   	#Q
D1aL/I3%* 
BtAqz41:r:qQxT>RRRRtAqz41:r:qBWXYZ]^_Z`X`bcBdfk>llll	#Q
D1bM4PQSTWXSXPY[]K^/_3q#a!e*-.*0 
1BtB|T"b\2>	
!#a&QU"3Q7?@ @ @ 
#Q
D1bM4PQSTUWSWPXZ\K]/^3q#c!f+./*1 
2BtB|T"b\2>	
!#c!f+c!f"4a8%@A A A 
#Q
D1bM/J3%* 
BtAqDQJ!AqD&1*b!e1C$CqAvcH
G %1%% #AqDQJ1a4A$=!Q$r1u$LadF2I%1%  
SVaZ/3q6A:BEJK K Kr=   c            	      V   \        R \        ^\        4      \        \        ^,          ^,           \        4      ./R7      p \	        \        \        ^,          \        \        ,          ,           ^,           \        4      V 4      \        \        \        4      \        \        ^,          \        4      38X  g   Q h\        R \        ^\        4      \        \
        \        ^,          ^,           ,          \        4      ./R7      p \	        \        \        ^,          \        4      V 4      \        ^^\
        ,          ,          \        ^,          ,          ^^\
        ,          ,          \        ^,          ,          ,
          \        4      \        ^^\
        ,          ,          \        4      38X  g   Q hR# rn   )r(   r   r0   r1   r%   r4   rf   s    r>   &test_integrate_hypertangent_polynomialr     s	   	#Q
DA1<M/N)O	PB,T!Q$1*q.!-DbI	aT!A#q\"# # #	#Q
DAqD1Hq<Q/R)S	TB,T!Q$]B?	a1gadlQ!WQT\)1	-tAqsGQ/?@A A Ar=   c                     \        \        ^,          \        ^,          ,          \        \        ^,          ,          ,           \        ^,          \        ^,          ,          ,
          \        \        ^,          ^,           ,          \        ^,          ,          ,
          \        ^,          \        ^,          ,
          \        ,          ,
          \        ^,          ^,          ,
          \        4      \        \        ^,          \        ^,          ,          \        ^,          \        ^,          ^,           ,          \        ^,          ,          ,           \        ^,          ,           \        ^,          ,           \        ^,          ^,          ,           \        4      r\	        R4      p\        R\        ^\        4      \        \        ^,          ) \        \        ,          ,
          ^\        ^,          \        ^,          ,          ,
          ,
          \        4      .RV./R7      p\        WV4      \        ^V! \        4      ^,          ,           \        ^,          ^,          ,           4      ) ^,          R\        ^,          ,
          ^^\        ^,          ,          ,           ^V! \        4      ^,          ,          ,           ,          ,           R38X  g   Q h\        \        \        \        4      \        ^\        4      V4      R8X  g   Q hR# )	rI   phi_nurM   ry   rN   TNrT   )    F)r   r0   r1   r2   r   r(   r&   r   )r4   rX   fr\   s       r>   $test_integrate_nonlinear_no_specialsr     s   AadQq!tV#b!eAqDj01adQh<13DD1EI
H !tAv1QT	AqD!Q$(OAqD,@ @1a4 G!Q$ NQRTUQUVWQW WYZ[ 	 	A	#Q
adUQqS[AAad
N+Q/012:QC*A 
BB*14
a!A$'kAqDF"
#	#A	%q!ta!AqD&j1QqT1W96L(M	MtTU U U*41:tAqz2F  r=   c            
      h   \        \        \        ^,          \        ^,          ^,           \        \        ^^4      ,          .4      \        ^,          \        ^3\        ^,          ^3\        \        ^^4      ,          ^3.3^\        ^,          ,           ^\        ^,          ,           ^3.3.8X  g   Q hR# rH   )r'   r0   r   r<   r=   r>   test_integer_powersr     s    1ac1a4!8Qx1~-=>?qSAq6AaC8aA&6%:;<AXQT1'D) ) ) )r=   c                     \        \        \        4      \        \        ^,          4      ,           \        4      P                  \	        \
        \        ,           \
        4      \	        ^\
        4      \	        ^\        4      \	        \        \        4      \	        ^\        ,          \
        ,          \
        4      .\        \        \
        .\        \        \        \        4      4      \        \        \        \        ^,          4      4      .. . ROR\        \        ^,          .38X  g   Q h\        \        \        4      \        ^\        ,          4      ,           \        4      P                  \	        \        ^,          \        ,           \        4      \	        ^\        4      \	        ^\        4      \	        \        \        4      .\        \        .\        \        \        \        4      4      .. RR.R\        .38X  g   Q h\        \        \        4      \        \        ^,          4      ,           \        4      P                  \	        \        ^,          \        ,           \        4      \	        ^\        4      \	        ^\        4      \	        \        ^,          \        4      .\        \        .\        \        \        \        ^,          4      4      .. RR.R\        ^,          .38X  g   Q h\        \        \        4      \        \        ^,          4      ,           \        \        \        ^,          ,           4      ,           \        4      P                  \	        ^\        ,           \
        ,          \        ,           \
        4      \	        ^\
        4      \	        ^\        4      \	        \        \        4      \	        ^\        ,          \
        ,          \
        4      .\        \        \
        .\        \        \        \        4      4      \        \        \        \        ^,          4      4      .. . ROR\        \        ^,          .38X  g   Q h\        \        \        4      \        \        ^,          4      ,           \        \        \        ^,          ,           ^,           4      ,           \        4      P                  \	        ^\        P                  \        ,          ,           \
        ,          \        ,           \
        4      \	        ^\
        4      \	        ^\        4      \	        \        \        4      \	        ^\        ,          \
        ,          \
        4      .\        \        \
        .\        \        \        \        4      4      \        \        \        \        ^,          4      4      .. . ROR\        \        ^,          .38X  g   Q h\        \        \        4      \        \        ^,          4      ,           \        \        ^,          \        ^,          ,           4      ,           \        4      P                  \	        \        ^,           \
        ,          \        ^,          ,           \
        4      \	        ^\
        4      \	        ^\        4      \	        \        ^,          \        4      \	        ^\        ,          \
        ,          \
        4      .\        \        \
        .\        \        \        \        ^,          4      4      \        \        \        \        ^,          4      4      .\        \        ^,          4      \        \        \        4      4      3.. ROR\        ^,          \        ^,          .38X  g   Q h\        \        \        4      \        \        ^,          4      ,           \        \        ^,          \        ^,          ,           ^,           4      ,           \        4      P                  \	        \        \        ^4      ,          ^,           \
        ,          \        ^,          ,           \
        4      \	        ^\
        4      \	        ^\        4      \	        \        ^,          \        4      \	        ^\        ,          \
        ,          \
        4      .\        \        \
        .\        \        \        \        ^,          4      4      \        \        \        \        ^,          4      4      .\        \        ^,          4      \        \        \        4      4      3.. ROR\        ^,          \        ^,          .38X  g   Q h\        \        \        \        4      4      \        4      P                  \	        \        \        4      \	        ^\        4      \	        ^\        4      \	        \        ^,          \        4      .\        \        .\        \        \        \        ^,          4      4      .\        \        ^,          4      \        \        \        4      4      3.RR.R\        ^,          .38X  g   Q h\        \        \        ^,          4      \        4      P                  \	        \        \        4      \	        ^\        4      \	        ^\        4      \	        \        ^,          \        4      .\        \        .\        \        \        \        ^,          4      4      .. RR.R\        ^,          .38X  g   Q hR# )rI   Nr   Nr   r   )r(   r   r0   _important_attrsr   rY   r   r   r6   r
   Exp1r   r<   r=   r>   test_DifferentialExtension_expr     s    Q#ad)!3Q7HH	b2gr	DBK$q!+tB|QqSVR*r2;3q6):q#ad))!#7$1a4	JJ J J !Q#ac(!2A6GG	b!ebj"	tAr{T!QZb",FB	3q6	R$q		;; ; ; !Q#ac(!2A6GG	b!ebj"	tAr{T!QZbdB,H	
B&C!H%&T5MD!A#;	HH H H !Q#ad)!3c!ad(m!CQGXX	q2vrkB	#T!R[41:tB|QqSVR3r2;3q6):q#ad))!#7$1a4	JJ J J !Q#ad)!3c!ad(Q,6G!GK\\	q166"9}b 2%r	*DBK$q!*Rd1Q3r62&:(*+RvaQ7Hq#ad)7!#7$1a4	JJ J J !Q#ad)!3c!A#1*o!EqIZZ	rAvrkBE!2	&Qd1ajRT2QqSVR(6*,-r2;	3qs8	fQAqD	23
ac(DQL	!"$841ad:K	MM M M
 !Q#ad)!3c!A#1*q.6I!I1M^^	r#a&y1}b 2q5("	-tAr{T!QZRT2QqSVR(=*,-r2;3qs89Lq#ad)9!$QqS4A< 89;O	qsAqD	  
 !c!fq1BB	b"tAr{T!QZbdB$@1b'	3qs8	QqS4A< 89D%=4QRSTQT+	WW W W !QqS1->>	b"tAr{T!QZbdB$@1b'	3qs8	rD%=41+	?? ? ?r=   c                     \        \        \        4      \        \        ^,           4      ,          \        ^\        ^,          ,          ^\        ,          ,           4      ,          \        4      P                  \	        \
        \        ^,          ,          \
        \        ^4      ,          \
        ^,          ,           \        ,          ,           \        4      \	        ^\        4      \	        ^\        4      \	        ^\        ,          \
        4      \	        ^\        ^,           ,          \        RR7      .\        \
        \        .\        \        \        \        4      4      \        \        \        \        ^,           4      4      .. . ROR\        \        ^,           .38X  g   Q h\        \        \        ,          \        \        4      ,          \        4      P                  \	        \
        \        ,          \        4      \	        ^\        4      \	        ^\        4      \	        ^\        ,          \
        4      \	        ^\
        ,           \        ,          \        4      .\        \
        \        .\        \        \        \        4      4      \        \        \        \
        \        ,          4      4      .\        \        \        \        4      ,          4      \        \        ,          3.. ROR\        \
        \        ,          .38X  g   Q hR# )rA   Fr   N)Nr   r   Nr   r   )
r(   r   r0   r   r   r   rY   r   r6   r   r<   r=   r>   test_DifferentialExtension_logr     s    QAE
!23qAv!|3D!DaHYY	bQh"SV)b!e+R//	4d1bk	aT!A#r]QAY5)	+-.BK	3q6	F1c!a%j12B8L	q!a%		   !Ac!fa0AA	beR$q"+Q
D1bMa"fb["(!"BfQA.?q#bd).!$Qs1vX1 568L	q"Q$	  r=   c                  f   \        \        \        \        ,          4      \        4      P                  \	        \
        \        ,          \        4      \	        ^\        4      \	        ^\        4      \	        ^\        ,          \
        4      \	        \
        ^,           \        ,          \        4      .\        \
        \        .\        \        \        \        4      4      \        \        \        \        \
        ,          4      4      .\        \        \        \        4      ,          4      \        \        ,          3.. ROR\        \
        \        ,          .38X  g   Q h\        \        \        \        ,          4      \        4      P                  \	        \        \
        ,          \
        4      \	        ^\
        4      \	        ^\        4      \	        ^\        ,          \
        4      .\        \
        .\        \        \        \        4      4      .\        \        \        4      ,          \        \        \        ,          4      3.RR.R\        .38X  g   Q h\        \        \        \        4      4      \        4      P                  \	        \
        \
        4      \	        ^\
        4      \	        ^\        4      \	        ^\        ,          \
        4      .\        \
        .\        \        \        \        4      4      .\        \        4      ^,          \        \        \        4      4      3.RR.R\        .38X  g   Q hR# )rA   Nr   r   )r(   r   r0   r   r   r   rY   r   r6   r   r5   r   r<   r=   r>   !test_DifferentialExtension_symlogr     s    QTA.??	bdBatAqz4!R=$IHC 'RvaQ'8&C"I:N&O!CF(mQT"#%9D!RT?	LL L L !QTA.??	adBatAqz4!R=&AAr7	3q6	qQxQT34tUm	q		   !T!Wq1BB	b"tAr{T!QZac2$?!R	3q6	s1vaxT!W67$	q		  r=   c                     \        \        \        4      \        \        4      ,          \        R R7      P                  \        \        \        ,          \        4      \        ^\        4      \        ^\        4      \        ^\        ,          \        4      \        \        \        4      .\        \        \        .\        \        \        \        4      4      \        \        \        \        4      4      .. . ROR\        \        .38X  g   Q h\        \        \        4      \        \        4      ,          \        RR7      P                  \        \        \        ,          \        4      \        ^\        4      \        ^\        4      \        \        \        4      \        ^\        ,          \        4      .\        \        \        .\        \        \        \        4      4      \        \        \        \        4      4      .. . ROR\        \        .38X  g   Q h\        \        \        ,          ) \        \        4      ^,          ,          \        \        ,          ,           \        \        ,          \        ,          ,
          \        RR7      P                  \        \        \        ,          ) \        \        4      ^,          ,          \        \        ,          ,           \        \        ,          \        ,          ,
          \        R R7      P                  u;8X  EdO   \        R\        ,           \        \        ^,          ,          ,
          \        ,          \        4      \        \        \        4      \        ^\        4      \        ^\        ,          \        4      \        ^\        ,           \        ,          \        4      .\        \        \        .\        \        \        \        4      4      \        \        \        \        \        ,          4      4      .\        \        \        \        4      ,          4      \        \        ,          3.. ROR\        \        \        ,          .38X  g   Q h Q hR# )r   handle_firstNr   r   )Nr   r   rj   )
r(   r   r0   r   r   r   r   rY   r   r6   r<   r=   r>   'test_DifferentialExtension_handle_firstr     s    QAFWW	beR$q"+Q
D1bMR(2r{VAs1v%6q#a&8I$J
 4A,	00 0 0 !QAFWW	beR$q"+Q
DRLQqS"(BfQA&73q69J%K
 4A,	00 0 0 !!Q$s1vqy1a4!7!Q$q&!@!((q!teCFAIo14q!tAv=q	,,3 
rAv"a%#R	($q"+!QZac2a"fb["(=>BAs1vq#bd) 45Qs1vX18M7N 4BqD/	3	3 3 3 3 3r=   c                  N  a  \        \        \        4      \        \        4      ,          \        R R7      o S P                  \        \        4      \        \        4      ,          8X  g   Q hS P
                  \        \        ,          8X  g   Q hS P                  \        8X  g   Q hS P                  . RO8X  g   Q hS P                  R8X  g   Q hS P                  R	8X  g   Q hS P                  \        u;8X  d$   S P                  S P                  ,          8X  g   Q h Q hS P                  \        ^\        ,          \        4      u;8X  d$   S P                  S P                  ,          8X  g   Q h Q h\!        \"        V 3R l4       S P%                  4        S P                  R
8X  g   Q hS P                  \        u;8X  d$   S P                  S P                  ,          8X  g   Q h Q hS P                  \        \        \        4      u;8X  d$   S P                  S P                  ,          8X  g   Q h Q hS P                  R 8X  g   Q hS P%                  4        S P                  R8X  g   Q hS P                  \        u;8X  d6   S P                  S P                  ,          u;8X  d   S P                  8X  g   Q h Q hS P                  \        ^\        4      u;8X  d$   S P                  S P                  ,          8X  g   Q h Q hS P                  R8X  g   Q h\!        \"        V 3R l4       S P'                  4        S P'                  4        S P                  R	8X  g   Q hS P                  \        u;8X  d$   S P                  S P                  ,          8X  g   Q h Q hS P                  \        ^\        ,          \        4      u;8X  d$   S P                  S P                  ,          8X  g   Q h Q hS P                  R8X  g   Q hS P)                  R4      ^.8X  g   Q hS P)                  R 4      ^.8X  g   Q hR# )r   r   base	primitivec                  $   < S P                  4       # N)increment_levelrf   s   r>   rC   6test_DifferentialExtension_all_attrs.<locals>.<lambda>      r113r=   c                  $   < S P                  4       # r   )decrement_levelrf   s   r>   rC   r   '  r   r=   r   N)r   r   r   rj   rW   rU   )r(   r   r0   r   r   newfr   rY   casescaselevelr1   TrX   r   rM   r/   rE   r   r   indicesrf   s   @r>   $test_DifferentialExtension_all_attrsr     s   	s1vc!f}ae	DB443q6#a&=   77be4419988333377k!!!88r>>442'bhh'''''444!R=2BDDN22222
:3488r>>442'bhh'''''444B<1244>1111177e88r>>441.RXX."$$.....4441:/bhh/////77f
:3488r>>442'bhh'''''444!R=2BDDN2222277k!!! ::e###::e###r=   c            
      j   \        \        R  4       \        R\        ^\        4      \        \
        \
        4      ./R7      p V P                  RR\        ^\        4      \        \
        \
        4      .\        \
        .RRRR38X  g   Q hV P                  \        \
        \
        4      8X  g   Q hV P
                  \
        8X  g   Q hV P                  R	8X  g   Q hV P                  RR.8X  g   Q hV P                  \        8X  g   Q hV P                  R8X  g   Q h\        R\        ^\        4      \        \
        \
        4      .RRR.RR\        ./R7      p V P                  RR\        ^\        4      \        \
        \
        4      .\        \
        .RRRR.R\        .38X  g   Q h\        \        R 4       R# )
c                  2    \        R \        \        ./R7      # )r   rN   )r(   r0   r1   r<   r=   r>   rC   ;test_DifferentialExtension_extension_flag.<locals>.<lambda>5  s    4aV}Mr=   rM   rN   Nr   r   extsextargsc                      \        4       # r   )r(   r<   r=   r>   rC   r   D  s    46r=   rj   )r/   rE   r(   r   r0   r1   r   rX   r   r   r   rf   s    r>   )test_DifferentialExtension_extension_flagr   4  sk   
:MN	#Q
DAJ/G)H	IB4Q
DAJ/G!QdD$#       4441:4419988r>>88&&&4419977e	#Q
DAJ/Guy4)*5 
6B4Q
DAJ/G!QdT5MD!9#. . . .
:67r=   c                     \        \        \        4      \        \        4      ,          \        4      P
                  \        \        \        4      \        ,          \        R R7      \        ^\        RR7      \        ^\        RR7      \        \        \        RR7      .\        \        .\        \        \        \        4      4      .. RR.R\        .38X  g   Q h\        \        R 4       \        ^
\        ,          \        4      P
                  \        \        \        4      \        ^\        4      \        ^\        4      \        \        ^
4      \        ,          \        4      .\        \        .\        \        \        \        \        ^
4      ,          4      4      .\        \        \        ^
4      ,          4      ^
\        ,          3.RR.R\        \        ^
4      ,          .38X  g   Q h\        \        \        4      \        \        ^,          4      ,           \        4      P
                  \        ^\        ,          \        4      \        ^\        4      \        ^\        4      \        ^\        ,          \        4      .\        \        .\        \        \        \        ^,          4      4      .. R.. ^.\        ^,          .3
\        ^\        ,          \        4      \        ^\        4      \        ^\        4      \        ^\        ,          \        4      .\        \        .\        \        \        \        4      4      .. RR.R\        .339   g   Q h\        \        P                  \        4      P
                  \        ^ \        4      \        ^\        4      \        ^\        4      .\        .. . R.R.38X  g   Q h\        \        \!        \        4      P#                  \        4      4      \        4      P
                  \        \        \        4      \        ^\        4      \        ^\        4      .\        .. . R.R.38X  g   Q hR# )z
ZZ[sin(y)]r:   re   Nr   c                  <    \        \        \        4      \        4      # r   )r(   r   r0   r<   r=   r>   rC   1test_DifferentialExtension_misc.<locals>.<lambda>M  s    (=c!fa(Hr=   r   )r(   r   r5   r   r0   r   r   r   r   r6   r/   NotImplementedErrorr   r
   rJ   r   r   rewriter<   r=   r>   test_DifferentialExtension_miscr   G  s    QA2CC	c!fRiL	142d3K	a4	 $r2d";<q"g	3q6	R$q		;; ; ;  HI Q*;;	b"tAr{T!QZc"gbj"1E$FB	3qRy>	"#s1SW9~r1u&=%>u	qRy	   !Q#ad)!3Q7HH	adBatAqz4!R=&AAr7	3q!t9	THb1#1v	?	adBatAqz4!R=&AAr7	3q6	R$q		;M< < < <
 !+<<	aT!QZ$q!*sBTFTFKL L L T!W__S%9!:A>OO	aT!QZ$q!*sBTFTFKL L Lr=   c                  $   R \        \        4      ,          R,           R\        ^\        ,          4      ,          R\        \        4      ^,          ,          ,           R\        \        4      ,          ,           R,           ,          \        ^\        \        4      ^,           ,          ^
\        ,          ,
          4      ,          p \        V \        4      P                  \	        RR \
        ,          ,           \        ,          \        4      \	        RR\
        ,          ,           R\
        ^,          ,          ,           R\
        ^,          ,          ,           \        4      \	        ^\        4      \	        \
        \
        4      \	        ^
^\
        ,          ,           ^
\
        ^,          ,          ,           ) ^^\
        ,          ,           \
        ^,          ,           ,          \        ,          \        RR7      .\        \
        \        .\        \        \        \        4      4      \        \        \        ^\
        ^,           ,          ^
\        ,          ,
          4      4      .. . ROR\        ^\
        ^,           ,          ^
\        ,          ,
          .38X  g   Q hR# )l   F3 ihi ai ?#zZZ(t0)r:   Nr   )	r   r0   r(   r   r   r   rY   r   r6   )r   s    r>   $test_DifferentialExtension_Rothsteinr   ]  s   	CF	Z	'(3qs8*;c!fai+#CF*++-5+6 	77:1c!fqj>BqD;P7Q	RA A&77	zJrM)2-r	2D": Q:')1"a%:89;5=	aT"b\4"r"u*r"a%x*?(@!ad(
AC ))h$( 	)+,b"+	3q6	F1c!R!V*r!t*;&<=>tQ26
RT(9:	<< < <r=   c                       ] tR tRtRtRtR# )_TestingExceptionij  z"Dummy Exception class for testing.r<   N)__name__
__module____qualname____firstlineno____doc____static_attributes__r<   r=   r>   r   r   j  s    ,r=   r   c            	         \        \        \        \        \        4      ^,           4      ,          \        4      p V P                  R8X  g   Q hV P
                  \        8X  g   Q hV P                  \        \        \        ^,           ,          \        4      8X  g   Q hV P                  R8X  g   Q h\        V 4      ;_uu_ 4        V P                  R8X  g   Q hV P
                  \        8X  g   Q hV P                  \        \        \        4      8X  g   Q hV P                  R8X  g   Q h\        V 4      ;_uu_ 4        V P                  R8X  g   Q hV P
                  \        8X  g   Q hV P                  \        ^\        4      8X  g   Q hV P                  R8X  g   Q h RRR4       V P                  R8X  g   Q hV P
                  \        8X  g   Q hV P                  \        \        \        4      8X  g   Q hV P                  R8X  g   Q h RRR4       V P                  R8X  g   Q hV P
                  \        8X  g   Q hV P                  \        \        \        ^,           ,          \        4      8X  g   Q hV P                  R8X  g   Q h \        V 4      ;_uu_ 4        \        h  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     M; i \        R4      h  \         d     Mi ; iT P                  R8X  g   Q hT P
                  \        8X  g   Q hT P                  \        \        \        ^,           ,          \        4      8X  g   Q hT P                  R8X  g   Q hR# )	rA   r   r   r   NzDid not raise.rj   rW   rU   )r(   r0   r   r   r   r1   rY   rX   r   r   r   r*   r   AssertionErrorrf   s    r>   test_DecrementLevelr   o  su   	qSVaZ0!	4B88r>>442::444BFR((((77k!!!			xx2~~ttrzztttB|###ww%B88r>!>441994441:%%%77f$$$	   xx2~~ttrzztttB|###ww% 
" 88r>>442::444BFR((((77k!!!/B##'   
	0  
 -..  
 88r>>442::444BFR((((77k!!!sK    A6J,6AJ	A*J,>K J?J)#	J,,J<	?K	
K K,+K,c            
         \        \        \        \        4      ,          \        4      \        \        \        4      ,          8X  g   Q h\        \	        \        4      \        R R7      \        \
        \        ,          4      ) ^,          \        \
        ) \        ,          4      ^,          ,
          8X  g   Q h\        ^^\        ^,          ,          ,           \        ^,          ,           ^\        ^,          ,          \        ^\        ^,          ,          4      ,          ,           \        ^,          \        \        ^,          4      ,          ^\        ^,          ,          \        \        ^,          4      ,          ,           \        \        ^,          4      ,           ,          \        4      \        \        \        ^,          ) 4      \        4      \        \        ^,          4      ^\        ^,          ,           ,          ,           8X  g   Q h\        ^ \        4      ^ 8X  g   Q h\        \        \        \        4      ,          ^,           4      p \        V \        4      pV\        \        \        \        \        ) 4      ,          ^,           4      ,          \        \        ^,          \        ,
          \        \        \        4      ,           ,          \        4      ,           8X  g   Q h\        \        V\        4      V ,
          4      ^ 8X  g   Q h\        R\        ,          4      ^,          \        ^\        ,          4      ^,          ,
          \        ,          \        ^^\        ,          ,
          4      ^,          \        ^^\        ,          ,           4      ^,          ,
          \        ,          ,
          p\        V\        4      pV\        ^\        ,          4      \        ^^\        ,          ,
          4      ,          ^,          \        ^\        ,          4      \        ^^\        ,          ,           4      ,          ^,          ,
          \        \
        \        ,          \        ^,          ,          ^\        ,          \        ^\        ,          4      ,          ,
          \
        \        ,          ,
          ^\        ^,          ,          ^\        ,          ,
          ,          \        4      ,           8X  g   Q h\        \        \        V\        4      V,
          4      R R7      ^ 8X  g   Q h\        \        \        \        ,          4      \        4      \        ^,          \        \        4      ,          ^,          \        ^,          ^,          ,
          8X  g   Q h\        \        \        \        ,          4      \        4      \        \        \        \        ,          4      ,          \        \        ,          ,
          8X  g   Q h\        \        \        \        4      4      \        4      \        \        \        \        4      4      ,          \        ^,          ,
          8X  g   Q hR# )T)rewrite_complex)forceNrj   )r)   r   r   r0   r   r   r+   r   r   r   r5   r   r   r   )e1ans1e2ans2s       r>   test_risch_integrater     s   2c!f9a(Bs1vI5553q61d;AaCy{SRSQSTUQUYWX[?XXXX A!Q$JA-!Q$s1QT6{0BBT#ad)^a1fSAY&&QT24568c1a4%j!,s1a4y!ad(/CCD D D
 1a A%%% 
Qs1vX\	B2q!DAc!CG)a-((+@!Q$(QQTUVQWZAXZ[+\\]]]$tQ-"$%*** bd)A+AaC

"A	%Q1Wa#a!A#g,q.)H!(K	KB2q!D3qs8CAaCL(*S1Xc!ac'l-B1-DD!1R419qs3qs8|#;ad#BQq!tVaPQc\"RTUVW W W WfT$]R/0=BBB 3q!t9a(AqDQKMAqDF,BBBB3q!t9a(Ac!Q$iK!A#,====3tAw<+qT!W~!/CCCCr=   c                  P   \        R\        \        4      ,          R\        ^\        ,          4      ,          ,
          \        ^\        ,          4      ,          \        4      R\        ^\        ,          4      ,          R\        ^\        ,          4      ,          ,
          8X  g   Q hR# )<   g3333333@g      (@Nig333333)r)   r   r0   r<   r=   r>   test_risch_integrate_floatr     sd    CAJc!A#h6AaC@!DSQRSTQTXX\]`abcdad]eXeHeeeer=   c                     \        \        \        \        ^,          4      \        4      \        4      '       g   Q h\        \        \        \        ,          \        \        4      ,          \        4      \        4      '       g   Q h\        \	        \        \        ,          \        ,          \        4      P                  \        \        \        4      4      \        4      '       g   Q hR# rH   )
isinstancer)   r   r0   r+   r   r   subsr<   r=   r>   test_NonElementaryIntegralr     s    oc!Q$i35JKKKKoad3q6k157LMMMM+AqDGQ7<<RQHJ_````r=   c                      \        \        \        ,          \        4      p V \        \        \        ,          \        4      8X  g   Q h\        V \        4      '       g   Q hR # r   )r)   r0   r+   r   )r4   s    r>   test_xtothexr     s@    1a A%adA....a.////r=   c                  R    \        \        \        4      \        4      ;rW8X  g   Q hR # r   )r(   r   r0   )DE1DE2s     r>   #test_DifferentialExtension_equalityr     s    %c!fa00C::r=   c            	          \        \        ^\        ^,          ,          4      \        \        \        ^,          4      ^,           4      ,           \        4      p \	        V 4      R8X  g   Q h\        V 4      R8X  g   Q hR# )rI   ao  DifferentialExtension(dict([('f', exp(2*x**2) + log(exp(x**2) + 1)), ('x', x), ('T', [x, t0, t1]), ('D', [Poly(1, x, domain='ZZ'), Poly(2*x*t0, t0, domain='ZZ[x]'), Poly(2*t0*x/(t0 + 1), t1, domain='ZZ(x,t0)')]), ('fa', Poly(t1 + t0**2, t1, domain='ZZ[t0]')), ('fd', Poly(1, t1, domain='ZZ')), ('Tfuncs', [Lambda(i, exp(i**2)), Lambda(i, log(t0 + 1))]), ('backsubs', []), ('exts', [None, 'exp', 'log']), ('extargs', [None, x**2, t0 + 1]), ('cases', ['base', 'exp', 'primitive']), ('case', 'primitive'), ('t', t1), ('d', Poly(2*t0*x/(t0 + 1), t1, domain='ZZ(x,t0)')), ('newf', t0**2 + t1), ('level', -1), ('dummy', False)]))zDifferentialExtension({fa=Poly(t1 + t0**2, t1, domain='ZZ[t0]'), fd=Poly(1, t1, domain='ZZ'), D=[Poly(1, x, domain='ZZ'), Poly(2*x*t0, t0, domain='ZZ[x]'), Poly(2*t0*x/(t0 + 1), t1, domain='ZZ(x,t0)')]})N)r(   r   r0   r   reprstrrf   s    r>   #test_DifferentialExtension_printingr     sh    	s1QT6{SQTQ-??	CB8     r7 : ; ; ;r=   c            	      l   R\         ^,          ,          ^\         ^,          ,          ,           ^\         ^,          ,          ,
          R\         ^,          ,          ,           R\         ,          ,
          \        \         4      ^,          ,          R	\         ^,          ,          ^8\         ^,          ,          ,           R\         ^,          ,          ,
          R\         ^,          ,          ,           R\         ^,          ,          ,
          \        \         4      ,          ,           ^\         ^,          ,          ^\         ^,          ,          ,
          ^\         ^,          ,          ,           R\         ^,          ,          ,
          R\         ,          ,           \        \         4      ,          ,           ^\         ^,          ,          ^\         ^,          ,          ,
          ^\         ^,          ,          ,           R\         ^,          ,          ,
          R\         ,          ,           \        ^4      ,          ,           ^\         ^,          ,          ,
          ^\         ^,          ,          ,           ^t\         ^,          ,          ,
          ^\         ^,          ,          ,           ^6\         ^,          ,          ,           R\         ^,          ,          ,
          \        \        \         4      ^,          ) ^\         ,          \        \         4      ,          ,
          \        \         4      ,           \        ^4      ,           \         ^,          ,
          \         ,
          4      ^,          ,          ^\         ^,          ,          ^,\         ^,          ,          ,
          ^\         ^,          ,          ,           ^\         ^,          ,          ,
          ^l\         ,          ,
          R,           \        \         4      ,          R\         ^,          ,          ^\         ^,          ,          ,           ^l\         ^,          ,          ,
          ^\         ^,          ,          ,           ^\         ,          ,
          \        \         4      ,          ,           ^\         ^,          ,          ,           ^*\         ^,          ,          ,
          ^\         ^,          ,          ,           ^l\         ^,          ,          ,
          R\         ^,          ,          ,
          R\         ,          ,           \        \        \         4      ^,          ) ^\         ,          \        \         4      ,          ,
          \        \         4      ,           \        ^4      ,           \         ^,          ,
          \         ,
          4      ,          ,           \         \        \         4      ^,          ,          \        \         4      ^,          ,          ^\         ^,          ,          \        \         4      ^,          ,          \        \         4      ,          ,           \         \        \         4      ^,          ,          ,
          \         ) \        ^4      ,          \         ^,          ,           \         ^,          ,           \        \         4      ^,          ,          ,           ,          p \         ^,          ^\         ^,          ,          ,
          ^6\         ^,          ,          ,           ^l\         ,          ,
          ^Q,           \        R\         ,          4      ,          \        \         ^,          ) ^\         ,          \        \         4      ,          ,
          \         ,
          \        \         4      ,           \        \         4      ^,          ,
          \        ^4      ,           4      ^,          ,          p\        V \         4      V8X  g   Q hR# )
rI   iD  i  i   i  i  i  NrW   rT   )r0   r   r   r)   )r   rq   s     r>   test_issue_23948r     s]   ad7R1Ws1a4x'#ad(2SU:CFAI
Ead7R1Ws1a4x'#ad(2SAX=s1v
EFQT6Bq!tGc!Q$h&QT1CE93q6
AB QT6Bq!tGc!Q$h&QT1CE93q6
AB AqD&	 ad7	 !AX	& ),AqD	1 46ad7	; >AAX	F
 s1vqyj1Q3s1v:%A.Q7!Q$>B
CQ
F	G QT6Bq!tGc!Q$h&QT1CE9C?Q
Gad7R1Ws1a4x'#ad(2SU:CF
BC
AqD&ad7 AX&(+AqD136q!t8<>A!eD s1vqyj1Q3s1v:%A.Q7!Q$>B
C	D		D 	Q{3q619qAvc!fai/A663q619D
CFQT	AqD	 #a&!)+,	-A Q$AqD.2ad7
"SU
*R
/RT	:	adUQqSQZ!#c!f,s1vqy83q6A	BA	E
FA 1a A%%%r=   N)lr   sympy.core.functionr   r   r   r   sympy.core.numbersr   r   r   sympy.core.relationalr	   sympy.core.singletonr
   sympy.core.symbolr   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   sympy.polys.polytoolsr   r   r   sympy.integrals.rischr   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   sympy.testing.pytestr/   	sympy.abcr0   r1   r2   r3   r4   r5   r   rY   r   r6   r?   rF   rK   r]   rb   rg   rl   ro   rs   ru   rw   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	Exceptionr   r   r   r   r   r   r   r   r   r<   r=   r>   <module>r      sM   E D D 0 0 $ " / = 9 : E E 8 8* * * * * * * ( ' 'U^
B
3KK	)	522G$?2Cj!bDP"F>AXF(>>,K.A)#?L 3,!$H8&L,
<		 	
)"X%DPfa0
; &r=   