
    \h                     V   S r SSKJrJrJrJr  SSKJrJrJ	r	  SSK
Jr  SSKJr  SSKJrJr  SSKJrJr  SSKJr  SS	KJr  SS
KJrJrJr  SSKJrJrJr  SSK J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8  SSK9J:r:  SSK;J<r<J=r=J>r>J?r?J@r@JArA  \" S5      u  rBrCrD\" S5      rES rFS rGS rHS rIS rJS rKS rLS rMS rNS rOS rPS rQS rRS rSS rTS  rUS! rVS" rWS# rXS$ rYS% rZS& r[S' r\S( r]S) r^S* r_S+ r`S, ra " S- S.\b5      rcS/ rdS0 reS1 rfS2 rgS3 rhS4 riS5 rjS6 rkg7)8z?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                     [        [        [        S-  S[        S-  -  -
  S[        S-  -  -
  S[        -  -   S-   5      [        [        S-  [        S-  -   S[        -  -
  S-
  5      [        [        S-  S-
  5      5      [        [        S-  * S[        -  -   S-
  S-  5      [        [        S-  S	[        S-  -  -
  S
[        -  -   S-
  S-  5      4:X  d   e[        [        [        S-  S[        -  -   S	-   5      [        [        S-  S[        -  -   S-   5      [        [        S-   5      5      [        S[        SS9[        S[        -  S-   [        SS94:X  d   eg )N                              
   g;;?QQdomaing;;g؉؉?)r   r   r1        X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/integrals/tests/test_risch.pytest_gcdex_diophantinerJ      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rH   c                     [        [        [        S-   [        -  [        -  [        5      [        5      [        [        [        -  [        -   [        5      [        [        [        5      4:X  d   e[        [        S-   [        -  [        -  [        5      [        [        [        -  [        -   [        5      [        [        [        5      4:X  d   e[        [        [        S-   [        -  [        -  [        5      [        [        S-   [        5      4[        5      [        [        [        -  [        -   [        5      [        S[        -   [        -  [        5      4:X  d   e[	        [
        S 5        [        [        SS[        -  -   [        S[        -   -  -   S[        -   S-  -  [        5      [        SS9[        [        S-   [        5      [        [        S-   [        5      4:X  d   eg )Nr?   c                  ^    [        [        S-   [        [        5      -  [        -  [        5      $ )Nr?   )r   r1   r   r2   rG   rH   rI   <lambda>test_frac_in.<locals>.<lambda>)   s    wAs1v~a'7;rH   r:   T)r   )r   r   r1   r2   r0   
ValueErrorrG   rH   rI   test_frac_inrP   "   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() ) )rH   c            	         [        S[        -  [        -   [        [        5      [        [        S[        -  -   [        [        5      [        [        S[        -  -   [        [        5      4;   d   e[        S[        -  S[        S-  -  -   [        [        5      [        S[        -  S[        S-  -  -   [        [        5      [        S[        -  S[        S-  -  -   [        [        5      4;   d   e[        S[	        S5      S-   [        -  -  [        [        5      [        S[	        S5      S-   -  [        -  [        [        5      [        S[	        S5      S-   -  [        -  [        [        5      4;   d   e[        S[	        S5      S-   [        -  -  [        -   [        [        5      [        [        S[	        S5      S-   -  [        -  -   [        [        5      [        [        S[	        S5      S-   -  [        -  -   [        [        5      4;   d   e[        [
        R                  [        [        5      [        S[        [        5      :X  d   eg )Nr:   r;   r?   r   )r   r2   r4   r   r   r   ZerorG   rH   rI   test_as_poly_1trS   .   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4rH   c            
      
   [        S[        S-  -  [        S-  -  S[        S-  -  S[        S-  -  -
  [        S-  -  -   S[        S-  -  S[        S-  -  -   [        S-  -  -   S[        -  S[        S-  -  -   S[        S-  -  -   [        S-  -  -   SS[        -  -
  S[        S-  -  -
  [        -  -   S-
  S[        -  -   [        5      n [        S	[        S[        5      [        [        S-  * SS[        -  -  [        -  -
  SS[        -  -  -   [        5      /0S
9n[	        X5      [        S[        S-  -  [        S-  -  S[        S-  -  S[        S-  -  -   [        S-  -  -   S[        S-  -  S[        S-  -  -   [        S-  -  -   [        [        SS5      -  S[        S-  -  -
  S[        S-  -  -
  [        S-  -  -   S[        [        SS5      -  -
  S[        S-  -  -   [        S-  -  -   SS[        -  -
  S[        S-  -  -
  S[        S-  -  -
  S[        -  -  [        -  -
  SS[        S-  -  -
  S[        -  -  -   [        5      :X  d   e[	        [        S[        5      U5      [        S[        5      :X  d   e[	        [        [        [        5      U5      UR                  :X  d   e[	        [        [        S-  S[        -  [        -  -   SS[        -  -
  S[        S-  -  -  -   [        5      U5      [        S[        S-  -  S[        -  [        S-  -  -
  SS[        -  -
  S[        S-  -  -  [        -  -
  SS[        -  -
  S[        S-  -  -  -
  [        SS9:X  d   e[        S	[        S[        5      [        S[        -  [        5      [        [        [        5      /0S
9n[	        [        [        [        -  [        -  [        5      U5      [        [        [        -  [        [        -  [        -  -   [        -   [        5      :X  d   e[	        [        [        [        -  [        -  [        5      USS9[        S[        -   [        -  [        5      :X  d   e[        S	[        S[        5      /0S
9n[	        [        [        [        5      U5      [        S[        5      :X  d   e[	        [        S-   [        S-
  -  USS9SSS[        -  -
  [        S-  -   -  :X  d   e[        S	[        S[        5      [        [        [        5      /0S
9n[	        [        S-   [        S-
  -  USS9S[        -  SS[        -  -
  [        S-  -   -  :X  d   e[	        [        S-   USS9[        :X  d   eg )Nr9   r@   r;   r:   rA   r?   D	extensionir<   rB      r=      r>      rC   r   ZZ(x)rE   TcoefficientD)basic)r   r1   r2   r)   r   r   dt1pDEs     rI   test_derivationrh   :   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1rH   c            
         [        S[        S-  -  [        S-  -  S[        S-  -  S[        S-  -  -
  [        S-  -  -   S[        S-  -  S[        S-  -  -   [        S-  -  -   S[        -  S[        S-  -  -   S[        S-  -  -   [        S-  -  -   SS[        -  -
  S[        S-  -  -
  [        -  -   S-
  S[        -  -   [        S	S
9n [        S[        S[        5      [        [        S-  * SS[        -  -  [        -  -
  SS[        -  -  -   [        5      /0S9n[	        X5      [        S[        S-  -  [        S-  -  S[        S-  -  S[        S-  -  -
  [        S-  -  -   S[        S-  -  S[        S-  -  -   [        -  -   S[        S-  -  -
  [        SS9[        [        S-  S[        -  [        -  -   SS[        -  -
  S[        S-  -  -  -   [        SS94:X  d   e[	        [        [        [        5      U5      [        [        [        5      [        S[        5      4:X  d   e[        S[        S-  -  [
        S-  -  S[        S-  -  [
        S-  -  -   [
        [        S-  -  -
  S[        S-  -  [
        S-  -  -
  S[        S-  -  [
        S-  -  -   [        S-  -   [
        [        S-  -  -   [        S-  -
  [        5      n[        S[        S[        5      [        S[        -  [        5      /0S9n[	        X!S	S9[        [        [
        -  [        S-  -
  [
        [        S-  -  -
  [        S-  -   [        5      [        [        S-  * S[        S-  -  [
        S-  -  -   [        5      4:X  d   e[        X!S	S9[        [        [
        -  [        S-  -
  [
        [        S-  -  -
  [        S-  -   [        5      S44[        [        S-  * S[        S-  -  [
        S-  -  -   [        5      S444:X  d   e[	        [        S[        5      U5      [        S[        5      [        S[        5      4:X  d   e[        [        S[        5      U5      [        S[        5      S44S4:X  d   eg )Nr9   r@   rU   r;   rV   r:   rA   r?   T)fieldrW   rX   r]   r_   rE   r<   r`   r   rG   )r   r1   r2   r)   r   r4   r   )rf   rg   rs      rI   test_splitfactorrm   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FrH   c            
         [        S[        S[        5      [        S[        S-  -   [        5      /0S9n [	        [        [        [        -
  [        5      [        [        S-  [        5      U 5      [        S[        SS9[        S[        SS9[        S[        S	S94[        [        * [        -   [        SS9[        [        S-  [        5      44:X  d   e[        S[        S[        5      [        [        S-  S-   [        5      /0S9n [	        [        [        S
-  [        S-  -   [        S-  [        -  -   S-   [        5      [        [        S-  S-   S-  [        5      U 5      [        S[        SS9[        [        S
-  [        S-  -   [        S-  [        -  -   S-   [        SS9[        [        S-  S[        S-  -  -   S[        S-  -  -   S-   [        SS94[        S[        SS9[        S[        SS944:X  d   eg )NrW   r?   r:   rX   r   zZZ[x]rE   QQ[x]ZZr@   r;   r<   r9   rD   )r)   r   r1   r2   r   rg   s    rI   test_canonical_representationrr   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%<=	?? ? ?rH   c                  p   [        S[        S[        5      [        [        S-  S-   [        5      /0S9n [	        [        [        [        -
  [        5      [        [        S-  [        5      U 5      [        [        * [        SS9[        [        [        SS94[        S[        SS9[        S[        SS94[        [        * [        SS9[        S[        SS944:X  d   e[        S[        S[        5      [        [        S-  * [        [        -  -
  S[
        S-  [        S-  -  -
  -
  [        5      /0S9n [	        [        [        S-  [        S-  -  [        [        S	-  -  -   [
        S-  [        S
-  -  -
  [        [        S-  S-   -  [        S-  -  -
  [        S-  [
        S-  -
  [        -  -
  [        S-  S	-  -
  [        5      [        [        S-  [        S	-  -  [        S-  [        S-  S-   -  [        S-  -  -   [        S-  -   [        S	-  -   [        S-  S	-  -   [        5      U 5      [        [        S-  * S	-
  [        SS9[        S	[        S-  -  S[        S-  -  -   S	-   [        SS94[        S[
        S-  -  [        S	-  -
  [        -  S[        S
-  -  S[        -  -   -
  [        SS9[        S[        S-  -  [        S-  -  [        S	-  -   S[        S-  -  -   [        SS94[        [        [        -  S-   [        SS9[        [        [        SS944:X  d   e[        S[        S[        5      [        S[        -  [        5      /0S9n [        SS
[        -  -   [        S
-  -  S[        -   [        S-  -  -   S[        -  S[        S-  -  -   [        -  -   [        S-  -   [        5      n[        [        [        S-  -  S	[        S-  -  [        S-  -  -
  S[        S
-  -  [        S	-  -  -   S	[        S	-  -  [        S
-  -  -
  [        S-  [        S-  -  -   [        5      n[	        XU 5      [        S
[        S-  -  [        -   S
[        -  -   [        SS9[        S
[        S	-  -  S[        -  [        S
-  -  -
  S[        S-  -  [        S-  -  -   S
[        S
-  -  [        -  -
  [        SS94[        S[        SS9[        S[        SS94[        S[        SS9[        S[        SS944:X  d   e[	        [        [        S-  * S[        -  -   S-   [        SS9[        [        * [        S-  -  S[        -  [        -  -   [        -
  [        SS9U 5      [        S
[        SS9[        [        S-
  [        SS94[        S[        SS9[        S[        SS94[        S[        SS9[        [        [        SS944:X  d   e[	        [        [        S-  * [        S-  -  SS[        S
-  -  -
  [        S	-  -   [        S
-  -  -   SS
[        S	-  -  -
  [        S-  -  -   S[        -  [        -  -
  [        -
  S
[        S-  -  -
  [        SS9[        [        S	-  [        S-  -  S[        S-  -  [        S
-  -  -
  S-   [        SS9U 5      [        [        S
-  [        -  [        S	-  -   S-   [        SS9[        [        S
-  [        S
-  -  [        -
  [        SS94[        S[        SS9[        S[        SS94[        S[        SS9[        [        S-  [        SS944:X  d   e[	        [        SS
[        -  -   [        S
-  -  S[        -   [        S-  -  -   S[        -  S[        S-  -  -   [        -  -   [        S-  -   [        5      [        [        [        S-  -  S	[        S-  -  [        S-  -  -
  S[        S
-  -  [        S	-  -  -   S	[        S	-  -  [        S
-  -  -
  [        S-  [        S-  -  -   [        5      U 5      [        S
[        S-  -  [        -   S
[        -  -   [        SS9[        S
[        S	-  -  S[        -  [        S
-  -  -
  S[        S-  -  [        S-  -  -   S
[        S
-  -  [        -  -
  [        SS94[        S[        SS9[        S[        SS94[        S[        SS9[        S[        SS944:X  d   eg )NrW   r?   r:   rX   ro   rE   r   r@   r9   r;   r<   ZZ(x,nu)r^   rU   r_   	   rV   )r)   r   r1   r2   r   r3   rg   r5   rc   s      rI   test_hermite_reducerx   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rH   c            	         [        S[        S[        5      [        S[        S-  -   [        5      /0S9n [	        [        S[        [        -  -   [        S-  -   [        5      U 5      [        [        [        5      [        [        [        -  [        5      4:X  d   e[	        [        S[        5      U 5      [        S[        5      [        S[        5      4:X  d   eg )NrW   r?   r:   rX   r   )r)   r   r1   r2   r    rq   s    rI   test_polynomial_reducerz      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 ! ! !rH   c            
         [        S[        S[        5      [        S[        5      /0S9n [        S[        5      n[        [        S-
  [        S-  S-
  S-  -  [        5      n[        [        S-  S-
  [        5      nSn[	        XX4U 5      [        S[        S-  -  S[        S-  -  -   S[        -  -
  S	-
  [        5      [        [        S
-  [        S-  -   S[        S-  -  -
  S[        S-  -  -
  [        -   S-   [        5      [        S[        S-  -  S[        S-  -  -
  [        SS9[        S[        S-  -  S[        S
-  -  -   S	[        S-  -  -
  [        SS9/4:X  d   eg )NrW   r?   rX   $   r:   rV   r;   r<   r]   r@   r9   rD   rE   )r)   r   r1   r2   r/   )rg   r5   rc   Fns        rI   test_laurent_seriesr      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rH   c                     [        S[        S[        5      /0S9n [        S[        5      n[        [        S-
  [        S-  S-
  S-  -  [        5      n[        XU 5      S:X  d   e[        S[        S[        5      [        S[        -  [        5      /0S9n [        S[        5      n[        [        S-  S-
  [        5      n[        XU 5      S:X  d   e[        [        [        [        -  [        5      [        S[        5      U 5      S:X  d   e[        S[        S[        5      [        [        S-  S-   [        5      /0S9n [        [        [        [        5      [        S[        5      U 5      S:X  d   eg )NrW   r?   rX   r|   r:   FT)r)   r   r2   r.   r1   rw   s      rI   test_recognize_derivativer      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CrH   c                  <   [        S[        S-  -  S[        -  [        -  -   S[        -  -
  [        S-  [        -  -
  [        5      n [        S[        -  [        -   [        [        S-  -   -  [        5      n[        S[        S[        5      [        [        [        5      /0S9n[	        XU[
        5      S:X  d   e[        S[        S[        5      [        S[        -  [        5      /0S9n[	        [        [        S-   [        5      [        [        [        -   [        5      U5      S:X  d   e[	        [        S[        5      [        [        S-  S-
  [        5      U5      S:X  d   e[        S[        S[        5      /0S9n[	        [        S[        5      [        [        S-  S-
  [        5      U5      S:X  d   e[	        [        S[        5      [        [        S-  [        -   [        5      U5      S:X  d   e[        S[        S[        5      [        [        S-  S-   [        5      /0S9n[	        [        S[        5      [        [        S-  S-
  [        5      U5      S:X  d   e[	        [        S[        5      [        [        S-  [        -   [        5      U5      S:X  d   eg )Nr:   r9   rW   r?   rX   TF)r   r1   r2   r)   r-   r4   )r5   rc   rg   s      rI   test_recognize_log_derivativer      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OrH   c                     [        S[        S-  -  [        -
  [        S-  -
  [        5      n [        [        S-  [        S-  [        -  -
  [        5      n[        [        S[        5      [        S[        -  [        5      /[        /S.S9n[        XU[        SS9[        [        S-  [        SS5      -
  [        S	S
9[        SS[        -  [        -  -   S[        S-  -  -
  S[        S-  -  -
  S[        S-  -  [        S-  -  -   [        -  [        [        -  -
  [        S-  -   S[        S-  -  [        S-  -  -   S[        -  [        S-  -  -
  [        SS
94/S4:X  d   e[        XU[        SS9[        [        S-  [        SS5      -
  [        S	S
9[        [        S[        -  [        -  -   [        5      4/S4:X  d   e[        [        S[        -  [        5      [        [        S-  S-
  [        5      U[        SS9[        [        S-  S-
  [        SS
9[        S[        -  [        -  [        -  S[        -  -
  [        SS
94/S4:X  d   e[        [        S[        -  [        5      [        [        S-  S-
  [        5      U[        SS9nU[        [        S-  S-
  [        SS
9[        [        [        -   [        5      4/S4:X  d   e[        US   U[        5      [	        S[	        [        5      -   5      * [	        S[	        [        5      -   5      -   :X  d   e[        S[        S[        5      [        [        S-  * [        [        -  -
  S[        S-  [        S-  -  -
  -
  [        5      /0S9n[        [        S[        S-  -  [        S-  -
  S[        S-  -  -  [        -  S[        S-  -   [        -  -
  [        5      [        [        S-  S-   [        S-  S-  -   [        5      U[        5      [        [        [        R                  -   [        SS
9[        [        S-  S-   [        S-  S-  -   [        SS
94/S4:X  d   e[        S[        S[        5      [        S[        S-  -   [        5      /0S9n[        [        S[        -  [        -  S-   [        S-  -
  [        5      [        [        S-  S[        -  [        -  -   S-   [        S-  -   [        5      U[        5      [        [        S-  [        SS5      -   [        5      [        [        [        -   S[        -  -   [        5      4/S4:X  d   e[        S[        S[        5      [        [        [        5      /0S9n[        [        [        [        5      [        [        [        S5      -   [        5      U[        5      [        [        S-
  [        SS
9[        [        [        S5      -   [        5      4/S4:X  d   eg )Nr:   r;   r?   rW   TfuncsrX   F)invertr9   r_   rE   r<   zZZ(z, x)Tr^   rD   zZZ(z,x)r   ru   rW   rt   )r   r2   r1   r)   r   r!   r4   r   r"   r3   r   Halfr   )r5   rc   rg   anss       rI   test_residue_reducer      s   Qq!tVaZ!Q$"AQTAqDF]AA	Q
D1aL/IVYUZ)[	\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rH   c                     [        SS[        -  -   [        S-  -   S[        S-  -  -   [        S-  -  S[        S-  -   [        -  -   S-   [        S-  -   [        5      n [        S[        5      n[        [        S[        5      [        S[        S-  -   [        5      [        [        S[        S-  -   -  [        5      /[
        [        [        [        [        [        5      5      5      /S.S9n[        XU5      [        S[        [        5      -  5      [        [        5      -  [        [        [        5      5      -   S[        S-  -   S4:X  d   e[        [        S-  [        S-   [        S-  -  -   [        -   [        -   S-   [        -  [        5      n [        XU5      [        [        [        5      -   [        [        [        5      5      -  SS4:X  d   e[        [        [        5      n [        S[        5      n[        [        S[        5      [        S[        -  [        -  [        5      /[        [        [        [        S-  5      5      /S.S9n[        XU5      S[        [        [        S-  5      [        5      S4:X  d   e[        [        S[        5      [        [        [        5      /[        /S.S9n[        XU5      [        [        5      SS4:X  d   e[        S	[        S
-  -  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -
  S[        S-  -  -   S[        -  -   S-
  [        5      n [        S	[        S
-  -  S[        S-  -  -   S[        S-  -  -   S-   [        5      n[        XU5      SS[        [        5      -  -
  * SS	[        S[        -  5      -  -   -  [        S[        S[        -  5      -   5      -   SS4:X  d   e[        [        S[        5      [        [        [        5      [        [        [        -  [        5      /[        [        [        [        [        [        5      5      5      /S.S9n[        [        S[        -  [        S-  -  [        5      [        S[        5      U5      [        S[        [        5      -  5      SS4:X  d   e[        [        S[        5      [        [        [        5      [        [        * [        -  [        5      /[        [        [        [        [        [        5      * 5      5      /S.S9n[        [        S[        S5      -  S[        -  [        S5      -  -
  S[        -  [        -  [        S5      -  -   [        5      [        S[        S5      -  [        S-  [        S5      -  -   S[        -  [        S5      -  -
  [        -  [        5      U5      S[        [        [        5      5      -  S[        S5      -  [        [        S5      -  -   -  SS4:X  d   e[        [        S[        5      [        [        [        5      /[        /S.S9n[        [        [        S-  S-  [        -  [        5      [        S[        5      U5      SS[        -  -
  [        S-  -   [        [        5      -  S-  SS4:X  d   e[        [        S[        -   [        5      [        [        [        5      U5      [        [        * 5      * SS4:X  d   e[        [        [        [        5      [        [        S-   [        5      U5      S[        [        S[        [        5      -   -  [        5      S4:X  d   e[        [        S[        5      [        S[        -  [        5      [        S[        -  [        -  [        5      /[        [        [        [        [        S-  5      5      /S.S9n[        [        S[        S-  -  S[        S-  -  -
  S
[        S-  -  -   [        -
  [        S-  -  S[        -  [        S-  -  S[        -  [        S
-  -  -
  S[        -  [        S-  -  -
  S[        -  [        S-  -  -   S[        -  [        S-  -  -   [        [        -  -
  S[        S-  -  -   S[        S
-  -  -
  S[        S-  -  -
  S[        S-  -  -   S[        S-  -  -   S[        S-  -  -
  [        -
  S-   [        S-  -  -   S[        -  [        S-  -  S[        -  [        S
-  -  -
  S[        -  [        S-  -  -
  S[        -  [        S-  -  -
  S[        -  [        S-  -  -   [        [        S-  -  -   S[        -  [        -  -
  S[        S-  -  -   S[        S-  -  -
  S[        S
-  -  -
  S[        S-  -  -   S[        S-  -  -   S[        S-  -  -
  S
[        S-  -  -
  [        -   S-   [        S-  -  -   S[        -  [        S-  -  S[        -  [        S
-  -  -
  S[        -  [        S-  -  -
  S
[        -  [        S-  -  -   S[        -  [        S-  -  -   S[        -  [        S-  -  -
  [        [        -  -
  S[        S-  -  -   S[        S-  -  -
  S[        S-  -  -
  S[        S
-  -  -   S[        S-  -  -   S[        S-  -  -   S[        S-  -  -
  [        S-  -
  S[        -  -   [        -  -   S[        -  [        S-  -  -   S[        -  [        S
-  -  -
  S[        -  [        S-  -  -
  S[        -  [        S-  -  -   [        [        S-  -  -
  S[        S-  -  -
  S[        S
-  -  -   S[        S-  -  -   S[        S-  -  -
  [        S-  -
  [        S-  -   [        5      [        S[        S-  -  S[        S-  -  -
  S
[        S-  -  -   [        -
  [        S-  -  S[        S-  -  S[        S-  -  -   S[        S
-  -  -
  S[        S-  -  -
  S[        S-  -  -   S
[        S-  -  -   S[        S-  -  -
  [        -
  [        S-  -  -   S[        S-  -  S[        S-  -  -   S[        S-  -  -
  S[        S
-  -  -
  S[        S-  -  -   S[        S-  -  -   S[        S-  -  -
  S[        S-  -  -
  [        S-  -  -   S[        S-  -  S[        S-  -  -   S[        S-  -  -
  S[        S-  -  -
  S
[        S
-  -  -   S[        S-  -  -   [        S-  -
  S[        S-  -  -
  [        -  -   S[        S-  -  -   S[        S-  -  -
  S
[        S
-  -  -   [        S-  -
  [        5      U5      u  p4n[        U5      [        S-
  [        [        5      -  [        [        [        S-  5      -   S[        S-  -  S-
  -  -  * :X  d   eXE4[        [        [        S-  5      [        [        S-  5      S-   -  [        5      S4:X  d   eg )Nr?   r:   r;   r   rX   Tr   Fr[   r<   rC   r@   rA   r9   r]      #      ru   irv         r|      r=   i      rB   )r   rd   r2   r)   r1   r   r   r7   r   r%   r,   r   t0r   )r5   rc   rg   elemnonelembs         rI   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 ,/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!SAY'(** 
+B &aB/	
!#ad)Q/78 8 8 
Q
DAJ/GTWSX)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q#c!f+./*1 
2B%d1R419a&8$q!*bIcRSTWXYTZRZm]^`dMeeee	Q
DRL$PRsSTuVW./Y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/GTWSX)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[/\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WrH   c            	      x   [        S[        S-  -  [        -  S[        S-  -  [        -  -
  S[        S-  -  [        -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S	[        S
-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -   S	[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   [        S-  [        S-  -  -   [        S-  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  [        S-  -   [        S
-  -
  S[        S-  -  -   S[        S-  -  [        -  S[        S
-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  [        S-  [        S-  -  -   [        S-  -   -  [        S-  -  S[        S-  -  [        -  S[        S-  -  [        -  -
  S[        S-  -  [        -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S	[        S
-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -   S	[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  -   S[        S
-  -  -
  S[        S-  -  -   S[        S-  -  [        -  S[        S
-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  [        S-  [        S-  -  -   [        S-  -   -  [        -  -   S[        S-  -  [        -  S[        S-  -  [        -  -   [        [        S-  -  -   [        S-  [        S-  -  -
  [        S-  -   [        S-  -
  S[        S-  -  [        -  S[        S-  -  [        S-  -  -   S[        S-  -  [        S-  -  -
  [        S-  [        S-  -  -   [        S-  -   -  -   [        [        SS9n [        S[        S[        5      [        S[        -  [        5      [        S[        -  [        -  [        5      /0S9n[        X[        5      [        [        [        -
  [        S-  -  S[        -  S[        -  -   [        -  -   [        5      [        S[        -  [        -  [        S-  -   [        S-  -   [        5      S4:X  d   e[        S[        S[        5      [        [        [        5      /0S9n[        [        S[        5      U[        5      [        S[        5      [        S[        5      S4:X  d   eg ) Nir   r<   r]   rv   r>   r:   rA   T   rC      r;      r9   r@      r=   rk   8   F      (   r^   rU   FexpandrW   r?   rX   Tr   )r   r1   r   rd   r4   r)   r$   re   s     rI   *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( ( ( (rH   c            
      F	   [        S5      u  p[        U [        -  [        5      n[        UR                  UR
                  U5      [        [        [        [        U 5      -  5      [        U 5      -  [        [        U 5      S5      4[        S45      SS4:X  d   e[        X[        -  -  [        5      n[        UR                  UR
                  U5      [        [        U[        -  [        U 5      -  5      U[        U 5      -  -  [        U[        U 5      -  S5      4[        S45      SS4:X  d   e[        [        U [        -  5      [        5      n[        UR                  UR
                  U5      [        [        U [        -  5      U -  [        U S5      4[        S45      SS4:X  d   e[        [        [        U [        -  5      -  [        5      n[        UR                  UR
                  U5      [        U [        -  S-
  [        U [        -  5      -  U S-  -  [        U S-  S5      4[        S-  S-  S45      SS4:X  d   e[        [        S-  [        U [        -  5      -  [        5      n[        UR                  UR
                  U5      [        [        S-  U S-  -  SU -  [        -  -
  S-   [        U [        -  5      -  U S-  -  [        U S-  S5      4[        S-  S-  S45      SS4:X  d   e[        [        [        -  [        -   [        5      n[        UR                  UR
                  U5      [        [        [        [        5      [        -  5      [        [        5      -  [        [        [        5      S5      4[        S45      [        S4:X  d   e[        [        [        -  [        -   [        S[        -  -  -   [        5      n[        UR                  UR
                  U5      [        [        S[        [        5      -  [        -  5      [        [        5      -  S[        [        [        5      [        -  5      -  [        [        5      -  -   S[        [        5      S-  -  -  [        S[        [        5      S-  -  S5      4S[        -  S45      [        S4:X  d   eg )Nza br   Tr?   r:   r;   )r   r)   r1   r%   fafdr   r   r   r
   r6   r4   )r5   r   rg   s      rI   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	<   rH   c                  r   [        S5      u  pn[        S[        * -  SU-  S-   -  U5      S[        * -  U-  S[        * -  [        SU-  S-   5      -  [        S5      -  -
  :X  d   e[        XU-
  -  X-  S-   -  U5      [	        U* [        U 5      -  5      [        X-  S-   5      -  [        U 5      -  :X  d   eg )Nza t sr:   r?   )r   r*   r	   r   r   )r5   r2   ss      rI   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+, , ,rH   c                     [        [        S[        5      [        S[        -  [        5      /[        /S.S9n [        [        [        [        5      [        S[        5      U 5      [        [	        [        5      -  SS4:X  d   e[        [        [        [        5      [        [        [        5      U 5      S[        [        [	        [        5      -  [        5      S4:X  d   e[        [        S[        5      [        S[        -  [        5      [        S[        S-   -  [        5      /[        [        [        [	        [        S-   5      5      /S.S9n [        [        [        [        5      [        [        [        5      U 5      S[        [	        [        5      [	        S[        -   5      -  [        5      S4:X  d   e[        [        S[        5      [        S[        -  [        5      [        S[        [        -  -  [        5      /[        [        [        [	        [	        [        5      5      5      /S.S9n [        [        [        [        5      [        [        [        5      U 5      S[        [	        [	        [        5      5      [	        [        5      -  [        5      S4:X  d   e[        [        S[        5      [        S[        -  [        5      /[        /S.S9n [        [        [        S-  [        S	-  -  S	[        S-  -  [        -   [        S-  -  -   S	[        S-  -  S[        -  -   [        -  -   [        S-  -   [        -   [        5      [        [        S-  [        S
-  -  S
[        S-  -  [        S	-  -  -   S[        S-  -  [        S-  -  -   S
[        S-  -  [        -  -   [        S-  -   [        5      U 5      S[	        [        5      S-   -  [        S[	        [        5      S-   -  [        5      S4:X  d   eg )Nr?   r   rX   ru   Tr   Fr:   r;   r9   r<   )r)   r   r1   r2   r   r#   r,   rd   t2r   r7   r   rq   s    rI   test_integrate_primitiver     s(   	Q
D1aL/I%* 
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^/_q#a!e*-.*0 
1BtB|T"b\2>	
!#a&QU"3Q7?@ @ @ 
Q
D1bM4PQSTUWSWPXZ\K]/^q#c!f+./*1 
2BtB|T"b\2>	
!#c!f+c!f"4a8%@A A A 
Q
D1bM/J%* 
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rH   c            	         [        S[        S[        5      [        [        S-  S-   [        5      /0S9n [	        [        [        S-  [        [        -  -   S-   [        5      U 5      [        [        [        5      [        [        S-  [        5      4:X  d   e[        S[        S[        5      [        [
        [        S-  S-   -  [        5      /0S9n [	        [        [        S-  [        5      U 5      [        SS[
        -  -  [        S-  -  SS[
        -  -  [        S-  -  -
  [        5      [        SS[
        -  -  [        5      4:X  d   eg )NrW   r?   r:   rX   r@   r9   )r)   r   r1   r2   r&   r5   rq   s    rI   &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rH   c            
         [        [        S-  [        S-  -  [        [        S-  -  -   [        S-  [        S-  -  -
  [        [        S-  S-   -  [        S-  -  -
  [        S-  [        S-  -
  [        -  -
  [        S-  S-  -
  [        5      [        [        S-  [        S-  -  [        S-  [        S-  S-   -  [        S-  -  -   [        S-  -   [        S-  -   [        S-  S-  -   [        5      p[	        S5      n[        [        S[        5      [        [        S-  * [        [        -  -
  S[        S-  [        S-  -  -
  -
  [        5      /U/S.S	9n[        XU5      [        SU" [        5      S-  -   [        S-  S-  -   5      * S-  S
[        S-  -
  SS[        S-  -  -   SU" [        5      S-  -  -   -  -   S4:X  d   e[        [        [        [        5      [        S[        5      U5      S:X  d   eg )Nr:   r@   r9   r;   r?   r<   phi_nur   rX   rU   T)r   F)r   r1   r2   r3   r   r)   r'   r   )r5   rc   frg   s       rI   $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/01=>C*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  rH   c            
         [        [        [        S-  [        S-  S-   [        [        SS5      -  /5      [        S-  [        S4[        S-  S4[        [        SS5      -  S4/4S[        S-  -   S[        S-  -   S4/4/:X  d   eg )Nr:   r?   r;   r<   r9   )r(   r1   r   rG   rH   rI   test_integer_powersr     s    1ac1a4!8Qx1~-=>?qSAq6AaC8aA&6%:;<AXQT1'D) ) ) )rH   c                     [        [        [        5      [        [        S-  5      -   [        5      R                  [	        [
        [        -   [
        5      [	        S[
        5      [	        S[        5      [	        [        [        5      [	        S[        -  [
        -  [
        5      /[        [        [
        /[        [        [        [        5      5      [        [        [        [        S-  5      5      // / SQS [        [        S-  /4:X  d   e[        [        [        5      [        S[        -  5      -   [        5      R                  [	        [        S-  [        -   [        5      [	        S[        5      [	        S[        5      [	        [        [        5      /[        [        /[        [        [        [        5      5      // S S/S [        /4:X  d   e[        [        [        5      [        [        S-  5      -   [        5      R                  [	        [        S-  [        -   [        5      [	        S[        5      [	        S[        5      [	        [        S-  [        5      /[        [        /[        [        [        [        S-  5      5      // S S/S [        S-  /4:X  d   e[        [        [        5      [        [        S-  5      -   [        [        [        S-  -   5      -   [        5      R                  [	        S[        -   [
        -  [        -   [
        5      [	        S[
        5      [	        S[        5      [	        [        [        5      [	        S[        -  [
        -  [
        5      /[        [        [
        /[        [        [        [        5      5      [        [        [        [        S-  5      5      // / SQS [        [        S-  /4:X  d   e[        [        [        5      [        [        S-  5      -   [        [        [        S-  -   S-   5      -   [        5      R                  [	        S[        R                  [        -  -   [
        -  [        -   [
        5      [	        S[
        5      [	        S[        5      [	        [        [        5      [	        S[        -  [
        -  [
        5      /[        [        [
        /[        [        [        [        5      5      [        [        [        [        S-  5      5      // / SQS [        [        S-  /4:X  d   e[        [        [        5      [        [        S-  5      -   [        [        S-  [        S-  -   5      -   [        5      R                  [	        [        S-   [
        -  [        S-  -   [
        5      [	        S[
        5      [	        S[        5      [	        [        S-  [        5      [	        S[        -  [
        -  [
        5      /[        [        [
        /[        [        [        [        S-  5      5      [        [        [        [        S-  5      5      /[        [        S-  5      [        [        [        5      5      4// SQS [        S-  [        S-  /4:X  d   e[        [        [        5      [        [        S-  5      -   [        [        S-  [        S-  -   S-   5      -   [        5      R                  [	        [        [        S5      -  S-   [
        -  [        S-  -   [
        5      [	        S[
        5      [	        S[        5      [	        [        S-  [        5      [	        S[        -  [
        -  [
        5      /[        [        [
        /[        [        [        [        S-  5      5      [        [        [        [        S-  5      5      /[        [        S-  5      [        [        [        5      5      4// SQS [        S-  [        S-  /4:X  d   e[        [        [        [        5      5      [        5      R                  [	        [        [        5      [	        S[        5      [	        S[        5      [	        [        S-  [        5      /[        [        /[        [        [        [        S-  5      5      /[        [        S-  5      [        [        [        5      5      4/S S/S [        S-  /4:X  d   e[        [        [        S-  5      [        5      R                  [	        [        [        5      [	        S[        5      [	        S[        5      [	        [        S-  [        5      /[        [        /[        [        [        [        S-  5      5      // S S/S [        S-  /4:X  d   eg )Nr:   r?   Nr   r   r   r;   )r)   r   r1   _important_attrsr   rd   r   r   r7   r   Exp1r   rG   rH   rI   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+	?? ? ?rH   c                     [        [        [        5      [        [        S-   5      -  [        S[        S-  -  S[        -  -   5      -  [        5      R                  [	        [
        [        S-  -  [
        [        S5      -  [
        S-  -   [        -  -   [        5      [	        S[        5      [	        S[        5      [	        S[        -  [
        5      [	        S[        S-   -  [        SS9/[        [
        [        /[        [        [        [        5      5      [        [        [        [        S-   5      5      // / SQS [        [        S-   /4:X  d   e[        [        [        -  [        [        5      -  [        5      R                  [	        [
        [        -  [        5      [	        S[        5      [	        S[        5      [	        S[        -  [
        5      [	        S[
        -   [        -  [        5      /[        [
        [        /[        [        [        [        5      5      [        [        [        [
        [        -  5      5      /[        [        [        [        5      -  5      [        [        -  4// SQS [        [
        [        -  /4:X  d   eg )Nr?   r:   Fr   )Nr   r   Nr   r   )
r)   r   r1   r   r   r   rd   r   r7   r   rG   rH   rI   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$	  rH   c                     [        [        [        [        -  5      [        5      R                  [	        [
        [        -  [        5      [	        S[        5      [	        S[        5      [	        S[        -  [
        5      [	        [
        S-   [        -  [        5      /[        [
        [        /[        [        [        [        5      5      [        [        [        [        [
        -  5      5      /[        [        [        [        5      -  5      [        [        -  4// SQS [        [
        [        -  /4:X  d   e[        [        [        [        -  5      [        5      R                  [	        [        [
        -  [
        5      [	        S[
        5      [	        S[        5      [	        S[        -  [
        5      /[        [
        /[        [        [        [        5      5      /[        [        [        5      -  [        [        [        -  5      4/S S/S [        /4:X  d   e[        [        [        [        5      5      [        5      R                  [	        [
        [
        5      [	        S[
        5      [	        S[        5      [	        S[        -  [
        5      /[        [
        /[        [        [        [        5      5      /[        [        5      S-  [        [        [        5      5      4/S S/S [        /4:X  d   eg )Nr?   r   r   r:   )r)   r   r1   r   r   r   rd   r   r7   r   r6   r   rG   rH   rI   !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		  rH   c                     [        [        [        5      [        [        5      -  [        SS9R                  [        [        [        -  [        5      [        S[        5      [        S[        5      [        S[        -  [        5      [        [        [        5      /[        [        [        /[        [        [        [        5      5      [        [        [        [        5      5      // / SQS [        [        /4:X  d   e[        [        [        5      [        [        5      -  [        SS9R                  [        [        [        -  [        5      [        S[        5      [        S[        5      [        [        [        5      [        S[        -  [        5      /[        [        [        /[        [        [        [        5      5      [        [        [        [        5      5      // / SQS [        [        /4:X  d   e[        [        [        -  * [        [        5      S-  -  [        [        -  -   [        [        -  [        -  -
  [        SS9R                  [        [        [        -  * [        [        5      S-  -  [        [        -  -   [        [        -  [        -  -
  [        SS9R                  s=:X  Ga  [        S[        -   [        [        S-  -  -
  [        -  [        5      [        [        [        5      [        S[        5      [        S[        -  [        5      [        S[        -   [        -  [        5      /[        [        [        /[        [        [        [        5      5      [        [        [        [        [        -  5      5      /[        [        [        [        5      -  5      [        [        -  4// SQS [        [        [        -  /4:X  d   e   eg )	Nr   handle_firstr?   r   r   )Nr   r   r:   ru   )
r)   r   r1   r   r   r   r   rd   r   r7   rG   rH   rI   '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 3rH   c                    ^  [        [        [        5      [        [        5      -  [        SS9m T R                  [        [        5      [        [        5      -  :X  d   eT R
                  [        [        -  :X  d   eT R                  [        :X  d   eT R                  / SQ:X  d   eT R                  S:X  d   eT R                  S:X  d   eT R                  [        s=:X  a  T R                  T R                     :X  d   e   eT R                  [        S[        -  [        5      s=:X  a  T R                  T R                     :X  d   e   e[!        ["        U 4S j5        T R%                  5         T R                  S:X  d   eT R                  [        s=:X  a  T R                  T R                     :X  d   e   eT R                  [        [        [        5      s=:X  a  T R                  T R                     :X  d   e   eT R                  S:X  d   eT R%                  5         T R                  S	:X  d   eT R                  [        s=:X  a/  T R                  T R                     s=:X  a  T R                  :X  d   e   eT R                  [        S[        5      s=:X  a  T R                  T R                     :X  d   e   eT R                  S
:X  d   e[!        ["        U 4S j5        T R'                  5         T R'                  5         T R                  S:X  d   eT R                  [        s=:X  a  T R                  T R                     :X  d   e   eT R                  [        S[        -  [        5      s=:X  a  T R                  T R                     :X  d   e   eT R                  S:X  d   eT R)                  S5      S/:X  d   eT R)                  S5      S/:X  d   eg )Nr   r   )baser   	primitiver   ru   r?   c                  $   > T R                  5       $ N)increment_levelrq   s   rI   rM   6test_DifferentialExtension_all_attrs.<locals>.<lambda>      r113rH   r^   rV   r   c                  $   > T R                  5       $ r   )decrement_levelrq   s   rI   rM   r   '  r   rH   r   r:   )r)   r   r1   r   r   newfr   rd   casescaselevelr2   Trc   r   rW   r0   rO   r   r   indicesrq   s   @rI   $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###rH   c            
      H   [        [        S 5        [        S[        S[        5      [        [
        [
        5      /0S9n U R                  S S [        S[        5      [        [
        [
        5      /[        [
        /S S S S 4:X  d   eU R                  [        [
        [
        5      :X  d   eU R
                  [
        :X  d   eU R                  S:X  d   eU R                  SS/:X  d   eU R                  [        :X  d   eU R                  S:X  d   e[        [        S[        5      [        [
        [
        5      /S S/S [        /S.S9n U R                  S S [        S[        5      [        [
        [
        5      /[        [
        /S S S S/S [        /4:X  d   e[        [        S	 5        g )
Nc                  ,    [        S[        [        /0S9$ )Nr   rX   )r)   r1   r2   rG   rH   rI   rM   ;test_DifferentialExtension_extension_flag.<locals>.<lambda>5  s    4aV}MrH   rW   r?   rX   ru   r   r   )rW   extsextargsc                      [        5       $ r   )r)   rG   rH   rI   rM   r   D  s    46rH   )r0   rO   r)   r   r1   r2   r   rc   r   r   r   rq   s    rI   )test_DifferentialExtension_extension_flagr   4  se   
: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4)*5 
6B4Q
DAJ/G!QdT5MD!9#. . . .
:67rH   c                     [        [        [        5      [        [        5      -  [        5      R
                  [        [        [        5      [        -  [        SS9[        S[        SS9[        S[        SS9[        [        [        SS9/[        [        /[        [        [        [        5      5      // S S/S [        /4:X  d   e[        [        S 5        [        S[        -  [        5      R
                  [        [        [        5      [        S[        5      [        S[        5      [        [        S5      [        -  [        5      /[        [        /[        [        [        [        [        S5      -  5      5      /[        [        [        S5      -  5      S[        -  4/S S/S [        [        S5      -  /4:X  d   e[        [        [        5      [        [        S-  5      -   [        5      R
                  [        S	[        -  [        5      [        S[        5      [        S[        5      [        S[        -  [        5      /[        [        /[        [        [        [        S-  5      5      // S // S/[        S-  /4
[        S	[        -  [        5      [        S[        5      [        S[        5      [        S[        -  [        5      /[        [        /[        [        [        [        5      5      // S S
/S [        /44;   d   e[        [        R                  [        5      R
                  [        S[        5      [        S[        5      [        S[        5      /[        // / S /S /4:X  d   e[        [        [!        [        5      R#                  [        5      5      [        5      R
                  [        [        [        5      [        S[        5      [        S[        5      /[        // / S /S /4:X  d   eg )Nz
ZZ[sin(y)]rE   r?   rp   r   c                  <    [        [        [        5      [        5      $ r   )r)   r   r1   rG   rH   rI   rM   1test_DifferentialExtension_misc.<locals>.<lambda>M  s    (=c!fa(HrH   rC   r:   r;   r   r   )r)   r   r6   r   r1   r   r   r   r   r7   r0   NotImplementedErrorr   r   rR   r   r   rewriterG   rH   rI   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rH   c                     S[        [        5      -  S-   S[        S[        -  5      -  S[        [        5      S-  -  -   S[        [        5      -  -   S-   -  [        S[        [        5      S-   -  S[        -  -
  5      -  n [        U [        5      R                  [	        SS[
        -  -   [        -  [        5      [	        SS[
        -  -   S[
        S-  -  -   S[
        S-  -  -   [        5      [	        S[        5      [	        [
        [
        5      [	        SS	[
        -  -   S[
        S-  -  -   * SS[
        -  -   [
        S-  -   -  [        -  [        S
S9/[        [
        [        /[        [        [        [        5      5      [        [        [        S[
        S-   -  S[        -  -
  5      5      // / SQS [        S[
        S-   -  S[        -  -
  /4:X  d   eg )Nl   F3 ihi ar;   i ?#r:   r?   rC   rZ   zZZ(t0)rE   r   )	r   r1   r)   r   r   r   rd   r   r7   )r   s    rI   $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:	<< < <rH   c                       \ rS rSrSrSrg)_TestingExceptionij  z"Dummy Exception class for testing.rG   N)__name__
__module____qualname____firstlineno____doc____static_attributes__rG   rH   rI   r   r   j  s    ,rH   r   c                     [        [        [        [        [        5      S-   5      -  [        5      n U R                  S:X  d   eU R
                  [        :X  d   eU R                  [        [        [        S-   -  [        5      :X  d   eU R                  S:X  d   e[        U 5         U R                  S:X  d   eU R
                  [        :X  d   eU R                  [        [        [        5      :X  d   eU R                  S:X  d   e[        U 5         U R                  S:X  d   eU R
                  [        :X  d   eU R                  [        S[        5      :X  d   eU R                  S:X  d   e S S S 5        U R                  S:X  d   eU R
                  [        :X  d   eU R                  [        [        [        5      :X  d   eU R                  S:X  d   e S S S 5        U R                  S:X  d   eU R
                  [        :X  d   eU R                  [        [        [        S-   -  [        5      :X  d   eU R                  S:X  d   e [        U 5         [        e! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       O= f [        S5      e! [         a     Of = fU R                  S:X  d   eU R
                  [        :X  d   eU R                  [        [        [        S-   -  [        5      :X  d   eU R                  S:X  d   eg )	Nr?   ru   r   r^   r   rV   r   zDid not raise.)r)   r1   r   r   r   r2   rd   rc   r   r   r   r+   r   AssertionErrorrq   s    rI   test_DecrementLevelr   o  si   	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   $A*I%AI*A&I%J I6
I"	I%%
I36
J J 
J J c            
      J	   [        [        [        [        5      -  [        5      [        [        [        5      -  :X  d   e[        [	        [        5      [        SS9[        [
        [        -  5      * S-  [        [
        * [        -  5      S-  -
  :X  d   e[        SS[        S-  -  -   [        S-  -   S[        S-  -  [        S[        S-  -  5      -  -   [        S-  [        [        S-  5      -  S[        S-  -  [        [        S-  5      -  -   [        [        S-  5      -   -  [        5      [        [        [        S-  * 5      [        5      [        [        S-  5      S[        S-  -   -  -   :X  d   e[        S[        5      S:X  d   e[        [        [        [        5      -  S-   5      n [        U [        5      nU[        [        [        [        [        * 5      -  S-   5      -  [        [        S-  [        -
  [        [        [        5      -   -  [        5      -   :X  d   e[        [        U[        5      U -
  5      S:X  d   e[        S[        -  5      S-  [        S[        -  5      S-  -
  [        -  [        SS[        -  -
  5      S-  [        SS[        -  -   5      S-  -
  [        -  -
  n[        U[        5      nU[        S[        -  5      [        SS[        -  -
  5      -  S-  [        S[        -  5      [        SS[        -  -   5      -  S-  -
  [        [
        [        -  [        S-  -  S[        -  [        S[        -  5      -  -
  [
        [        -  -
  S[        S-  -  S[        -  -
  -  [        5      -   :X  d   e[        [        [        U[        5      U-
  5      SS	9S:X  d   e[        [        [        [        -  5      [        5      [        S-  [        [        5      -  S-  [        S-  S-  -
  :X  d   e[        [        [        [        -  5      [        5      [        [        [        [        -  5      -  [        [        -  -
  :X  d   e[        [        [        [        5      5      [        5      [        [        [        [        5      5      -  [        S-  -
  :X  d   eg )
NT)rewrite_complexr:   r?   r9   r;   r   ru   )force)r*   r   r   r1   r   r   r,   r   r   r   r6   r	   r   r   )e1ans1e2ans2s       rI   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CrH   c                      [        S[        [        5      -  S[        S[        -  5      -  -
  [        S[        -  5      -  [        5      S[        S[        -  5      -  S[        S[        -  5      -  -
  :X  d   eg )Nig3333333@r9   g333333r]   g      (@r@   )r*   r   r1   rG   rH   rI   test_risch_integrate_floatr     sd    CAJc!A#h6AaC@!DSQRSTQTXX\]`abcdad]eXeHeeeerH   c                     [        [        [        [        S-  5      [        5      [        5      (       d   e[        [        [        [        -  [        [        5      -  [        5      [        5      (       d   e[        [	        [        [        -  [        -  [        5      R                  [        [        [        5      5      [        5      (       d   eg )Nr:   )
isinstancer*   r   r1   r,   r   r   subsrG   rH   rI   test_NonElementaryIntegralr     s    oc!Q$i35JKKKKoad3q6k157LMMMM+AqDGQ7<<RQHJ_````rH   c                      [        [        [        -  [        5      n U [        [        [        -  [        5      :X  d   e[        U [        5      (       d   eg r   )r*   r1   r,   r   )r5   s    rI   test_xtothexr     s@    1a A%adA....a.////rH   c                  N    [        [        [        5      [        5      =pX:X  d   eg r   )r)   r   r1   )DE1DE2s     rI   #test_DifferentialExtension_equalityr    s    %c!fa00C::rH   c            	          [        [        S[        S-  -  5      [        [        [        S-  5      S-   5      -   [        5      n [	        U 5      S:X  d   e[        U 5      S:X  d   eg )Nr:   r?   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)')]}))r)   r   r1   r   reprstrrq   s    rI   #test_DifferentialExtension_printingr    sh    	s1QT6{SQTQ-??	CB8     r7 : ; ; ;rH   c            	      `	   S[         S-  -  S[         S-  -  -   S[         S-  -  -
  S[         S-  -  -   S	[         -  -
  [        [         5      S-  -  S
[         S-  -  S[         S-  -  -   S[         S-  -  -
  S[         S-  -  -   S[         S-  -  -
  [        [         5      -  -   S[         S-  -  S[         S-  -  -
  S[         S-  -  -   S[         S-  -  -
  S	[         -  -   [        [         5      -  -   S[         S-  -  S[         S-  -  -
  S[         S-  -  -   S[         S-  -  -
  S	[         -  -   [        S5      -  -   S[         S-  -  -
  S[         S-  -  -   S[         S-  -  -
  S[         S-  -  -   S[         S-  -  -   S	[         S-  -  -
  [        [        [         5      S-  * S[         -  [        [         5      -  -
  [        [         5      -   [        S5      -   [         S-  -
  [         -
  5      S-  -  S[         S-  -  S[         S-  -  -
  S[         S-  -  -   S[         S-  -  -
  S[         -  -
  S-   [        [         5      -  S[         S-  -  S[         S-  -  -   S[         S-  -  -
  S[         S-  -  -   S[         -  -
  [        [         5      -  -   S[         S-  -  -   S[         S-  -  -
  S[         S-  -  -   S[         S-  -  -
  S[         S-  -  -
  S[         -  -   [        [        [         5      S-  * S[         -  [        [         5      -  -
  [        [         5      -   [        S5      -   [         S-  -
  [         -
  5      -  -   [         [        [         5      S-  -  [        [         5      S-  -  S[         S-  -  [        [         5      S-  -  [        [         5      -  -   [         [        [         5      S-  -  -
  [         * [        S5      -  [         S-  -   [         S-  -   [        [         5      S-  -  -   -  n [         S-  S[         S-  -  -
  S[         S-  -  -   S[         -  -
  S-   [        S[         -  5      -  [        [         S-  * S[         -  [        [         5      -  -
  [         -
  [        [         5      -   [        [         5      S-  -
  [        S5      -   5      S-  -  n[        U [         5      U:X  d   eg )Nr^   r@   r   r9      r;   iD  r:   i  rU   r<   r   i   i  i  rA      t      6   ,         l   r   r   *   i  r=   Q   )r1   r   r   r*   )r   r}   s     rI   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%%%rH   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.pytestr0   	sympy.abcr1   r2   r3   r4   r5   r6   r   rd   r   r7   rJ   rP   rS   rh   rm   rr   rx   rz   r   r   r   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  rG   rH   rI   <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
; &rH   