
    sg                        d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dlmZ d d	lmZmZmZmZmZmZ d d
lmZmZmZmZ d dlmZ d dl m!Z!m"Z" d dl#m$Z$ d dl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, d dl-m.Z.m/Z/ d dl0m1Z1m2Z2m3Z3 d dl4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z< d dl=m>Z>m?Z? d dl@mAZA d dlBmCZCmDZD d dlEmFZFmGZGmHZHmIZI d dlJmKZK d dlLmMZM d dlNmOZO d dlPmQZQ d dlRmSZS d dlTmUZUmVZV d dlWmXZX  e"d      \  ZYZZZ[Z\Z]Z^ e"dd !      Z_d" Z`d# Zad$ Zbd% ZceVd&        ZdeVd'        Zed( Zfd) Zgd* ZheVd+        Zid, Zjd- Zkd. Zld/ Zmd0 Znd1 Zod2 Zpd3 Zqd4 Zrd5 Zsd6 Ztd7 Zud8 Zvd9 Zwd: Zxd; Zyd< Zzd= Z{d> Z|d? Z}d@ Z~dA ZdB ZdC ZdD ZdE ZdF ZdG ZdH ZdI ZdJ ZdK ZdL ZdM ZdN ZdO ZdP ZdQ ZdR ZdS ZdT ZdU ZdV ZdW ZdX ZdY ZdZ Zd[ ZeVd\        Zd] Zd^ Zd_ Zd` Zda Zdb Zdc Zdd Zye)f    )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                  $    t        t        t        dk  f      j                  d      sJ t        t         t	        t        t        dk        t	        dd            sJ t        t        t        dk  fd      t        t	        t        t        dk        t	        dd            k(  sJ t        t        t        dk  fdd      t        t        t        dk  fd      k(  sJ t        t        t        dk  fdddd	kD  f      t        t        t        dk  f      k(  sJ t        t        t        dk  fdt        dk  fd      t        t        t        dk  fd      k(  sJ t        t        t        dk  fdt        d	k  fd      t        t        t        dk  fd      k(  sJ t        t        t        dk  ft        t        d	k  fd      t        t        t        t        dk  t        d	k        fd      k(  sJ t        t        t        dk  ft        t        d	k  ft        df      t        k(  sJ t        t        df      t        k(  sJ t        t        d
        t        d	t        z  t        dk  ft        df      t        d	t        z  t        dk  ft        dfd      cxk(  rt        d	t        z  t        dk  f      k(  sJ  J t        t        df      t        k(  sJ t        t        d        t        t        df      t        k(  sJ t        t        d        t        t        d        t        t        d        t        d      t        dd	      k(  sJ t        dt        dk  fd      t        k  } t        d| f      t        dt        t        dk  t        dkD  t        d	kD        f      k(  sJ t        dt        dkD  fd	t        t        dk  t        dkD        f      t        dt        dkD  fd	t        dkD  f      k(  sJ t        dt        dk  fd	t        dk  t        dkD  z  f      t        dt        dk  f      k(  sJ t        dt        t        dk  t        dkD  t        t        t        j                              fd      }|j!                  t        t"              dk(  sJ |j!                  t        d	      dk(  sJ |j!                  t        d      dk(  sJ t        dt        dk  ft        d	z  t        dk  ft%        t              t        dk\  f      }t        dt        d	z  dk  ft        dz  t        d	z  dk  ft%        t        d	z        t        d	z  dk\  f      }|j!                  t        t        d	z        |k(  sJ |j!                  t        d      dk(  sJ |j!                  t        d      dk(  sJ |j!                  t        d      t%        d      k(  sJ t        dt        t"        k  fdt        d	t"        z  k  fdt        d	t"        z  kD  f      }t        dt'        t        d      fdt        z  df      }t        dt'        t        d      fd	dt        z  d	kD  f      }|j!                  t        d	      dk(  sJ |j!                  t        d      dk(  sJ |j!                  t        d      dk(  sJ |j!                  t        d      dk(  sJ |j!                  t        d      dk(  sJ t)        dt*              \  }}}	t         |t              t        dk  f |t               |	t              z   d	z   t        dk  f      }
t         |t              t        dk  f |t               |	t              z   d	z   t        dk  f      }|j!                  ||      |
k(  sJ t        dt'        t        d      fd      j!                  t        d      dk(  sJ t        dt'        t        d      fd      j!                  t        d      dk(  sJ t        dt'        t        t              fd      j!                  t        t              dk(  sJ t        dt'        t        t,              fd      j!                  t        t,              dk(  sJ t        dt'        t/        t              t1        t,                    fd      j!                  t        t,              t        dt'        t/        t,              t1        t,                    fd      k(  sJ t        dt'        t1        t              t        z   d      fd      }|j!                  t        d      t        dt'        t1        t              d      fd      k(  sJ t        dt        dk  fdt        dk  fdt'        t        d      fd      j!                  t        d      t        dt        dk  fd      k(  sJ t        dt'        t        d	z  d      fd	t        dk  f      j!                  t        t2              dk(  sJ t        t        t        dkD  f      }t)        dd      }|j!                  t        |      t        k(  sJ |j5                         t        dt        dk  ft        d	z  t        dk  ft%        t              df      k(  sJ |j5                  t        di      dk(  sJ |j5                  t        di      dk(  sJ |j5                  t        di      t%        d      k(  sJ |j5                  t        di      t        k(  sJ t        t7        t        t        ddf      t        dk  f      }|j9                         t        t        j:                  t        dk  f      k(  sJ t        }t        |z  }t        dt        dk  fd	t        z  t        dk  fdt        z  t        dk\  f      }t        |z  |z   }t=        |t              |k(  sJ t=        ||z  t              |k(  sJ t        |z  |k(  sJ t        |z  |z   |t        |z  z   k(  sJ ||z   ||z   k(  sJ ||z   ||z   k(  sJ ||z
  ||z
   k(  sJ t        dt        dk  fdt        d	z  z  t        dk  fdt        d	z  z  t        dk\  f      }|d	z  |k(  sJ t        t        z  d	z   }t        t        d	z  z  d z   }t        |t        dk  f|t        dkD  f      }|j!                  t        d      |j!                  t        d      z
  |j!                  t        d      z   |j!                  t        d      z
  }|j?                  t        dd      dk(  sJ |j?                  t        dd      |k(  sJ t        |t        dk  f|df      }|j?                  t        dd      dk(  sJ |j?                  t        dd      | k(  sJ |j?                  t        dd      |j!                  t        d      |j!                  t        d      z
  k(  sJ |j?                  t        dd      |k(  sJ |j?                  t        d d      |j!                  t        d      k(  sJ |j?                  t        dd       |j!                  t        d       k(  sJ |jA                         t        t         t        dk  ft        d z  d z  tC        dd       z   t        dk  ft        t%        t              z  t        z
  tC        dd       z   df      k(  sJ t        t        t        dk  ft        d	z  dt        k  ft        d t        k  f      }tA        |t        dd	f      tC        d!d      k(  sJ tA        |t        d	df      tC        dd      k(  sJ t        dt        dk  fdt        dk  fdt        d	k  fdt        d k  fd      }tA        |t        tD         tD        f      d	k(  sJ t        t        t        d"k  ft        d	z  t        dk  ft        dt        k  f      }tA        |t        dd	f      t        k(  sJ tG        |t               r|jH                  du sJ y )#Ng      ?   r   Tr   TrB   T)r   F   c                      t               S Nr'        b/var/www/html/venv/lib/python3.12/site-packages/sympy/functions/elementary/tests/test_piecewise.py<lambda>z!test_piecewise1.<locals>.<lambda>8   s    ik rK   Fevaluatec                       t        t              S rH   r'   xrJ   rK   rL   rM   z!test_piecewise1.<locals>.<lambda>>   s
    il rK   c                  $    t        t        df      S NrF   rQ   rJ   rK   rL   rM   z!test_piecewise1.<locals>.<lambda>@   s    iA/ rK   c                  2    t        t        t        dz  f      S rT   rQ   rJ   rK   rL   rM   z!test_piecewise1.<locals>.<lambda>A   s    iAqD	2 rK   c                      t        dgdf      S NrB   TrI   rJ   rK   rL   rM   z!test_piecewise1.<locals>.<lambda>B   s    i!d4 rK   ))rB   rF   TrF   T         
           zf,g,h)clsn)negativeg      )subs      )%r'   rR   hasr   r+   r6   r<   	TypeErrorr*   r   yr4   r3   r9   r   Integersrc   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p6r`   f_intfpdpfp_dxdp2f1f2pevalpeval_intervalpeval2s                            rL   test_piecewise1r   $   s9    aR[!%%c***YQA 6Q8M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,GAq!	AaD!b&>AaD1Q4K!OQ!V#<	=B	AaD!b&>AaD1Q4K!OQ!V#<	=B771a=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q5AE>>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                      t        t        t        dk  ft        df      } | j                  t        t        t        hk(  sJ y )Nr   T)r'   rR   ari   free_symbolsrx   s    rL   test_piecewise_free_symbolsr      s2    1a!e*q$i(A>>aAY&&&rK   c                     t        dd      \  } }t        | dz
  dz  | dk\  fd      }t        || ddf      t        dd	      k(  sJ t        | d
z
  d
z  | dk\  f|df      }t        || ddf      t        dd	      k(  sJ t        || dd
f      t        dd      k(  sJ |t        | d
z
  d
z  | dk\  f|| dk  f      k(  sJ t        | d
z
  d
z  d| k  f|| dk  f      }t        || ddf      t        dd	      k(  sJ t        || dd
f      t        dd      k(  sJ |t        | d
z
  d
z  d| k  f|df      k(  sJ t        | d
z
  d
z  d| k  fd|z  df      }t        || ddf      t        dd	      k(  sJ t        || dd
f      t        dd      k(  sJ y )Nx yTrealrF   r   rD   rb      rd   re   r[   +   rY   iC   i_)r   r'   r2   r   )rR   ri   rx   ry   s       rL   test_piecewise_integrate1r      s   5t$DAqAEA:qAv&	2AQB
#xA666AEA:qAv&D	2AQB
#xA666QB
#xA666	AEA:qAv.AE
;;;;AEA:qAv&AE
3AQB
#xA666QB
#xa'8888	AEA:qAv.D	::::AEA:qAv&1d4AQB
#xA666QB
#xa'8888rK   c            
         t        dt        dkD  fdt        t        d      fdt        dk  f      } t        | t        ddf      dk(  sJ t        dt        t        z
  dk  fd      } t        | t        t
         df      t        dt               k(  sJ | j                  t        d      j                  t        t
         df      dk(  sJ t        | t        dt
         f      t        dt              k(  sJ t        | t        dt
        f      t        dt               t
        z   k(  sJ t        | t        t
         df      t        dt               dz   k(  sJ t        | t        t
         t
        f      t         t
        z   k(  sJ t        dt        dk  ft        t        dk  fd      } | j                  t        t        df      }| j                  t        dt        f      }dt        j                  d	fD ]d  }| j                  t        |df      |j                  t        |      k(  sJ | j                  t        d|f      |j                  t        |      k(  rdJ  |t        t        dt        dt                    d	z   d	z  t        j                  z   t        dk  ft         dz   d
f      k(  sJ |t        t        dt        dt                    d	z  d	z  t        j                  z
  t        dk  ft        dz
  d
f      k(  sJ y )NrB   r   rE   rC   rd   *   rD   rF   T)r'   rR   r   r2   ri   r   r%   rc   r$   r   rm   )ry   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                     t        dd      } t        dt        z
  t        dd      j	                  t              fdt        z   t        dd      j	                  t              fd      }|j                  t        | df      }|j                  t        d| f      }|j                  t        ddf      |j                  | d      k(  sJ |j                  t        ddf      |j                  | d      k(  sJ |j                  t        ddf      |j                  | d      k(  sJ |j                  t        ddf      |j                  | d      k(  sJ |j                  t        d	df      |j                  | d	      k(  sJ |j                  t        dd	f      |j                  | d	      k(  sJ t        |j                  t                    j                         t        d| dk  f| d	z   d	z  | z
  t        j                  z   | dk  f| d	z  d	z  | z
  t        j                  z   | dk  fd      k(  sJ t        |j                  t                    j                         t        d| dk  f| d	z  d	z  | z   t        j                  z
  | dk  f| d	z   d	z  | z   t        j                  z
  | dk  fd      k(  sJ |t        t        dt        d|             d	z   d	z  t        dt        d|             z
  t        dt        d|             d	z  z   t        j                  z   | dk  fd      k(  sJ |t        t        dt        d|             d	z  d	z  t        dt        d|             z   t        dt        d|             d	z  z
  t        j                  z
  | dk  fd      k(  sJ y )
Nri   Tr   rB   r   rE   rC   rb   rF   )r   r'   rR   r:   containsr2   rc   r(   rewritesimplifyr   rm   r%   r$   ri   ry   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                     t        dd      } t        dt        t        dk  t        dk\        fdt        z
  t        dkD  fdt        z   df      }|j	                  t        | df      }|j	                  t        d| f      }|j	                  t        ddf      |j                  | d      k(  sJ |j	                  t        ddf      |j                  | d      k(  sJ |j	                  t        ddf      |j                  | d      k(  sJ |j	                  t        ddf      |j                  | d      k(  sJ |j	                  t        ddf      |j                  | d      k(  sJ |j	                  t        ddf      |j                  | d      k(  sJ t        |j                  t                    j                         t        d| dk  f| dz   dz  | z
  t        j                  z   | dk  f| dz  dz  | z
  t        j                  z   | dk  fd	      k(  sJ t        |j                  t                    j                         t        d| dk  f| dz  dz  | z   t        j                  z
  | dk  f| dz   dz  | z   t        j                  z
  | dk  fd	      k(  sJ |t        t        dt        d|             dz   dz  t        dt        d|             z
  t        dt        d|             dz  z   t        j                  z   | dk  fd	      k(  sJ |t        t        dt        d|             dz  dz  t        dt        d|             z   t        dt        d|             dz  z
  t        j                  z
  | dk  fd	      k(  sJ y )
Nri   Tr   r   rE   rB   rb   rF   rC   )r   r'   r6   rR   r2   rc   r(   r   r   r   rm   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                  V   ddl m}  t        t        t        t
              }t        dt        t        k  fdt        t        kD  fd      }|j                  |      }|t        t         dt
        z  z   dt        t
        t        t        t                    z  z
  t        t
        t        t        t        t                    z   t        t
        k  fdt        z  t
        z   dt        t        t        t        t
                    z  z   t        t        t        t        t        t
                    z
  df      k(  sJ  | d      D ]n  }t        t        t        t        t        t
        f|            }|j                  |      j                  |j                  |            |j                  |      k(  rnJ  y )	Nr   permutationsrB   rF   rd   Trb   T)rB   rF   rd   r[   )	itertoolsr   r   rR   cdr'   r   br2   r%   r$   dictziprc   )r   limrs   qvrs         rL   test_piecewise_integrate2r   L  s7   &
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                  l    t        dt        dk  fd      j                  t        t        df      dk(  sJ y )NrB   r[   rC   r   )r'   rR   r2   r   rJ   rK   rL   test_meijer_bypassr   Y  s2     aQZ+55q"ajARGGGrK   c                      ddl m}  t        ddf}d}t        dt        t        kD  fdt        t
        kD  fd      }|j                  |      } | |d      D ]Z  \  }}t        t        t        t
        f||f            }|j                  |      |j                  |      j                  |      k(  rZJ  |j                  t        d	      j                  t
        d      d
k(  sJ t        dt        t        kD  fdt        t
        k  fd      }|j                  |      } | |d      D ]Z  \  }}t        t        t        t
        f||f            }|j                  |      |j                  |      j                  |      k(  rZJ  y )Nr   )cartesre   )rb   rE   r   rB   rF   re   rY   rZ   rB   rF   rC   )repeatr[   rZ   )
sympy.utilities.iterablesr   rR   r'   r   r   r2   r   r   rc   )r   r   Nrs   ansijrepss           rL   /test_piecewise_integrate3_inequality_conditionsr   _  sN   0a)C 	#A1a!e*q!a%j)4A
++c
Cq# =1CAA'(xx~!7!7!<<<<= 88Aq>q!$3331a!e*q!a%j)4A
++c
Cq# =1CAA'(xx~!7!7!<<<<=rK   c            
      
   t        dd      } t        dd      }t        dd      }t        dd      }t        dt        || k  ||kD        fd      }t        d|| k  fd||kD  fd      }t        d||kD  fd|| k  fd      }t        d|| k  fd	||k  fd
      }t        d||kD  fd	|| kD  fd
      }t        d	t        | |k  ||k        fd
      }	t	        |t
         |      }
||||||	fD ]  }|j                  |
      }t        d      D ]  }| d	|d||i}|j                  |      |j                  |      j                  |
j                  |            k(  sJ | d|d	||i}|j                  |      |j                  |      j                  |
j                  |            k(  rJ   t	        ||t
              }
||||||	fD ]  }|j                  |
      }t        d      D ]  }| d	|d||i}|j                  |      |j                  |      j                  |
j                  |            k(  sJ | d|d	||i}|j                  |      |j                  |      j                  |
j                  |            k(  rJ   t        d|t        | |      k  f|t        | |      z
  ||k  f|t        | |      z
  df      }||||fD ]  }|j                  |      |k(  rJ  |j                  |      t        d|| k  f|  |z   |t        | |      k  f|  t        | |      z   df      k(  sJ |	j                  |      t        d|| k  f|  |z   |t        | |      k  f|  t        | |      z   df      k(  sJ t        d|| k  ft        j                  ||kD  fd      }t        t        j                  ||kD  fd|| k  fd      }t        d|| k  fd	||k  ft        j                  df      }t        t        j                  ||kD  fd	|| kD  fd
      }t        d	t        | |k  ||k        ft        j                  ||kD  fd
      }	t	        |t
         |      }
|||||	fD ]  }|j                  |
      }t        d      D ]  }| d	|d||i}|j                  |      |j                  |      j                  |
j                  |            k(  sJ | d|d	||i}|j                  |      |j                  |      j                  |
j                  |            k(  rJ   y )Nr   Tr   r   rR   ri   r   rD   rB   rC   re   rd   )r   r'   r6   r3   r   r   r2   rangerc   r%   r$   r   rm   )r   r   rR   ri   p0p1ru   rv   rw   r}   r   rs   r   r   r   s                  rL   -test_piecewise_integrate4_symbolic_conditionsr   y  sP   sAsAsAsA	Ar!a%Q'()	4B	Aq1u:1q5z9	5B	Aq1u:1q5z9	5B	Aq1u:1q5z9	5B	Aq1u:1q5z9	5B	As1q5!a%()9	5B B3
C"b"b"% Lkk#q 	LAa1a?D88D>QVVD\%;%;CHHTN%KKKKq!Aq#D88D>QVVD\%;%;CHHTN%KKKK		LL 1b/C"b"b"% Lkk#q 	LAa1a?D88D>QVVD\%;%;CHHTN%KKKKa1a?D88D>QVVD\%;%;CHHTN%KKKK		LL 	
AQN	
SAYQ	
SAYC "b" %{{1~$$$%<<?i	
AE

ac!Qi 
c!Qi        <<?i	
AF
ac!Qi 
c!Qi       
 
Aq1u:A		:B	AFFAE?QAJ		:B	Aq1u:1q5zAFFD>	:B	AFFAE?QAJ		:B	As1q5!a%()AFFAE?I	FB B3
C"b"b! Lkk#q 	LAa1a?D88D>QVVD\%;%;CHHTN%KKKKq!Aq#D88D>QVVD\%;%;CHHTN%KKKK		LLrK   c                      t        dt        t        d      ft        t        z  df      } t	        | t        ddf      t        dt        t        d      fdt        z  df      k(  sJ y )Nr   TrB   rd   r[   )r'   r   ri   rR   r2   rs   s    rL   0test_piecewise_integrate5_independent_conditionsr     sT    1bAh-!A#t-AQAq	"iBq!H!T{&KKKKrK   c                     t        dt        t        t        z
  dkD  dt        z  dt        z  z
  dkD  z  dt        t        t        z
  dkD  dt        z  dz
  dk  dt        z  dt        z  z
  dkD              ft        dt        t        t        z
  dkD  ddt        z  dt        z  z
  dkD        fdt        dt        t        z
  dkD  ft        df      z  df      df      dt        dt        t        t        z
  dkD  dt        z  dt        z  z
  dkD  z  dt        t        t        z
  dkD  dt        z  dz
  dk  dt        z  dt        z  z
  dkD              ft        dt        t        t        z
  dkD  ddt        z  dt        z  z
  dkD        fdt        dt        t        z
  dkD  ft        df      z  df      df      z  z   } t	        |       t        dt        t        z
  t
        j                  kD  t        t        z
  dkD  z  fdt        z  dz   t        t        z
  dkD  fdt        z  dt        z  z   df      k(  sJ t	        | dkD        j                  t              t        t        t        z
  t
        j                  kD  t        t        z
  dkD  z  dt        t        t        z
  dkD  dt        z  dz   dkD  dt        z  dt        z  z   dkD              k(  sJ y )Nr   rB   rF   FrE   Tr[   )r'   r4   rR   ri   r(   r   rm   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                     t        t        dz  dz   t        dz  z  t        t        dt        z   z  t        dz  z
  d      fdt        z  dz  df      } | j                         t        t        t        t        d      fdt        dz   z  df      k(  sJ t        t
        t        t        t
        d      t        t
        t        z   d            fd      j                         t        dt        t        t
        d      t        t        d            fd      k(  sJ t        dt        z  t        t
              z  t        t              t        t         t
        z         z  z  t        t        d      t        t         t
        z   d      z  fdt        t
              z  t        t              t        t         t
        z         z  z  t        t        d      t        t         t
        z   d      z  fd      j                         t        dt        z  t        t        t
        d      t        t        d            fdt        t        t
        d      t        t        d            fd      k(  sJ dt        t        t        d      t        t        d            ft        dff}t        | j                         t        | k(  sJ dt        t        d      ft        t              t        z  dff}t        | j                         t        | k(  sJ t        dt        z   t        t        t        d      t        t        d            ft        df      j                         t        k(  sJ t        dt        t        d      ft        t              dz   t        z   df      }t        t        t              z   dz   }t        d      }t        | j                         |k(  sJ t        |j                  t         |t                     j                         |j                  t         |t                    k(  sJ t        d	d
      }t        dd
      }t        dd      }t        | d|z  z   t        d|z  d      f|dd|z  z
  z  |d|z  dz
  z  z  | d|z  z   z  df      }|j                         | d|z  z   k(  sJ t        d|dk  |dk  z  |dk  z  f|dz  dz   |dz   z  |dz   z  |dk  |dk  z  ft         j"                  |dz  z
  d|z
  z  |dz   z  |dk  |dk  z  |dk  z  f|dz   | |dz  dz   z  t         j"                  |dz  z
  d|z
  z  z   z  |dk  |dk  z  |dk  z  |dk  z  f|dz   t         j"                  |dz  z
  d|z
  z  |dz  dz   |dz   z  z   z  |dk  |dk  z  f|dz   | |dz  dz   z  t         j"                  |dz  z
  d|z
  z  z   z  |dk  |dk  z  |dk  z  fd|dk  |dk  z  f|dz  dz   |dz   z  |dz   z  |dk  f|dz   | |dz  dz   z  t         j"                  |dz  z
  |dz   z  z   z  |dk  |dk  |dk  z  z  ft         j"                  |dz  z
  d|z
  z  |dz   z  |dk  |dk  |dk  z  z  fd      t        d|dk  |dk  z  |dk  z  fd|z
  |dz  t         j"                  z   z  |dz   z  |dk  |dk  z  fd|z
  d|dz  z
  z  d|z
  z  |dk  |dk  z  |dk  z  fd|z
  d|z
  |dz  t         j"                  z   z  d|dz  z
  d|z
  z  z   z  |dk  |dk  z  |dk  z  |dk  z  fd|z
  d|dz  z
  d|z
  z  |dz  t         j"                  z   |dz   z  z   z  |dk  |dk  z  fd|z
  d|z
  |dz  t         j"                  z   z  d|dz  z
  d|z
  z  z   z  |dk  |dk  z  |dk  z  fd|dk  |dk  z  fd|z
  |dz  t         j"                  z   z  |dz   z  |dk  fd|z
  |d|dz  z
  z  d|z
  |dz  t         j"                  z   z  z   z  |dk  |dk  |dk  z  z  fd|z
  d|dz  z
  z  d|z
  z  |dk  |dk  |dk  z  z  fd      z   } | j                         t        d|dk  f|dz   |dz   dz  z  dz  |dk  fd|dz  z  dz  d|dz  z  dz  z
  dz   |dk  fd|dz  z  dz  d|dz  z  dz  z
  dz   |dk  fd|z
  |dz
  dz  z  dz  |dk  fd      k(  sJ t$        }t        dt        dkD  fdt        dk  fdt        dkD  f      j                         t        dt        dkD  fdt        dk  fd      k(  sJ t        dt        dk  fdt        dk  fd      j                         t        dt        dk  fd      k(  sJ t        dt        dkD  f      j                         t        dt        dkD  f|df      k(  sJ t        dt        dk\  t        t&        k  z  f      j                         t        dt        dk\  t        t&        k  z  f|df      k(  sJ t        dt        dk  fdt        dkD  t        dk  z  fd      j                         t        dt        dk  fdt        dk  fd      k(  sJ t        dt        dk  fdt        dk  t        dkD  z  fd      j                         t        dt        dk  fdt        dk  fd      k(  sJ t        dt        dk  fdt        dkD  t        dk  z  fd      j                         t        dt        dk  fdt        dkD  t        dk  z  fd      k(  sJ t        dt        dk  fdt        dk\  t        dk  z  fd      j                         t        dt        dk  fdt        dk  fd      k(  sJ t        dt        dk  fdt        dk\  t        dk  z  fd      j                         t        dt        dk  fdt        dk\  t        dk  z  fd      k(  sJ t        t)        t              t        dk  t        dkD  z  ft        df      j                         t        t)        t              t        dk  t        dkD  z  ft        df      k(  sJ t        dt        dk\  t        dk  z  fdt        dkD  t        dk  z  f      j                         t        dt        dk\  t        dk  z  fdt        dk\  t        dk  z  f|df      k(  sJ t        dt        dk\  t        dk  z  fdt        dkD  t        dk  z  f      j                         t        dt        dk\  t        dk  z  fdt        dkD  t        dk  z  f|df      k(  sJ t        dd      }	t        |t        dk  fdt        dk\  |	t        kD  z  |	t        z
  dk  z  ft        |	dz  z
  |	t        kD  |	t        z
  dk  z  f|	dz  t        z
  t        dk\  |	t        kD  z  fd|	t        kD  f|df      } | j                         t        |t        dk  f|	dz  t        z
  |	t        kD  f|df      k(  sJ | j                  |	t              j                         t        |t        dk  ft         t        dz  z   t        t+        dt              k  fdt        t        k  f|df      k(  sJ y )NrF   rB   r   rE   TrD   rC   rx   r   integerr`   tpositiver[   rb   r   rd   re   r   L)nonnegative)r'   rR   r   r   r   r   r3   r   r   ri   r   r-   r   r   rc   r   r   rm   r*   r   r#   r$   )
rs   argsr   rx   r   r`   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            
      
   t        t         t        dk  ft        t        dkD  f      } | j                  t        t        dz
        t        t              dgk(  sJ t        dz
  t              ddgk(  sJ t        t        dz
  dz  t        dk\  fd      t        t              dgk(  sJ t        t        dz
  dz  t        dk\  fdf      }t        |t              ddgk(  sJ t        t        dz
  dz  t        dk\  ft        dk  f      }t        |t              ddgk(  sJ t        t        dz
  dz  t        dk\  ft        dk  f      }t        |t              dgk(  sJ t        t        dz
  dz  t        dk\  fdf      }t        |t              dgk(  sJ t        t        dz
  dz  t        dk\  fdfd	      }t        |t              dgk(  sJ t        t        dz
  dz  t        dk\  ft         dz   t        dz
  dk  ft        dz
  t        dz
  dkD  f      }t        |t              dgk(  sJ t        t        t        dz
  t        dkD  fdt        z
  df      dz
        d
dgk(  sJ t        t        dz
  dz  t        dk\  fd      t	        t
        fd       d }t        t        dz  dz
  t        t        k  ft        dz
  df      }t        |t              } ||D cg c]  }|j                  t        d       c}      dgk(  sJ  ||D cg c]  }|j                  t        d       c}      ddgk(  sJ  ||D cg c]  }|j                  t        d       c}      ddgk(  sJ |t        dt        dkD  ft        j                  df      t        dt        dk  ft        j                  df      t        dt        dkD  ft        j                  df      gk(  sJ t        t        dz
  dt        dz
  k  fdt        z
  dt        dz
  kD  f      }t        |t        z
  t              t        t         dz   t         dk  ft        j                  df      t        t        dz   t        dk\  ft        j                  df      gk(  sJ t        dd      }t        ||z
  t              | dz   |dz   gk(  sJ t        d      t        t         t               t        dt        dkD  fd             t                    t        d
t        dkD  fd      gk(  sJ t        dt        dz  z  t        dt        k  t        dk        fd      t        dz
        dt        d      z  gk(  sJ y c c}w c c}w c c}w )Nr   rF   rB   rd   rD   re   r[   T)r]   FrE   rC   c                  $    t         t              S rH   )r;   rR   r   s   rL   rM   z&test_piecewise_solve.<locals>.<lambda>[  s    a rK   c                 .    t        t        d |             S )Nc                 &    | t         j                  uS rH   )r   NaNrR   s    rL   rM   z4test_piecewise_solve.<locals>.nona.<locals>.<lambda>^  s    Qaee^ rK   )listfilter)r   s    rL   nonaz"test_piecewise_solve.<locals>.nona]  s    F3S9::rK   rb   rs   r   rx   rX   )r'   rR   rc   r;   r<   NotImplementedErrorri   r   r   r   r   r   r3   r&   )abs2ry   r   rs   r   r   absxm3rx   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+!1+,Q777s+!1+,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   U!U&<U+c                     t        t        t        dk  fddt        k  f      } t        t        | z        t        t        dz  t        dk  ft        dt        k  f      k(  sJ t        | | z         t        dt        z  t        dk  fddt        k  f      k(  sJ t        t        dt        dk  fd      t        dt        dk  fd      z         t        dt        dk  fd      k(  sJ t        dt        dk  ft        t        dk  fd	      }t        dt        dk  fdt        z
  t        dk  fd	      }d
|z  d|z  z   } t        t        |       t        t         t        f      t        dt        z  dz   t        ddf      k(  sJ t        t        dt
        dk  ft        dt
        dk\  f       df            t        dt
        dk  fdt
        dk\  f      k(  sJ t        t        t        t        t        dkD  t
        dk  t
        dkD        f            t        t        t        dk  t
        dk  z  t        dkD  t
        dkD  z  z  f      k(  sJ t        dt        t        d      fd	      t        t        t        t         t
        z   d      fdt        t         t
        z   d      fd	      }}t        t        ||d            t        t        ||d            k(  sJ y )NrB   rF   r   rX   r]   )rf   T   )iTrC   r[   Trb   FrN   )	r'   rR   r(   r2   r   ri   r4   r   r   )rs   r   ru   r   r   s        rL   test_piecewise_foldr   ~  s   1a!e*q!q&k*A!A#)QT1q5MAqAv;"GGGG!a% 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 	A#aU3 
C1u567 7 7rK   c                     t        t        t              t        dk  fd      } t        dt        | d      f| t	        |       z  df      }|j                  t        t         dz        dk(  sJ |j                  t        d      dk(  sJ |j                  t        t         dz        dk(  sJ t        dt        | d      fd      }t        |      }t        dd      D ]1  }|j                  t        |      |j                  t        |      k(  r1J  dt        dt        dk  fd	      k  }t        |      }t        d      D ]1  }|j                  t        |      |j                  t        |      k(  r1J  t        dt        dk  fd	      }t        dt        dk  fd	      }t        d||k  fd      }t        |      }t        dd      D ]1  }|j                  t        |      |j                  t        |      k(  r1J  y )
Nr   rC   TrF   rB   r[   rD   rE   r   )	r'   r,   rR   r   r   rc   r   r(   r   )	r   ru   rw   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	ArBw<	+B

C2q\ /xx1~A.../rK   c            	      @   t        t        t              t        dk  fd      } t        dt        | d      fd| z  df      }t        dt        dk\  t        t        t              d      z  fdt        t              z  t        dk  ft        df      }t        |      |k(  sJ y )Nr   rC   rB   T)r'   r,   rR   r   r   r(   )r   ru   rv   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            	      4   t        dt        dddd      j                  t              fd      } t	        t        dt        z
  | z              }t        dk\  t        dk  z  }t	        t        dt        z
  | z        d      t        dt        z
  |ft         |fd|fdd      k(  sJ t	        t        dt        z
  | z        d       t        dt        z
  |fd      k(  sJ |t        dt        z
  |fd      k(  sJ |t        t	        dt        z
  | z              k(  sJ y )NrB   r   FTrC   rN   )r'   r:   r   rR   r(   r
   )r   ru   rq   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                      t        t        t        dk  ft        dz  t        dk  ft        dt        k  f      } | t        | j                   k(  sJ y )Nrf   rF   rE   rB   )r'   rR   r   r   s    rL   test_piecewise_duplicater     sC    1a#g,AqBw!QU<A	166""""rK   c                     t        t        t        dk  ft        dz  dt        k  ft        dt        k  f      } t        t        t        dk  ft        dt        z        dt        k  ft        dt        k  f      }|j                         | k(  sJ |j                  d      |k(  sJ t	        t
        t        z  t        dt        f      j                         } | j                         | k(  sJ y )NrB   rF   rE   rd   Fdeep)r'   rR   r1   rl   r   ri   r   )r   ru   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                     t        t        t        dd      j                  t              fd      } | j	                  t        d      dk(  sJ | j	                  t        d      dk(  sJ | j                  t              t        dt        dd      j                  t              fd      k(  sJ t        | t              t        dt        dk  ft        dz  dz  t        dk  ft        j                  df      k(  sJ y )Nr   rB   rC   g            ?rF   T)	r'   rR   r:   r   rc   r	   r2   r   rm   )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            
         t        dt        dk  ft        j                  t        dk  fd      } t	        |       t        dt        dk  ft        j                  t        t        d      fdt        dkD  fd      k(  sJ t	        | dz         t        dt        dk  ft        j                  t        t        d      fdt        dkD  fd      dz   k(  sJ t	        t        dt        dk  ft        dt        dk\  f       df            t        dt        dk  ft        dt        dk\  ft        j                  t        dk  fd       t        dkD  fd      k(  sJ t	        t        dt        t        kD  f            t        dt        t        kD  ft        j                  t        t        k  fd      k(  sJ t	        t        dt        t        kD  f      d      t        dt        t        kD  f      k(  sJ t        d	d
      \  }}t        d|dk  fdd      }t        d|dk  fd|dk\  fd      }t        ||dk  fdd      }t        ||dk  fd|dk\  fd      }t        ||dk  fd|dk\  fd      }t	        |      |k(  sJ t	        |d      |k(  sJ y )Nr   rD   rB   FrN   rF   T)skip_nanzxr, yrr   rX   r   rd   r   )	r'   rR   r   rm   r)   r   ri   r   r   )rs   xryrr   p1xru   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	BQ<U	;B
RaL1bAg,
?Cc26]QaL5ADr"d***r.#555rK   c                     t        t        df      t        k(  sJ t        dk  } t        t        | ft        dz   | f      t        t        | f      k(  sJ t        t        | ft        dz   | j                  f      t        t        | f      k(  sJ t        dk  }d }d| ft        d| fd|f      |ffd| ft        d| fd|j                  f      |ffd| ft        d| fd|f      |fdfd| ft        d| fd|fd      |ffd| ft        d| fd|fd      |fdffD ]S  }d	D ]L  } |t        |d
dij                  t        |             |t        | j                  t        |            k(  rLJ  U t	        d      \  }}}}t        |k  } t        |k  }t        |k  }	t        |k  }
t        d| ft        d| fd|fd|	f      |fd|	f      t        d| fd|fd|	f      k(  sJ t        d| ft        d| fd|fd|	fd      |	fd|
f      t        d| ft        d|fd|	f      |	fd|
f      k(  sJ t        dt        | |
      ft        d|
fd|fd|	f      |fd|	f      t        dt        | |
      ft        d|
fd|f      |fd|	f      k(  sJ t        d|	fd|	 fdt        j                  f      t        d|	fdt        j                  f      k(  sJ t        d|	fdt        |	 |      fd      t        d|	fd|fd      k(  sJ t        d|	fdt        |	 |      fd      j                  t        t        ||||t        fd                  dk(  sJ t        d|	fd|	 f      t        d|	fd      k(  sJ y )NTrB   re   c                 J    t        | t              rt        | j                   S | S rH   )ro   r'   r   r   s    rL   	canonicalz*test_piecewise_collapse.<locals>.canonical  s     a#aff%%rK   rF   rd   r[   Tre   T)r   rF   r]   rO   Fzr1:5r[   )rY   Tr   )rB   rF   rd   r[   g      @rX   )r'   rR   reversedrc   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:;< < <	<	< V_NBB	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Aq]Y	
AAA& !"%$&'V
2a8}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RR+->?@
AaH H HaVa!W%Aq69)EEEErK   c            
      2   t        t        dz  t        dk  ft        t        dddd      j                  t              fdt        z
  t        dk\  fd      } t	        t        |       } |d      dk(  sJ  |d	      d	k(  sJ  |d
      d
k(  sJ  |d      d	k(  sJ y )NrF   r   rB   FTrC   g       g      @r^   r   g       @)r'   rR   r:   r   r>   )rs   rx   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                  <   ddl m}  t        t        t              t        dk  ft        t              t        dkD  f      }t        t         | t        dz        z   t        dk  fd | t        dz        z   t        dkD  f      }|j                  t        d      |k(  sJ y )Nr   )OrF   rB   )r`   )sympy.series.orderr  r'   r-   rR   r,   nseries)r  r   ru   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                     t        dt        z  t        dkD  fd      } t        t        t        dkD  fd      }t        dt        z  t        dkD  ft        df      }t        t        t        dkD  fdt        z  df      }t        dt        z  t        dkD  ft        df      }t        dt        z  t        dk  ft        df      }t        t        t        dk  fdt        z  df      }t        t        t        dkD  fdt        z  df      }| j                  t              dk(  sJ |j                  t              dk(  sJ |j                  t              t        k(  sJ |j                  t              dt        z  k(  sJ |j                  t              t        k(  sJ |j                  t              dt        z  k(  sJ |j                  t              t        k(  sJ |j                  t              dt        z  k(  sJ y )NrB   rC   Tr   )r'   rR   as_leading_term)r   ru   rv   rw   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                     t        dt        dk  fddt        k  f      } t        dt        z  t        dk  ft        dt        k  f      }t        t        t        z  t        dkD  fdt        z   df      }t        t         t        t              z  t        dkD  fdt        z
  df      }t        |       | k(  sJ t        |      t	        |       k(  sJ t        |      |k(  sJ | j
                  du sJ | j                  du sJ |j
                  du sJ |j                  du sJ |j
                  J |j                  J | j                         | dfk(  sJ |j                         dt         |z  fk(  sJ y )NrF   r   rB   TF)r'   rR   r   r   r(   is_imaginaryis_realas_real_imag)r   ru   rv   rw   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                     t        dd      \  } }t        | |dz  z  t        dkD  f| dz  |z  df      }|j                         t        t        | |dz  z        t        dkD  ft        | dz  |z        df      k(  sJ |j	                         t        t	        | |dz  z        t        dkD  ft	        | dz  |z        df      k(  sJ |j                         t        t        | |dz  z        t        dkD  ft        | dz  |z        df      k(  sJ y )NA BF)commutativerF   r   T)r   r'   rR   r   r   r!   )ABrs   s      rL   test_conjugate_transposer!  m  s   5e,DAq1QT61q5/AqDFD>2A99;71QT6?AE*WQT!V_d,CDE E E;;=9Qq!tV$a!e,yAa/@$.GHI I I;;=9Qq!tV$a!e,yAa/@$.GHI I IrK   c                     t        t        df      t        k(  sJ t        t        dfd      t        k(  sJ t        dt        dt              f      j                  dt        t        d      ffk(  sJ t        dt        dt              fd      j                  dt        dt              ffk(  sJ t        t        dfd      } | t        k(  sJ y )NTrN   rB   F)r'   rR   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            	         t        t        t        dkD  ft         t        dk  f      j                         t        t        dt        dd      ft         t        t         d      fgk(  sJ t        t        dz
  dz  t        dk\  fd      j                         t        dz
  dz  t        dt              fdt        t         ddd      fgk(  sJ y )Nr   TrF   rC   )r'   rR   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    t        dt        t        d      fd      } t        t	        |             }| |k(  sJ y )Nr]   r   )   T)r'   r   rR   r   r8   )rs   r   s     rL   test_S_srepr_is_identityr)    s0    2r!Qx.*-A	%(A6M6rK   c            	         t        dt        dkD  fdt        t        dk  t        dkD  z        fd      } | j                  t        ddf      d	k(  sJ t        dt        dkD  fdt        t        k  fd      } t        d
df}| j                  |      }t        dd      D ]@  }|j                  t        |      | j                  t        |      j                  |      k(  r@J  y )NrB   r[   rF   rd   rE   r   r\   re      r   )r'   rR   r5   r2   ri   r   rc   )rs   r   r   r   s       rL   test_issue_12587r,    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                     t        dt        t        t        dz  dz
        z  z  t        ddf      t        dz  k(  sJ t	        dt        t        t        dk  t        dkD        t        dk        fd      j                  t        ddf      dk(  sJ t	        dt        dkD  fdt        t        dz   kD  fd      j                  t        ddf      dk(  sJ t	        dt        dkD  fdt        dt              fd      j                  t        ddf      d	k(  sJ t	        dt        dt        z  t        dz   kD  t        dk        fd      j                  t        ddf      dk(  sJ t	        dt        dt        z  t        dz   kD  t        dk        fd      j                  t        ddf      dk(  sJ t	        dt        dkD  fdt        t        dz   kD  fd      j                  t        ddf      dk(  sJ t	        dt        dt        z
  t        dt        z  dz
  z        fd      j                  t        ddf      d	k(  sJ t	        dt        t        dk  t        dkD        fdt        dkD  fd      j                  t        ddf      d	k(  sJ t	        dt        t        d      fd
      j                  t        ddf      dk(  sJ t	        t        t        dkD  t        dk  z  fdt        dk  f      j                  t        ddf      dk(  sJ t	        t        t        dkD  t        dk  z  fdt        dk  f      } t        }| j                  t        dt        f      }|t	        t        dz
  t        dk  ft        dt              dz  dz  t        dt              z
  t        dt              z   t        j                  z
  t        t        dt              k  f|df      k(  sJ | j                  t        ddf      |j                  t        d      k(  sJ | j                  t        ddf      dk(  sJ | j                  t        ddf      |u sJ t	        dt        dkD  fdt        t        t        dkD  t        dk              fd      } | j                  t        ddf      dk(  sJ t	        dt        dt        kD  t        dkD        fdt        t        dk  t        dkD        fdt        dk  f      } | j                  t        ddf      dk(  sJ t	        dt        dk  fdt        t        t        d      t        dkD        f      j                  t        ddf      t        j                   u sJ t	        dt        dk  fdt        t        t        d      t        dkD        fd      j                  t        ddf      dk(  sJ t	        dt        dk  fdt        t        t        d      t        dk        fd      j                  t        ddf      dk(  sJ t	        dt        dk  fdt        t        d      t        t        k  z  fd      j                  t        ddf      dk(  sJ y )NrB   rF   rd   rC   r   r   re   r[   rY   rX   rE   TrZ      r]      )r2   rR   r&   r   r'   r3   r6   r   r   r*   ri   r%   r   rm   rc   r5   r   )rs   r   r   s      rL   test_issue_11045r0    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            
         t         } t        dt        dk  f      j                  t              t        t        t        dk  f| df      k(  sJ t        dt	        t        dkD  t        dk        f      j                  t              t        | t        dk  ft        t        dk  f| df      k(  sJ t        dt	        t        dkD  t        dk        f      j                  t        ddf      | u sJ t        dt	        t        dkD  t        dk        f      j                  t        ddf      dk(  sJ t        d      \  }}t        dd	      \  }}t        |t	        t        dk  |dk        f|t        t        dk  |dkD        f      j                  t              t        |t        z  |dkD  ft        |t        z  t        dk  f|t        z  t        dk  f| df      |dk  ft        |t        z  t        dk  f| df      df      k(  sJ y )
NrB   rF   Tr   rd   r[   r  za br   )r*   r'   rR   r2   r3   r   r6   )r   r  r   r   r   s        rL   
test_holesr2    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>DAq5t$DAq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                     d fd}  | d      dkD  sJ t        d      }fd} ||      }|j                  |d      dk(  sJ t        dd	      } ||      }|j                  |d      dk(  sJ t        dt        d
k  fdt        d
k\  f      j	                         t        dt        d
k  fdt        z  dz
  df      k(  sJ y )Nc                 <    t        d| dk  fd| dz  z
  | dk  fd      S )Nr   rE   rB   rF   rC   rI   r   s    rL   rx   ztest_issue_11922.<locals>.f  s*    !QVq1a4xQ&7CCrK   c                 h     t                t         | z         z  j                  t         ddf      S )NrE   rB   rR   r2   krx   s    rL   rM   z"test_issue_11922.<locals>.<lambda>  s*    	!qQxAr1:. rK   gffffff?r   r8  c                 h    dt         dz  z
   t         | z         z  j                  t         ddf      S )NrB   rF   rE   r6  r7  s    rL   rM   z"test_issue_11922.<locals>.<lambda>  s/    	
QTQq1uXyy!R4 rK   rd   Tr   rB   r]   )r   rc   r'   rR   r2   )autocorrr8  good_autocorrr   rx   s       @rL   test_issue_11922r<    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                  R   dt        dt        dk  fdt        z  dz   t        dk  ft        dt        dkD  fd	      t        d
t        dkD  fd      z   t        dk  fdt        z  dz   t        dk  fd      z  } t        | t        t         t        f      }|t	        | t        t         t        f      j                         k(  sJ t        |      dk(  sJ t        dt        t        z
  dk  fd      j                  t              t        dt        t        k  ft         t        z   df      k(  sJ y )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'   rR   r2   r   r1   rl   strri   )rx   r   s     rL   test_issue_5227r@    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            
         t        dd      } t        dd      }t        dd      }t        dd      }t        dt        || k  ||kD        fd      }t        dt        | |kD  ||k        fd      }t        |||t        f      t        |||t        f      k(  sJ t        d	t        d|k  || k        fd
      }t        d	t        | |kD  |dkD        fd
      }t        ||      }|t        d|dk  f||t        d|       k  ft        d|       df      k(  sJ t        ||      }	|	|k(  sJ |j                  |ddf      t        dt        d|             dz
  k(  sJ |j                  |ddf      t        dt        d|             dz
  k(  sJ y )Nr   Tr   r   rR   ri   r   rD   rB   rC   rF   r[   )r   r'   r6   r2   r   r3   r$   r%   )
r   r   rR   ri   r   r   rv   rw   ip3ip4s
             rL   test_issue_10137rD    s   sAsAsAsA	Ar!a%Q'()	4B	Ar!a%Q'()	4BR!Q$	"q!Rj(AAAA	As1q5!a%()9	5B	As1q5!a%()9	5B
B
C)	
AF	
AQN	QD    B
C#::<<Aq	"c!SAY&7!&;;;;<<Aq	"c!SAY&7!&;;;;rK   c                     d fd}  | t               }|j                  t         d      |j                  t         d      k(  sJ |j                  t         d      dk(  sJ t         t         t        z
         t              z        t	        dt        dk\  t        dk  z  t         t        z
  dk\  z  t         t        z
  dk  z  fd	      k(  sJ y )
Nc                 0    t        d| dk\  | dk  z  fd      S )NrB   rE   rC   rI   r   s    rL   rM   z-test_stackoverflow_43852159.<locals>.<lambda>1  s    )QbQ!V 45yA rK   c                 r    t         | t        z
         t              z  t        t         t        f      S rH   )r2   ri   r   rR   rx   s    rL   rM   z-test_stackoverflow_43852159.<locals>.<lambda>2  s(    YqQx!}q2#sm< rK   g      g      ?rd   r   rB   rE   rC   )rR   rc   r(   ri   r'   )Convcxrx   s     @rL   test_stackoverflow_43852159rK  0  s    AA<D	aB771drwwq#...771a=A!AE(1Q4-(I	
Q"Wa AERK0AEQJ?@-   rK   c                  p   t        dd      } t        ddd      }d }t         ||       | t         t        f      t        dz  k(  sJ t        || z        t	        | dz        z  }t        || t         t        f      t        dd|z  z  |dz  z  d|dz  z  z
  t        |d	      ft        dz  df      k(  sJ y
)aD  
    # 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))))
    rR   Tr   r8  )r   finitec                 0    t        |  | dk  f| | dkD  f      S Nr   rI   r   s    rL   rM   z"test_issue_12557.<locals>.<lambda>Z  s    YAF|aQZ8 rK   rF   rE   r   N)r   r2   r   r,   r&   r'   r   )rR   r8  r   funcs       rL   test_issue_12557rQ  ;  s    : 	$AT$/A8DT!Wq2#rl+r1u444qs8DAJDTAsB<(I	
B71a4!AqD&	 "Q(+b!eT]-< < < <rK   c                     ddl m}  t        d      \  }}}}t        d||k  ft        t        ||k  ||k        fd||k\  f      }|j                  |      }|t        d||k  f|t        z  |t        z  z
  |t        ||      k  f| t        z  t        t        ||      z  z   df      k(  sJ  | t        d            D ]~  }t        t        ||f|            }t        dd      D ]V  }	|j                  |      j                  ||	      |j                  |      j                  |      j                  ||	      k(  rVJ   t        |||      }
|j                  |
      }t        | t        z  t        t        |t        ||            z  z   ||kD  fd      } | t        d            D ]_  }t        t        |||f|            }|j                  |      j                  |
j                  |            }||j                  |      k(  r_J  ||k(  sJ y )	Nr   r   z
t0, t1 T tTrF   rE   rd   rC   )r   r   r   r'   rR   r3   r2   r$   r   r   r   xreplacerc   r   r%   )r   t0t1Tr   rx   ry   r   r   ttr   r   trus                rL   test_issue_6900rY  `  s   &<(LBAq1a"f+3rQwB#781a2g,GA	AA		
AG	
1r!tQ#b"+%&
Q3r2;	%' ' ' ' %(# :CBO$1+ 	:BJJt$))!B/

4 **1-221R89 : 9	::
 2q/C	CA

Q3q#b"+&&	&B/C %(# )CBq	1%&jj((d);<cll4(((() 8O8rK   c            	      8   t        t        t              t        t        dz
        z   dz
  dkD  t              t        t	        t
         t        k  t        t        j                  k        t	        t        j                  t        k  t        t
        k              k(  sJ y )NrB   r   )	r;   absrR   r6   r3   r   r   ZeroOnerJ   rK   rL   test_issue_10122r^  z  sm    Q#a!e*$q(1,a 
RC!GQZ(#aeeaiR*@AB B BrK   c                     t        dt        dk  fdt        t        k\  ft        t        z  df      } | | j                  t        t              z
  dz  t        t        z
  dz  z  }t        dt              }t        |t              j                         t        t        dt        dk  ft        dz   t        dz  t        z  t        dz  t        z  z
  z  t        t        dz  z  z   dt        z  t        t               z  t        dz  z  z
  dt        z  t        t        t        z
        z  t        dz  z  z   t        t        dz  z  z
  t        |k  ft        dz   t        dz   t        z  t        dz  |z  z   z  dt         |z   z  z   dt        t        z
  z  z
  dt        z  t        t               z  t        dz  z  z
  dt        z  t        t         |z         z  t        dz  z  z   t        t        dz  z  z
  |t        dz  z  z   df      t        t        k  t        dk  z  t        dk  t        t         kD  z  z  ft        dt        t        z
  z  t        dk  ft        dz   t        dz  t        z  t        dz  t        z  z
  z  dt        z  t        z  t        dz  t        z  t        dz  t        z  z
  z  z   t        dz  t        dz  t        z  t        dz  t        z  z
  z  z
  dt        t               z  t        z  z   dt        t        t        z
        z  t        z  z
  dt        z  z   t        t        dz  z  z   dt        z  t        t               z  t        dz  z  z
  dt        z  t        t        t        z
        z  t        dz  z  z   t        t        dz  z  z
  t        |k  ft        dz   t        dz   t        z  t        dz  |z  z   z  dt        z  t        z  t        dz   t        z  t        dz  |z  z   z  z   t        dz  t        dz   t        z  t        dz  |z  z   z  z
  dt        t               z  t        z  z   dt        t         |z         z  t        z  z
  dt        z  z   dt        z  t        t               z  t        dz  z  z
  dt        z  t        t         |z         z  t        dz  z  z   t        t        dz  z  z
  |t        dz  z  z   df      t        t        k  ft        t        dz   t        dz  t        z  t        dz  t        z  z
  z  t        dk  ft        t        dz  z  t        t        dz  z  z   t        |k  ft        dz  t        dz   t        z  t        dz  |z  z   z  t        dz  t        dz  t        z  t        dz  t        z  z
  z  z
  dt        z  t        z  t        dz   t        z  t        dz  |z  z   z  z
  dt        z  t        z  t        dz  t        z  t        dz  t        z  z
  z  z   t        dz  t        dz   t        z  t        dz  |z  z   z  z   t        dz  t        dz  t        z  t        dz  t        z  z
  z  z
  t        t        dz  z  z   |t        dz  z  z   df      df      k(  sJ y )Nr   rB   TrF   rE   )
r'   rR   r   rc   ri   r$   r2   r
   r#   r   )ueMs      rL   test_issue_4313rc    s   1a1f+16{QqS$K8A	
QVVAq\	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            	         t        t        dz   t        t        d      f      j                  t              dg fk(  sJ t        dt        t        dz   kD  ft        dt        t        dz   k  f      dt        z  dt        z  dz   k  fd      j                  t              dt         t        ddfgfk(  sJ t        dt        t        t              fd      j                  t              dt         t        ddfgfk(  sJ t        t        t               t        t              dk\  ft        t              df      j                  t              ddt        t        t               dft         t        t        t              dfgfk(  sJ t        dt        t        dz        dkD  fd      j                  t              dd	d
t         t        ddfgfk(  sJ y )NrF   rd   TrB   rD   rC   r   rb   )rE   r   rB   r   )r   rB   rB   r   )r'   rR   r   
_intervalsr   r   r   r,   r-   r   r   rJ   rK   rL   test__intervalsrf    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            	         g d\  } }}}}t        |t        dkD  f|df      t        | t        t        dz
        dk  f|t        t        dz
        dk  f|df      z  }|j                  t              j	                  t              t        ||z  t        dk  f| |z  t        dk  f| |z  t        dk  f||z  t        dk  f||z  df      k(  sJ y )N)rB   rF   rd   r[   re   rB   TrF   r   r[   )r'   rR   r   r2   r	   )r   r   r   r   ra  rs   s         rL   test_containmentrh    s    #MAq!Q	Aq1u:4y	)1c!a%j1n%3q1u:>':QIF
GA;;q>q!Y	
1a1f	
1a1f	
1a!e	
1a!e	
1d&   rK   c                     t        t        dz
        } t        | t        t         t        f      dk(  sJ t        | t        ddf      dk(  sJ t	        | t        t        d      fd      j                  t              dk(  sJ t	        | t        dk  fd      j                  t              t	        t        t        dz
        t        dk  fd      k(  sJ y )NrB   r   rF   rC   rD   )r.   rR   r2   r   r'   r   r/   )d1s    rL   test_piecewise_with_DiracDeltark    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                  b   t        dt        dk  fd      j                  J t        dt        dk  fd      j                  du sJ t        dd      } t        dt        dk  f| df      j                  sJ t        dt        dk  f| t        d	k  f      j                  J t        d      } t        dt        dk  f| df      j                  J t        dt        dk  fd      j                  J t        dt        dk  fd
      j                  sJ t        dt        dk  ft
        df      j                  J t        dt        dk  fd      j                  sJ t               }t        |t        dk  f      j                  J t        dt        dk  fd
      d	k  }|dk7  sJ t        |      dk(  sJ y )Nr   rB   rD   rE   Fr   T)zerord   rX   )	r'   rR   is_zeror   
is_nonzeror   	is_finiter   r(   r   r   r   s      rL   test_issue_10258rr    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                     t        t        t        dkD  fd      t        t        t        dkD  fd      }} | |z  }t        |      }dD ]1  }|j                  t        |      |j                  t        |      k(  r1J  | |z   }t        |      }dD ]1  }|j                  t        |      |j                  t        |      k(  r1J  y )NrB   rX   rd   r   )r   rF   r[   )r'   rR   r(   rc   )r   r   mrx   r   s        rL   test_issue_10087ru    s    aQZ+Y1q5z9-MqA	!AqA ,vva|qvva|+++,	AAqA ,vva|qvva|+++,rK   c            
         t        d      } t        d      }t        | d   |dk  f| d   df      }t        | d   |t        dd      k  f| d   df      }t        ||z  |ddf      | d   | d   z  dz  d| d   z  | d   z  dz  z   | d   | d   z  z   k(  sJ t        d|dk  fd	      }t        d|dk  fd
      }t        ||z  |ddf      dk(  sJ t        dd      }t        dd      \  }}} }}t	        t        d||k\  |dk  z  || kD  z  f|df      |d|f      } |j
                         }	|	t        d|| kD  f|t        ||      z  |t        d|      z  z
  df      k(  sJ dD ]h  }
t        dd      D ]W  }t        | d|      D ]D  }|| kD  |
f||f||fg}|	j                  |       |j                  |      j                         k(  rDJ  Y j y )Nzc:5rR   rB   rF   Trd   r[   r   rX   rC   rY   ri   r   z	a,b,c,x,zr   )TF)	r   r'   r   r2   r1   rl   r%   r   rc   )r   rR   r   r   ri   r   r   r?   r   r   rq   r   zzr   s                 rL   test_issue_8919rx    s3   AA	AaD!a%=1Q4,	/B	AaD!hq!n,-!d|	<BRUQ1I 
qT!A$Yq[1QqT6!A$;q=(1Q4!945 5 5	Aq1u:y	)B	Aq1u:y	)BRUQ1I&!+++d#AKd3MAq!Q	
Q!VA!a%()	
D	1I	A !&&(C)QAJ3q!9qQ{)BD(IJJJJ >A; 
>RbS!R( >a%B!R9&!&&,*;*;*====>
>>rK   c                     t        d      } t        dt         | t              dz
  d      fdt        dz
  dk  fd      }|j	                  t              t        |t              k(  sJ |j	                  t        ddf      t        |t        ddf      k(  sJ t        |t        ddf      j                   | t              t        dz        j                         dk(  sJ |j	                  t              t        t        t         | t              d      t        dk  t         | t              d      z  z  fdt        z  t        t         kD  t        dk  z  fd      k(  sJ y )	Nrx   rB   r   rF   r]   rC   re   g      $@)
r   r'   r   rR   r2   r1   rc   r`   ri   r   )rx   rs   s     rL   test_unevaluated_integralsrz    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            
          t        d      \  } }}t        t        t        t        dk  t        dkD  ft        dkD  df      f      t        t        t	        t        dkD  t        dk  t        dkD        f      k(  sJ y )Nza:crB   r   T)r   r'   rR   ri   r4   rq  s      rL   %test_conditions_as_alternate_booleansr|    sl    enGAq!aAE1q5>AE4=AB 
3q1ua!eQU3456 6 6rK   c            
      D   t        d      \  } }d  t        dk  ft        dk\  f      t        t        dk        k(  sJ  t        dk  ft        t        k  f      t        t        dk        k(  sJ  t        dk  ft	        t
        dk  t        t        k        f| t
        dkD  f      t        t        dk        k(  sJ  t        dk  fdf      t        t        dk        k(  sJ  t        dk  ft        dk  f| df      t        t        dk  t        t        dk  |             k(  sJ  t        dk  ft
        dk  f| df      t        t        dk  t        t
        dk  |             k(  sJ  t        dk  ft        t        k  f| t
        dk  f      t        t        dk        k(  sJ  t        dk  f| t
        dk  ft        t        k  f|df      t        t        dk  t        t
        dk  |             k(  sJ  t        dk  ft	        t        t        k  t
        dk        f      t        t        dk        k(  sJ t        t        fd       t        t        fd       t        t        fd	       y )
Nza:dc                  8    t        |  j                  t              S rH   )r'   r   r4   )r   s    rL   _ITEz+test_Piecewise_rewrite_as_ITE.<locals>._ITE   s    $'',,rK   rB   r   TrF   c                  B      t         dz   t         dk  ft         df      S rW   r   )r  s   rL   rM   z/test_Piecewise_rewrite_as_ITE.<locals>.<lambda>2  s    dAE1q5>At9= rK   c                  R      t         t         t        k  ft        t         k\  f      S rH   )rR   ri   )r  r   s   rL   rM   z/test_Piecewise_rewrite_as_ITE.<locals>.<lambda>6  s    aQZ!Q!V(E rK   c                  :      t         dk  ft         dkD  f      S )NrF   rd   r   )r  r   r   s   rL   rM   z/test_Piecewise_rewrite_as_ITE.<locals>.<lambda>7  s    tQAJAE
; rK   )
r   rR   r4   r   r6   ri   r<   rh   r   
ValueError)r   r   r  r   r   s     @@@rL   test_Piecewise_rewrite_as_ITEr    s   JAq!Q- 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                  n    t        t        t        t                    t        ddt        z  f      dk(  sJ y )Nr   rF   r[   )r2   r[  r-   rR   r   rJ   rK   rL   test_issue_14052r  :  s)    SQ[1a2,/1444rK   c                     t        t        dt        fdt        fd      t        dt        fd      z         t        dt        fdt        fd      k(  sJ t        t        dt        fd	t        fd
      t        dt        fd      z        t        dt        fdt        fd      k(  sJ t        t	        t        d      D  cg c]  } t        | t        fd       c}        t        dt        fd      k(  sJ t        t        t        dd      D  cg c]  } t        | t        fd       c}        t        t        d      t        fd      k(  sJ y c c} w c c} w )NrB   rF   r  r.  )   T	      )r/  Trd   r  rZ   )r   Tr   !   )7   T(   rC   i  )   )r(   r'   r   r   r   r   r   r   r  s    rL   test_issue_14240r  >  s]   1a&1a&),1a&*%	&
 1vAw
34 4 4 1a&1a&),1a&*%	&
 AwQ45 5 5
 #.3Bi 9)*	1a&)$ 9 : 
Qx+, , , #.3Arl <)*	1a&)$ < = 
	"q)956 6 6 9 <s   :EEc                      t        d      } t        | | dk  ft        d      dz  df      }t        |j	                               dk(  sJ y )NrR   rB   :   rZ   Tz/Piecewise((x, x < 1), (8.28571428571429, True)))r   r'   r   r?  rk   rH  s     rL   test_issue_14787r  P  sE    sA1a!e*"	D12Aqwwy>NNNNrK   c                     t        d      \  } }t        d| dkD  |dkD  z  | dkD  | dk  z  |dk  z  z  |dk\  | dk  z  t        t        |d      d      z  z  |dk  | dkD  z  | dk  z  t        t        |d      d      z  z  ft        j
                  | dkD  |dk  z  | dkD  |dkD  z  | dk  z  z  |dk  | dk  z  t        t        |d      d      z  z  |dk\  | dkD  z  | dk  z  t        t        |d      d      z  z  ft        j
                   t        t        |d      d      |dk  | dk  z  |dk\  | dkD  z  | dk  z  z  z  fd|dk\  | dk  z  t        t        |d      d      z  |dk  | dkD  z  | dk  z  t        t        |d      d      z  z  f      }t        dt        | d      t        |d      z  t        | d      t        t        |d      d      z  z  fdt        | d      |dkD  z  fdt        | d      t        t        |d      d      z  f|t        t        |       d      t        t        |      d      z  f      }t        |      }|j                         }|j                         }ddt        j
                   dt        j
                  ddf}|D ]J  }|D ]C  }	| |||	i}
||||fD cg c]  }|j                  |
       }}t        t        |            dk(  rCJ  L y c c}w )Nzb erF   rB   r   rE   rb   )r   r'   r   r   r   rm   r   r(   r   rS  lenset)r   ra  Cr  r   sasbr   r   r   r   r8  oks                rL   test_issue_21481r  U  s.   5>DAq	

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1a
A*+QB8A!**Q-8B8s2w<1$$$	%% 9s   Kc            	         t        d      \  } }t        dt        | d      ft        |       df      }|j	                         t        |       k(  sJ t        | t        | d      fd| z  |dz
  dz  z   t        | d      t        | |z   d      z  ft        |       df      }|j	                         t        |       k(  sJ t        | dz   t        | d      fd| z  |dz
  dz  z   t        | d      t        | |z   d      z  ft        |       df      }|j	                         t        dt        | d      ft        |       df      k(  sJ y )Nr   r   Tr[   rF   rB   rE   )r   r'   r   r-   r   )rR   ri   r   ru   rv   s        rL   test_issue_8458r  {  s'   5>DAq	Ar!Qx=3q64.	1B;;=CF"""	Ar!Qx=1Q3!A#>2a8b1aj3H"ICPQFTX>	ZB;;=CF"""	AaCAr#acQqS1HnbAhAaC6K%LsSTvW[n	]B;;=Iq"Q)ns1vtnEEEErK   c                     t        d      } t        t        dt        t	        t        |       d      t        t        |       d            fd      sJ t        d      }t        t        t        j                  t        |      dk  fdt        t        |      dkD  t        t        |      d            ft        j                  df      sJ t        dd      }t        t        j                  t        |      dk  fdt        t        |      dkD  t        t        |      d            ft        j                  df      }|t        t        j                  |dk  fd|dkD  ft        j                  dfd	
      k(  sJ t        |z  }t        t        j                  t        |      dk  fdt        t        |      dkD  t        t        |      d            ft        j                  df      }|t        dt        t        |      d      ft        j                  dfd	
      k(  sJ |t        dt        |d      ft        j                  dfd	
      k(  sJ y )Nr?   rB   r   rX   rR   Tr   r   FrN   )r   r   r'   r6   r   r   r   r    r   Pir   r   r   )r?   rR   r   rs   r   s        rL   test_issue_16417r    s   sAYBr"Q%|R1q\$B CY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            
         t        d      \  } }}}}}t        fd}t        dt        | |      fd      } ||      d | |      z
  k(  sJ t        | t        |d      f|t        |d      f|df      } ||      | d|      z   d|      z  | d|      z  z
  | d|      z  z
  |z   |  d|      z  z   | d|      z   d|      z  z
  | d|      z  z   k(  sJ t        dt	        | |      fd      }	 ||	      d | |      z
  k(  sJ t        dt        | d      fd	d
      }
 ||
      dd d|       z  z
  k(  sJ t        dt	        | d      fdt        |d      fd
      } ||       d|         d|      z  d d|       z  z   dz   k(  sJ t        dt	        | d      t	        |d      z  fd      } ||       d|         d|      z   d|       z    d|      z   k(  sJ t        dt        |d      t	        | d      z  fd      } ||       d|         d|      z   d|      z   dz   k(  sJ t        dt        | d      t	        |d      z  fd      } ||      d d|      z   d|       z  d d|       z  z   dz   k(  sJ t        dt        | d      t        |d      z  fd      } ||      d d|      z   d|       z  dz   k(  sJ t        dt	        | d      t	        |d      z  fd      } ||      d d|       z   d|      z  dz   k(  sJ t        dt        |d      t	        | d      z  fd      } ||       d|         d|      z   d|       z   dz   k(  sJ t        dt        | d      t	        |d      z  fd      } ||      d d|       z   d|      z  d d|      z  z   dz
  k(  sJ t        dt        | d      t        |d      z  fd      } ||      d d|       z   d|      z  d d|       z  z   d d|      z  z   dz   k(  sJ t        dt	        | d      t	        |d      z  fd      } ||      d d|       z   d|      z  dz   k(  sJ t        dt        | d      t	        |d      z  fdt        | d      t        |d      z  fd      } ||      d d|      z   d|       z   d|       z   d|      z   d|       d|       z  z   d d|      z   d|       z   d|      z  z    d|      z
  dz   k(  sJ t        dt	        ||      fd      t        dt	        ||      fd      z  t        dt	        ||       fd      z  t        dt	        ||       fd      z
  } ||       ||       ||      z   ||       z   ||       z
  k(  sJ t        dt	        ||       t	        ||      t	        ||      z  t	        ||       z  z  fdt	        ||       fdt	        ||      t	        ||      z  t	        ||       z  fd      } ||       ||       ||      z   ||       z   ||       z
  k(  sJ t        dt        |d      t        | d      t        | |      z  z  fd	      } ||      d d|       z   d|      z   | |      z  d d|       z   | |      z  z
  d d|      z  z
  dz   k(  sJ t        d| dkD  fd      } ||      |k(  sJ t        dt        | dk  | dkD        fd      } ||      |k(  sJ t        dt        | dkD  | dk        fd      } ||      |k(  sJ t        dt        |d      t	        | d      z  t	        | d      t	        |d      z  z   fd      } ||       d|       d|       z   d|       d|       z  z
   d|       z
  dz   k(  sJ y )Nzx y z n t mc                 8    t        | j                              S rH   )r
   r   )rs   Ks    rL   rM   z5test_eval_rewrite_as_KroneckerDelta.<locals>.<lambda>  s    &1& rK   r   rD   rB   TrC   rd   r  r  r[   rF   r   rY   re   rX   rE   rb   r   r\   r.  )r   r0   r'   r   r   r3   r6   )rR   ri   r?   r`   r   rt  rx   r   ru   rv   rw   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    s   }-Aq!Q1A&A	Ar!Qx=)	,BR5A!Q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!Qx=)	,BR5A!Q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1aM9
-iBq!Hy.Q
QaAq]I./1:Ar!Qx=)1TUCS6Qq!WQq!W_Qq!W,qAw6666
Q1aBq!Hr!Qx$7"Q($BCD1aMB1a2a8(;bAh(F#GTCS6Qq!WQq!W_Qq!W,qAw6666
RAqR2YAq%9:;Y
GCS6QqQxZ!Q'!Q/!Ab!H*Qq!W2D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                  R    ddl m} m}  | ddd      } | ddd      } |||z          y )Nr   )Uniformdensityu1rB   u2)sympy.statsr  r  )r  r  r  r  s       rL   test_identical_conds_issuer    s/    ,	q!	B	q!	B BGrK   c            	          t        dt        dk  f      } t        | t        dt        dd      f      }t	        |      dk(  sJ y )NrB   i`	  r   z252.4   z252.400000000000000000000000000)r'   rR   r2   r   r?  )rx   r   s     rL   test_issue_7370r    sA    1a4i.!A!aE'2./0Aq66666rK   c            	         t        d      } t        d      }t        ddd      }||d   | |d   i}t        dt        |dkD  | dk  d      f      }|j	                  |      t        dt        |d   dkD  |d   dk  d      f      k(  sJ y )NrR   ri   inprB   )r   r   r   T)r   r7   r'   r4   rS  )rR   ri   r  rep_dictrs   s        rL   test_issue_14933r    s    sAsA
ua
#C3t9aT+H1c!a%Q-./A::h9aSY]CIPQMSW1X-Y#ZZZZrK   c                  &    t        t        d        y )Nc                  b    t        t        t        dk  fdt        dkD  f      j                         S )Nr   rB   )r'   rR   ri   r%  rJ   rK   rL   rM   z"test_issue_16715.<locals>.<lambda>  s&    	1ac(Q!H(E(W(W(Y rK   )r<   r   rJ   rK   rL   test_issue_16715r    s    
 YZrK   c                  6   t        dd      \  } }t        dd      }t        |t        j                  z
  z  }t	        t        ||z        |d| f      }|j                         dt        t        | z  d|z  dz
  z  dz        z  dz
  t        d|z  dz
  z  z  k(  sJ y )	Nzt tauTr   r`   r   r   rF   rB   )r   r   r   rm   r2   r"   r   )r   taur`   lameqs        rL   test_issue_20360r    s    W4(FAsT"A
AFF

C	3sSy>CA;	/B;;=Qs2a41q>!#344q82qsQw<HHHHrK   c                  	   d }  | t        t        t        t         kD  t        dk  z  f            t        t         kD  t        dk  z  k(  sJ  | t        t        t        t         kD  t        t        k  z  f            t        t         kD  t        t        k  z  k(  sJ  | t        t        t        dkD  t        dk  z  f            t        dkD  t        dk  z  k(  sJ  | t        t        t        dkD  t        t        k  z  f            t        dkD  t        t        k  z  k(  sJ  | t        t        t        dk  t        t         kD  z  f            t        dk  t        t         kD  z  k(  sJ  | t        t        t        dk  t        dkD  z  f            t        dk  t        dkD  z  k(  sJ  | t        t        t        dk\  t        dk  z  f            t        dk\  t        dk  z  k(  sJ  | t        t        t        dk\  t        t        k  z  f            t        dk\  t        t        k  z  k(  sJ  | t        t        t        dk\  t        dk  z  f            t        dk\  t        dk  z  k(  sJ  | t        t        t        t        k  t        t         kD  z  f            t        t         kD  t        t        k  z  k(  sJ  | t        t        t        t        k  t        dkD  z  f            t        dkD  t        t        k  z  k(  sJ  | t        t        t        t         k\  t        dk  z  f            t        dk  t        t         k\  z  k(  sJ  | t        t        t        t         k\  t        t        k  z  f            t        t        k  t        t         k\  z  k(  sJ  | t        t        t        t         k\  t        dk  z  f            t        dk  t        t         k\  z  k(  sJ  | t        t        t        t         k\  t        t        k  z  f            t        t        k  t        t         k\  z  k(  sJ  | t        t        t        dk\  t        t        k  z  f            t        dk\  t        t        k  z  k(  sJ  | t        t        t        t	        t
                    dk  t        t	        t
                    dk  z  f            t        t	        t
                    dk  t        t	        t
                    dk  z  k(  sJ y )Nc                 4    | j                   d   j                  S rO  )r   rq   r   s    rL   rM   z%test_piecewise_eval.<locals>.<lambda>  s    !&&).. rK   rd   r   rB   )r'   rR   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                      t        dd      } t        d| z  | dk  fd| z  df      }t        ||       t        t        |        | dk  ft        |       df      k(  sJ y )NrR   Tr   rE   r   rB   )r   r'   r2   r#   rH  s     rL   test_issue_22533r  G  sa    sA2616"QUDM2AQ?i#a&!q&(9CFD>JJJJrK   c                      t        dt        dkD  fdt        dk  fdt        dk  f      t        dt        dkD  fd      k(  sJ y )NrB   rF   rd   rX   rQ   rJ   rK   rL   test_issue_24072r  M  sI    aQZ!Q!Vq!q&k 
1q5z9-. . .rK   c                     t        dd      } t        d| dk  ft        d| z
        df      }|j                  | t              J |j                  | d      dk(  sJ |j                  | d      dk(  sJ |j                  | d      dk(  sJ |j                  | d	      dk(  sJ |j                  | t        d
            dk(  sJ |j                  | t        d
d            dk(  sJ y)z9 Issue 24127: Tests eval_is_meromorphic auxiliary method rR   Tr   rB   r   NrE   FrF   r   )r   r'   r&   is_meromorphicr   r   rH  s     rL   #test_piecewise__eval_is_meromorphicr  R  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   rR   ri   r?   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r!  r#  r&  r)  r,  r0  r2  r<  r@  rD  rK  rQ  rY  r^  rc  rf  rh  rk  rr  ru  rx  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rJ   rK   rL   <module>r     sO   )  " ' % 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   