
    \h                        S SK Jr  S SKJr  S SK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  S SKJr  S S	KJrJrJrJrJrJr  S S
KJrJrJrJr  S SKJr  S SK J!r!J"r"  S SK#J$r$  S SK%J&r&J'r'J(r(J)r)J*r*J+r+J,r,  S SK-J.r.J/r/  S SK0J1r1J2r2J3r3  S SK4J5r5J6r6J7r7J8r8J9r9  S SK:J;r;J<r<  S SK=J>r>J?r?  S SK@JArA  S SKBJCrCJDrD  S SKEJFrFJGrGJHrHJIrI  S SKJJKrK  S SKLJMrM  S SKNJOrO  S SKPJQrQ  S SKRJSrS  S SKTJUrUJVrV  S SKWJXrX  \"" S5      u  rYrZr[r\r]r^\"" SS S!9r_S" r`S# raS$ rbS% rc\VS& 5       rd\VS' 5       reS( rfS) rgS* rh\VS+ 5       riS, rjS- rkS. rlS/ rmS0 rnS1 roS2 rpS3 rqS4 rrS5 rsS6 rtS7 ruS8 rvS9 rwS: rxS; ryS< rzS= r{S> r|S? r}S@ r~SA rSB rSC rSD rSE rSF rSG rSH rSI rSJ rSK rSL rSM rSN rSO rSP rSQ rSR rSS rST rSU rSV rSW rSX rSY rSZ rS[ rS\ r\VS] 5       rS^ rS_ rS` rSa rSb rSc rSd rSe rgf)g    )Sum)Add)Basic)Tuple)	unchanged)Functiondiffexpand)Mul)Mod)FloatIRationaloopizoo)EqGeGtNe)S)Symbolsymbols)	factorial)Absadjointarg	conjugateimre	transpose)explog)MaxMinsqrt)	Piecewisepiecewise_foldpiecewise_exclusive	UndefinedExprCondPair)cossin)
DiracDelta	Heaviside)KroneckerDelta)Integral	integrate)AndITENotOr)MatrixSymbol)srepr)Contains)Interval)solve)raisesslow)lambdifyz	a:d, x, yzT)nonzeroc                      [        [        [        S:  45      R                  S5      (       d   e[        [         [	        [        [        S:  5      [	        SS5      5      (       d   e[        [        [        S:  4S5      [        [	        [        [        S:  5      [	        SS5      5      :X  d   e[        [        [        S:  4SS5      [        [        [        S:  4S5      :X  d   e[        [        [        S:  4SSSS	:  45      [        [        [        S:  45      :X  d   e[        [        [        S:  4S[        S:  4S5      [        [        [        S:  4S5      :X  d   e[        [        [        S:  4S[        S	:  4S5      [        [        [        S:  4S5      :X  d   e[        [        [        S:  4[        [        S	:  4S5      [        [        [        [        S:  [        S	:  5      4S5      :X  d   e[        [        [        S:  4[        [        S	:  4[        S45      [        :X  d   e[        [        S45      [        :X  d   e[        [        S
 5        [        S	[        -  [        S:  4[        S45      [        S	[        -  [        S:  4[        S4SS9s=:X  a   [        S	[        -  [        S:  45      :X  d   e   e[        [        S45      [        :X  d   e[        [        S 5        [        [        S45      [        :X  d   e[        [        S 5        [        [        S 5        [        [        S 5        [        S5      [        SS	5      :X  d   e[        S[        S:  4S5      [        :  n [        SU 45      [        S[        [        S:  [        S:  [        S	:  5      45      :X  d   e[        S[        S:  4S	[        [        S:*  [        S:  5      45      [        S[        S:  4S	[        S:  45      :X  d   e[        S[        S:*  4S	[        S:  [        S:  -  45      [        S[        S:*  45      :X  d   e[        S[        [        S:*  [        S:  [        [        [        R                  5      5      4S5      nUR!                  [        ["        5      S:X  d   eUR!                  [        S	5      S:X  d   eUR!                  [        S5      S:X  d   e[        S[        S:  4[        S	-  [        S:  4[%        [        5      [        S:  45      n[        S[        S	-  S:  4[        S-  [        S	-  S:  4[%        [        S	-  5      [        S	-  S:  45      nUR!                  [        [        S	-  5      U:X  d   eUR!                  [        S5      S:X  d   eUR!                  [        S5      S:X  d   eUR!                  [        S5      [%        S5      :X  d   e[        S[        ["        :  4S[        S	["        -  :  4S[        S	["        -  :  45      n[        S['        [        S5      4S[        -  S45      n[        S['        [        S5      4S	S[        -  S	:  45      nUR!                  [        S	5      S:X  d   eUR!                  [        S5      S:X  d   eUR!                  [        S5      S:X  d   eUR!                  [        S5      S:X  d   eUR!                  [        S5      S:X  d   e[)        S[*        S9u  pxn	[        U" [        5      [        S:  4U" [        5      U	" [        5      -   S	-   [        S:*  45      n
[        U" [        5      [        S:  4U" [        5      U	" [        5      -   S	-   [        S:*  45      nUR!                  X5      U
:X  d   e[        S['        [        S5      4S5      R!                  [        S5      S:X  d   e[        S['        [        S5      4S5      R!                  [        S5      S:X  d   e[        S['        [        [        5      4S5      R!                  [        [        5      S:X  d   e[        S['        [        [,        5      4S5      R!                  [        [,        5      S:X  d   e[        S['        [/        [        5      [1        [,        5      5      4S5      R!                  [        [,        5      [        S['        [/        [,        5      [1        [,        5      5      4S5      :X  d   e[        S['        [1        [        5      [        -   S5      4S5      nUR!                  [        S5      [        S['        [1        [        5      S5      4S5      :X  d   e[        S[        S:  4S[        S:  4S['        [        S5      4S5      R!                  [        S5      [        S[        S:  4S5      :X  d   e[        S['        [        S	-  S5      4S	[        S:  45      R!                  [        [2        5      S:X  d   e[        [        [        S:  45      n[)        SSS9nUR!                  [        U5      [        :X  d   eUR5                  5       [        S[        S:  4[        S	-  [        S:  4[%        [        5      S45      :X  d   eUR5                  [        S0S9S:X  d   eUR5                  [        S0S9S:X  d   eUR5                  [        S0S9[%        S5      :X  d   eUR5                  [        S0S9[        :X  d   e[        [7        [        [        SS45      [        S:  45      nUR9                  5       [        [        R:                  [        S:  45      :X  d   e[        n[        U-  n[        S[        S:  4S	[        -  [        S:  4S[        -  [        S:  45      n[        U-  U-   n[=        U[        5      U:X  d   e[=        Xr-  [        5      U:X  d   e[        U-  U:X  d   e[        U-  U-   U[        U-  -   :X  d   eX'-   Xr-   :X  d   eUU-   UU-   :X  d   eUU-
  UU-
  * :X  d   e[        S[        S:  4S[        S	-  -  [        S:  4S[        S	-  -  [        S:  45      nUS	-  U:X  d   e[        [        -  S	-   n[        [        S	-  -  S -   n[        U[        S:  4U[        S:  45      nUR!                  [        S5      UR!                  [        S5      -
  UR!                  [        S5      -   UR!                  [        S5      -
  nUR?                  [        SS5      S:X  d   eUR?                  [        SS5      U:X  d   e[        U[        S:  4US45      nUR?                  [        SS5      S:X  d   eUR?                  [        SS5      U* :X  d   eUR?                  [        SS5      UR!                  [        S5      UR!                  [        S5      -
  :X  d   eUR?                  [        SS5      U:X  d   eUR?                  [        S S5      UR!                  [        S5      :X  d   eUR?                  [        SS 5      UR!                  [        S5      * :X  d   eURA                  5       [        [        * [        S:  4[        S -  S -  [C        SS 5      -   [        S:  4[        [%        [        5      -  [        -
  [C        SS 5      -   S45      :X  d   e[        [        [        S:  4[        S	-  S[        :*  4[        S [        :  45      n[A        U[        SS	45      [C        S!S5      :X  d   e[A        U[        S	S45      [C        SS5      :X  d   e[        S[        S:  4S[        S:  4S[        S	:  4S[        S :  4S5      n[A        U[        [D        * [D        45      S	:X  d   e[        [        [        S":  4[        S	-  [        S:*  4[        S[        :  45      n[A        U[        SS	45      [        :X  d   e[G        U[         5      (       a  URH                  SL d   eg )#Ng      ?   r   Tr   TrB   T)r   F   c                      [        5       $ Nr'        g/var/www/auris/envauris/lib/python3.13/site-packages/sympy/functions/elementary/tests/test_piecewise.py<lambda>!test_piecewise1.<locals>.<lambda>8   s    ikrK   Fevaluatec                       [        [        5      $ rH   r'   xrJ   rK   rL   rM   rN   >   s    ilrK   c                  $    [        [        S45      $ NrF   rR   rJ   rK   rL   rM   rN   @   s    iA/rK   c                  2    [        [        [        S-  45      $ rU   rR   rJ   rK   rL   rM   rN   A   s    iAqD	2rK   c                      [        S/S45      $ NrB   TrI   rJ   rK   rL   rM   rN   B   s    i!d4rK   ))rB   rF   TrF   T         
           zf,g,h)clsn)negativeg      )subs      )%r'   rS   hasr   r+   r6   r<   	TypeErrorr*   r   yr4   r3   r9   r   Integersrd   r   r#   r   r   r   r?   r"   r,   r   evalfr1   doitHalfr	   _eval_intervalr2   r   r   
isinstanceis_commutative)condpwisepp_x2p2p3p4fghpfpgp5p6ra   f_intfpdpfp_dxdp2f1f2pevalpeval_intervalpeval2s                            rL   test_piecewise1r   $   s8    aR[!%%c****YQA 6Q8MNNNNaQZ+yaQ9O9Ea9N0P P P PaQZI61a!e*i() ) )aQZb!a%[91a!e*  aQZ!QUY71a!e*i() ) )aQZ!QUY71a!e*i() ) )aQZ!QUY71bQA&'34 4 4aQZ!QUaY71<<<aY1$$$
9)*ac1q5\Au:.1Q3A,E
U; 1Q3A,          aZ I---
9*+aV!!!
9/0
923
945^$a333q!a%j),q0DaY 
3q1ua!eQU3456 6 6 aQZ!SaR%8!9 
1q5zAq2v;/0 0 0aa[1q1uR&8"9 
16{#$ $ $ 	
CQAx1::678E ::a!!!::aq   ::aq    	2q2v,Aq1uAQ/?@Ab!Q$)_q!tQTAX&6QTAqDAI8NOD66!QT?d"""66!R=B66!R=A66!Q<3q6!!! 
Aq2v;Q2XA"H	>B	Ar!Qx=1Q3+	.B	Ar!Qx=1ac!e*	-B771a=A771a=B771b>Q771c?a771c?a g8,GA!	AaD!b&>AaD1Q4K!OQ!V#<	=B	AaD!b&>AaD1Q4K!OQ!V#<	=B771=BaAq]I.33Aq9Q>>>aAq]I.33Aq9Q>>>aAq]I.33Aq9Q>>>aAq]I.33Aq9Q>>>aCFCF+,i8==aC1bQQ()956 6 6 
Q3q6A:q)*I	6B771a=I2c!fa='99EEEEb!a%[1a!e*q"Q(mY 

$q!*	2q1u+y9: : :aAqD"&AE
388A>!CCC	Aq1u:	Bd#A771a=I%%% 779	4R.1a4Q-#a&$PPPP77B7 D(((77B7 C'''77A73q6)))88!R8!Y... xAq!9-q1u56E::<9qvvq1uo7777 	
A	
1B	Aq2v;1a!eqsAFm	<BbD1HE1:Q<5    Q3"99Q37a!A#g5AE>>r6R!Vr6rAvY QBK!AqD&!a%1QT6162B
CCq5C<< 
1qB	
1a4!Br1q5kBA;/EWW	12!#A/13A?N1a(A---2q)^;;;AE{RJ/F  Aq)Q...  Ar*~o===  B+rwwq"~2/NNNN  B*n<<<  D!,Aq0AAAA  B-&++a2D1DDDD ;;=I
QV	
Aa(1a.	 !a%(	
3q6AA	&-/ / / / 	1a!e*q!tR1Wo1q5z:AQB
#x1~555QAr
#xA6661a!e*q!a%j1a!e*q!a%j)LAQRC%***1a#g,AqBw!QU<AQB
#y000 a##(8(8D(@@@(@rK   c                      [        [        [        S:  4[        S45      n U R                  [        [        [        1:X  d   eg )Nr   T)r'   rS   arj   free_symbolsry   s    rL   test_piecewise_free_symbolsr      s2    1a!e*q$i(A>>aAY&&&rK   c                     [        SSS9u  p[        U S-
  S-  U S:  4S5      n[        X SS45      [        SS	5      :X  d   e[        U S
-
  S
-  U S:  4US45      n[        X0SS45      [        SS	5      :X  d   e[        X0SS
45      [        SS5      :X  d   eU[        U S
-
  S
-  U S:  4X S:  45      :X  d   e[        U S
-
  S
-  SU :*  4X S:  45      n[        X0SS45      [        SS	5      :X  d   e[        X0SS
45      [        SS5      :X  d   eU[        U S
-
  S
-  SU :*  4US45      :X  d   e[        U S
-
  S
-  SU :*  4SU-  S45      n[        X0SS45      [        SS	5      :X  d   e[        X0SS
45      [        SS5      :X  d   eg )Nx yTrealrF   r   rD   rc      re   rf   r\   +   rZ   iC   i_)r   r'   r2   r   )rS   rj   ry   rz   s       rL   test_piecewise_integrate1r      s   5t$DAAEA:qAv&	2AQB
#xA666AEA:qAv&D	2AQB
#xA666QB
#xA666	AEA:qAv.E
;;;;AEA:qAv&E
3AQB
#xA666QB
#xa'8888	AEA:qAv.D	::::AEA:qAv&1d4AQB
#xA666QB
#xa'8888rK   c            
         [        S[        S:  4S[        [        S5      4S[        S:  45      n [        U [        SS45      S:X  d   e[        S[        [        -
  S:  4S5      n [        U [        [
        * S45      [        S[        5      * :X  d   eU R                  [        S5      R                  [        [
        * S45      S:X  d   e[        U [        S[
        * 45      [        S[        5      :X  d   e[        U [        S[
        45      [        S[        5      * [
        -   :X  d   e[        U [        [
        * S45      [        S[        5      * S-   :X  d   e[        U [        [
        * [
        45      [        * [
        -   :X  d   e[        S[        S:  4[        [        S:*  4S5      n U R                  [        [        S45      nU R                  [        S[        45      nS[        R                  S	4 Hg  nU R                  [        US45      UR                  [        U5      :X  d   eU R                  [        SU45      UR                  [        U5      :X  a  Mg   e   U[        [        S[        S[        5      5      S	-  * S	-  [        R                  -   [        S:  4[        * S-   S
45      :X  d   eU[        [        S[        S[        5      5      S	-  S	-  [        R                  -
  [        S:  4[        S-
  S
45      :X  d   eg )NrB   r   rE   rC   re   *   rD   rF   T)r'   rS   r   r2   rj   r   r%   rd   r$   r   rn   )rz   gy1g1yyys       rL   test_piecewise_integrate1br      s   1a!e*q"Q(mb!a%[9AQB
#q(((1a!eai.),AQRC$Q
22266!R=""AsA;/1444QAs$Aq	111QAr
#Aq	zB666QRC%#b!*r)9999QRC%!b0001a!e*q!q&k95A
++q!Qi
 C
++q!Qi
 C1661o{{Ar1:&#((1b/999{{Aq":&#((1b/999  )
aQ
Q
	q	 166	)1q51
a    )	QAq		A	a	!&&	(!a%0	
Q   rK   c                  (   [        SSS9n [        S[        -
  [        SS5      R	                  [        5      4S[        -   [        SS5      R	                  [        5      4S5      nUR                  [        U S45      nUR                  [        SU 45      nUR                  [        SS45      UR                  U S5      :X  d   eUR                  [        SS45      UR                  U S5      :X  d   eUR                  [        SS45      UR                  U S5      :X  d   eUR                  [        SS45      UR                  U S5      :X  d   eUR                  [        S	S45      UR                  U S	5      :X  d   eUR                  [        SS	45      UR                  U S	5      :X  d   e[        UR                  [        5      5      R                  5       [        SU S:*  4U S	-  * S	-  U -
  [        R                  -   U S:*  4U S	-  S	-  U -
  [        R                  -   U S:  4S5      :X  d   e[        UR                  [        5      5      R                  5       [        SU S:*  4U S	-  S	-  U -   [        R                  -
  U S:*  4U S	-  * S	-  U -   [        R                  -
  U S:  4S5      :X  d   eU[        [        S[        SU 5      5      S	-  * S	-  [        S[        SU 5      5      -
  [        S[        SU 5      5      S	-  -   [        R                  -   U S:  4S5      :X  d   eU[        [        S[        SU 5      5      S	-  S	-  [        S[        SU 5      5      -   [        S[        SU 5      5      S	-  -
  [        R                  -
  U S:  4S5      :X  d   eg )
Nrj   Tr   rB   r   rE   rC   rc   rF   )r   r'   rS   r:   containsr2   rd   r(   rewritesimplifyr   rn   r%   r$   rj   rz   r   r   s       rL   test_piecewise_integrate1car      sn   $A	
QA''*+	
QQ((+,	
A
 ++q!Qi
 C
++q!Qi
 C;;2qz"chhq"o555;;1bz"chhq"o555;;1ay!SXXa^333;;1ay!SXXa^333;;1ay!SXXa^333;;1ay!SXXa^333#++i0 

(*	RLdU1Wq[166!16*T!VaZ!&& !a%(	   #++i0 

(*	bMT!VaZ!&& !q&)dU1Wq[166!1q5)	   )CAJ""1$s1c"aj'993q!9q !#$66*+,q5	2 		
 
 
 
 )3r1:!!#c!SQZ&883q!9q !#$66*+,q5	2 		   rK   c                     [        SSS9n [        S[        [        S:*  [        S:  5      4S[        -
  [        S:  4S[        -   S45      nUR	                  [        U S45      nUR	                  [        SU 45      nUR	                  [        SS45      UR                  U S5      :X  d   eUR	                  [        SS45      UR                  U S5      :X  d   eUR	                  [        SS45      UR                  U S5      :X  d   eUR	                  [        SS45      UR                  U S5      :X  d   eUR	                  [        SS45      UR                  U S5      :X  d   eUR	                  [        SS45      UR                  U S5      :X  d   e[        UR                  [        5      5      R                  5       [        SU S:*  4U S-  * S-  U -
  [        R                  -   U S:*  4U S-  S-  U -
  [        R                  -   U S:  4S	5      :X  d   e[        UR                  [        5      5      R                  5       [        SU S:*  4U S-  S-  U -   [        R                  -
  U S:*  4U S-  * S-  U -   [        R                  -
  U S:  4S	5      :X  d   eU[        [        S[        SU 5      5      S-  * S-  [        S[        SU 5      5      -
  [        S[        SU 5      5      S-  -   [        R                  -   U S:  4S	5      :X  d   eU[        [        S[        SU 5      5      S-  S-  [        S[        SU 5      5      -   [        S[        SU 5      5      S-  -
  [        R                  -
  U S:  4S	5      :X  d   eg )
Nrj   Tr   r   rE   rB   rc   rF   rC   )r   r'   r6   rS   r2   rd   r(   r   r   r   rn   r%   r$   r   s       rL   test_piecewise_integrate1cbr     sb   $A	
BqBwQ 	
QA	
Q	
A
 ++q!Qi
 C
++q!Qi
 C;;2qz"chhq"o555;;1bz"chhq"o555;;1ay!SXXa^333;;1ay!SXXa^333;;1ay!SXXa^333;;1ay!SXXa^333#++i0 

(*	RLdU1Wq[166!16*T!VaZ!&& !a%(	   #++i0 

(*	bMT!VaZ!&& !q&)dU1Wq[166!1q5)	   )CAJ""1$s1c"aj'993q!9q !#$66*+,q5	2 		
 
 
 
 )3r1:!!#c!SQZ&883q!9q !#$66*+,q5	2 		   rK   c                  ^   SSK Jn   [        [        [        [
        5      n[        S[        [        :  4S[        [        :  4S5      nUR                  U5      nU[        [        * S[
        -  -   S[        [
        [        [        [        5      5      -  -
  [        [
        [        [        [        [        5      5      -   [        [
        :  4S[        -  [
        -   S[        [        [        [        [
        5      5      -  -   [        [        [        [        [        [
        5      5      -
  S45      :X  d   eU " S5       Hp  n[        [        [        [        [        [
        4U5      5      nUR                  U5      R                  UR                  U5      5      UR                  U5      :X  a  Mp   e   g )	Nr   permutationsrB   rF   re   Trc   T)rB   rF   re   r\   )	itertoolsr   r   rS   cdr'   r   br2   r%   r$   dictziprd   )r   limrt   qvrs         rL   test_piecewise_integrate2r   L  s2   &
1a.C1a!e*q!a%j)4A	CA	
acAc!SAY''	'#aQ1*>	>AF	AAc!SAY''	'#aQ1*>	>EG G G G ,'aAq\1%&vvay""388A;/166!9<<< (rK   c                  n    [        S[        S:  4S5      R                  [        [        S45      S:X  d   eg )NrB   r\   rC   r   )r'   rS   r2   r   rJ   rK   rL   test_meijer_bypassr   Y  s2     aQZ+55q"ajARGGGrK   c                     SSK Jn   [        SS4nSn[        S[        [        :  4S[        [
        :  4S5      nUR                  U5      nU " USS9 HZ  u  pV[        [        [        [
        4XV45      5      nUR                  U5      UR                  U5      R                  U5      :X  a  MZ   e   UR                  [        S	5      R                  [
        S5      S
:X  d   e[        S[        [        :  4S[        [
        :  4S5      nUR                  U5      nU " USS9 HZ  u  pV[        [        [        [
        4XV45      5      nUR                  U5      UR                  U5      R                  U5      :X  a  MZ   e   g )Nr   )cartesrf   )rc   rE   r   rB   rF   rf   rZ   r[   rB   rF   rC   )repeatr\   r[   )
sympy.utilities.iterablesr   rS   r'   r   r   r2   r   r   rd   )r   r   Nrt   ansijrepss           rL   /test_piecewise_integrate3_inequality_conditionsr   _  s<   0a)C 	#A1a!e*q!a%j)4A
++c
Cq#CA'(xx~!7!7!<<<< $ 88Aq>q!$3331a!e*q!a%j)4A
++c
Cq#CA'(xx~!7!7!<<<< $rK   c            
      	   [        SSS9n [        SSS9n[        SSS9n[        SSS9n[        S[        X :  X!:  5      4S5      n[        SX :  4SX!:  4S5      n[        SX!:  4SX :  4S5      n[        SX :  4S	X!:  4S
5      n[        SX!:  4S	X :  4S
5      n[        S	[        X:  X!:  5      4S
5      n	[	        U[
        * U5      n
XEXgX4 H  nUR                  U
5      n[        S5       H  nU S	USX=0nUR                  U5      UR                  U5      R                  U
R                  U5      5      :X  d   eU SUS	X=0nUR                  U5      UR                  U5      R                  U
R                  U5      5      :X  a  M   e   M     [	        X#[
        5      n
XEXgX4 H  nUR                  U
5      n[        S5       H  nU S	USX=0nUR                  U5      UR                  U5      R                  U
R                  U5      5      :X  d   eU SUS	X=0nUR                  U5      UR                  U5      R                  U
R                  U5      5      :X  a  M   e   M     [        SU[        X5      :*  4U[        X5      -
  X!:*  4U[        X5      -
  S45      nXEXh4 H  nUR                  U5      U:X  a  M   e   UR                  U5      [        SX :  4U * U-   U[        X5      :*  4U * [        X5      -   S45      :X  d   eU	R                  U5      [        SX :*  4U * U-   U[        X5      :*  4U * [        X5      -   S45      :X  d   e[        SX :  4[        R                  X!:  4S5      n[        [        R                  X!:  4SX :  4S5      n[        SX :  4S	X!:  4[        R                  S45      n[        [        R                  X!:  4S	X :  4S
5      n[        S	[        X:  X!:  5      4[        R                  X!:  4S
5      n	[	        U[
        * U5      n
XVXxU	4 H  nUR                  U
5      n[        S5       H  nU S	USX=0nUR                  U5      UR                  U5      R                  U
R                  U5      5      :X  d   eU SUS	X=0nUR                  U5      UR                  U5      R                  U
R                  U5      5      :X  a  M   e   M     g )Nr   Tr   r   rS   rj   r   rD   rB   rC   rf   re   )r   r'   r6   r3   r   r   r2   rangerd   r%   r$   r   rn   )r   r   rS   rj   p0p1rv   rw   rx   r~   r   rt   r   r   r   s                  rL   -test_piecewise_integrate4_symbolic_conditionsr   y  s   sAsAsAsA	Ar!%'()	4B	Aqu:15z9	5B	Aqu:15z9	5B	Aqu:15z9	5B	Aqu:15z9	5B	As15!%()9	5B B3
Cbb%kk#qAa1a?D88D>QVVD\%;%;CHHTN%KKKKq!Aq#D88D>QVVD\%;%;CHHTN%KKKK	  & b/Cbb%kk#qAa1a?D88D>QVVD\%;%;CHHTN%KKKKa1a?D88D>QVVD\%;%;CHHTN%KKKK	  & 	
AQN	
SY	
SYC b{{1~$$$ <<?i	
AE

ac!i 
c!i        <<?i	
AF
ac!i 
c!i       
 
Aqu:		:B	AFFAE?QJ		:B	Aqu:15zAFFD>	:B	AFFAE?QJ		:B	As15!%()AFFAE?I	FB B3
Cbb!kk#qAa1a?D88D>QVVD\%;%;CHHTN%KKKKq!Aq#D88D>QVVD\%;%;CHHTN%KKKK	  "rK   c                      [        S[        [        S5      4[        [        -  S45      n [	        U [        SS45      [        S[        [        S5      4S[        -  S45      :X  d   eg )Nr   TrB   re   r\   )r'   r   rj   rS   r2   rt   s    rL   0test_piecewise_integrate5_independent_conditionsr     sT    1bAh-!A#t-AQAq	"iBq!H!T{&KKKKrK   c                     [        S[        [        [        -
  S:  S[        -  S[        -  -
  S:  -  S[        [        [        -
  S:  S[        -  S-
  S:  S[        -  S[        -  -
  S:  5      5      4[        S[        [        [        -
  S:  SS[        -  S[        -  -
  S:  5      4S[        S[        [        -
  S:  4[        S45      -  S45      S45      S[        S[        [        [        -
  S:  S[        -  S[        -  -
  S:  -  S[        [        [        -
  S:  S[        -  S-
  S:  S[        -  S[        -  -
  S:  5      5      4[        S[        [        [        -
  S:  SS[        -  S[        -  -
  S:  5      4S[        S[        [        -
  S:  4[        S45      -  S45      S45      -  -   n [	        U 5      [        S[        [        -
  [
        R                  :  [        [        -
  S:  -  4S[        -  S-   [        [        -
  S:  4S[        -  S[        -  -   S45      :X  d   e[	        U S:  5      R                  [        5      [        [        [        -
  [
        R                  :  [        [        -
  S:  -  S[        [        [        -
  S:  S[        -  S-   S:  S[        -  S[        -  -   S:  5      5      :X  d   eg )Nr   rB   rF   FrE   Tr\   )r'   r4   rS   rj   r(   r   rn   r   r   s    rL   test_issue_22917r     s   	AsAEAI!a%!a%-!*;<eq1uqy!a%!)b.!a%!a%-!:KLN Oq#a!eaiq1uq1u}q7H"IJ 9aQ^aY#GGNPQUW
X y!S!a%!)AA0A!BE!$QUQYA	BAAPQ@Q!RT U#QAEAItQUQU]Q=N(O$P%&Aq1uqy>At9)M%Mt$TVW[]^ ^	
^A !	1q1uqvv~!a%!).L*M+,Q37AEAI*>+,Q319d*;!= = = = !a% ((-a!eaffnQQR5SUY58QAaC!GaKQRSTQTWXYZWZQZ]^Q^5_2a a a arK   c                     [        [        S-  S-   [        S-  -  [        [        S[        -   -  [        S-  -
  S5      4S[        -  S-  S45      n U R                  5       [        [        [        [        S5      4S[        S-   -  S45      :X  d   e[        [
        [        [        [
        S5      [        [
        [        -   S5      5      4S5      R                  5       [        S[        [        [
        S5      [        [        S5      5      4S5      :X  d   e[        S[        -  [        [
        5      -  [        [        5      [        [        * [
        -   5      -  -  [        [        S5      [        [        * [
        -   S5      -  4S[        [
        5      -  [        [        5      [        [        * [
        -   5      -  -  [        [        S5      [        [        * [
        -   S5      -  4S5      R                  5       [        S[        -  [        [        [
        S5      [        [        S5      5      4S[        [        [
        S5      [        [        S5      5      4S5      :X  d   eS[        [        [        S5      [        [        S5      5      4[        S44n[        U6 R                  5       [        U6 :X  d   eS[        [        S5      4[        [        5      [        -  S44n[        U6 R                  5       [        U6 :X  d   e[        S[        -   [        [        [        S5      [        [        S5      5      4[        S45      R                  5       [        :X  d   e[        S[        [        S5      4[        [        5      S-   [        -   S45      n[        [        [        5      -   S-   n[        S5      n[        U6 R                  5       U:X  d   e[        UR                  [        U" [        5      5      6 R                  5       UR                  [        U" [        5      5      :X  d   e[        S	SS
9n[        SSS
9n[        SSS9n[        U* SU-  -   [        SU-  S5      4USSU-  -
  -  USU-  S-
  -  -  U* SU-  -   -  S45      nUR                  5       U* SU-  -   :X  d   e[        SUS:  US:  -  US:  -  4US-  S-   US-   -  US-   -  US:  US:  -  4[         R"                  US-  -
  SU-
  -  US-   -  US:  US:  -  US:  -  4US-   U* US-  S-   -  [         R"                  US-  -
  SU-
  -  -   -  US:  US:  -  US:  -  US:  -  4US-   [         R"                  US-  -
  SU-
  -  US-  S-   US-   -  -   -  US:  US:  -  4US-   U* US-  S-   -  [         R"                  US-  -
  SU-
  -  -   -  US:  US:  -  US:  -  4SUS:  US:  -  4US-  S-   US-   -  US-   -  US:  4US-   U* US-  S-   -  [         R"                  US-  -
  US-   -  -   -  US:  US:  US:  -  -  4[         R"                  US-  -
  SU-
  -  US-   -  US:  US:  US:  -  -  4S5      [        SUS:  US:  -  US:  -  4SU-
  US-  [         R"                  -   -  US-   -  US:  US:  -  4SU-
  SUS-  -
  -  SU-
  -  US:  US:  -  US:  -  4SU-
  SU-
  US-  [         R"                  -   -  SUS-  -
  SU-
  -  -   -  US:  US:  -  US:  -  US:  -  4SU-
  SUS-  -
  SU-
  -  US-  [         R"                  -   US-   -  -   -  US:  US:  -  4SU-
  SU-
  US-  [         R"                  -   -  SUS-  -
  SU-
  -  -   -  US:  US:  -  US:  -  4SUS:  US:  -  4SU-
  US-  [         R"                  -   -  US-   -  US:  4SU-
  USUS-  -
  -  SU-
  US-  [         R"                  -   -  -   -  US:  US:  US:  -  -  4SU-
  SUS-  -
  -  SU-
  -  US:  US:  US:  -  -  4S5      -   n U R                  5       [        SUS:  4US-   US-   S-  -  S-  US:  4SUS-  -  S-  SUS-  -  S-  -
  S-   US:  4SUS-  -  S-  SUS-  -  S-  -
  S-   US:  4SU-
  US-
  S-  -  S-  US:  4S5      :X  d   e[$        n[        S[        S:  4S[        S:  4S[        S:  45      R                  5       [        S[        S:  4S[        S:  4S5      :X  d   e[        S[        S:  4S[        S:  4S5      R                  5       [        S[        S:  4S5      :X  d   e[        S[        S:  45      R                  5       [        S[        S:  4US45      :X  d   e[        S[        S:  [        [&        :  -  45      R                  5       [        S[        S:  [        [&        :  -  4US45      :X  d   e[        S[        S:  4S[        S:  [        S:  -  4S5      R                  5       [        S[        S:  4S[        S:  4S5      :X  d   e[        S[        S:  4S[        S:*  [        S:  -  4S5      R                  5       [        S[        S:  4S[        S:*  4S5      :X  d   e[        S[        S:  4S[        S:  [        S:  -  4S5      R                  5       [        S[        S:  4S[        S:  [        S:  -  4S5      :X  d   e[        S[        S:  4S[        S:  [        S:*  -  4S5      R                  5       [        S[        S:  4S[        S:*  4S5      :X  d   e[        S[        S:  4S[        S:  [        S:*  -  4S5      R                  5       [        S[        S:  4S[        S:  [        S:*  -  4S5      :X  d   e[        [)        [        5      [        S:*  [        S:  -  4[        S45      R                  5       [        [)        [        5      [        S:*  [        S:  -  4[        S45      :X  d   e[        S[        S:  [        S:  -  4S[        S:  [        S:  -  45      R                  5       [        S[        S:  [        S:  -  4S[        S:  [        S:  -  4US45      :X  d   e[        S[        S:  [        S:*  -  4S[        S:  [        S:  -  45      R                  5       [        S[        S:  [        S:*  -  4S[        S:  [        S:  -  4US45      :X  d   e[        SSS9n	[        U[        S:*  4S[        S:  U	[        :  -  U	[        -
  S:*  -  4[        U	S-  -
  U	[        :  U	[        -
  S:*  -  4U	S-  [        -
  [        S:  U	[        :  -  4SU	[        :  4US45      n U R                  5       [        U[        S:*  4U	S-  [        -
  U	[        :  4US45      :X  d   eU R                  U	[        5      R                  5       [        U[        S:*  4[        * [        S-  -   [        [+        S[        5      :  4S[        [        :  4US45      :X  d   eg )NrF   rB   r   rE   TrD   rC   ry   r   integerra   tpositiver\   rc   r   re   rf   r   L)nonnegative)r'   rS   r   r   r   r   r3   r   r   rj   r   r-   r   r   rd   r   r   rn   r*   r   r#   r$   )
rt   argsr   ry   r   ra   r   exprnanr   s
             rL   test_piecewise_simplifyr     s   AqD1Had?Bq!a%y1a4'7$;<7B<&	(A::<31a/R1q5M4#89: : : 	
C1a"QUA,'()55=X 6
	
C1a"Q(#$i11 1 1 ac)A,&	!YrAv5F(FG
1a2qb1fa= "$%ilNIaLA2
L B 5 %!Qx"aR!VQ-'$)*355=X 6
qS#bAh1a)*Bq!HbAh'(   s2a8R1X&'!T2Dd$$&)T*::::r!Qx=3q6!8T**Dd$$&)T*::::a!eSAq2a8454y 

(*   !R1XQ!a 67D
c!f*q.CAd$$&#---dii1Q4()224AaD8IIII 	sD!AsD!AsT"Aqb1Q3h1Q3
+a!ac'l1qsQw<.G!aPQc.RTX-YZD==?qb1Q3h&&& 	1q2v!b&)QU34!a!	C
 8E8VA&7(+,66AaC<!a%*@!a%*H	
RAFq1u%*'*+a%1"acAg,!&&
A#CAB 3 *b&QV,A6!a%@)BEF	F
VVac\AE"acAgA%66E8:;b&Q	F
 :D1ur1Q37|qvv!|a!e&<<=B	
Q@q5@ RAF 34!a!	C
 8E8F7 1ur1Q37|qvv!|a	G
 7 ( !eRAE*+-011q1u/Eq
H 01u!b&QU+,/./8		: =Fq	
RAEa!e$G&)*Q1qvv(>A(F	
Q1q5(!ea!A#g.A6RA	E
 9!e9 Q!a%!A#,!71qs7Q	F
 ; " "fQ1q5)QU3589A	!B!eA!affq1u-A. 8/12Q1q50A7CFG	G
UQqS166\"a!A#gA%66F8:;a%A	E
 :!e:EAFq1u-.!a%!A#	; 2Q2Q1 #$q51a!A#g;!a%!A#	C : , #q5a"fQ/0"256UQ1W4Eq
H 51u!b&QU+,4./8
=:	:A( ::<9	
AFq1uq1uqj(*AF3bAgai
AqD&(77A6!"1a4AadF1H!4q!8!a% @A	E
EA:DDQC !*, , , , CaQZ!QUaQZ8AA 
AE
QAJ	:; ; ;aQZ!QUY7@@ 
1q5z9-. . .aQZ ))+y!QU	d0   a!q&QV,- 

(*	1qAv!b&&9":S$KHI I IaQZ!a!eA%6!7 
8:Aq1u:1q5z9EF F FaQZ!a1fQ%7!8) 

(*	1a!e*q!q&k9EF F FaQZ!a!eA%6!7 

(*	1a!e*q1q5QU2C.D   aQZ!a1fa%8!99 

(*	1a!e*q!q&k9EF F FaQZ!a1fa%8!99 

(*	1a!e*q16a1f2E.F   c!fqAv!a%01At9 

(*	3q6AFq1u+=">D	JK K K a!q&QU+,q1q5QU2C.D 

(*	1qAv!a%&8"9	AFq1u<!$d-- - - a!q&Q!V,-AEa!e3D/E 

(*	1qAv!q&&9":	AEa!e= #T{,, , ,
 	s%A3Q-!a1fQ%71q5A:%F!G	
QqS1q5QUaZ()	
1q16a!e$%	
AE
S$K	!A ::<9	a1f!aQ'#t6 6 6 666!Q<  "i	a1fQqS!c!Qi-01a!e*sDk'K K K KrK   c            
      
  ^ [        [        * [        S:*  4[        [        S:  45      n U R                  [        [        S-
  5      m[        T[        5      S/:X  d   e[        TS-
  [        5      SS/:X  d   e[        [        S-
  S-  [        S:  4S5      m[        T[        5      S/:X  d   e[        [        S-
  S-  [        S:  4TS45      n[        U[        5      SS/:X  d   e[        [        S-
  S-  [        S:  4T[        S:  45      n[        U[        5      SS/:X  d   e[        [        S-
  S-  [        S:  4T[        S:  45      n[        U[        5      S/:X  d   e[        [        S-
  S-  [        S:  4TS45      n[        U[        5      S/:X  d   e[        [        S-
  S-  [        S:  4TS4S	5      n[        U[        5      S/:X  d   e[        [        S-
  S-  [        S:  4[        * S-   [        S-
  S:*  4[        S-
  [        S-
  S:  45      n[        U[        5      S/:X  d   e[        [        [        S-
  [        S:  4S[        -
  S45      S-
  5      S
S/:X  d   e[        [        S-
  S-  [        S:  4S5      m[	        [
        U4S j5        S n[        [        S-  S-
  [        [        :  4[        S-
  S45      n[        U[        5      nU" U Vs/ s H  oUR                  [        S5      PM     sn5      S/:X  d   eU" U Vs/ s H  oUR                  [        S5      PM     sn5      SS/:X  d   eU" U Vs/ s H  oUR                  [        S5      PM     sn5      SS/:X  d   eU[        S[        S:  4[        R                  S45      [        S[        S:*  4[        R                  S45      [        S[        S:  4[        R                  S45      /:X  d   e[        [        S-
  S[        S-
  :*  4S[        -
  S[        S-
  :  45      n[        U[        -
  [        5      [        [        * S-   [        * S:  4[        R                  S45      [        [        S-   [        S:  4[        R                  S45      /:X  d   e[        SSS9n[        Xc-
  [        5      U* S-   US-   /:X  d   e[        S5      m[        [        T" [        5      * [        S[        S:  4S5      5      T" [        5      5      [        S
[        S:  4S5      /:X  d   e[        S[        S-  -  [        S[        :  [        S:  5      4S5      m[        TS-
  5      S[        S5      -  /:X  d   eg s  snf s  snf s  snf )Nr   rF   rB   re   rD   rf   r\   T)r^   FrE   rC   c                  $   > [        T [        5      $ rH   )r;   rS   r   s   rL   rM   &test_piecewise_solve.<locals>.<lambda>[  s    arK   c                 .    [        [        S U 5      5      $ )Nc                 &    U [         R                  L$ rH   )r   NaNrS   s    rL   rM   4test_piecewise_solve.<locals>.nona.<locals>.<lambda>^  s    Qaee^rK   )listfilter)r   s    rL   nona"test_piecewise_solve.<locals>.nona]  s    F3S9::rK   rc   rt   r   ry   rY   )r'   rS   rd   r;   r<   NotImplementedErrorrj   r   r   r   r   r   r3   r&   )abs2rz   r   rt   r   r   absxm3ry   s          @rL   test_piecewise_solver   ;  s   qb!q&\Aq1u:.D		!QUAA;1#Q?q!f$$$AEA:qAv&	2AA;1#AEA:qAv&D	2AA;1a&   AEA:qAv&AE
3AA;1a&   AEA:qAv&AE
3AA;1#AEA:qAv&D	2AA;1#AEA:qAv&D	;?AA;1#AEA:qAv&261q5A:&QA	(:	<AA;1# AE1q5>AE4=9A=>2q'IIIAEA:qAv&	2A
 34;1a4!8QU#a!eT]3A
1+C,12,-!444s+s!1s+,Q777s+s!1s+,Q7772q2v,.1a1f+t}-1a!e*quudm,. . . . 	
QQU
	
QAE	F !QA26A26"QUUDM21q5!q&/AEE4=1$3 3 3 3 	sT"AQQBFAE?222 	AQqTE9aQZ;<adC	BA;		*+, , , 	1QT63q1ua!e,-y9AQ<Ad1gI;&&&5 -++s   &U6U;V c                     [        [        [        S:  4SS[        :*  45      n [        [        U -  5      [        [        S-  [        S:  4[        S[        :*  45      :X  d   e[        X -   5      [        S[        -  [        S:  4SS[        :*  45      :X  d   e[        [        S[        S:  4S5      [        S[        S:  4S5      -   5      [        S[        S:  4S5      :X  d   e[        S[        S:  4[        [        S:*  4S	5      n[        S[        S:  4S[        -
  [        S:*  4S	5      nS
U-  SU-  -   n [        [        U 5      [        [        * [        45      [        S[        -  S-   [        SS45      :X  d   e[        [        S[
        S:*  4[        S[
        S:  45      * S45      5      [        S[
        S:*  4S[
        S:  45      :X  d   e[        [        [        [        [        S:  [
        S:  [
        S:  5      45      5      [        [        [        S:*  [
        S:  -  [        S:  [
        S:  -  -  45      :X  d   e[        S[        [        S5      4S	5      [        [        [        [        * [
        -   S5      4S[        [        * [
        -   S5      4S	5      pC[        [        X4SS95      [        [        XCSS95      :X  d   eg )NrB   rF   r   rY   r^   )rg   T   )iTrC   r\   Trc   FrO   )	r'   rS   r(   r2   r   rj   r4   r   r   )rt   r   rv   r   r   s        rL   test_piecewise_foldr   ~  s   1a!e*q!q&k*A!A#)QT1q5MAqAv;"GGGG!% IqsAElQQK$HHHH)QAJ	:%r1q5k;?@ A2q1u+z*+ + + 
Aq1u:16{I	6B	Aq1u:AqAv		:B	"qtAqAsB<),5acAg1ay,IJ J J 1a1f+AqAv;!7 7> 	
AFb!q&\23 3 3 )QAE1q5!a%(@$AB 
Q!VA.AEa!e3DEFGH H H q"Q(mY/1b!am$q"aR!VQ-&8)D 	#aU3 
Cu567 7 7rK   c                     [        [        [        5      [        S:  4S5      n [        S[        U S5      4U [	        U 5      -  S45      nUR                  [        [        * S-  5      S:X  d   eUR                  [        S5      S:X  d   eUR                  [        [        * S-  5      S:X  d   e[        S[        U S5      4S5      n[        U5      n[        SS5       H3  nUR                  [        U5      UR                  [        U5      :X  a  M3   e   S[        S[        S:  4S	5      :  n[        U5      n[        S5       H3  nUR                  [        U5      UR                  [        U5      :X  a  M3   e   [        S[        S:  4S	5      n[        S[        S:  4S	5      n[        SXg:  4S5      n[        U5      n[        SS5       H3  nUR                  [        U5      UR                  [        U5      :X  a  M3   e   g )
Nr   rC   TrF   rB   r\   rD   rE   r   )	r'   r,   rS   r   r   rd   r   r(   r   )	r   rv   rx   r   r   r1r~   r   p7s	            rL   %test_piecewise_fold_piecewise_in_condr     s   	CFAE?I	.B	Ar"ay>BRL$#7	8B771rc!e!!!771a=A771rc!e!!!	Ar"ay>8	,B

C2q\xx1~A...  
Y1q5z9-	-B

C1Xxx1~A...  
Aq1u:y	)B	Aq1u:y	)B	Arw<	+B

C2q\xx1~A... rK   c            	      B   [        [        [        5      [        S:  4S5      n [        S[        U S5      4SU -  S45      n[        S[        S:  [        [        [        5      S5      -  4S[        [        5      -  [        S:  4[        S45      n[        U5      U:X  d   eg )Nr   rC   rB   T)r'   r,   rS   r   r   r(   )r   rv   rw   s      rL   'test_piecewise_fold_piecewise_in_cond_2r     s    	CFAE?I	.B	Ar"ay>AFD>	2B		
Q!Vr#a&!}$%	
3q61q5	d
B "#$#rK   c            	      *   [        S[        SSSS5      R                  [        5      4S5      n [	        [        S[        -
  U -  5      5      n[        S:  [        S:  -  n[	        [        S[        -
  U -  5      SS9[        S[        -
  U4[        * U4SU4SSS9:X  d   e[	        [        S[        -
  U -  5      S S9[        S[        -
  U4S5      :X  d   eU[        S[        -
  U4S5      :X  d   eU[        [	        S[        -
  U -  5      5      :X  d   eg )NrB   r   FTrC   rO   )r'   r:   r   rS   r(   r
   )r   rv   rr   s      rL   test_piecewise_fold_expandr     s   	Ax1eT2;;A>?	KB	Arz*	+B!VAD&!a%,u 
At}r4j1d)YQVWX X X&!a%,t 
At}i01 1 1AE4=)4444Arz23333rK   c                      [        [        [        S:  4[        S-  [        S:*  4[        S[        :  45      n U [        U R                  6 :X  d   eg )Nrg   rF   rE   rB   )r'   rS   r   r   s    rL   test_piecewise_duplicater     sC    1a#g,AqBw!QU<A	166""""rK   c                     [        [        [        S:  4[        S-  S[        :*  4[        S[        :  45      n [        [        [        S:  4[        S[        -  5      S[        :*  4[        S[        :  45      nUR                  5       U :X  d   eUR                  SS9U:X  d   e[	        [
        [        -  [        S[        45      R                  5       n U R                  5       U :X  d   eg )NrB   rF   rE   re   Fdeep)r'   rS   r1   rm   r   rj   r   )r   rv   s     rL   	test_doitr     s    	Aq1u:1bAgAE
	;B	Aq1u:Qq9Aq1u:	FB779??777"$$$	QTAr2;		$	$	&B779??rK   c                     [        [        [        SS5      R                  [        5      4S5      n U R	                  [        S5      S:X  d   eU R	                  [        S5      S:X  d   eU R                  [        5      [        S[        SS5      R                  [        5      4S5      :X  d   e[        U [        5      [        S[        S:*  4[        S-  S-  [        S:*  4[        R                  S45      :X  d   eg )Nr   rB   rC   g            ?rF   T)	r'   rS   r:   r   rd   r	   r2   r   rn   )r   s    rL   test_piecewise_intervalr     s    	Ax1~..q12I	>B771dq   771c?c!!!771:Ax1~'>'>q'A#BINNNNRy	
AF	
Aaa	
    rK   c            
         [        S[        S:  4[        R                  [        S:*  4S5      n [	        U 5      [        S[        S:  4[        R                  [        [        S5      4S[        S:  4SS9:X  d   e[	        U S-   5      [        S[        S:  4[        R                  [        [        S5      4S[        S:  4SS9S-   :X  d   e[	        [        S[        S:*  4[        S[        S:  45      * S45      5      [        S[        S:*  4[        S[        S:  4[        R                  [        S:  4SS9* [        S:  4SS9:X  d   e[	        [        S[        [        :  45      5      [        S[        [        :  4[        R                  [        [        :*  4SS9:X  d   e[	        [        S[        [        :  45      SS9[        S[        [        :  45      :X  d   e[        S	SS
9u  p[        SUS:  4SSS9n[        SUS:  4SUS:  4SS9n[        X2S:  4SSS9n[        X2S:  4SUS:  4SS9n[        XBS:  4SUS:  4SS9n[	        U5      U:X  d   e[	        USS9U:X  d   eg )Nr   rD   rB   FrO   rF   T)skip_nanzxr, yrr   rY   r   re   r   )	r'   rS   r   rn   r)   r   rj   r   r   )rt   xryrr   p1xrv   p2xp2xxs           rL   test_piecewise_exclusiver    s   1a!e*qvvqAv.	:Aq!Y1q5zAFFBq!H;M011q5zE&K K K Kq1u%Aq1u:1a?Q011q5zE*KMN*O O O Oy!Q!V+4aa[+A*A4)H J K1a1f+q!q&k uua!enu> >?@1uFPU	WW W W
 y!QU45Aq1u:CD55!q&/KP:R R R R y!QU4(,.1:Aq1u:1FG G G XD)FB	ArAv;	E	:B
QQK!R1W
>C	BQ<U	;B
RaL1bAg,
?Cc6]QaL5ADr"d***r.#555rK   c                     [        [        S45      [        :X  d   e[        S:  n [        [        U 4[        S-   U 45      [        [        U 45      :X  d   e[        [        U 4[        S-   U R                  45      [        [        U 45      :X  d   e[        S:  nS nSU 4[        SU 4SU45      U44SU 4[        SU 4SUR                  45      U44SU 4[        SU 4SU45      U4S4SU 4[        SU 4SU4S5      U44SU 4[        SU 4SU4S5      U4S44 HW  nS	 HN  nU" [        US
S06R                  [        U5      5      U" [        U6 R                  [        U5      5      :X  a  MN   e   MY     [	        S5      u  pVpx[        U:  n [        U:  n[        U:  n	[        U:  n
[        SU 4[        SU 4SU4SU	45      U4SU	45      [        SU 4SU4SU	45      :X  d   e[        SU 4[        SU 4SU4SU	4S5      U	4SU
45      [        SU 4[        SU4SU	45      U	4SU
45      :X  d   e[        S[        X
5      4[        SU
4SU4SU	45      U4SU	45      [        S[        X
5      4[        SU
4SU45      U4SU	45      :X  d   e[        SU	4SU	) 4S[        R                  45      [        SU	4S[        R                  45      :X  d   e[        SU	4S[        U	) U5      4S5      [        SU	4SU4S5      :X  d   e[        SU	4S[        U	) U5      4S5      R                  [        [        XVXx[        4S5      5      5      S:X  d   e[        SU	4SU	) 45      [        SU	4S5      :X  d   eg )NTrB   rf   c                 T    [        U [        5      (       a  [        U R                  6 $ U $ rH   )rp   r'   r   r   s    rL   	canonical*test_piecewise_collapse.<locals>.canonical  s#    a##aff%%rK   rF   re   r\   Trf   T)r   rF   r^   rP   Fzr1:5r\   )rZ   Tr   )rB   rF   re   r\   g      @rY   )r'   rS   reversedrd   r   r6   r   truer3   r   r   )r   r   r  r   r   r   r2r3r4r   r   s              rL   test_piecewise_collapser    s+   aY1$$$	AAaVa!eQZ(Iq!f,====aVa!eQZZ01Y1v5FFFF	AA
 Q)QFQF+Q/0
Q)QFQ

O4a89
Q)QFQF+Q/;
Q)QFQFI6:;
Q)QFQFI6:IFH A40%055a;y$/44Q:;< < < H V_NBB	BA	BA	BA	BAaVi	
AAA !"$&'V
1v1v1v./ / / aVi	
AAA	+,-/12A
1v		
AA! V%% % % aA]Y	
AAA& !"%$&'V
2a8}y	
AA('V%% % % aVa!Wq!&&k 
1v166{+, , ,aVaaR_h 
1v1vy12 2 2aVaQB^X 

$tC+->?@
AaH H HaVa!W%Aq69)EEEErK   c            
      :   [        [        S-  [        S:  4[        [        SSSS5      R                  [        5      4S[        -
  [        S:  4S5      n [	        [        U 5      nU" S5      S:X  d   eU" S	5      S	:X  d   eU" S
5      S
:X  d   eU" S5      S	:X  d   eg )NrF   r   rB   FTrC   g       g      @r_   r   g       @)r'   rS   r:   r   r>   )rt   ry   s     rL   test_piecewise_lambdifyr  /  s    	
Aq1u	
HQ5$'0034	
QQ		A 	AAT7c>>S6S==S6S==S6S==rK   c                  8   SSK Jn   [        [        [        5      [        S:  4[        [        5      [        S:  45      n[        [        U " [        S-  5      -   [        S:  4SU " [        S-  5      -   [        S:  45      nUR                  [        SS9U:X  d   eg )Nr   )OrF   rB   )ra   )sympy.series.orderr  r'   r-   rS   r,   nseries)r  r   rv   s      rL   test_piecewise_seriesr  >  sz    $	CFAE?SVQUO	4B	A!Q$KQ'!a1g+q1u)=	>B::a1:###rK   c                     [        S[        -  [        S:  4S5      n [        [        [        S:  4S5      n[        S[        -  [        S:  4[        S45      n[        [        [        S:  4S[        -  S45      n[        S[        -  [        S:  4[        S45      n[        S[        -  [        S:  4[        S45      n[        [        [        S:  4S[        -  S45      n[        [        [        S:  4S[        -  S45      nU R                  [        5      S:X  d   eUR                  [        5      S:X  d   eUR                  [        5      [        :X  d   eUR                  [        5      S[        -  :X  d   eUR                  [        5      [        :X  d   eUR                  [        5      S[        -  :X  d   eUR                  [        5      [        :X  d   eUR                  [        5      S[        -  :X  d   eg )NrB   rC   Tr   )r'   rS   as_leading_term)r   rv   rw   rx   r~   r   r   p8s           rL   test_piecewise_as_leading_termr  E  s   	AaCQ<	+B	Aq1u:y	)B	AaCQ<!T	+B	Aq1u:!T{	+B	AaCQ<!T	+B	AaCQ<!T	+B	Aq1u:!T{	+B	Aq1u:!T{	+Ba A%%%a A%%%a A%%%a AaC'''a A%%%a AaC'''a A%%%a AaC'''rK   c                     [        S[        S:  4SS[        :*  45      n [        S[        -  [        S:  4[        S[        :*  45      n[        [        [        -  [        S:  4S[        -   S45      n[        [        * [        [        5      -  [        S:  4S[        -
  S45      n[        U 5      U :X  d   e[        U5      [	        U* 5      :X  d   e[        U5      U:X  d   eU R
                  SL d   eU R                  SL d   eUR
                  SL d   eUR                  SL d   eUR
                  b   eUR                  b   eU R                  5       U S4:X  d   eUR                  5       S[        * U-  4:X  d   eg )NrF   r   rB   TF)r'   rS   r   r   r(   is_imaginaryis_realas_real_imag)r   rv   rw   rx   s       rL   test_piecewise_complexr   X  sb   	Aq1u:16{	+B	AaCQ<!Q!V	-B	AaCQ<!a%	/B	QBy|OQU+a!eT]	;BR=BR=NB3////R=B??e###::??d"""::??"""::??Q'''??QBrE
***rK   c                     [        SSS9u  p[        XS-  -  [        S:  4U S-  U-  S45      nUR                  5       [        [        XS-  -  5      [        S:  4[        U S-  U-  5      S45      :X  d   eUR	                  5       [        [	        XS-  -  5      [        S:  4[	        U S-  U-  5      S45      :X  d   eUR                  5       [        [        XS-  -  5      [        S:  4[        U S-  U-  5      S45      :X  d   eg )NA BF)commutativerF   r   T)r   r'   rS   r   r   r!   )ABrt   s      rL   test_conjugate_transposer&  m  s   5e,DA1T61q5/AqDFD>2A99;71T6?AE*WQT!V_d,CDE E E;;=9Q!tV$a!e,yAa/@$.GHI I I;;=9Q!tV$a!e,yAa/@$.GHI I IrK   c                     [        [        S45      [        :X  d   e[        [        S4SS9[        :X  d   e[        S[        S[        5      45      R                  S[        [        S5      44:X  d   e[        S[        S[        5      4SS9R                  S[        S[        5      44:X  d   e[        [        S4SS9n U [        :X  d   eg )NTrO   rB   F)r'   rS   r   r   r   s    rL   test_piecewise_evaluater(  x  s    aY1$$$aY.!333aAq]#((aAq],<<<<aAq]U388	
Bq!H=    	1d)e,A6M6rK   c            	         [        [        [        S:  4[        * [        S:*  45      R                  5       [        [        S[        SS5      4[        * [        [        * S5      4/:X  d   e[        [        S-
  S-  [        S:  4S5      R                  5       [        S-
  S-  [        S[        5      4S[        [        * SSS5      4/:X  d   eg )Nr   TrF   rC   )r'   rS   as_expr_set_pairsr:   r   rJ   rK   rL   test_as_expr_set_pairsr+    s    aQZ1"a1f.@@B
XaT4(	)QB"a0@+ABC C C q1uqj!q&)95GGIq51*hq"o	&HbS!T4,H(IJK K KrK   c                  r    [        S[        [        S5      4S5      n [        [	        U 5      5      nX:X  d   eg )Nr^   r   )   T)r'   r   rS   r   r8   )rt   r   s     rL   test_S_srepr_is_identityr.    s.    2r!Qx.*-A	%(A6M6rK   c            	         [        S[        S:  4S[        [        S:*  [        S:  -  5      4S5      n U R                  [        SS45      S	:X  d   e[        S[        S:  4S[        [        :  4S5      n [        S
S4nU R                  U5      n[        SS5       HB  nUR                  [        U5      U R                  [        U5      R                  U5      :X  a  MB   e   g )NrB   r\   rF   re   rE   r   r]   rf      r   )r'   rS   r5   r2   rj   r   rd   )rt   r   r   r   s       rL   test_issue_12587r1    s    1a!e*q#qAv!b&&9":;YGA;;2qz"b(((1a!e*q!a%j)4A
R(C
++c
C2q\xx1~1!7!7!<<<< rK   c                     [        S[        [        [        S-  S-
  5      -  -  [        SS45      [        S-  :X  d   e[	        S[        [        [        S:  [        S:  5      [        S:  5      4S5      R                  [        SS45      S:X  d   e[	        S[        S:  4S[        [        S-   :  4S5      R                  [        SS45      S:X  d   e[	        S[        S:  4S[        S[        5      4S5      R                  [        SS45      S	:X  d   e[	        S[        S[        -  [        S-   :  [        S:  5      4S5      R                  [        SS45      S:X  d   e[	        S[        S[        -  [        S-   :  [        S:  5      4S5      R                  [        SS45      S:X  d   e[	        S[        S:  4S[        [        S-   :  4S5      R                  [        SS45      S:X  d   e[	        S[        S[        -
  [        S[        -  S-
  -  5      4S5      R                  [        SS45      S	:X  d   e[	        S[        [        S:  [        S:  5      4S[        S:  4S5      R                  [        SS45      S	:X  d   e[	        S[        [        S5      4S
5      R                  [        SS45      S:X  d   e[	        [        [        S:  [        S:  -  4S[        S:  45      R                  [        SS45      S:X  d   e[	        [        [        S:  [        S:  -  4S[        S:  45      n [        nU R                  [        S[        45      nU[	        [        S-
  [        S:  4[        S[        5      S-  S-  [        S[        5      -
  [        S[        5      -   [        R                  -
  [        [        S[        5      :*  4US45      :X  d   eU R                  [        SS45      UR                  [        S5      :X  d   eU R                  [        SS45      S:X  d   eU R                  [        SS45      UL d   e[	        S[        S:  4S[        [        [        S:  [        S:  5      5      4S5      n U R                  [        SS45      S:X  d   e[	        S[        S[        :  [        S:  5      4S[        [        S:  [        S:  5      4S[        S:  45      n U R                  [        SS45      S:X  d   e[	        S[        S:  4S[        [        [        S5      [        S:  5      45      R                  [        SS45      [        R                   L d   e[	        S[        S:  4S[        [        [        S5      [        S:  5      4S5      R                  [        SS45      S:X  d   e[	        S[        S:  4S[        [        [        S5      [        S:  5      4S5      R                  [        SS45      S:X  d   e[	        S[        S:  4S[        [        S5      [        [        :  -  4S5      R                  [        SS45      S:X  d   eg )NrB   rF   re   rC   r   r   rf   r\   rZ   rY   rE   Tr[      r^      )r2   rS   r&   r   r'   r3   r6   r   r   r*   rj   r%   r   rn   rd   r5   r   )rt   r   r   s      rL   test_issue_11045r5    s   Q$q!tax.()Aq!95A=== aRAq1u-q1u56	 

)Q1I
!$ $ $ aQZ!QQY 

)Q1I
!$ $ $ aQZ!R1X	 

)Q1I
!$ $ $ aQqS1q5[!a%019 

)Q1I
!$ $ $ aAaC!a%KQ/0) 

)Q1I
!$ $ $ aQZ!QQY 

)Q1I
!$ $ $ aAE1acAg;/0) 

)Q1I
!$ $ $
 aAE1q5)*QAJ	 

)Q1I
!$ $ $ aAq]I 

)QAJ
1% % % a!a%AE*+a!a%\ 

)Q1I
!$ $ $ 	1q1uQ'(1q1u,7A
C	Q1IA		
QA	QAa#a)	#c!Qi	/!&&	8QN		d	   
 ;;1bz"affQm333;;1ay!Q&&&;;1ay!S((( 	1a!e*q#c!a%A&6"78)DA;;1ay!Q&&& 		
CAq1u	
Bq1ua!e	
AE
	A ;;1bz"b((( aQZ!SAq1q5%9!: 

)Q1I
!%%( ( (aQZ!SAq1q5%9!:I 

)Q1I
!$ $ $aQZ!SAq1q5%9!:I 

)QAJ
1% % % aQZ!R1XQ%7!8) 

)Q1I
!$ $ $rK   c            
         [         n [        S[        S:  45      R                  [        5      [        [        [        S:  4U S45      :X  d   e[        S[	        [        S:  [        S:  5      45      R                  [        5      [        U [        S:  4[        [        S:  4U S45      :X  d   e[        S[	        [        S:  [        S:  5      45      R                  [        SS45      U L d   e[        S[	        [        S:  [        S:  5      45      R                  [        SS45      S:X  d   e[        S5      u  p[        SSS	9u  p4[        U[	        [        S:  US:  5      4U[        [        S:  US:  5      45      R                  [        5      [        U[        -  US:  4[        U[        -  [        S:  4U[        -  [        S:  4U S45      US:  4[        U[        -  [        S:  4U S45      S45      :X  d   eg )
NrB   rF   Tr   re   r\   r"  za br   )r*   r'   rS   r2   r3   r   r6   )r   r$  r%  r   r   s        rL   
test_holesr7    s   
CaQZ **1-	
AE
S$K2! ! ! !aQUAE*+,66q9Y	a!eq!a%j3+>/ / / /aQUAE*+,661ayASHHHaQUAE*+,661ayAQFFF 5>DA5t$DAaQUAE*+aAE1q51A-B 

)A,)	
1q1u	AaCQ<!A#q1uT{	;QUC	AaCQ<#t	-t466 6 6rK   c                    ^ S mU4S jn U " S5      S:  d   e[        S5      nU4S jnU" U5      nUR                  US5      S:X  d   e[        SSS	9nU" U5      nUR                  US5      S:X  d   e[        S[        S
:  4S[        S
:  45      R	                  5       [        S[        S
:  4S[        -  S-
  S45      :X  d   eg )Nc                 <    [        SU S:  4SU S-  -
  U S:  4S5      $ )Nr   rE   rB   rF   rC   rI   r   s    rL   ry   test_issue_11922.<locals>.f  s*    !QVq1a4xQ&7CCrK   c                 h   > T" [         5      T" [         U -   5      -  R                  [         SS45      $ )NrE   rB   rS   r2   kry   s    rL   rM   "test_issue_11922.<locals>.<lambda>  s*    	!qQxAr1:./rK   gffffff?r   r>  c                 h   > S[         S-  -
  T" [         U -   5      -  R                  [         SS45      $ )NrB   rF   rE   r<  r=  s    rL   rM   r?    s/    	
QTQq1uXyy!R45rK   re   Tr   rB   r^   )r   rd   r'   rS   r2   )autocorrr>  good_autocorrr   ry   s       @rL   test_issue_11922rC    s    D/HC=1A5MaA66!Q<1d#AaA66!Q<1aQZ"qAv 

)+Aq1u:1r	4/@AB B BrK   c                  X   S[        S[        S:  4S[        -  S-   [        S:  4[        S[        S:  4S	5      [        S
[        S:  4S5      -   [        S:*  4S[        -  S-   [        S:  4S5      -  n [        U [        [        * [        45      nU[	        U [        [        * [        45      R                  5       :X  d   e[        U5      S:X  d   e[        S[        [        -
  S:  4S5      R                  [        5      [        S[        [        :*  4[        * [        -   S45      :X  d   eg )NgJj?r   gf'vb'6TglAwg3؆P?rF   g333333?{   )gffffff?Tg?)g333333?Tg%єg%JM @g$I$w@rC   z1.00195081676351rB   T)r'   rS   r2   r   r1   rm   strrj   )ry   r   s     rL   test_issue_5227rG    s-   9a->)>%?	Q	!1	11q59	CS>;	/3A,,
-.//	#A%(88!; $& 	&A 	!a"b\"AQRL)..0000q6''''aQ^Y 

)A,)QQK1"q&$@A A ArK   c            
         [        SSS9n [        SSS9n[        SSS9n[        SSS9n[        S[        X :  X!:  5      4S5      n[        S[        X:  X:  5      4S5      n[        XBU[        45      [        XRU[        45      :X  d   e[        S	[        SU:  X :  5      4S
5      n[        S	[        X:  US:  5      4S
5      n[        Xb5      nU[        SUS:*  4X"[        SU 5      :*  4[        SU 5      S45      :X  d   e[        Xr5      n	X:X  d   eUR                  USS45      [        S[        SU 5      5      S-
  :X  d   eUR                  USS45      [        S[        SU 5      5      S-
  :X  d   eg )Nr   Tr   r   rS   rj   r   rD   rB   rC   rF   r\   )r   r'   r6   r2   r   r3   r$   r%   )
r   r   rS   rj   r   r   rw   rx   ip3ip4s
             rL   test_issue_10137rK    s   sAsAsAsA	Ar!%'()	4B	Ar!%'()	4BRQ$	"!Rj(AAAA	As1q5!%()9	5B	As15!a%()9	5B
B
C)	
AF	
QN	QD    B
C::<<Aq	"c!SAY&7!&;;;;<<Aq	"c!SAY&7!&;;;;rK   c                    ^ S mU4S jn U " [         5      nUR                  [         S5      UR                  [         S5      :X  d   eUR                  [         S5      S:X  d   e[        T" [         [        -
  5      T" [        5      -  5      [	        S[        S:  [        S:*  -  [         [        -
  S:  -  [         [        -
  S:*  -  4S	5      :X  d   eg )
Nc                 0    [        SU S:  U S:*  -  4S5      $ )NrB   rE   rC   rI   r   s    rL   rM   -test_stackoverflow_43852159.<locals>.<lambda>1  s    )QbQ!V 45yArK   c                 r   > [        T" U [        -
  5      T" [        5      -  [        [        * [        745      $ rH   )r2   rj   r   rS   ry   s    rL   rM   rN  2  s&    YqQx!}q2#sm<rK   g      g      ?re   r   rB   rE   rC   )rS   rd   r(   rj   r'   )Convcxry   s     @rL   test_stackoverflow_43852159rS  0  s    AA<D	aB771drwwq#...771a=A!AE(1Q4-(I	
Q"Wa AERK0AEQJ?@-   rK   c                  d   [        SSS9n [        SSSS9nS n[        U" U 5      U [        * [        45      [        S-  :X  d   e[        X-  5      [	        U S-  5      -  n[        X0[        * [        45      [        SSU-  -  US-  -  SUS-  -  -
  [        US	5      4[        S-  S45      :X  d   eg
)a  
# 3200 seconds to compute the fourier part of issue
import sympy as sym
x,y,z,t = sym.symbols('x y z t')
k = sym.symbols("k", integer=True)
fourier = sym.fourier_series(sym.cos(k*x)*sym.sqrt(x**2),
                             (x, -sym.pi, sym.pi))
assert fourier == FourierSeries(
sqrt(x**2)*cos(k*x), (x, -pi, pi), (Piecewise((pi**2,
Eq(k, 0)), (2*(-1)**k/k**2 - 2/k**2, True))/(2*pi),
SeqFormula(Piecewise((pi**2, (Eq(_n, 0) & Eq(k, 0)) | (Eq(_n, 0) &
Eq(_n, k) & Eq(k, 0)) | (Eq(_n, 0) & Eq(k, 0) & Eq(_n, -k)) | (Eq(_n,
0) & Eq(_n, k) & Eq(k, 0) & Eq(_n, -k))), (pi**2/2, Eq(_n, k) | Eq(_n,
-k) | (Eq(_n, 0) & Eq(_n, k)) | (Eq(_n, k) & Eq(k, 0)) | (Eq(_n, 0) &
Eq(_n, -k)) | (Eq(_n, k) & Eq(_n, -k)) | (Eq(k, 0) & Eq(_n, -k)) |
(Eq(_n, 0) & Eq(_n, k) & Eq(_n, -k)) | (Eq(_n, k) & Eq(k, 0) & Eq(_n,
-k))), ((-1)**k*pi**2*_n**3*sin(pi*_n)/(pi*_n**4 - 2*pi*_n**2*k**2 +
pi*k**4) - (-1)**k*pi**2*_n**3*sin(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2
- pi*k**4) + (-1)**k*pi*_n**2*cos(pi*_n)/(pi*_n**4 - 2*pi*_n**2*k**2 +
pi*k**4) - (-1)**k*pi*_n**2*cos(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2 -
pi*k**4) - (-1)**k*pi**2*_n*k**2*sin(pi*_n)/(pi*_n**4 -
2*pi*_n**2*k**2 + pi*k**4) +
(-1)**k*pi**2*_n*k**2*sin(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2 -
pi*k**4) + (-1)**k*pi*k**2*cos(pi*_n)/(pi*_n**4 - 2*pi*_n**2*k**2 +
pi*k**4) - (-1)**k*pi*k**2*cos(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2 -
pi*k**4) - (2*_n**2 + 2*k**2)/(_n**4 - 2*_n**2*k**2 + k**4),
True))*cos(_n*x)/pi, (_n, 1, oo)), SeqFormula(0, (_k, 1, oo))))
rS   Tr   r>  )r   finitec                 .    [        U * U S:*  4X S:  45      $ Nr   rI   r   s    rL   rM   "test_issue_12557.<locals>.<lambda>Z  s    YAF|aQZ8rK   rF   rE   r   N)r   r2   r   r,   r&   r'   r   )rS   r>  r   funcs       rL   test_issue_12557rZ  ;  s    : 	$AT$/A8DT!Wq2#rl+r1u444qs8DAJDTsB<(I	
B71a4!AqD&	 "Q(+b!eT]-< < < <rK   c                     SSK Jn   [        S5      u  pp4[        SXA:  4[        [        X:*  XB:  5      4SXB:  45      nUR                  U5      nU[        SXA:*  4U[        -  U[        -  -
  U[        X5      :*  4U* [        -  [        [        X5      -  -   S45      :X  d   eU " [        S5      5       H  n[        [        X4U5      5      n[        SS5       HV  n	UR                  U5      R                  XI5      UR                  U5      R                  U5      R                  XI5      :X  a  MV   e   M     [        XAU5      n
UR                  U
5      n[        U* [        -  [        [        U[        X5      5      -  -   X1:  4S5      nU " [        S5      5       H_  n[        [        XU4U5      5      nUR                  U5      R                  U
R                  U5      5      nXR                  U5      :X  a  M_   e   Xk:X  d   eg )	Nr   r   z
t0, t1 T tTrF   rE   re   rC   )r   r   r   r'   rS   r3   r2   r$   r   r   r   xreplacerd   r   r%   )r   t0t1Tr   ry   rz   r   r   ttr   r   trus                rL   test_issue_6900rb  `  s   &<(LBA1af+3rw#781ag,GA	AA		
AG	
1r!tQ#b+%&
Q3r;	%' ' ' ' %(#CO$1+BJJt$))!/

4 **1-22189 : 9  $
 q/C	CA

Q3q#b+&&	&/C %(#Cq	1%&jj((d);<ll4(((( $ 8O8rK   c            	      :   [        [        [        5      [        [        S-
  5      -   S-
  S:  [        5      [        [	        [
        * [        :  [        [        R                  :  5      [	        [        R                  [        :  [        [
        :  5      5      :X  d   eg )NrB   r   )	r;   absrS   r6   r3   r   r   ZeroOnerJ   rK   rL   test_issue_10122rg  z  sm    Q#a!e*$q(1,a 
RC!GQZ(#aeeaiR*@AB B BrK   c                     [        S[        S:*  4S[        [        :  4[        [        -  S45      n X R                  [        [        5      -
  S-  [        [        -
  S-  -  n[        S[        5      n[        U[        5      R                  5       [        [        S[        S:*  4[        S-  * [        S-  [        -  [        S-  [        -  -
  -  [        [        S-  -  -   S[        -  [        [        * 5      -  [        S-  -  -
  S[        -  [        [        [        -
  5      -  [        S-  -  -   [        [        S-  -  -
  [        U:*  4[        S-  * [        S-  * [        -  [        S-  U-  -   -  S[        * U-   -  -   S[        [        -
  -  -
  S[        -  [        [        * 5      -  [        S-  -  -
  S[        -  [        [        * U-   5      -  [        S-  -  -   [        [        S-  -  -
  U[        S-  -  -   S45      [        [        :*  [        S:*  -  [        S:*  [        [        * :  -  -  4[        S[        [        -
  -  [        S:*  4[        S-  * [        S-  [        -  [        S-  [        -  -
  -  S[        -  [        -  [        S-  [        -  [        S-  [        -  -
  -  -   [        S-  [        S-  [        -  [        S-  [        -  -
  -  -
  S[        [        * 5      -  [        -  -   S[        [        [        -
  5      -  [        -  -
  S[        -  -   [        [        S-  -  -   S[        -  [        [        * 5      -  [        S-  -  -
  S[        -  [        [        [        -
  5      -  [        S-  -  -   [        [        S-  -  -
  [        U:*  4[        S-  * [        S-  * [        -  [        S-  U-  -   -  S[        -  [        -  [        S-  * [        -  [        S-  U-  -   -  -   [        S-  [        S-  * [        -  [        S-  U-  -   -  -
  S[        [        * 5      -  [        -  -   S[        [        * U-   5      -  [        -  -
  S[        -  -   S[        -  [        [        * 5      -  [        S-  -  -
  S[        -  [        [        * U-   5      -  [        S-  -  -   [        [        S-  -  -
  U[        S-  -  -   S45      [        [        :*  4[        [        S-  * [        S-  [        -  [        S-  [        -  -
  -  [        S:*  4[        [        S-  -  [        [        S-  -  -   [        U:*  4[        S-  [        S-  * [        -  [        S-  U-  -   -  [        S-  [        S-  [        -  [        S-  [        -  -
  -  -
  S[        -  [        -  [        S-  * [        -  [        S-  U-  -   -  -
  S[        -  [        -  [        S-  [        -  [        S-  [        -  -
  -  -   [        S-  [        S-  * [        -  [        S-  U-  -   -  -   [        S-  [        S-  [        -  [        S-  [        -  -
  -  -
  [        [        S-  -  -   U[        S-  -  -   S45      S45      :X  d   eg )Nr   rB   TrF   rE   )
r'   rS   r   rd   rj   r$   r2   r
   r#   r   )ueMs      rL   test_issue_4313rl    s   1a1f+16{QqS$K8A	
VVAq\	Aq1uqj(AAq	AQ""$		QKdUAqDFQT!VO$qAv-!CGAqD0@@!CAJq!t#$&'1f-./1f6dUQTE!Gad1f$%A26
21q5	aCQBK1,-/0s3r8 4 0a40AqD&!#$QT6*+/1	
2 q&Q!V	!q&Q"W!56	8 
QZa dUAqDFQT!VO$qs1uad1fq!tAvo'>>1ad1fq!tAvo&')*3r71578QU|A~F!1f s3r7{1a4/023A#c!a%j.A2EF !Q$ Q  dUQTE!Gad1f$%!A1uQw1Q0 ) Q$Aa!Q$q& 012#qb'	!QBFmAo.01!4 !CGAqD ! $%Q3sA26{?1a4#78 !Q$	 1a4	  "&	'

( 	
Q	 
dUAqDFQT!VO$a1f-q!tVa1f_a1f%TAqD57QT!V#$1ad1fq!tAvo&')*1QAa!Q$q&0@)AB!Aq!tAv1Q'(*+Q$Aa!Q$q&0@*AB 1ad1fq!tAvo&' *+1a40 34AqD&9 ;?@
A 		+)   rK   c            	         [        [        S-   [        [        S5      45      R                  [        5      S/ 4:X  d   e[        S[        [        S-   :  4[        S[        [        S-   :  45      S[        -  S[        -  S-   :  4S5      R                  [        5      S[        * [        SS4/4:X  d   e[        S[        [        [        5      4S5      R                  [        5      S[        * [        SS4/4:X  d   e[        [        [        5      * [        [        5      S:  4[        [        5      S45      R                  [        5      SS[        [        [        5      * S4[        * [        [        [        5      S4/4:X  d   e[        S[        [        S-  5      S:  4S5      R                  [        5      SS	S
[        * [        SS4/4:X  d   eg )NrF   re   TrB   rD   rC   r   rc   )rE   r   rB   r   )r   rB   rB   r   )r'   rS   r   
_intervalsr   r   r   r,   r-   r   r   rJ   rK   rL   test__intervalsro    s   a!eR1X&'2215$CCC	
AAI	Aq1q5y>	"AaC!A#'M2 :a=TbS"aO+<$=> > > aAq]I.99!<#r1aA   s1vgs1v{+c!fd^ 

*Q-D
R#a&!	sBA2355 5 5
 aQW)*I 

*Q-D	sB1o688 8 8rK   c            	         / SQu  pp#n[        U[        S:  4US45      [        U [        [        S-
  5      S:  4U[        [        S-
  5      S:  4US45      -  nUR                  [        5      R	                  [        5      [        X$-  [        S:*  4X-  [        S:*  4X-  [        S:  4X-  [        S:  4X#-  S45      :X  d   eg )N)rB   rF   re   r\   rf   rB   TrF   r   r\   )r'   rS   r   r2   r	   )r   r   r   r   rj  rt   s         rL   test_containmentrq    s    #MA!	Aq1u:4y	)1c!a%j1n%3q1u:>':QIF
GA;;q>q!Y	
a1f	
a1f	
a!e	
a!e	
d&   rK   c                     [        [        S-
  5      n [        U [        [        * [        45      S:X  d   e[        U [        SS45      S:X  d   e[	        U [        [        S5      4S5      R                  [        5      S:X  d   e[	        U [        S:  4S5      R                  [        5      [	        [        [        S-
  5      [        S:  4S5      :X  d   eg )NrB   r   rF   rC   rD   )r.   rS   r2   r   r'   r   r/   )d1s    rL   test_piecewise_with_DiracDeltart    s    	AE	BR!bS"&!+++R!Q#q(((b"Q(^Y/99!<AAAb!a%[),66q9Y	1q5	1q5!9>. . . .rK   c                     [        S[        S:  4S5      R                  b   e[        S[        S:  4S5      R                  SL d   e[        SSS9n [        S[        S:  4U S45      R                  (       d   e[        S[        S:  4U [        S	:  45      R                  b   e[        S5      n [        S[        S:  4U S45      R                  b   e[        S[        S:  4S5      R                  b   e[        S[        S:  4S
5      R                  (       d   e[        S[        S:  4[
        S45      R                  b   e[        S[        S:  4S5      R                  (       d   e[        5       n[        U[        S:  45      R                  b   e[        S[        S:  4S
5      S	:  nUS:w  d   e[        U5      S:X  d   eg )Nr   rB   rD   rE   Fr   T)zerore   rY   )	r'   rS   is_zeror   
is_nonzeror   	is_finiter   r(   r   r   r   s      rL   test_issue_10258r{    s   aQZ+33;;;b!a%[),44===sAaQZ!T+3333aQZ!QU,44<<<sAaQZ!T+33;;;aQZ+66>>>aQZ+6666aQZ"d,66>>>aQZ+5555AaQZ **222 	1a!e*i(1,A99!$$$rK   c                     [        [        [        S:  4S5      [        [        [        S:  4S5      pX-  n[        U5      nS H3  nUR                  [        U5      UR                  [        U5      :X  a  M3   e   X-   n[        U5      nS H3  nUR                  [        U5      UR                  [        U5      :X  a  M3   e   g )NrB   rY   re   r   )r   rF   r\   )r'   rS   r(   rd   )r   r   mry   r   s        rL   test_issue_10087r~    s    aQZ+Y1q5z9-Mq	AqAvva|qvva|+++ 	AqAvva|qvva|+++ rK   c            
         [        S5      n [        S5      n[        U S   US:  4U S   S45      n[        U S   U[        SS5      :  4U S   S45      n[        X#-  USS45      U S   U S   -  S-  SU S   -  U S   -  S-  -   U S   U S   -  -   :X  d   e[        SUS:  4S	5      n[        SUS:  4S
5      n[        X#-  USS45      S:X  d   e[        SSS9n[        SSS9u  pVpn[	        [        SX:  US:  -  X`:  -  4US45      USU45      nUR
                  " 5       n	U	[        SX`:  4U[        XG5      -  U[        SU5      -  -
  S45      :X  d   eS Hk  n
[        SS5       HX  n[        U* SU5       HC  nX`:  U
4XK4X|4/nU	R                  U5      UR                  " U5      R                  5       :X  a  MC   e   MZ     Mm     g )Nzc:5rS   rB   rF   Tre   r\   r   rY   rC   rZ   rj   r   z	a,b,c,x,zr   )TF)	r   r'   r   r2   r1   rm   r%   r   rd   )r   rS   r   r   rj   r   r   r?   r   r   rr   r   zzr   s                 rL   test_issue_8919r    s
   AA	AaD!a%=1Q4,	/B	AaD!hq!n,-!d|	<BRUQ1I 
qT!A$Yq[1QqT6!A$;q=(1Q4!945 5 5	Aq1u:y	)B	Aq1u:y	)BRUQ1I&!+++d#AKd3MA!	
QVA!%()	
D	1I	A &&(C)QJ3q9qQ{)BD(IJJJJ1+BRCB'w8xx~):):)<<<< (  rK   c                     [        S5      n [        S[        U " [        5      S-
  S5      4S[        S-
  S:  4S5      nUR	                  [        5      [        U[        5      :X  d   eUR	                  [        SS45      [        U[        SS45      :X  d   e[        U[        SS45      R                  U " [        5      [        S-  5      R                  5       S:X  d   eUR	                  [        5      [        [        [        U " [        5      S5      [        S:  [        U " [        5      S5      -  -  4S[        -  [        [        * :  [        S:  -  4S5      :X  d   eg )	Nry   rB   r   rF   r^   rC   rf   g      $@)
r   r'   r   rS   r2   r1   rd   ra   rj   r   )ry   rt   s     rL   test_unevaluated_integralsr    s#   A1b11o&AFQJCA;;q>Xa^+++;;1ay!Xa!Q%;;;; A1ay!&&qtQqS1335=== ;;q>Y	
BqtQKAFb1qk123	
1qB3w1r6"#Y0 0 0 0rK   c            
          [        S5      u  pn[        [        [        [        S:  [        S:  4[        S:  S45      45      [        [        [	        [        S:  [        S:  [        S:  5      45      :X  d   eg )Nza:crB   r   T)r   r'   rS   rj   r4   rz  s      rL   %test_conditions_as_alternate_booleansr    sj    enGA!aAE1q5>AE4=AB 
3q1ua!eQU3456 6 6rK   c            
      Z  ^^^ [        S5      u  mmpS mT" T[        S:  4T[        S:  45      [        [        S:  TT5      :X  d   eT" T[        S:  4T[        [        :  45      [        [        S:  TT5      :X  d   eT" T[        S:  4T[	        [
        S:  [        [        :  5      4U [
        S:  45      [        [        S:  TT5      :X  d   eT" T[        S:  4TS45      [        [        S:  TT5      :X  d   eT" T[        S:  4T[        S:  4U S45      [        [        S:  T[        [        S:  TU 5      5      :X  d   eT" T[        S:  4T[
        S:  4U S45      [        [        S:  T[        [
        S:  TU 5      5      :X  d   eT" T[        S:  4T[        [        :  4U [
        S:  45      [        [        S:  TT5      :X  d   eT" T[        S:  4U [
        S:  4T[        [        :  4US45      [        [        S:  T[        [
        S:  U T5      5      :X  d   eT" T[        S:  4T[	        [        [        :  [
        S:  5      45      [        [        S:  TT5      :X  d   e[        [        U4S j5        [        [        UU4S j5        [        [        UUU4S	 j5        g )
Nza:dc                  8    [        U 6 R                  [        5      $ rH   )r'   r   r4   )r   s    rL   _ITE+test_Piecewise_rewrite_as_ITE.<locals>._ITE   s    $'',,rK   rB   r   TrF   c                  B   > T " [         S-   [         S:  4[         S45      $ rX   r   )r  s   rL   rM   /test_Piecewise_rewrite_as_ITE.<locals>.<lambda>2  s    dAE1q5>At9=rK   c                  R   > T " [         [         [        :  4[        [         T:  45      $ rH   )rS   rj   )r  r   s   rL   rM   r  6  s    aQZ!Q!V(ErK   c                  :   > T " T[         S:  4T[         S:  45      $ )NrF   re   r   )r  r   r   s   rL   rM   r  7  s    tQAJAE
;rK   )
r   rS   r4   r   r6   rj   r<   ri   r   
ValueError)r   r   r  r   r   s     @@@rL   test_Piecewise_rewrite_as_ITEr    s   JAq!- AE
QQK(CAq!,<<<<AE
QBK(CAq!,<<<<AE
Q1q5!b& 12QAJ Aq!$% % %AE
QI&#a!eQ*::::AE
QAJD	 Aq#a!eQ"234 4 4AE
QAJD	 Aq#a!eQ"234 4 4AE
QBK!QU Aq!$% % %AE
QAJAFaY Aq#a!eQ"234 4 4AE
Q1r61q5 12 Aq!$% % %
9=>  EF
:;<rK   c                      [        S5      u  p[        S[        U S5      4S5      nUR                  XS:  05      nUR	                  US5      S:X  d   eUR	                  US5      S:X  d   eg )Nzx, yr   TrD   rB   )r   r'   r   r\  rd   )rS   rj   r   rv   s       rL   'test_Piecewise_replace_relational_27538r  :  sn    6?DA		
Bq$K
B 
aQZ	 B771a=A771a=ArK   c                  p    [        [        [        [        5      5      [        SS[        -  45      S:X  d   eg )Nr   rF   r\   )r2   rd  r-   rS   r   rJ   rK   rL   test_issue_14052r  E  s)    SQ[1a2,/1444rK   c                     [        [        S[        4S[        4S5      [        S[        4S5      -   5      [        S[        4S[        4S5      :X  d   e[        [        S[        4S	[        4S
5      [        S[        4S5      -  5      [        S[        4S[        4S5      :X  d   e[        [	        [        S5       V s/ s H  n [        U [        4S5      PM     sn 6 5      [        S[        4S5      :X  d   e[        [        [        SS5       V s/ s H  n [        U [        4S5      PM     sn 6 5      [        [        S5      [        4S5      :X  d   eg s  sn f s  sn f )NrB   rF   r	  r3  )   T	      )r4  Tre   r
  r[   )r   Tr   !   )7   T(   rC   i  )   )r(   r'   r   r   r   r   r   r   r  s    rL   test_issue_14240r  I  se   1a&1a&),1a&*%	&
 1vAw
34 4 4 1a&1a&),1a&*%	&
 AwQ45 5 5
 #.3Bi 9.7	1a&)$i 9 : 
Qx+, , , #.3Arl <.:	1a&)$l < = 
	"q)956 6 6 9 <s   <EEc                      [        S5      n [        X S:  4[        S5      S-  S45      n[        UR	                  5       5      S:X  d   eg )NrS   rB   :   r[   Tz/Piecewise((x, x < 1), (8.28571428571429, True)))r   r'   r   rF  rl   rP  s     rL   test_issue_14787r  [  sC    sA1!e*"	D12Aqwwy>NNNNrK   c                     [        S5      u  p[        SU S:  US:  -  U S:  U S:  -  US:  -  -  US:  U S:  -  [        [        US5      S5      -  -  US:*  U S:  -  U S:  -  [        [        US5      S5      -  -  4[        R
                  U S:  US:  -  U S:  US:  -  U S:  -  -  US:*  U S:  -  [        [        US5      S5      -  -  US:  U S:  -  U S:  -  [        [        US5      S5      -  -  4[        R
                  * [        [        US5      S5      US:*  U S:  -  US:  U S:  -  U S:  -  -  -  4SUS:  U S:  -  [        [        US5      S5      -  US:*  U S:  -  U S:  -  [        [        US5      S5      -  -  45      n[        S[        U S5      [        US5      -  [        U S5      [        [        US5      S5      -  -  4S[        U S5      US:  -  4S[        U S5      [        [        US5      S5      -  4U[        [        U 5      S5      [        [        U5      S5      -  45      n[        U5      nUR                  5       nUR                  5       nSS[        R
                  * S[        R
                  SS4nU HL  nU HC  n	XX0n
X4XV4 Vs/ s H  oR                  U
5      PM     nn[        [        U5      5      S:X  a  MC   e   MN     g s  snf )Nzb erF   rB   r   rE   rc   )r   r'   r   r   r   rn   r   r(   r   r\  lenset)r   rj  Cr$  r%  sasbr   r   r   r   r>  oks                rL   test_issue_21481r  `  s   5>DA	

a%AE	
a%AE	a!e	$	&
q&QV	r#a)Q/	/	1 r'a"f	Q	'"SAY*:	:	<	=
 

a%AE	
a%AE	a!e	$	&
r'a"f	3q!9a 0	0	2 q&QV	A	&C1Iq)9	9	;	<
 &&
3q!9a7q2v
AFq2v#6!a%#@	A	C	D 

q&QV	r#a)Q/	/
r'a"f	Q	'"SAY*:	:	<	=	A$ 		
Bq!Hr!Qx2a9r#a)Q/?#?@A	
Bq!HA	R2YC1Iq))*	
Br!uaL2beQ<'(		A 	qA	
B	
B	R!&&!QVVQ*AAa
A*+8A**Q-B8s2w<1$$$   9s   Kc            	         [        S5      u  p[        S[        U S5      4[        U 5      S45      nUR	                  5       [        U 5      :X  d   e[        U [        U S5      4SU -  US-
  S-  -   [        U S5      [        X-   S5      -  4[        U 5      S45      nUR	                  5       [        U 5      :X  d   e[        U S-   [        U S5      4SU -  US-
  S-  -   [        U S5      [        X-   S5      -  4[        U 5      S45      nUR	                  5       [        S[        U S5      4[        U 5      S45      :X  d   eg )Nr   r   Tr\   rF   rB   rE   )r   r'   r   r-   r   )rS   rj   r   rv   rw   s        rL   test_issue_8458r    s!   5>DA	Ar!Qx=3q64.	1B;;=CF"""	Ar!Qx=1Q3!A#>2a8baj3H"ICPQFTX>	ZB;;=CF"""	AaCAr#acQqS1HnbAhAC6K%LsSTvW[n	]B;;=Iq"Q)ns1vtnEEEErK   c                     [        S5      n [        [        S[        [	        [        U 5      S5      [        [        U 5      S5      5      4S5      (       d   e[        S5      n[        [        [        R                  [        U5      S:  4S[        [        U5      S:  [        [        U5      S5      5      4[        R                  S45      (       d   e[        SSS9n[        [        R                  [        U5      S:  4S[        [        U5      S:  [        [        U5      S5      5      4[        R                  S45      nU[        [        R                  US:  4SUS:  4[        R                  S4S	S
9:X  d   e[        U-  n[        [        R                  [        U5      S:  4S[        [        U5      S:  [        [        U5      S5      5      4[        R                  S45      nU[        S[        [        U5      S5      4[        R                  S4S	S
9:X  d   eU[        S[        US5      4[        R                  S4S	S
9:X  d   eg )Nr?   rB   r   rY   rS   Tr   r   FrO   )r   r   r'   r6   r   r   r   r    r   Pir   r   r   )r?   rS   r   rt   r   s        rL   test_issue_16417r    s   sAYBr"Q%|R1q\$B CYOOOOsAYr!uqy 1R1	2beQ<01%%        	sA144A#R1	2beQ<01%%	 A 	144Q-QU%%0 0 0 0 	
!A144A#bABr!uaL1255$-	!A 	1bAl+55$-%9 9 9 9	1bAh-55$-%9 9 9 9rK   c            
        ^ [        S5      u  pp#pE[        mU4S jn[        S[        X5      4S5      nU" U5      ST" X5      -
  :X  d   e[        U [        US5      4U[        US5      4US45      nU" U5      UT" SU5      -  T" SU5      -  UT" SU5      -  -
  UT" SU5      -  -
  U-   U T" SU5      -  -   UT" SU5      -  T" SU5      -  -
  UT" SU5      -  -   :X  d   e[        S[	        X5      4S5      n	U" U	5      ST" X5      -
  :X  d   e[        S[        U S5      4S	S
5      n
U" U
5      SST" SU 5      -  -
  :X  d   e[        S[	        U S5      4S[        US5      4S
5      nU" U5      T" SU 5      * T" SU5      -  ST" SU 5      -  -   S-   :X  d   e[        S[	        U S5      [	        US5      -  4S5      nU" U5      T" SU 5      * T" SU5      -  T" SU 5      -   T" SU5      -   :X  d   e[        S[        US5      [	        U S5      -  4S5      nU" U5      T" SU 5      * T" SU5      -  T" SU5      -   S-   :X  d   e[        S[        U S5      [	        US5      -  4S5      nU" U5      ST" SU5      -  T" SU 5      -  ST" SU 5      -  -   S-   :X  d   e[        S[        U S5      [        US5      -  4S5      nU" U5      ST" SU5      -  T" SU 5      -  S-   :X  d   e[        S[	        U S5      [	        US5      -  4S5      nU" U5      ST" SU 5      -  T" SU5      -  S-   :X  d   e[        S[        US5      [	        U S5      -  4S5      nU" U5      T" SU 5      * T" SU5      -  T" SU 5      -   S-   :X  d   e[        S[        U S5      [	        US5      -  4S5      nU" U5      ST" SU 5      -  T" SU5      -  ST" SU5      -  -   S-
  :X  d   e[        S[        U S5      [        US5      -  4S5      nU" U5      ST" SU 5      -  T" SU5      -  ST" SU 5      -  -   ST" SU5      -  -   S-   :X  d   e[        S[	        U S5      [	        US5      -  4S5      nU" U5      ST" SU 5      -  T" SU5      -  S-   :X  d   e[        S[        U S5      [	        US5      -  4S[        U S5      [        US5      -  4S5      nU" U5      ST" SU5      -  T" SU 5      -  T" SU 5      -  T" SU5      -  T" SU5      T" SU 5      -  -   ST" SU5      -  T" SU 5      -  T" SU5      -  -   T" SU5      -
  S-   :X  d   e[        S[	        XS5      4S5      [        S[	        X45      4S5      -  [        S[	        X05      4S5      -  [        S[	        X@5      4S5      -
  nU" U5      T" XS5      T" X45      -  T" X05      -  T" X@5      -
  :X  d   e[        S[	        X@5      [	        XS5      [	        X45      -  [	        X05      -  -  4S[	        X@5      4S[	        XS5      [	        X45      -  [	        X05      -  4S5      nU" U5      T" XS5      T" X45      -  T" X05      -  T" X@5      -
  :X  d   e[        S[        US5      [        U S5      [        X5      -  -  4S	5      nU" U5      ST" SU 5      -  T" SU5      -  T" X5      -  ST" SU 5      -  T" X5      -  -
  ST" SU5      -  -
  S-   :X  d   e[        SU S:  4S5      nU" U5      U:X  d   e[        S[        U S:  U S:  5      4S5      nU" U5      U:X  d   e[        S[        U S:  U S:  5      4S5      nU" U5      U:X  d   e[        S[        US5      [	        U S5      -  [	        U S5      [	        US5      -  -  ) 4S5      nU" U5      T" SU5      T" SU 5      -  T" SU5      T" SU 5      -  -
  T" SU 5      -
  S-   :X  d   eg )Nzx y z n t mc                 8   > [        U R                  T5      5      $ rH   )r
   r   )rt   Ks    rL   rM   5test_eval_rewrite_as_KroneckerDelta.<locals>.<lambda>  s    &1&rK   r   rD   rB   TrC   re   r	  r
  r\   rF   r   rZ   rf   rY   rE   rc   r   r]   r3  )r   r0   r'   r   r   r3   r6   )rS   rj   r?   ra   r   r}  ry   r   rv   rw   rx   r~   r   r   r  p9p10p11p12p13p14p15p16p17p18p19p20p21p22r  s                                @rL   #test_eval_rewrite_as_KroneckerDeltar    sU   }-A!A&A	Ar!x=)	,BR5A!K	Ar!Aw<!R!W4y	9BR5Aa1gIa1g%!Aq'	1Aa1gI=AQq!W91ay1a()+,Qq!W95 5 5 5 
Ar!x=)	,BR5A!K	Ar!Qx=)Y	7BR5A!Aq'	M!!!	Ar!Qx=1bAh-	;BR5Qq!WHQq!W$q1ay014444	Ar!Qx"Q(*+Y	7BR5Qq!WHQq!W$qAw.1a8888	Ar!Qx"Q(*+Y	7BR5Qq!WHQq!W$qAw.2222	Ar!Qx"Q(*+Y	7BR5BqAwJqAw&1Q72Q6666	Ar!Qx"Q(*+Y	7BR5A!QK!Aq')A----
Q1b	Bq!H,-y
9CS6R!B(]Qq!W,q0000
Q1a2a9,-y
9CS6aAhYqAw&2q1A5555
RAqBq!H,-y
9CS6R!QZ!Q'!AaG)3a7777
Q1a2a8+,i
8CS6R!QZ!Q'!AaG)3a!Qi?!CCCC
Q1a2a8+,i
8CS6Q1a[1Q7*Q....
Q1a2a8+,q"Q(R1X2E.F	
RCS6R!QZ!Q'!Q/!Q7!Aq'!Aq'/IQq!W9Qq!WQq!W$%'(Aw/123 3 3 3 Q1M9
-iBqHy.Q
QaA]I./1:Ar!x=)1TUCS6QqWQqW_QqW,qw6666
Q1BqHr!x$7"Q($BCD1MB12a8(;bh(F#GTCS6QqWQqW_QqW,qw6666
RAqR2YA%9:;Y
GCS6QqQxZ!Q'!/!Ab!H*QqW2DDq1ayPSTTTTT
QAJ	
*CS6S==
QAE1r6*+Y
7CS6S==
Q1q5!a%()9
5CS6S==
Q2a9r!Qx/Bq!Hr!Ry4HIJKY
WCS6Qr1Xa1g%"a1a(881Q7BQFFFFrK   c                  P    SSK Jn Jn  U " SSS5      nU " SSS5      nU" X#-   5        g )Nr   )Uniformdensityu1rB   u2)sympy.statsr  r  )r  r  r  r  s       rL   test_identical_conds_issuer    s-    ,	q!	B	q!	B BGrK   c            	          [        S[        S:*  45      n [        U [        S[        SS5      45      n[	        U5      S:X  d   eg )NrB   i`	  r   z252.4   z252.400000000000000000000000000)r'   rS   r2   r   rF  )ry   r   s     rL   test_issue_7370r  	  sA    1a4i.!A!aE'2./0Aq66666rK   c            	         [        S5      n [        S5      n[        SSS5      nXS   XS   0n[        S[        US:  U S:  S5      45      nUR	                  U5      [        S[        US   S:  US   S:  S5      45      :X  d   eg )NrS   rj   inprB   )r   r   r   T)r   r7   r'   r4   r\  )rS   rj   r  rep_dictrt   s        rL   test_issue_14933r    s    sAsA
ua
#Ct9aT+H1c!a%Q-./A::h9aSY]CIPQMSW1X-Y#ZZZZrK   c                  &    [        [        S 5        g )Nc                  b    [        [        [        S:  4S[        S:  45      R                  5       $ )Nr   rB   )r'   rS   rj   r*  rJ   rK   rL   rM   "test_issue_16715.<locals>.<lambda>  s$    	1ac(Q!H(E(W(W(YrK   )r<   r   rJ   rK   rL   test_issue_16715r    s    
 YZrK   c                  (   [        SSS9u  p[        SSS9n[        U[        R                  -
  -  n[	        [        X1-  5      USU 45      nUR                  5       S[        [        U -  SU-  S-
  -  S-  5      -  S-
  [        SU-  S-
  -  -  :X  d   eg )	Nzt tauTr   ra   r   r   rF   rB   )r   r   r   rn   r2   r"   r   )r   taura   lameqs        rL   test_issue_20360r    s    W4(FAT"A
AFF

C	3sy>CA;	/B;;=Qs2a41q>!#344q82qsQw<HHHHrK   c                  
   S n U " [        [        [        [        * :  [        S:  -  45      5      [        [        * :  [        S:  -  :X  d   eU " [        [        [        [        * :  [        [        :  -  45      5      [        [        * :  [        [        :  -  :X  d   eU " [        [        [        S:  [        S:  -  45      5      [        S:  [        S:  -  :X  d   eU " [        [        [        S:  [        [        :  -  45      5      [        S:  [        [        :  -  :X  d   eU " [        [        [        S:*  [        [        * :  -  45      5      [        S:*  [        [        * :  -  :X  d   eU " [        [        [        S:*  [        S:  -  45      5      [        S:*  [        S:  -  :X  d   eU " [        [        [        S:  [        S:  -  45      5      [        S:  [        S:  -  :X  d   eU " [        [        [        S:  [        [        :  -  45      5      [        S:  [        [        :  -  :X  d   eU " [        [        [        S:  [        S:*  -  45      5      [        S:  [        S:*  -  :X  d   eU " [        [        [        [        :*  [        [        * :  -  45      5      [        [        * :  [        [        :*  -  :X  d   eU " [        [        [        [        :*  [        S:  -  45      5      [        S:  [        [        :*  -  :X  d   eU " [        [        [        [        * :  [        S:  -  45      5      [        S:  [        [        * :  -  :X  d   eU " [        [        [        [        * :  [        [        :  -  45      5      [        [        :  [        [        * :  -  :X  d   eU " [        [        [        [        * :  [        S:*  -  45      5      [        S:*  [        [        * :  -  :X  d   eU " [        [        [        [        * :  [        [        :*  -  45      5      [        [        :*  [        [        * :  -  :X  d   eU " [        [        [        S:  [        [        :*  -  45      5      [        S:  [        [        :*  -  :X  d   eU " [        [        [        [	        [
        5      5      S:*  [        [	        [
        5      5      S:  -  45      5      [        [	        [
        5      5      S:*  [        [	        [
        5      5      S:  -  :X  d   eg )Nc                 4    U R                   S   R                  $ rW  )r   rr   r   s    rL   rM   %test_piecewise_eval.<locals>.<lambda>*  s    !&&)..rK   re   r   rB   )r'   rS   r   r   r   r   r   s    rL   test_piecewise_evalr  &  s    	!AYAGA./0 
B3w1q5!# # #YAGB/01 
B3w1r6"$ $ $YAFq1u-./ 
2v!a% " " "YAFq2v./0 
2v!b&!# # #YAFqB3w/01 
Av!rc'"$ $ $YAFq2v./0 
Av!b&!# # #YAGA./0 
Bw1q5!# # #YAGB/01 
Bw1r6"$ $ $YAGQ/01 
Bw16"$ $ $ YAGRC012 
2#g!r'"# # #YAGB/01 
"fb!" " "YA"HQ/01 
!ebS!" " "YA"HR012 
"frc"# # #YA"Ha012 
1frc"# # #YA"Hb123 
2g!s(#$ $ $YAGR012 
2g!r'"# # #YCAK1,SVqABC 
#a&kQ3s1v;?34 4 4rK   c                      [        SSS9n [        SU -  U S:*  4SU -  S45      n[        X5      [        [        U 5      * U S:*  4[        U 5      S45      :X  d   eg )NrS   Tr   rE   r   rB   )r   r'   r2   r#   rP  s     rL   test_issue_22533r  R  s_    sA2616"QUDM2AQ?i#a&!q&(9CFD>JJJJrK   c                      [        S[        S:  4S[        S:*  4S[        S:*  45      [        S[        S:  4S5      :X  d   eg )NrB   rF   re   rY   rR   rJ   rK   rL   test_issue_24072r  X  sI    aQZ!Q!Vq!q&k 
1q5z9-. . .rK   c                     [        SSS9n [        SU S:  4[        SU -
  5      S45      nUR                  U [        5      b   eUR                  U S5      S:X  d   eUR                  U S5      S:X  d   eUR                  U S5      S:X  d   eUR                  U S	5      S:X  d   eUR                  U [        S
5      5      S:X  d   eUR                  U [        S
SS95      S:X  d   eg)z8Issue 24127: Tests eval_is_meromorphic auxiliary method rS   Tr   rB   r   NrE   FrF   r   )r   r'   r&   is_meromorphicr   r   rP  s     rL   #test_piecewise__eval_is_meromorphicr  ]  s    $A1a!e*tAE{D12AAq!)))Ar"d***Aq!T)))Aq!U***Aq!T)))Avc{+t333Avc56$>>>rK   N)sympy.concrete.summationsr   sympy.core.addr   sympy.core.basicr   sympy.core.containersr   sympy.core.exprr   sympy.core.functionr   r	   r
   sympy.core.mulr   sympy.core.modr   sympy.core.numbersr   r   r   r   r   r   sympy.core.relationalr   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   (sympy.functions.combinatorial.factorialsr   $sympy.functions.elementary.complexesr   r   r   r   r   r    r!   &sympy.functions.elementary.exponentialr"   r#   (sympy.functions.elementary.miscellaneousr$   r%   r&   $sympy.functions.elementary.piecewiser'   r(   r)   r*   r+   (sympy.functions.elementary.trigonometricr,   r-   'sympy.functions.special.delta_functionsr.   r/   (sympy.functions.special.tensor_functionsr0   sympy.integrals.integralsr1   r2   sympy.logic.boolalgr3   r4   r5   r6   "sympy.matrices.expressions.matexprr7   sympy.printingr8   sympy.sets.containsr9   sympy.sets.setsr:   sympy.solvers.solversr;   sympy.testing.pytestr<   r=   sympy.utilities.lambdifyr>   r   r   r   r   rS   rj   r?   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r&  r(  r+  r.  r1  r5  r7  rC  rG  rK  rS  rZ  rb  rg  rl  ro  rq  rt  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rJ   rK   rL   <module>r      sT   )  " ' % 8 8   @ @ 2 2 " / > b b b = E EB B ? K C ; 3 3 ;   ( $ ' - -;' 1aAqCWAt'
9.4 & &R * *Z
=H=4 =L =L@L
a iKX@'F7:/0%
4#
6<*FZ$(&+*I	K=G$T6(B$A<*#<J4B
 F8$	.%*	,=20"6=:56$O
#%L
F9@IGX  7[[I)4XK.

?rK   