
    \h D                    	   S SK Jr  S SKJr  S SKJr  S SKJrJrJ	r	J
r
  S SKJr  S SKJrJrJrJrJrJrJr  S SKJrJrJrJr  S SKJr  S S	KJr  S S
KJrJ r J!r!  S SK"J#r#  S SK$J%r%J&r&J'r'J(r(J)r)J*r*  S SK+J,r,J-r-J.r.  S SK/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<  S SK=J>r>J?r?J@r@  S SKAJBrB  S SKCJDrDJErEJFrFJGrGJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrPJQrQ  S SKRJSrSJTrTJUrUJVrV  S SKWJXrX  S SKYJZr[  S SK\J]r]  S SK^J_r_  S SK`Jara  S SKbJcrc  S SKdJere  S SKfJgrgJhrh  S SKiJjrjJkrkJlrlJmrmJnrnJoroJprp  S SKqJrrr  S SKsJtrt  S SKuJvrv  S SKwJxrxJyryJzrzJ{r{J|r|J}r}  S S K~Jr  S S!KJr  S S"KJr  S S#KJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S S$KJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S% rS& rS' r\}S( 5       rS) rS* rS+ rS, rS- r\xS. 5       rS/ rS0 rS1 rS2 rS3 rS4 rS5 rS6 rS7 rS8 rS9 r\xS: 5       r\{S; 5       rS< rS= rS> rS? rS@ rSA rSB rSC rSD rSE rSF rSG rSH rSI rSJ rSK rSL rSM rSN rSO rSP rSQ rSR rSS rST rSU rSV rSW r\}SX 5       rSY rSZ rS[ rS\ rS] rS^ r\xS_ 5       r\xS` 5       r\xSa 5       r\}Sb 5       r\}Sc 5       rSd rSe r\xSf 5       rSg rSh rSi rSj rSk rSl rSm rSn rSo rSp rSq Gr Sr GrSs GrSt GrSu GrSv GrSw Gr\xSx 5       GrSy GrSz Gr	S{ Gr
S| GrS} GrS~ Gr\xS 5       GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS GrS Gr\|" S5      S 5       Gr\|" S5      S 5       GrS Gr S Gr!S Gr"S Gr#S Gr$S Gr%S Gr&S Gr'S Gr(S Gr)S Gr*\xS 5       Gr+S Gr,S Gr-S Gr.S Gr/S Gr0S Gr1S Gr2S Gr3S Gr4S Gr5S Gr6S Gr7S Gr8S Gr9S Gr:S Gr;S Gr<S Gr=S Gr>S Gr?S Gr@S GrAS GrBS GrCS GrDS GrES GrFS GrGS GrHS GrIS GrJS GrKS GrLS GrMS GrNS GrOS GrP\xS 5       GrQS GrRS GrSS GrT\xS 5       GrU\xS 5       GrVS GrWS GrXS GrY\xS 5       GrZS Gr[S Gr\S Gr]S Gr^S Gr_S Gr`S GraS GrbS GrcS GrdS GreS GrfS GrgS GrhS GriS GrjS GrkS GrlS GrmS GrnS GroS GrpS GrqS GrrS GrsS GrtS GruS GrvS GrwS GrxS GryS GrzS Gr{S Gr|g)    isclose)stationary_points)Tuple)FunctionLambdanfloatdiff)Mod)EIRationaloopiInteger	all_close)EqGtNeGe)S)ordered)DummySymbolsymbolssympify)Absargimresign	conjugate)LambertWexplog)HyperbolicFunctionsinhcoshtanhcothsechcschasinhacoshatanhacothasechacsch)sqrtMinMax)	Piecewise)TrigonometricFunctionacosacotacscasecasinatanatan2coscotcscsecsintan)erferfcerfcinverfinv)And)MutableDenseMatrix)ImmutableDenseMatrix)Poly)CRootOf)Contains)ConditionSet)ImageSetRange)
Complement	FiniteSetIntersectionIntervalUnionimageset
ProductSet)simplify)Indexed)numbered_symbols)XFAILraisesskipslowSKIP_both_exp_pow)verify_numerically)cm)solve)solveset_realdomain_checksolveset_complexlinear_eq_to_matrixlinsolve_is_function_class_equationinvert_realinvert_complex_invert_trig_hyp_realsolvesetsolve_decompositionsubstitutionnonlinsolvesolvify_is_finite_with_finite_vars
_transolve_is_exponential_solve_exponential_is_logarithmic_is_lambert_solve_logarithm_term_factors_is_modularNonlinearError)abcdefghijklmnqrtwxyzc                     [        U 5      [        [        4;   a  [        S [	        X5       5       5      $ X:H  =(       d    U R
                  " U5      $ )Nc              3   <   #    U  H  u  p[        X5      v   M     g 7fN)dumeq).0r   r   s      Y/var/www/auris/envauris/lib/python3.13/site-packages/sympy/solvers/tests/test_solveset.py	<genexpr>dumeq.<locals>.<genexpr>:   s     59415;;9   )typelisttupleallzipdummy_eq)r   r   s     r   r   r   8   s<    Aw4-53q95556"QZZ]"    c                    [        U 5      n [        U5      n[        U [        5      (       d   e[        U[        5      (       d   e[        U 5      [        U5      :X  d   e[	        S [        X5       5       5      (       d   eg)z2Test solutions with floats from solveset are closec              3   <   #    U  H  u  p[        X5      v   M     g 7fr   r   r   v1v2s      r   r   "assert_close_ss.<locals>.<genexpr>E   s     =_62wr_r   N)r   
isinstancerT   lenr   r   )sol1sol2s     r   assert_close_ssr   >   sk    4=D4=DdI&&&&dI&&&&t9D	!!!=S_=====r   c                 `   [        U 5      n [        U5      n[        U [        5      (       d   e[        U[        5      (       d   e[        U 5      [        U5      :X  d   e[	        X5       HA  u  p#[        U5      [        U5      :X  d   e[        S [	        X#5       5       5      (       a  MA   e   g)z5Test solutions with floats from nonlinsolve are closec              3   <   #    U  H  u  p[        X5      v   M     g 7fr   r   r   s      r   r   "assert_close_nl.<locals>.<genexpr>Q   s     =vr72??r   N)r   r   rT   r   r   r   )r   r   s1s2s       r   assert_close_nlr   H   s    4=D4=DdI&&&&dI&&&&t9D	!!!d/2w#b'!!!=R===== "r   c                  N#  ^^ [        SSS9m[        R                  4S jn [        [	        T5      [
        T5      TU " [        [        [
        5      5      5      4:X  d   e[        SSS9m[        SSS9n[        TS-   TT5      T[        TS-
  5      4:X  d   e[        TS-  TT5      T[        TS-  5      4:X  d   e[        [	        T5      TT5      T[        [        T5      5      4:X  d   e[        [	        ST-  5      TT5      T[        [        T5      S-  5      4:X  d   e[        [	        TS-   5      TT5      T[        [        T5      S-
  5      4:X  d   e[        [	        T5      S-   TT5      TU " [        [        TS-
  5      5      5      4:X  d   e[        [	        T5      S-  TT5      T[        [        TS-  5      5      4:X  d   e[        [        T5      TT5      T[        [	        T5      5      4:X  d   e[        [        ST-  5      TT5      T[        [	        T5      S-  5      4:X  d   e[        [        TS-   5      TT5      T[        [	        T5      S-
  5      4:X  d   e[        [        T5      TT5      T[        TT* 5      4:X  d   e[        S	T-  TT5      T[        [        T5      [        S	5      -  5      4:X  d   e[        S	[	        T5      -  TT5      TU " [        [        [        T5      [        S	5      -  5      5      5      4:X  d   e[        TS	-  TT5      T[        [        T5      [        T5      * 5      4:X  d   e[        T[        R                  -  TT5      T[        TS	-  5      4:X  d   e[        [        U4S
 j5        [        T[        -  TT5      T[        TS[        -  -  5      4:X  d   e[        T[        -  [        * T5      T[        R                  4:X  d   e[        T[!        S5      -  ST5      T[        S5      4:X  d   e[        TS-  ST5      TS-  [        S5      4:X  d   e[        [        UU4S j5        [        TS-  T-   TT5      TS-  T-   [        T5      4:X  d   eTS-  T-   n[        TS-
  T* S-
  5      n[        [        TS-  T-   S-   5      TT5      X#4:X  d   e[#        [        [%        T5      TT5      T['        T[        S5      T:*  T[        S5      :*  -  [)        [+        [-        US	U-  [        -  [/        T5      -   5      [        R0                  5      [+        [-        U[        S	-  U-  [        -   [/        T5      -
  5      [        R0                  5      5      5      45      (       d   e[#        [        [%        [	        T5      5      TT5      T['        T[        S5      T:*  T[        S5      :*  -  [)        [+        [-        U[        S	U-  [        -  [/        T5      -   5      5      [        R0                  5      [+        [-        U[        [        S	-  U-  [        -   [/        T5      -
  5      5      [        R0                  5      5      5      45      (       d   e[#        [        [3        T5      TT5      T['        T[        S5      T:*  T[4        :  -  [4        * T:  T[        S5      :*  -  -  [)        [+        [-        US	U-  [        -  [7        T5      -   5      [        R0                  5      [+        [-        US	U-  [        -  [7        T5      -
  [        -   5      [        R0                  5      5      5      45      (       d   e[#        [        [3        [	        T5      5      TT5      T['        T[        S5      T:*  T[4        :  -  [4        * T:  T[        S5      :*  -  -  [)        [+        [-        U[        S	U-  [        -  [7        T5      -   5      5      [        R0                  5      [+        [-        U[        S	U-  [        -  [7        T5      -
  [        -   5      5      [        R0                  5      5      5      45      (       d   e[#        [        [9        T5      TT5      T['        T[        S5      T:*  T[        S5      :*  -  [)        [+        [-        US	U-  [        -  [;        T5      -   5      [        R0                  5      [+        [-        US	U-  [        -  [;        T5      -
  5      [        R0                  5      5      5      45      (       d   e[#        [        [9        [	        T5      5      TT5      T['        T[        S5      T:*  T[        S5      :*  -  [)        [+        [-        U[        S	U-  [        -  [;        T5      -   5      5      [        R0                  5      [+        [-        U[        S	U-  [        -  [;        T5      -
  5      5      [        R0                  5      5      5      45      (       d   e[#        [        [=        T5      TT5      T['        T[        S5      T:*  T[4        :  -  [4        * T:  T[        S5      :*  -  -  [)        [+        [-        US	U-  [        -  [?        T5      -   5      [        R0                  5      [+        [-        US	U-  [        -  [?        T5      -
  5      [        R0                  5      5      5      45      (       d   e[#        [        [=        [	        T5      5      TT5      T['        T[        S5      T:*  T[4        :  -  [4        * T:  T[        S5      :*  -  -  [)        [+        [-        U[        S	U-  [        -  [?        T5      -
  5      5      [        R0                  5      [+        [-        U[        S	U-  [        -  [?        T5      -   5      5      [        R0                  5      5      5      45      (       d   e[#        [        [A        T5      TT5      T['        T[4        * T:  T[4        :  -  [+        [-        X[        -  [C        T5      -   5      [        R0                  5      5      45      (       d   e[#        [        [A        [	        T5      5      TT5      T['        T[4        * T:  T[4        :  -  [+        [-        U[        U[        -  [C        T5      -   5      5      [        R0                  5      5      45      (       d   e[#        [        [E        T5      TT5      T['        T[4        * T:  T[4        :  -  [+        [-        X[        -  [G        T5      -   5      [        R0                  5      5      45      (       d   e[#        [        [E        [	        T5      5      TT5      T['        T[4        * T:  T[4        :  -  [+        [-        U[        U[        -  [G        T5      -   5      5      [        R0                  5      5      45      (       d   e[#        [        [A        [A        T5      5      TT5      T['        T[I        [A        [A        T5      5      T5      [        R                  5      45      (       d   e[        SSS9m[        T[        -  TT5      T[        TS[        -  -  5      4:X  d   e[        SSS9n[        SSS9n[        [K        T5      UT5      T[        [M        U5      5      4:X  d   e[        [K        [        T5      5      UT5      T[        [	        [M        U5      5      5      4:X  d   e[        [O        T5      UT5      T[Q        [        [S        U5      * [S        U5      5      [        R                  5      4:X  d   e[        [O        T5      US-   T5      T[        [S        US-   5      * [S        US-   5      5      4:X  d   e[        [U        T5      UT5      T[Q        [        [W        U5      5      [        R                  5      4:X  d   e[        [Y        T5      US-   T5      T[        [[        US-   5      5      4:X  d   e[        []        T5      UT5      T[Q        [        [_        U5      * [_        U5      5      [        R                  5      4:X  d   e[        [a        T5      UT5      T[        [c        U5      5      4:X  d   e[#        [        [U        [%        T5      5      UT5      T['        T[        S5      [W        U5      :*  [W        U5      [        S5      :*  -  [)        [+        [-        US	U-  [        -  [/        [W        U5      5      -   5      [        R0                  5      [+        [-        US	U-  [        -  [/        [W        U5      5      -
  [        -   5      [        R0                  5      5      5      45      (       d   eg )Nr   Trealc                     [        X5      $ r   )rU   )r   ss     r   irealtest_invert_real.<locals>.irealX   s    A!!r   r   positiver         c                     > [        T T T 5      $ r   )rl   r   s   r   <lambda>"test_invert_real.<locals>.<lambda>u   s    {1a3r      g      ?  d         ?c                  :   > [        [        R                  TT 5      $ r   )rl   r   Oner   r   s   r   r   r   }   s    {155!Q7r      r   p)2r   r   Realsrl   r%   r   rT   r&   r   r4   Halfr^   
ValueErrorr   r   EmptySetr   r   rD   rP   rW   rQ   r   r=   IntegersrB   r   r;   r@   r9   rC   r<   rE   r>   rA   r:   r   r(   r.   r)   rU   r/   r*   r0   r+   r1   r,   r2   r-   r3   )r   r   lhsbase_valuesr   r   r   r   s         @@r   test_invert_realr   T   s3   sA77 " s1vq!$E)CF2C,D(EEEEsT"AsAq1ua#9QU+;'<<<<qsAq!a1q5)9%::::s1vq!$Ic!f,=(>>>>s1Q3xA&1iA
.C*DDDDs1q5z1a(Q	#a&1*0E,FFFFs1vz1a(QiAE
6K0L,MMMMs1vaxA&1iAE
.C*DDDDs1vq!$Ic!f,=(>>>>s1Q3xA&1iA
.C*DDDDs1q5z1a(Q	#a&1*0E,FFFFs1vq!$Ia!,<(====q!tQ"q)CF3q6M*B&CCCCq#a&y!Q'AuYs3q6#a&=?Q5R/S+TTTTq!tQ"q)DGd1gX*F&GGGGq!&&y!Q'AyA+????
:34 q"ua#9Q2Y+?'@@@@q"uqb!$AJJ777q(3-'q1a35HHHHq#vq!$C1(>>>>
:78q"uqy!Q'ArEAIy|+DDDD
R%!)CQUQBF+Ks1b519q=)1a0S4FFFFSVQ*QQ2!QqT	2EVAqs2vQ/0!**=VAr!tAv{T!W45qzzB5D 	E-F G G G G
 SQ[!Q/!Q2!QqT	2EVAs1Q3r6DG#345qzzBVAs2a46B;a#89:AJJG5I 	J2K L L L L
 SVQ*QQ!A$!)B/bS1Wae4LM(6!QqSVd1g%56

C1Q3r6DG#3b#891::FH	I-J K K K K
 SQ[!Q/!Q!A$!)B/bS1Wae4LM(6!S1R$q')9%:;QZZH3qs2vQ'7"'<#=>

KM	N2O P P P P
 SVQ*QQ2!QqT	2EVAqs2vQ/0!**=VAqs2vQ/0!**=5? 	@-A B B B B
 SQ[!Q/!Q2!QqT	2EVAs1Q3r6DG#345qzzBVAs1Q3r6DG#345qzzB5D 	E2F G G G G
 SVQ*QQ!A$!)B/bS1Wae4LM(6!QqSVd1g%56

C1Q3r6DG#34ajjAC	D-E F F F F
 SQ[!Q/!Q!A$!)B/bS1Wae4LM(6!S1R$q')9%:;QZZH3qs2vQ'7#891::FH	I2J K K K K
 SVQ*QQ"qQV,VAtd1g~.

;	=-> ? ? ? ? SQ[!Q/!Q"qQV,VAs1R4$q'>23QZZ@	B2C D D D D SVQ*QQ"qQV,VAtd1g~.

;	=-> ? ? ? ? SQ[!Q/!Q"qQV,VAs1R4$q'>23QZZ@	B2C D D D D SQ[!Q/	
LBs3q6{A.89; ; ; ;
 	sT"Aq"ua#9Q2Y+?'@@@@sAsT"AtAw1%!YuQx-@)AAAAtCF|Q*q)CaM2J.KKKKtAw1%!\58)U1X&.1 *2 2 2 2tAwAq)a5Q<-q1u..0 0 0 0 tAw1%!\)E!H:Mqww-W)XXXXtAw!Q'Ayqs/D+EEEEtAw1%!\58)U1X&.1 *2 2 2 2tAw1%!YuQx-@)AAAAT#a&\1a01Q2%(*uQx1Q4/?@%VAqs2vU1X67DVAqs2vU1X6;<ajjICK 	L3M N N N Nr   c                  ^   [        S5      n [        [        [        5      [	        SSS5      [        5      S   R                  [        [        [        U [        U 5      * 5      [	        SSS5      5      [        [        U [        U 5      5      [	        SSS5      5      5      5      (       d   e[        [        [        5      [        SS5      [        5      [        [        [        [        * [        S5      * 5      [        [        S5      [        5      5      4:X  d   e[        [        [        5      [        [        R                   * S5      [        5      [        [        [#        [        R                   5      * [        5      4:X  d   e[        [%        [        5      ['        U [        R                   U S-  -   [        R(                  5      [        5      [        [+        [-        [        S5      S-  5      * [-        [        S5      S-  5      [-        [        S5      S	-  5      * [-        [        S5      S	-  5      5      4:X  d   e[        [/        [        5      [        R0                  [        5      [        [        [        R2                  " [        * S
5      [        R2                  " S
[        5      5      4:X  d   eg )Nr   
   r   r   r         r   )r   rn   r)   r   rR   r   rW   rQ   r   r/   r+   rV   r   r1   r*   r   r   r0   r,   rX   	Naturals0rT   r2   r-   r   openr   s    r   test_invert_trig_hyp_realr      s   c
A a%B*:A>qAJJ5E!H9%uQA758$eAr1o6L8 9 9 9 9 !a(2q/1=!U"uQxi (58R"8F: B; ; ; ; a(AFF7A*>Bq%-$G& & & & a(1affqslAKK*PRST	
IuQqT!V}neAaDFmeAaDFm^U1Q4PQ6]STU U U a!''15!hmmRC#X]]1b%9::< < < <r   c                  j   [        [        S-   [        [        5      [        [        [        S-
  5      4:X  d   e[        [        S-  [        [        5      [        [        [        S-  5      4:X  d   e[        [        S-
  S-  S[        5      [        [        S5      4:X  d   e[	        [        [        [        5      [        [        5      [        [        [        [        [        S[        -  [        -  [        [        5      -   -  [        [        [        5      5      -   5      [        R                  5      45      (       d   e[        [        [        5      [        [        5      [        [        [        [        5      5      4:X  d   e[!        ["        S 5        [!        ["        S 5        [!        ["        S 5        [	        [        [%        [        5      [        [        5      [        ['        [)        [        [        S[        -  [        -  [        [        S[+        S5      -   5      -  -   5      [        R                  5      [)        [        [        S[        -  [        -  [        -   [        [        S[+        S5      -   5      -  -
  5      [        R                  5      5      45      (       d   e[	        [        [-        [        5      S[        -   [        5      [        ['        [)        [        [        S[        -  [        -  [/        S[        -   5      -
  5      [        R                  5      [)        [        [        S[        -  [        -  [/        S[        -   5      -   5      [        R                  5      5      45      (       d   e[	        [        [1        S[        -  5      S[        5      [        [)        [        [        [        [        -  S-  [        S-  -   5      [        R                  5      45      (       d   e[	        [        [3        [        5      S[        -  [        5      [        [)        [        [        [        [        -  [        [5        S5      -  -
  5      [        R                  5      45      (       d   e[	        [        [7        [        5      S[        5      [        ['        [)        [        [        S[        -  [        -  [        -  5      [        R                  5      [)        [        [        S[        -  [        -  [        -  [        [        -  -   5      [        R                  5      5      45      (       d   e[	        [        [9        [        5      S[        5      [        ['        [)        [        [        S[        -  [        -  [        -  [        [        -  S-  -   5      [        R                  5      [)        [        [        S[        -  [        -  [        -  S[        -  [        -  S-  -   5      [        R                  5      5      45      (       d   e[        [;        [        5      S[        5      [        [        R<                  4:X  d   e[	        [        [;        [        5      [>        [        5      [        [A        [        [C        [>        S	5      [C        [>        S5      -  [)        [        [        [        [        -  [        -  [E        [>        5      -   5      [        R                  5      5      45      (       d   e[        [G        [        5      S[        5      [        [        R<                  4:X  d   e[	        [        [G        [        5      [>        [        5      [        [A        [        [C        [>        S	5      [C        [>        S5      -  [)        [        [        [        [        -  [        -  [5        [>        5      -   5      [        R                  5      5      45      (       d   e[	        [        [I        [        5      S[        5      [        ['        [)        [        [        S[        -  [        -  [        -  [        [        -  S-  -   5      [        R                  5      [)        [        [        S[        -  [        -  [        -  S
[        -  [        -  S-  -   5      [        R                  5      5      45      (       d   eg )Nr   r   r   r   c                  ,    [        S[        [        5      $ Nr   )rl   r   r    r   r   r   %test_invert_complex.<locals>.<lambda>   s    {1a3r   c                  4    [        [        [        [        5      $ r   rm   r   r   r   r   r   r      s    ~aA6r   c                  ,    [        [        [        S5      $ r   r   r   r   r   r   r      s    ~aA6r      r   r   )%rm   r   r   rT   r   r%   rX   r   r   r   r   r   r&   r   r   r   r^   r   rD   rW   rQ   r4   r@   r9   rE   rA   r1   r(   r)   r*   r   r~   rP   r   r0   r+   r,   r   r   r   test_invert_complexr      s   !a%A&1iA.>*????!A#q!$Ia!e,<(====1q51*a+9Q</@@@@A1-	
HVAq!B$q&3q6/2SQ[@A1::NOQ Q Q Q #a&!Q'AyQ/@+AAAA
:34
:67
:67A1-51Q3r6Ac!d1g+&6$667D1Q3r6B;3q47{+;);;<ajjI4K 0L M M M M A!Q/!U1Q3r6DQK/0!**=1Q3r6DQK/0!**=6? 2@ A A A A AaC!Q/!1R46BqD=)1::628 9 9 9 9A!Q/!1R4!E!H*,-qzz:2< = = = = QA.E1Q3q58$ajj11Q3q58ad?+QZZ85: 1; < < < < QA.E1Q3q58ad1f,-qzz:1Q3q58ac"fQh./<5> 1? @ @ @ @ $q'1a(Q

O;;;QA.Q1b	Bq!H,1Q3r6E!H,-qzz:	<1= > > > > $q'1a(Q

O;;;QA.Q1b	Bq!H,1Q3r6E!H,-qzz:	<1= > > > > QA.E1Q3q58ad1f,-qzz:1Q3q58ac"fQh./<5> 1? @ @ @ @r   c                      [        SSS[        S-   -  S-  -   -  [        S5      SL d   e[        [        S-  [        S5      SL d   e[        [        [        [        5      SL d   e[        S[        [        5      SL d   eg )Nr   r   r   Fr   T)rg   r   r   r   r   r   test_domain_checkr     sx    11Q3!|+,a4===1a#t+++1b!U***1b!U***r   c                      [        S[        -  S-
  [        [        R                  5      [        R                  :X  d   e[        S[        -  S-
  [        [        R                  5      [        S5      :X  d   eg )Nr   r   r   )ro   r   r   r   r   rT   r   r   r   test_issue_11536r     sP    AqD3J177+qzz999AqD1Ha)Yq\999r   c                     [         S-  [        S-  -   S-  [         S-  [        S-  -   S-  -   SS[         S-  -  [        S-  -   [        S-  -   -  -
  n U R                  " [         5      nU R                  " [        5      nU R                  " [        5      n[	        XU/[         [        [        /5      n[        U5      S:  a  [        U5      S::  d   eg )Nr         )r   r   r   r
   rr   r   )r   fxfyfzsols        r   test_issue_17479r   #  s    	
A1qAqD1a4K!++a1a4!Q$A1E.FFA	
B	
B	
B
rrlQ1I
.Cs8q=SX^++^r   c                  J  ^ [        S5      u  pnU S-  US-  -   S-  U S-  US-  -   S-  -   SSU S-  -  US-  -   US-  -   -  -
  n[        X05      n[        X15      n[        X25      n[        XEU/XU/5      nU H(  u  pn
XXX*0m[        U4S jXEU4 5       5      S:X  a  M(   e   g )Nx, y, zr   c              3   `   >#    U  H#  oR                  T5      R                  5       v   M%     g 7fr   )subsrZ   )r   _r   s     r   r   #test_issue_18449.<locals>.<genexpr><  s#     @<aVVAY''))<s   +.)r   r   r   )r   r
   rr   r   )r   r   r   r   r   r   r   r   xsyszsr   s              @r   test_issue_18449r   2  s    i GA!	
A1qAqD1a4K!++a1a4!Q$A1E.FFA	aB	aB	aB
rrlQ1I
.CA1!@BB<@@IMMM r   c                  @   S[         -
  S-  [        [         S-
  5      S-
  S-  -   n [        U [         [        R                  5      [        S5      :X  d   e[        [         5      S-
  S-  [        [         5      S-   S-  -   S[         S-  -  -
  [        S5      -   n [        U [         [        R                  5      [        [        R                  [        S[        S5      -  S-   5      S-  -
  [        R                  [        S[        S5      -  S-   5      S-  -   5      :X  d   eg )Nr   r   r   r   )r   r4   ro   r   r   rT   r   r   s    r   test_issue_21047r  F  s    	
Q
d1q5kAo))AAq!''"il222	aQ$q'!)a'1a4/$q'9AAq!''"i	aQi!m$Q&&aQi!m1DQ1F(F'H H H Hr   c                     [        [        [        [        5      [        5      SL d   e[        [        [        [        5      S-
  [        5      SL d   e[        [        [        [        5      [	        [        5      -   [        5      SL d   e[        [        [        [        5      [	        [        5      -   [
        -
  [        5      SL d   e[        [        [	        [        5      [        [        5      -  [	        [        5      -   [        5      SL d   e[        [        [	        [        5      [        [        [
        -   5      -  [	        [        5      -   [        5      SL d   e[        [        [	        [        5      [        [        [
        -  5      -  [	        [        5      -   [        5      SL d   e[        [        [
        [        [        5      -  S-
  [        5      SL d   e[        [        [        [        5      S-  [	        [        5      -   S-
  [        5      SL d   e[        [        [        [        5      [        -   [        5      SL d   e[        [        [        [        S-  5      [        5      SL d   e[        [        [        [        S-  5      [	        [        5      -   [        5      SL d   e[        [        [        [        5      [	        [        5      -  [        5      SL d   e[        [        [        [	        [        5      5      [	        [        5      -   [        5      SL d   e[        [        [        [        5      [        5      SL d   e[        [        [        [        5      S-
  [        5      SL d   e[        [        [        [        5      [        [        5      -   [        5      SL d   e[        [        [        [        5      [        [        5      -   [
        -
  [        5      SL d   e[        [        [        [        5      [        [        5      -  [        [        5      -   [        5      SL d   e[        [        [        [        5      [        [        [
        -   5      -  [        [        5      -   [        5      SL d   e[        [        [        [        5      [        [        [
        -  5      -  [        [        5      -   [        5      SL d   e[        [        [
        [        [        5      -  S-
  [        5      SL d   e[        [        [        [        5      S-  [        [        5      -   S-
  [        5      SL d   e[        [        [        [        5      [        -   [        5      SL d   e[        [        [        [        S-  5      [        5      SL d   e[        [        [        [        S-  5      [        [        5      -   [        5      SL d   e[        [        [        [        5      [        [        5      -  [        5      SL d   e[        [        [        [        [        5      5      [        [        5      -   [        5      SL d   eg )NTr   r   F)	rk   r8   rE   r   rD   r~   r'   r*   r(   r   r   r   test_is_function_class_equationr  O  s   &'<'*1vq259: : :&'<'*1vz169=> > >&'<'*1vA;>BC C C&'<'*1vA':A?BFG G G&'<'*1vc!f}s1v'=qBEIJ J J&'<'*1vc!a%j'83q6'A1FIMN N N&'<'*1vc!A#hQ'?DGKL L L&'<'(Qx!|Q8;?@ @ @&'<'*1vqy3q6'9A'=qBEIJ J J&'<'*1vz169>? ? ?&'<'*1a4y!58=> > >&'<'*1a4y3q6'91>AFG G G&'<'*1vs1v~q:=BC C C&'<'*3q6{SV';Q@CHI I I&'9'+Aw36:; ; ;&'9'+Aw{A7:>? ? ?&'9'+Awa'8!=@DE E E&'9'+Awa'81'<aADHI I I&'9'+AwtAwa'@!EHLM M M&'9'+AwtAE{':T!W'DaILPQ Q Q&'9'+AwtAaCy'847'BAGJNO O O&'9'(ay1}a9<@A A A&'9'+AwzDG';a'?DGKL L L&'9'+Aw{A7:?@ @ @&'9'+AqDz169>? ? ?&'9'+AqDzDG';Q@CHI I I&'9'+AwQ'7<?DE E E&'9'+DG}tAw'>CFKL L Lr   c                  .  ^  [        [        S 5        [        SSS9m [        T S5      [        R
                  :X  d   e[        T S-
  S5      [        T 5      :X  d   e[        T [        5      [        R
                  :X  d   e[        T T S-  5      [        R
                  :X  d   e[        [        U 4S j5        [        T [        5      [        R
                  :X  d   e[        [        U 4S j5        [        [        U 4S	 j5        [        [        U 4S
 j5        g )Nc                  ,    [        [        /[        5      $ r   )rf   r   r   r   r   r   $test_garbage_input.<locals>.<lambda>  s    }aS!4r   r   Tr   r   r   c                     > [        T /T 5      $ r   )rh   r   s   r   r   r    s    /Q7r   c                  (   > [        T [        4T 5      $ r   )ro   r   r   s   r   r   r    s    xA2r   c                  >   > [        T S-   [        R                  5      $ r   )ro   r   r   r   s   r   r   r    s    xAqww7r   c                  $   > [        T S-   T S5      $ Nr   r   )ro   r   s   r   r   r    s    xAq!4r   )	r^   r   r   rf   r   r   rT   r   rh   r   s   @r   test_garbage_inputr    s    
:45sAA!**,,,Q"il222B1::---AqD!QZZ///
:78Ar"ajj000
:23
:78
:45r   c                     [        [        [        -  [        -   [	        [        5      S-
  -  [        5      [        [        S5      1[        [        * [        -  1[        R                  5      5      :X  d   e[        SSS9n [        SSS9n[        U [        -  U-   [	        [        5      S-
  -  [        5      [        U* U -  [        S5      5      :X  d   e[        S[        -  S-   S[	        [        5      -   -  [        5      [        [        S	5      5      :X  d   e[        [        [        [        5      -  [        5      [        R                  L d   eg )
Nr   anzT)nonzerobbr   r   r   )rf   r~   r   r   r%   rW   r&   rU   r   r   r   rT   r   )r  r  s     r   test_solve_mulr    s   !A#'CFQJ/3s1vhqbdVQWW567 7 7

%C	4	 B#a%"*s1vz2A62#c'3q6"# # #!A#'AAJ/3y27GGGG3q61%333r   c                     [        [        [        5      S-
  [        5      [        [	        S5      5      :X  d   e[        [	        [        5      S-
  [        5      [        [        S5      5      :X  d   e[        S[        S-   -  [        5      [        5       :X  d   e[        SS[        -
  -  [        5      [        5       :X  d   e[        [
        [        [        [        [        -  5      -  -
  [        5      [        [        R                  [        [        [	        [
        [        -  5      -  5      5      :X  d   e[        S[        -  S-
  [        5      [        S[	        S5      [	        S5      -  -   5      :X  d   eg )Nr   r   r   r   r   )rf   r%   r   rT   r&   r   r   r~   rU   r   r   r   r   r   test_solve_invertr    s   Q!Q'9SV+<<<<Q!Q'9SV+<<<<QUQ'9;666QUQ'9;666Qs1Q3xZ+|	1S1X:&0( ( ( ( AA&)AAs1v4E*FFFFr   c                     [        [        [        [        5      [        R
                  -
  [        5      [        [        [        [        [        S-  [        -  [        S-  -   5      [        R                  5      [        [        [        [        S-  [        -  [        S-  S-  -   5      [        R                  5      5      5      (       d   e[        [        [        5      S-
  [        5      R                  S5      n [        [        [        5      [        R
                  -
  [        5      R                  S5      nX4 Vs/ s H  nUR                  " S S 5      PM     nn[        U6 (       d   X45       eg s  snf )Nr   r   r         ?c                     U R                   $ r   )is_Floatr   s    r   r   "test_issue_25768.<locals>.<lambda>  s    r   c                 6    [        U 5      R                  S5      $ )Nr   )r   limit_denominatorr   s    r   r   r    s    !..t4r   )r   rf   rD   r   r   r   rW   rQ   r   r   r   r   replace)n1n2r   eqs       r   test_issue_25768r     s   s1v2E2a46BqD=)1::62a46BqDF?+QZZ85: ; ; ; ; 
s1v|Q	'	)	)!	,B	s1v	*	,	,Q	/B ACx
I?G! ))46?G  
I ":rg:
Is   :E1c                  4   [        [        [        5      [        R                  -
  [        5      [        [        [        R                  5      5      :X  d   e[        [        [        5      S-
  [        5      [        [        S5      5      :X  d   e[        [        [        5      [        R                  -
  [        5      [        [        [        R                  5      5      :X  d   e[        [        [        5      S-
  [        5      [        [        S5      5      :X  d   eg Nr   )
rf   rF   r   r   r   rT   rI   rG   r   rH   r   r   r   test_errorinversesr#    s    Q!&&!,&.!" " "Q*#a&  a155!,'!%%.!" " "a+ya/AAAAr   c                  T   [        SSS9n [        SSS9n[        SU -  S-
  U 5      [        [        SS5      5      :X  d   e[        U S-  S-
  U 5      [        [        R
                  * [        R
                  5      :X  d   e[        XS-  -
  U 5      [        US-  5      :X  d   e[        U S-  SU -  -
  S	-
  U 5      [        S
S[        R                  -  -   [	        S	5      S
S[        R                  -  -
  5      :X  d   e[        [        U 5      S-
  U 5      [        S5      :X  d   e[        [        U 5      S-
  U 5      [        S	5      :X  d   e[        U [        SS	5      -  S-
  U 5      [        S5      :X  d   e[        U [        SS5      -  S-
  U 5      [        S5      :X  d   e[        [        U S-  U S-  -   S-   U 5      5      S:X  d   e[        [        S
U S-  -  S	U S-  -  -   SU -  -
  S-   U 5      5      S:  d   e[        U S-  U S	-  -   [        -   U 5      [        R                  L d   eg )Nr   Tr   r   r   r   r      r         r   r   r   )r   rf   rT   r   r   r   r   r4   r   r   r   r   s     r   test_solve_polynomialr)    s   sAsA1q!$	(1a.(AAAAA1%AEE6155)AAAAT1%16)::::A1q!,	
Q!&&[	!
Q!&&[1   
 a1a(IaL888a1a(IaL888HQN*Q.2imCCCHQN*Q.2imCCC}QTAqD[1_a01Q666}R1WqAv-!3a7;<q@@@A1q!,

:::r   c                     [         S-  S[         S-  -  -
  S[         S-  -  -
  S[         -  -   S-   n [        [        U [         5      5      nU H  nUR                  [        :X  a  M   e   [        [        [        [         S-  S[         S-  -  -   S-   [         5      5      S   S	S
9[	        [         S-  S[         S-  -  -   S-   S5      R                  5       :X  d   e[        [        [         S-  S[         -  -
  S-   [         5      5      n[        S U 5       5      (       a  [        U5      S:X  d   e[         S-  S[         S-  -  -
  S[         S-  -  -
  S[         -  -   S-   n [        [        U [         5      5      nU H  nUR                  [        :X  a  M   e   [         S-  S[         S-  -  -   S[         S-  -  -   [        SS5      -   n[        U[         5      [        [        US-  SS9R                  5       6 :X  d   e[         [         S-
  S-  -  [         S-   -  [         S-  [         -
  S-   -  n[        U[         5      [        SSS[	        [         S-  [         -
  S-   S5      [	        [         S-  [         -
  S-   S5      [	        [         S-  [         -
  S-   S5      [	        [         S-  [         -
  S-   S5      [	        [         S-  [         -
  S-   S5      [	        [         S-  [         -
  S-   S5      5	      :X  d   eg )Nr   r%  r   r   r   r      r   F)exponentr   c              3   B   #    U  H  n[        U[        5      v   M     g 7fr   )r   rN   r   r   s     r   r   &test_return_root_of.<locals>.<genexpr>  s     3s!z!W%%ss   r   ZZdomainr   r   )r   r   rh   funcrN   r	   r   r   r   r   rT   rM   	all_roots)r   r   rootr   r  s        r   test_return_root_ofr6    s   	1r!Q$w1a4"Q$&+Aa#$AyyG###  $'1qAv(91=>qA "%,QTAadF]Q->%B%D%D%FG G G 1qs
Q2
3C3s333CAEE	1r!Q$w1a4"Q$&+Aa#$AyyG###  	
1qAv!Q$!Q/AAq!4!D)33567 7 7 
AEA:q1u	q!tax!|	,BB""aGAqD1HqL!4q!tax!|Q/q!tax!|Q/q!tax!|Q/q!tax!|Q/q!tax!|Q/	11 1 1r   c                     [        [        S[        -  S-   5      S-
  [        -
  [        5      [        [        R
                  * [	        S5      5      :X  d   e[        [        [        S-
  5      [        -
  S-   [        5      [        S5      :X  d   e[        [        [        S-
  5      S-
  [        5      [        S5      :X  d   e[        [        [        5      S-
  S-
  [        5      [        S5      :X  d   e[        [        [        S	-  5      [        5      [        S
5      :X  d   e[        [        [        S-
  5      [        5      [        S5      :X  d   e[        [        [        S	-
  [        -  5      [        5      [        S	5      :X  d   e[        [        [        S	-
  [        -  5      [        SS5      -
  [        5      [        S5      :X  d   eg )Nr   r   r   r   r+  r   r(  1   r   r   r   )rf   r4   r   rT   r   r   r   r   r   r   test_solveset_sqrt_1r9    sW   acAg*Q.2155&!A$     a!eq1,a0IbMAAAa!eq!,	"===a1q!,	"===adQ'9Q<777a!ea(IaL888qsAg*il:::qsAgx1~5q9!  r   c            	      r  ^^ [        SSS9m[        SSS9n [        [        ST-  S-
  5      [        TS-
  5      -
  S-
  T5      [        [	        S5      [	        S	5      5      :X  d   e[        [        TS
-   5      S-   [        ST-
  5      -
  T5      [        S5      :X  d   e[        [        ST-  [        TS-  S-
  5      -
  5      S
-
  T5      [        S5      :X  d   eTS-   TS-  STS-  -  -   T-
  [        SS5      -  -
  m[        TT5      [        [        SS5      [        SS5      5      :X  d   e[        ST-  S-   5      [        TS-   5      -
  [        TS-   5      -
  m[        TT5      [        S5      :X  d   e[        TS-   5      [        ST-  S-
  5      -   S[        TS-
  5      -  -
  m[        TT5      [        S5      :X  d   e[        T5      [        TS
-
  5      -  S-
  m[        TT5      [        S5      :X  d   e[        TS-
  5      [        T5      -   S-
  m[        TT5      [        S5      :X  d   e[        STS-  -  S
-
  5      ST-
  -
  m[        TT5      [        [	        S5      * [	        S5      5      :X  d   e[        STS-  -  S-   5      ST-  S-   -
  m[        TT5      [        S5      :X  d   e[        [        TS-
  5      [        T5      -
  S-
  T5      [        5       :X  d   eST-  S-
  [        SS5      -  S-
  m[        TT5      [        S5      :X  d   e[        [        T5      [        [        T5      5      -   S-
  T5      [        [        SS5      [        S5      S-  -   S-  5      :X  d   e[        T5      [        TS-
  5      -
  [        [        T5      5      -   m[        TT5      [        5       :X  d   eTS-
  S-  [        T5      S-
  S-  -   m[        TT5      [        SS5      :X  d   e[        T5      [        TS-   5      -   [        ST-
  5      -   S[        S5      -  S-  -
  m[        TT5      n[	        S5      n[        SS5      n[        UU4S jX#4 5       5      (       aR  [        U5      S:X  aC  U Vs1 s H  oDR                  " SS9iM     snX#4 Vs1 s H  oDR                  " SS9iM     sn:X  d   e[        [        T5      T[        SS5      -  -   T[        SS5      -  -   T5      [        S5      :X  d   e[        T[        TS-  S-   5      -  T5      [        S5      :X  d   eTU S-  -
  U S-  [        SU S-  -
  5      -  -  m[        TT5      [        U S-  5      :X  d   e[        SST-   [        SS5      -  -  S-
  T5      [        [        SS5      5      :X  d   eg s  snf s  snf )Nr   Tr   r   r   r   r   r      r+  r      r   	   r      r'  r   r  r   z-1484/375 - 4*(-S(1)/2 + sqrt(3)*I/2)*(-12459439/52734375 +
    114*sqrt(12657)/78125)**(S(1)/3) - 172564/(140625*(-S(1)/2 +
    sqrt(3)*I/2)*(-12459439/52734375 + 114*sqrt(12657)/78125)**(S(1)/3))c              3   |   >#    U  H1  n[        TR                  TU5      R                  5       5      S :  v   M3     g7f)g|=N)absr   r   )r   r   r  r   s     r   r   'test_solveset_sqrt_2.<locals>.<genexpr>J  s,     @x!s2771a=??$%-xs   9<)chopi~i  )	r   rf   r4   rT   r   r   r   r   r   )r   ansrarbr   r  r   s        @@r   test_solveset_sqrt_2rG    s   sAsAacAga!e4q8!<!A$"  a!eq4A;6:"   bdT!Q$(^34q8!<!   
Q!Q$1a4-!#hq!n4	4BQ9Xb!_hr1o#NNNN	acAga!e	$tAE{	2BQ9Q<///	a!etAaC!G}	$qa!e}	4BQ9Q<///	aa!e	r	!BQ9R=000	a!etAw		"BQ9Q<///	a1fqj	QU	#BQ9adUAaD#9999 
a1fqj	QqS1W	%BQ9Q<///a!etAw.2A6)+EEE
A#'HQN	"Q	&BQ9R=000a4Q=014a88B?T"XaZ/!345 5 5 
a4A;	d1g	.BQ9;...
a%!tAw{Q&	&BQ9R#3333
q'DQK
$q1u+
-$q'	!
;B
A
C	
 L 
MB 
!QB@x@@@CA!$%A$%"$*A$*	++ +
 a1hq!n#44!"HQN!23457:CA,G G G 41q>)1-1===
ad(adDQTN*	+BQ9QT?222 AEHQN22Q6:(7E*+, , , 	&*s   V/#V4c                      [         S-  S[         S-  -  -
  [        SS5      -  S-   [         -
  n [        U [         5      [        [        SS5      5      :X  d   eg )Nr   r   r   )r   r   rf   rT   r  s    r   test_solve_sqrt_failrJ  \  sN     Q$1a4-(1a.	(1	,q	0BQ9Xa^#<<<<r   c                     [        S5      n [        S5      U -  [        SU S-   -  5      -  U S-   [        S5      [        SU S-   -  5      -  S-
  -  -   n[        X5      n[        SS5      S[        S5      -  [	        [        S[        S5      -  S	-  5      S-  5      -  S-  -   [        S5      * [	        [        S[        S5      -  S	-  5      S-  5      -  S-  S
[        S[        SS5      [        S5      [        -  S-  -
  [        S	S5      [        S5      [        -  S-  -   [        SS5      -  -  -  5      -  S-  -   [        S5      [        [        S[        S5      -  S	-  5      S-  5      -  S-  -   [        SS5      -   [        [        S5      * [	        [        S[        S5      -  S	-  5      S-  5      -  S-  [        S5      [        [        S[        S5      -  S	-  5      S-  5      -  S-  -
  S
[        S[        SS5      [        S5      [        -  S-  -
  [        S	S5      [        S5      [        -  S-  -   [        SS5      -  -  -  5      -  S-  -   -  -   /nS
[        S[        SS5      [        S5      [        -  S-  -   [        S	S5      [        S5      [        -  S-  -   [        SS5      -  -  -  5      -  S-  [        S5      [	        [        S[        S5      -  S	-  5      S-  5      -  S-  -
  [        S5      [        [        S[        S5      -  S	-  5      S-  5      -  S-  -
  [        SS5      -   [        S
[        S[        SS5      [        S5      [        -  S-  -   [        S	S5      [        S5      [        -  S-  -   [        SS5      -  -  -  5      -  S-  [        S5      [        [        S[        S5      -  S	-  5      S-  5      -  S-  -
  [        S5      [	        [        S[        S5      -  S	-  5      S-  5      -  S-  -   -  -   /n[        U6 n[        U [        US5      [        U6 5      nX%S1-
  US1-
  -  :X  d   e[        [        [        -
  S-  [        * S[        -  -  [        R                   -   S-  -   5      * [        [        S-  * S-  [        S[        S-  -  S[        S-  -  -
  S[        -  -   S-   5      S-  -
  [        SS5      -
  S-  [        S-  S-  [        -
  [        S[        S-  -  S[        S-  -  -
  S[        -  -   S-   5      S-  -
  [        SS5      -
  S-  -   5      -   n[        [        [        [        [        [        -
  S-  [        * S[        -  -  [        R                   -   S-  -   5      [        [        S-  * S-  [        S[        S-  -  S[        S-  -  -
  S[        -  -   S-   5      S-  -
  [        SS5      -
  S-  [        S-  S-  [        -
  [        S[        S-  -  S[        S-  -  -
  S[        -  -   S-   5      S-  -
  [        SS5      -
  S-  -   5      -
  S5      [        R"                  5      n[%        U[        5      U:X  d   eg )NRr   r   r   r   r   r   o      (   r   r(  r>     r   r   )r   r4   rh   r   r@   r>   r!   r   rD   r    rT   rP   r   r   r   r   r   r   rf   )rL  r  r   fsetcsetfscsunsolved_objects           r   test_solve_sqrt_3rV  d  sV   sA	a41q5	?	"a!ed1gd1a!e9o.E.I%J	JB
2
!CQNQtBxZD49S,A!,C(DDQFF"XIc$qc{3/12214r!hr1oQ	!3hsB6G$s)TU+VW-6WZbcdfgZh5hhijjkllmHSaS	k#o.q011!346>q!nE RyT!DI+c/21455a7BxD49S1!344Q67"Q"a4719Q;6#r9JTRUYWX[YZ]9Z]efgij]k8kklmmnoop qqrD r!hr1oQ	!3hsB6G$s)TU+VW-6WZbcdfgZh5hhijjkllHSaS	k#o.q011!346:2hs4$s)TWCXYZCZ?[6[\]6]^QN r"Q"a4719Q;6#r9JTRUYWX[YZ]9Z]efgij]k8kklmmnooBxD49S1!344Q67BxD49S1!344Q67 88 9D 
D	B	aBIt$4	5B9rd++++ AzaR1X.22
3	3dQTE!Gd	!Q$1a4!A#!G##$G% =%'/1~=689<:=>T!VaZ$adFQq!tVOac!A%K''(K) >)+3Aq>>:<==><> 7? 
?B #1bq1uqjQB!Hqvv<MPQ;Q.Q)Rq!teAgQq!tVa1f_qs2Q6799HQNJQNRSUVRVWXRX[\R\Qq!tVa1f_qs"Q&')S*,4QNS;=>R? ? 	@*@AB'DEFWWNO Q?222r   c                     [        [        S-  S-
  S-  [        -
  [        5      [        [	        S[	        [        5      -   5      [	        S[	        [        5      -   5      * [	        S[	        [        5      -
  5      [	        S[	        [        5      -
  5      * 5      :X  d   e[        [
        [        S[        [        -  -   -  -
  [        5      [        [        [
        -  S-
  [        -  5      [        S[        -  5      -
  :X  d   e[        [
        [        [        -  [        [        -   -  -
  [        5      [        [        * [
        -  [
        [        -
  -  5      [        [        * 5      -
  :X  d   eg )Nr   r   r   )rh   r   r~   rT   r4   r   r   r   r   r   $test_solve_polynomial_symbolic_paramrX    s   QTAXMA-q1$q47{#d1tAw;&7%7q47{#d1tAw;&7%7	99 9 9
 A1qs7OQ/1Q37A+2a401 1 1 A!QUOQ/1"Q$A,)QB-/0 0 0r   c                  T   [        S[        -  S-   [        5      [        [        R                  * 5      :X  d   e[        S[        [        5      -  S-
  [        5      [        S5      :X  d   e[        [        SS[        -  -
  -  [        5      [        S5      :X  d   e[        S[        -  [        S-   -  S-
  [        5      [        S5      :X  d   e[        [        S-  S[        -
  -  R                  [        5      [        5      [        [        R                  [        S5      5      :X  d   eg )Nr   r   r   r   r+     )rf   r   rT   r   r   r%   r
   Zeror   r   r   test_solve_rationalr\    s    1q!$	155&(99993q6Aq)Yq\999A!Ga(IaL8881a!eq!,	!<<<!Q$A,,,Q/3!&&!B% ! ! !r   c                  b    [        [        S5      S-   [        5      [        R                  L d   eg r   )rf   r4   r   r   r   r   r   r   test_solveset_real_gen_is_powr^    s#    a1a(AJJ666r   c                  t   [        S[        [        -  -
  5      [        R                  L d   e[        [        [        -  [        5      [        R                  L d   e[        [        [        -  [        -
  [        5      [        R                  L d   e[        S[        5      [        R                  L d   e[        [        [        5      [        5      [        R                  L d   e[        [        S-  S-   [        5      [        R                  L d   e[        S[        -  [        [        5      -  [        5      [        R                  L d   e[        S[        -  [        5      [        R                  L d   e[        S[        -   * S[        -   S-  -  SS[        -   -  -   [        5      [        R                  L d   eg )Nr   r   r   r   )	ro   r   r   r   r   rf   r%   r~   r4   r   r   r   test_no_solr`    s:   A1H+++BqD!

***BqD2Iq!QZZ///A!**,,,Q#qzz111A1%333Ad1gq)QZZ7771a AJJ...1q51q51*,q!a%y8! 
ZZ  r   c                  .   [        S[        5      [        R                  :X  d   e[	        S[        [        SS5      5      [        SS5      :X  d   e[        [        S-  * S[        -  -
  [        S-   S-  -   S-
  [        5      [        R                  :X  d   eg )Nr   r   r   )rf   r   r   r   ro   rV   r   r   r   test_sol_zero_realrb    sw    A!'')))Aq(1a.)Xa^;;;!Q$1Az1A5q9QWWDDDr   c                      [        [        [        S-   -  S-   S-  [        5      [        R                  L d   e[        [        S-
  SS[        S-
  -  -   -  [        5      [        R                  L d   eg )Nr   r   r&  )rf   r   r   r   r   r   r    test_no_sol_rational_extragenousrd    sZ    !QU)a-2.2ajj@@@!a%!aQi-0!4

BBBr   c                  >   [        [        [        5      S-
  [        5      [        S5      :X  d   e[        [        [        5      S-
  [        5      [        S5      :X  d   e[        [        [	        SS5      -  S-
  [        5      [        S5      :X  d   e[        [        [	        SS5      -  S-
  [        5      [        S5      :X  d   e[        [        [        [
        R                  S-  -  S-
  -  [        5      [        [
        R                  [        S5      5      :X  d   eg)z
Test for solving on equations that can be converted to
a polynomial equation using the change of variable y -> x**Rational(p, q)
r   r   r   r'  r   r(  N)rf   r4   r   rT   r   r   r   r[  r   r   r   test_solve_polynomial_cv_1arf    s    
 a1a(IaL888a1a(IaL888HQN*Q.2imCCCHQN*Q.2imCCCA	NQ./3!&&!B% ! ! !r   c            	          [        SSS9n [        SSS9n[        XS-  -
  US-  [        SUS-  -
  5      -  -  U 5      [        US-  5      :X  d   e[        SU -  U S-   -  S-
  U 5      [        S5      :X  d   eg)	z)Test solveset_real for rational functionsr   Tr   r   r   r   r   N)r   rf   r4   rT   r   s     r   test_solveset_real_rationalrh    s    sAsA!d(1d1q!t8n'<=qAQT?   1a!eq!,	!<<<r   c                      [        [        [        S-
  [        S-   -  5      [        5      [        [	        S5      [	        S5      * 5      :X  d   eg r  )rf   r&   r   rT   r4   r   r   r   test_solveset_real_logrj    s@    acAaC[)1-$q'DG8$% % %r   c                      [        SS[        S-  -  S[        -  -   -  S-
  [        5      [        [        SS5      [        R
                  5      :X  d   eg )Nr   r   r   r   )rf   r   rT   r   r   r   r   r   r   test_poly_gensrl    sI    Q1X!^,q0!4(2q/166*+ + +r   c                     [        S5      n [        [        S 5        [        [	        [
        5      U -
  [
        [        R                  5      R                  [        [
        [        U [        S[        5      5      U * U 15      5      (       d   e[        [	        [
        5      S-
  [
        5      [        SS5      :X  d   e[        [	        [
        5      S-   [
        5      [        R                  L d   e[        [	        [
        S-   5      S[	        [
        S-
  5      -  -
  [
        5      [        SS5      :X  d   e[        S[	        [
        5      -  [	        [
        S-
  5      -
  [
        5      [        S	[!        SS5      5      :X  d   e[        [
        [#        [        [$        [        S[        5      5      [        [&        [$        -   [        S[        5      5      [        [&        [$        -
  [        S[        5      5      5      [        [&        * [$        -
  S-
  [&        * [$        -   S-
  [&        [$        -
  S-
  [&        [$        -   S-
  5      5      n[	        [	        [
        S-   5      [&        -
  5      [$        -
  n[)        US[
        5      S   U:X  d   e[&        S[$        S0nUR+                  U5      nUR+                  U5       H   nUR+                  [
        U5      (       d  M    e   [-        [        [/        [1        [	        [
        5      5      S5      [
        [        R                  S
9[3        [5        [        S[        5      [3        [5        [7        [9        U SU -  [:        -  S[:        -  S-  -   5      [        R<                  5      [        [        * S5      5      [5        [7        [9        U SU -  [:        -  [:        S-  -   5      [        R<                  5      [        S[        5      5      5      5      5      5      (       d   eg )Nr   c                  B    [        [        [        5      S-
  [        5      $ r   ro   r   r   r   r   r   r    test_solve_abs.<locals>.<lambda>  s    xA
A6r   r   r   r&  r   r   r>  r   r1  )r   r^   r   ro   r   r   r   r   r   rP   rO   rV   r   rf   rT   r   r   rJ   r   r~   rl   r   r   r   rD   rW   rU   rQ   r   r   r   )r   r   r  repseqabsis         r   test_solve_absrt    s   c
A
:67CFQJ177+44QHQO4r1g>@ @ @ @Q!Q'9R+;;;;Q!Q'1::555QUaAE
l2A6!Q  3q6CAJ.2"hq!n%& & & HQO,QB0QB02 qb1fqj1"q&1*a!eaiQCEC 
SQZ!^	q	 Br1a #s***q!Q<D774=Dhhtn99Q#### "SQ[!,a@%Xa_eXfQ!B2a8!**EbS!	XfQ!BA6

CQO	' 	C  ! ! ! !r   c                     [        [        [        [        5      S-  S[        [        5      -  -
  S-   [        5      [	        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      5      (       d   e[        [        [        [        5      S-  S[        [        5      -  -
  S-   [        5      [	        [        [        S[        -  [        -  5      [        R                  5      5      (       d   eg Nr   r   )r   ro   rD   r   rQ   r   r   r   r   r   r@   r   r   r   test_issue_9824rw    s    #a&!)aAh.2A61Q3r6TVWXTX=AY[\[e[e8fgggg#a&!)aAh.2A61Q3r6ARTUT^T^8_````r   c                      [        [        [        S-
  [        S-
  -  5      [        SS5      :*  [        5      [	        SS5      :X  d   eg )Nr   r   r   r   r   )rf   r   r   r   rV   r   r   r   test_issue_9565ry     s;    a!ea!e_-!Q?CxPRTUVVVr   c                      [        S[        S-
  -  5      S-
  S:  n [        U [        5      [        [        R
                  " SS5      [        R
                  " SS5      5      :X  d   eg )Nr   r   r   )rA  r   rf   rW   rV   r   rI  s    r   test_issue_10069r{    sX    	QAY!	a	BQ5aX]]1a0$2 2 2 2r   c                  &   [        SSS9u  p[        [        U S-  US-  -
  5      S-
  U 5      [        [        US-  S-   5      * [        US-  S-   5      5      :X  d   e[        [        U S-  US-  -   5      S-
  U 5      [        R
                  :w  d   eg )Nza bTr   r   r   r>  )r   rf   r4   rT   r   r   r~   r   s     r   test_real_imag_splittingr~  
  s    5t$DAadQTk*Q.241q>/41q>23 3 3adQTk*Q.2	

  r   c                  x    [        S[        -  SS[        -  -  -
  [        5      [        S[        -  5      :X  d   eg r  )rf   r   rd   rT   r   r   r   
test_unitsr    s/    1q!B$x+y2>>>r   c            	         [        SSS9n [        [        [        5      U -
  [        5      [	        [        U 5      5      :X  d   e[        [        [        5      [        [        * 5      -   S-
  [        5      [	        [        [        S5      * S-   5      [        [        S5      S-   5      5      :X  d   e[        [        [        5      [        [        * 5      -   U -
  [        5      [        R                  :w  d   eg )Nr   Tr   r   r   r   )	r   rf   r%   r   rT   r&   r4   r   r   r   s    r   test_solve_only_exp_1r    s    sT"AQ!Q'9SV+<<<<Q#qb')A-q1#tAwhl#Sa1%567 7 7Q#qb')A-q1QZZ???r   c                      [        [        [        S5      [        S-  -
  [        5      [	        S[        S5      -  5      :X  d   eg Nr   r   )rf   r?   r   r   rT   r4   r   r   r   
test_atan2r    s5     q!r!t+Q/9QtAwY3GGGGr   c            
      6   [        [        S-
  [        [        S5      4S[        -
  S45      S-
  n [        [	        U [        5      5      [        [        SS5      5      :X  d   e[        [        S-
  S[        S-
  :*  4S[        -
  S[        S-
  :  45      n[        SSS9n[	        X-
  [        5      [        U* S-   US-   5      :X  d   e[        [        S-
  S-  [        S:  4S	5      n[        U[        [        R                  S
9[        [        S5      [        [        * SSS5      5      :X  d   e[        [        [        S-   [        S:  4[        S45      [        -
  [        [        R                  5      [        [        * S5      :X  d   e[        [        [        S-
  [        [        [        5      4[        S45      [        5      [        S5      :X  d   e[        S[        S:  4S	5      n[        US:  [        [        R                  5      [        R                  " S[        5      :X  d   eSSKJn  U" 5       n[        U[        [        SS5      S
9[        SS5      :X  d   e[        S[%        [        S5      4[        S-  ['        [        5      -  S45      n[        S[%        [        [(        5      4[        [(        -
  [+        [        5      -  S45      n[        U[        [        R                  S
9[        S5      :X  d   e[        U5      [        [(        5      :X  d   eg )Nr   Tr   r   r   r   r   r   r   Tr1  r   r   )BooleanTruer   )r7   r   r   setrf   rT   r   ro   r   r   rW   rV   r   r   r   r   sympy.logic.boolalgr  r   r   r   rD   )r  absxm3r   r   r   r  s         r   test_piecewise_solvesetr  $  s}   	AE2a8$q1udm	4q	8B}R#$Ib!,<(====	
QQU
	
QAE	F 	sT"AQ'9aR!VQU+CCCCAEA:qAv&	2AAq)U9Q<2#qRVX\A]-^^^^1q5!a%.1d),q0!QWW
rc1   Iq1ubAh/!T;Q?9Q<OOO 	1a"f+y)AAE1agg&(--B*????/AAq"b!12hr26FFFF 	1bAh-!Q$s1v+t!45A1bBi.AFCF?D"9:AAq)Yq\999A;)B-'''r   c                     [        [        [        S-  -  [        [        -  -   [        -   [        5      [        [        * S[        -  -  [        S[        -  [        -  [        S-  -   5      S[        -  -  -
  [        * S[        -  -  [        S[        -  [        -  [        S-  -   5      S[        -  -  -   5      :X  d   e[        [        [        S-  -
  [        5      [        [        [        SS5      -  * S-  [        [        S5      -  [        [        SS5      -  -  S-  -   [        [        SS5      -  [        [        SS5      -  * S-  [        [        S5      -  [        [        SS5      -  -  S-  -
  5      :X  d   e[        [        S[        -  -   S-
  [        5      [        [        R                  [        [        S5      -  S-  -   [        R                  [        [        S5      -  S-  -
  5      :X  d   eg )Nr   r  r   r   )rh   r~   r   r   r   rT   r4   r   r   r   r   r   r   r   r    test_solveset_complex_polynomialr  F  s   AadFQqSL1,a01"ac(T"Q$q&1a4-0!A#66"ac(T"Q$q&1a4-0!A#66	88 8 8 A1Ha(I
Xa^
	Q471hq!n+<!<Q!>>	8Aq>
Xa^
	Q471hq!n+<!<Q!>>-@ @ @ @
 A!GaK+!&&1T!W9Q;&471(<=> > >r   c                  J    [        S[        5      [        R                  L d   eg Nr   )rh   r   r   	Complexesr   r   r   test_sol_zero_complexr  T  s    Aq!Q[[000r   c            	         [        [        S-
  [        [        -
  -  [        S-
  -  [        5      [        S[        5      :X  d   e[        [        [        S-  -
  [        S-  [        S[        S-  -
  5      -  -  [        5      [        [        S-  5      :X  d   e[        [        S-  * [        -
  [        5      [        [        S5      * S-  [        S5      [        -  S-  -   [        S5      S-  [        S5      [        -  S-  -
  5      :X  d   eg Nr   r   r   )rh   r   r   rT   r   r4   r   r   r   test_solveset_complex_rationalr  X  s    QUQUOQU3Q7!Q   QAXAtA1H~(=>B!Q$  QTEAIq)47(1*tAwqy{*DGAIQ	!,CDE E Er   c                  "   [        S5        [        S-  S[        S-  -  -
  S[        S-  -  -
  S[        -  -   S-   n [        U [        5      nU HI  nU R                  " [        UR	                  5       5      R	                  5       n[        US	5      (       a  MI   e   [        S-  S
[        -  -   S-   n [        U [        5      nU HI  nU R                  " [        UR	                  5       5      R	                  5       n[        US	5      (       a  MI   e   g )NzThis test is too slowr   n   r   7   r   i	  i  r   r%  r?  )r_   r   rh   r   r   tn)r   r   r5  ress       r   test_solve_quinticsr  b  s    	 !	1s1a4x"QT'!DF*S0AAAffQ!##%#qzzz  	
1r!tbAAAffQ!##%#qzzz r   c                  *   [        [        [        [        5      S-
  [        5      [	        [        [        [        S-  [        -  [        -  5      [        R                  5      5      (       d   e[        [        [        [        5      [        -
  [        5      [	        [        [        [        S[        -  [        -  [        S-  -   -  5      [        R                  5      5      (       d   e[        S[        [        5      -  [        5      [        R                  :X  d   e[        [        [        [        5      R                  [        5      [        5      [	        [        [        [        [        -  [        -  5      [        R                  5      5      (       d   eg r  )r   rh   r%   r   rX   r   r   r   r   r   r   r   r(   rewriter   r   r   test_solveset_complex_expr  q  s   !#a&1*a01Q3q58$ajj13 3 3 3!#a&1*a01ac"fr!tm,-qzz:< < < <Ac!fHa(AJJ666!$q'//#"6:1R46"AJJ/1 1 1 1r   c            
      x   [        [        S[        -  S5      [        [        R                  5      [        S5      :X  d   e[        [        S[        -  * S5      [        [        R                  5      [        R                  :X  d   e[        [        S[        -  S5      [        [        R                  5      [        R                  :X  d   e[        [        S[        S-   -  S5      [        [        R                  5      [        S	5      :X  d   e[        [        S[        S	-
  -  S
5      [        [        R                  5      [        R                  :X  d   e[        [        S[        S	-
  -  S5      [        [        R                  5      [        S5      :X  d   e[        [        S[        -  [        5      [        [        R                  5      [        [        R                  [        [        [        5      [        S5      -  5      5      :X  d   e[        SS[        -  -  S-
  S[        5      [        [        S5      4:X  d   eg )Nr&  r   r   r   r(  r   r   iq  r   lxpEA *   r'  r   )ro   r   r   r   r   rT   r   r   rU   r&   rl   r   r   r   test_solveset_real_expr  {  s~   BQwNAqww/9Q<???B1uaL!QWW-;;;BQwOQ0AJJ>>>Bac{C(!QWW51EEEBq1Q3x%q!''2ajj@@@Ba!e}f-q!'':imKKKBq!tQKAGG,QWWiPSTUPVWZ[\W]P]F^0____ac{R'A.1il2CCCCr   c            	      8   [        [        [        5      [        5      [        S5      :X  d   e[        S[        [        S[        S-  -  -   5      -
  [        5      [        [        [        * [        -   5      * S-  [        [        * [        -   5      S-  5      :X  d   eg )Nr   r   r   )rh   r&   r   rT   r~   r4   r   r   r   r   test_solve_complex_logr    su    CFA&)A,666AA!Q$J/34Q<-/4Q<>23 3 3r   c                     [        [        S[        -  S-   5      S-
  [        -
  [        5      [        [        R
                  * [	        S5      5      :X  d   e[        [        S[        -  S-   5      SS[        -  -   -
  [        -
  [        5      [        [	        S5      * SS[        -  -
  5      :X  d   e[        S[        -  S[        [        [        5      -  -
  -  [        5      [        [        R                  S[        S-  -  5      :X  d   eg )Nr   r   r   r   r   r   )	rh   r4   r   rT   r   r   r   r~   r[  r   r   r   test_solve_complex_sqrtr    s    D1qMA-115155&!A$     D1qMQ1W591=1Q4%QqS!" " "AaCQa[115!&&!a1f*%& & &r   c                  h   [        [        [        5      R                  [        5      [        5      n [        U [        [        [        [        [        -  5      [        R                  5      [        [        [        [        [        -  [        S-  -   5      [        R                  5      -
  5      (       d   eg r"  )rh   rE   r   r  r%   r   rX   r   r   r   r   r   )r   s    r   test_solveset_complex_tanr    sq    Q,a0AHVAr!t_ajj92a4"Q$;'45 6 6 6 6r   c                  f$   [        [        [        [        5      [        5      [	        [        [        [        S[        -  [        -  5      [        R                  5      [        [        [        S[        -  [        -  [        -   5      [        R                  5      5      5      (       d   e[        [        [        [        5      S-
  [        5      [        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      5      (       d   e[        [        [        [        5      [        5      [	        [        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      [        [        [        S[        -  [        -  [        [        SS5      -  -   5      [        R                  5      5      5      (       d   e[        [        [        [        5      [        [        5      -   [        5      [	        [        [        [        S[        -  [        -  [        [        SS5      -  -   5      [        R                  5      [        [        [        S[        -  [        -  [        [        SS5      -  -   5      [        R                  5      5      5      (       d   e[        [        [        5      S-  [        [        5      S-  -   [        5      [        R                  :X  d   e[        [        [        [        5      [        R                  -
  [        5      [	        [        [        [        S[        -  [        -  [        [        SS5      -  -   5      [        R                  5      [        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      5      5      (       d   e[        [!        [        ["        [$        -   5      [        ["        5      -
  [$        [        R&                  S9[)        [$        [        S5      [        ["        5      :*  [        ["        5      [        S5      :*  -  [	        [+        [        [        S[        -  [        -  ["        -
  [-        [        ["        5      5      -   5      [        R                  5      [+        [        [        S[        -  [        -  ["        -
  [-        [        ["        5      5      -
  [        -   5      [        R                  5      5      5      5      (       d   e[        [        [        S[        -  5      [        [        5      -  [        S[        -  5      [        [        5      -  -   S-
  [        5      [+        [        [        [        [        -  [        SS5      -  [        S	-  -   5      [        R                  5      5      (       d   e[        [        S[/        [        5      -  [        [        5      -  S-   [        5      [	        [+        [        [        S[        -  [        -  [1        [3        S5      [3        S[3        S
5      -   5      -  S[3        S
5      -
  -  5      -   [        -   5      [        R                  5      [+        [        [        S[        -  [        -  [1        [3        S5      [3        S[3        S
5      -   5      -  S[3        S
5      -
  -  5      -
  [        -   5      [        R                  5      5      5      (       d   e[        [        [        S[        -  5      [        S[        -  5      -  S-
  [        5      [+        [        [        [        [        -  5      [        R                  5      5      (       d   e[        [!        [        [        S-  5      [        SS5      -   5      [	        [+        [        [        S[        -  [        -  S[-        [        S5      S-  5      -  -
  S[        -  -   5      [        R                  5      [+        [        [        S[        -  [        -  S[-        [        S5      S-  5      -  -   S[        -  -   5      [        R                  5      5      5      (       d   e[        [!        [        [        S-  5      [        [        S-  5      -   5      [	        [+        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      [+        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      [+        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      [+        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      [+        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      [+        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      5      5      (       d   e[        [!        [5        [3        S5      [        -  S-  5      S-   5      [	        [+        [        [        S[3        S5      -  S[        -  [        -  [7        S5      -
  -  S-  5      [        R                  5      [+        [        [        S[3        S5      -  S[        -  [        -  [7        S5      -   -  S-  5      [        R                  5      5      5      (       d   e[        [9        [!        [/        [        [        -  5      [;        [        S-  [        -  5      -
  5      5      [	        [+        [        [        S[        -  S-   5      [        R                  5      [+        [        [        S[        -  S-   5      [        R                  5      [+        [        [        S[        -  [        SS5      -   5      [        R                  5      [+        [        [        S[        -  [        SS5      -   5      [        R                  5      [+        [        [        S[        -  [        SS5      -   5      [        R                  5      [+        [        [        S[        -  [        SS5      -   5      [        R                  5      5      5      (       d   e[        [!        [        S[        -  5      5      [	        [+        [        [        S[        -  [        -  S-  [        S-  -   5      [        R                  5      [+        [        [        S[        -  [        -  S-  [        S	-  -   5      [        R                  5      5      5      (       d   e[        [!        [        S[        -  5      [;        S[        -  5      -   [        [        R&                  5      [	        [+        [        [        [        [        -  S-  [        S-  -   5      [        R                  5      [+        [        [        [        [        -  S-  S[        -  S-  -   5      [        R                  5      [+        [        [        [        [        -  S-  S[        -  S-  -   5      [        R                  5      [+        [        [        [        [        -  S-  S[        -  S-  -   5      [        R                  5      [+        [        [        [        [        -  S-  S[        -  S-  -   5      [        R                  5      [+        [        [        [        [        -  S-  [        S-  -   5      [        R                  5      5      5      (       d   e[        [        S[        [        5      -  [        S[        -  5      -  S-
  [        5      [	        [+        [        [        S[        -  [        -  S[1        [3        SS[        SS5      -  -  SS[3        S5      -  -   [        SS5      -  -  SS[        SS5      -  -  -   SSS[3        S5      -  -   [        SS5      -  -  -   5      SSS[3        S5      -  -   [        SS	5      -  -  -  5      -  -   5      [        R                  5      [+        [        [        S[        -  [        -  S[1        [3        SS[        SS5      -  -  SS[3        S5      -  -   [        SS5      -  -  SS[        SS5      -  -  -   SSS[3        S5      -  -   [        SS5      -  -  -   5      SSS[3        S5      -  -   [        SS	5      -  -  -  5      -  -
  S[        -  -   5      [        R                  5      5      5      (       d   e[        [9        [!        [        [        S-  [        -  5      [        R                  -
  [        [        R&                  5      5      [	        [+        [        [        S[        -  S-   5      [        R                  5      [+        [        [        S[        -  S-   5      [        R                  5      5      5      (       d   eg )Nr   r   r   r   r+  r   r1  r   r   r=  r   r   r%  rP  -   K   i   r      r>     r   r?  r'  r&  C   9      ih     )r   rf   rD   r   rW   rX   r   r   r   r   r   r@   r   r   rh   r   ro   r   r~   r   rP   rQ   r=   rE   r>   r4   rC   r<   rZ   rA   r   r   r   test_solve_trigr    s<   s1vq)hva2a(!**5va2a"-qzz:	<= = = = s1vz1-1R46BqD=)1::68 8 8 8 s1vq)hva2a"Q$/<va2a"Xa^*;!;<ajjI	KL L L L s1vA2hva1R"Xa^*;!;<ajjIva1R"Xa^*;!;<ajjI	KL L L L QSVQY.2ajj@@@!#a&166/15hva1R"Xa^*;!;<ajjIva1R"Q$/<	>? ? ? ? #a!e*s1v-qAQ2#a&SVqt^<eVAqs2vzDQL891::FVAqs2vzDQL82=>

K?M 	NO O O O
 s1Q3xAQqS#a&@BAF1R4A.A56

CE E E E qQxA2A61Q3r6Dab48m1D)Db\* %  ! "#$::	/1Q3r6Dab48m1D)Db\* %  ! "#$::	/90 1 1 1 1 s1Q3xAaC014a8$VAqt_ajjAC C C C #ad)hq!n45u2a47RQqT!V_4r"u<=qzzJ2a47RQqT!V_4r"u<=qzzJ8L M M M M #ad)c!A#h./2a47RU1W,-qzz:2a47RU1W,-qzz:2a47RU1W,-qzz:2a47RU1W,-qzz:2a47SVAX-.

;2a47RU1W,-qzz:2< = = = = #d1gaik*Q./1T!W9ac"ftBx&78:;QZZH1T!W9ac"ftBx&78:;QZZH2J K K K K (3r!t9s2a46{#:;<e1Q37#QZZ01Q37#QZZ01Q3!Q/0!**=1Q3!Q/0!**=1Q3"a011::>1Q3!Q/0!**=?? @ @ @ @ #ac(#U1Q3r6!8be+,ajj91Q3r6!8bd?+QZZ8&: ; ; ; ; #ac(SAY.177;U1R46BqD=)1::61R46AbDF?+QZZ81R46AbDG+,ajj91R46AbDG+,ajj91R46AbDG+,ajj91R46BrE>*AJJ7>9 : : : : qQxAaC014a8
1Q3r6Ad41hq!n;L8LbDH*O'1~N. 9.01!Xa^2C0C9DFH"DH*K'1~J. G.9. 4/012$r(
?XaQR^2S0S4U /V -V $V WXYXbXbd 6!QqSVaT"QA=N:NPRDH*Q'1~P. ;.01!Xa^2C0C;DFH"DH*K'1~J. G.;. 6/012$r(
?XaQR^2S0S6U 1V /V &V B$&  %&' ' ' ' (3quRx=166#91aggFG3q53;'43q52:&

3J5 6 6 6 6r   c                  )   [        S5      n [        [        S[        -  S-   5      [	        S5      S-  -
  [        5      R                  [        [        [        X [        -  [	        S5      S-  -
  S[        -  S-  -   5      [        R                  5      [        [        X [        -  [	        S5      S-  -
  S[        -  S-  -   5      [        R                  5      5      5      (       d   e[        [        S[        -  S-   5      [	        S5      S-  -
  [        5      R                  [        [        [        X [        -  [	        S5      S-  -
  S[        -  S-  -   5      [        R                  5      [        [        X [        -  [	        S5      S-  -
  S[        -  S-  -   5      [        R                  5      5      5      (       d   e[        [        [        5      [        [        S-  5      -
  [        5      R                  [        [        X [        -  [        S-  -   5      [        R                  5      5      (       d   e[        [        [        5      [        [        S-  5      -
  [        5      R                  [        [        X [        -  [        S-  -   5      [        R                  5      5      (       d   e[        S[        S[        -  5      -  S	-
  [        5      [        [        [	        S	5      S-  5      * S-  [        [	        S	5      S-  5      S-  5      :X  d   e[        S[        S[        -  5      -  S	-
  [        5      R                  [        [        [        X [         -  [        -  [        [	        S	5      S-  5      S-  -
  5      [        R                  5      [        [        X [         -  [        -  [        [	        S	5      S-  5      S-  -   5      [        R                  5      5      5      (       d   e[        [#        [        S-
  5      S-
  [        5      [        [%        S5      S-   5      :X  d   e[        [#        [        S-
  5      S-
  [        5      R                  [        [        [        U SU -  [         -  [        -  [%        S5      -   S-   5      [        R                  5      [        [        U SU -  [         -  [        -  [%        S5      -
  S-   [         [        -  -   5      [        R                  5      5      5      (       d   e[        ['        [#        [        5      5      ['        [        S-  5      -
  [        5      R                  [        [        [        U [%        SU -  [        -  [        S-  -   5      5      [        R                  5      [        [        U [%        SU -  [        -  S
[        -  S-  -   5      5      [        R                  5      5      5      (       d   e[)        ['        [#        [        5      5      ['        [        S-  5      -
  [        [+        SS5      5      [        [%        S
[        -  S-  5      [%        S[        -  S-  5      5      :X  d   e[        [        [        S-  S-
  5      S-
  [        5      [        [-        S[        S5      -   5      * [-        S[        S5      -   5      5      :X  d   e[        [        [        5      S-
  [        5      [        R.                  :X  d   e[        ['        [        5      S-   [        5      [        R.                  :X  d   e[        [1        [        5      [        5      [        R.                  :X  d   e[        [3        [        5      [        5      [        R.                  :X  d   e[        [        [        5      S-   [        5      [        R.                  :X  d   e[        [5        [        5      [        5      [        R.                  :X  d   e[        [7        [        5      S-
  [        5      [        R.                  :X  d   e[        [7        [        5      [        5      [        R.                  :X  d   e[        [9        [        5      S-   [        5      [        R.                  :X  d   e[        [9        [        5      S5      [        R.                  :X  d   e[        [5        [        5      S5      [        R.                  :X  d   e[        [7        [        5      S5      [        R.                  :X  d   e[        [;        [        5      S5      [        R.                  :X  d   e[        [=        [;        [        5      5      S-
  [        5      [        [?        S5      * [?        S5      5      :X  d   e[        [9        [        S-  S-
  5      [A        S5      -
  [        5      [        [-        [C        [A        S5      5      S-   5      * [-        [C        [A        S5      5      S-   5      5      :X  d   e[        [5        [E        [        5      5      S-   [        5      [        [A        [G        S5      * 5      5      :X  d   e[        [5        [A        [        5      5      S-   [        5      [        R.                  :X  d   e[        [#        [        5      [         S-  -
  [        5      R                  [        [        [        U S[         -  [        -  U -  S	[         -  [        -  S-  -   5      [        R                  5      [        [        U S[         -  [        -  U -  [         [        -  S-  -   5      [        R                  5      5      5      (       d   e[        [#        [        S-  5      [I        SS5      -   [        5      R                  [        [        [        U SU -  [         -  [        -  S[%        [	        S5      S-  5      -  -
  5      [        R                  5      [        [        U SU -  [         -  [        -  S[%        [	        S5      S-  5      -  -   S[         -  [        -  -   5      [        R                  5      5      5      (       d   e[        [7        [-        S5      [        -  S-  5      S	-   [        5      R                  [        [        [        U S[-        S5      -  SU -  [         -  [        -  [K        S5      -
  -  S-  5      [        R                  5      [        [        U S[-        S5      -  SU -  [         -  [        -  [K        S5      -   -  S-  5      [        R                  5      5      5      (       d   e[        [        S[        -  5      [        5      R                  [        [        [        U SU -  [         -  [        -  S-  [         [        -  S-  -   5      [        R                  5      [        [        U SU -  [         -  [        -  S-  [         [        -  S-  -   5      [        R                  5      5      5      (       d   e[        S	-  S[        -  -
  S-   RM                  [        [5        [N        5      5      n[)        U[N        [        RP                  5      R                  [        [        [        X [         -  [        -  [G        [S        [        S	-  S[        -  -
  S-   S5      5      -   5      [        R                  5      [        [        X [         -  [        -  [G        [S        [        S	-  S[        -  -
  S-   S5      5      -   5      [        R                  5      [        [        X [         -  [        -  [G        [S        [        S	-  S[        -  -
  S-   S5      5      -   5      [        R                  5      [        [        X [         -  [        -  [G        [S        [        S	-  S[        -  -
  S-   S5      5      -   5      [        R                  5      [        [        X [         -  [        -  [G        [S        [        S	-  S[        -  -
  S-   S5      5      -   5      [        R                  5      5      5      (       d   e[)        U[N        [        RT                  5      [        [G        [S        [        S	-  S[        -  -
  S-   S5      5      [G        [S        [        S	-  S[        -  -
  S-   S5      5      5      :X  d   e[        [-        S5      S-  -
  [        S-   -  RW                  5       RM                  [        ['        [        5      5      n[)        U[        [        RP                  5      R                  [        [        [        U SU -  [        -  [Y        S5      -
  5      [        R                  5      [        [        U SU -  [        -  [Y        S5      -   5      [        R                  5      [        [        U SU -  [        -  [        S-  -   5      [        R                  5      [        [        U SU -  [        -  S[        -  S-  -   5      [        R                  5      5      5      (       d   e[)        U[        [        RT                  5      R                  [        [        [        U SU -  [        -  [        S-  -   5      [        R                  5      [        [        U SU -  [        -  S[        -  S-  -   5      [        R                  5      5      5      (       d   e[)        S[1        [-        S5      [        -  S-   5      S-  -   S[1        [-        S5      [        -  S-   5      -
  -  5      R                  [        [        [        U [-        S5      SU -  [        -  S-
  [[        [         5      -
  -  S-  5      [        R                  5      [        [        U [-        S5      SU -  [        -  S-
  [[        [         5      -   -  S-  5      [        R                  5      [        [        U [-        S5      SU -  [        -  S-
  [[        [         * 5      -
  -  S-  5      [        R                  5      [        [        U [-        S5      SU -  [        -  S-
  [[        [         * 5      -   -  S-  5      [        R                  5      5      5      (       d   e[]        [)        [        S[        -  5      [	        S5      S-  -  S-
  [        [+        SS5      5      [        SSS[        -  -   SS[        -  -   5      5      (       d   eg )Nr   r   r   r   r;  r?  r=  r   r         r   r   r   r   r   r   r>  r  r&  r  gQ	@gʡE@g|^z?ga?ga?)/r   rf   rD   r   r   r   rW   rQ   r   r   r   rh   rE   r)   rT   r/   r   r(   r.   r@   ro   rV   r4   r   rC   rB   r+   r,   r*   r-   rA  r3   r%   r0   r&   r1   r   r2   r   r   r  rN   r   expandr9   r<   r   )r   r  s     r    test_solve_trig_hyp_by_inversionr    s   c
AQqS1W!Q.2;;ER4!A$q&=2b5834ajjAR4!A$q&=2b5834ajjA=C D D D D C!aL1Q46115>>uR4!A$q&=2b5834ajjAR4!A$q&=2b5834ajjA@C D D D D Q#be*,a099R4"R%<(!**57 7 7 7CFSBZ/3<<R4"R%<(!**57 7 7 7 4!9q!,		qtAvq%!Q-/1+ + + +Ad1Q3iK!OQ/88Q3r6E!A$q&M!O34ajjAQ3r6E!A$q&M!O34ajjA:C D D D D a!eq!,	a11   DQK!OQ/881Q3q58eAh.23QZZ@1Q3q58eAh.2QrT9:AJJG:I J J J J T!Wc"R%j0!4==e51R"R%011::>51R"R%(!234ajjA?C D D D D CQLRU+Q1>%2b/5Br?34 4 4ad1fa+y	a%(l	T!eAh,/01 1 1 1 Q!Q'1::555Q!Q'1::555Q#qzz111Q#qzz111a1a(AJJ666a!$

222a1a(AJJ666a!$

222a1a(AJJ666DGQ'1::555DGR(AJJ666DGQ'1::555DGQ'1::555T!W)1-E!H9eAh1OOOOadQh#b'115	eCGnq 	!!4c"g(:#;:= = = = c!f)1-3ay>1JJJJc!f)1-;;;DGacM1-66u1Q3r6!8ac"fQh./<1Q3r6!8ad1f,-qzz:8< = = = = D2J!Q7;DDU2a46"9r%!Q-'778!**E2a46"9r%!Q-'77"Q$r'ABAJJOFQ R R R R Da1-115>>u1T!W9ac!eBhr&:;A=>

K1T!W9ac!eBhr&:;A=>

K@M N N N N D1Iq)2251Q3q58A:"R/0!**=1Q3q58A:"Q./<4> ? ? ? ? Q$!)a-		aa	)BB1;;'00Q3r6E'!Q$!)a-*C$DDEqzzRQ3r6E'!Q$!)a-*C$DDEqzzRQ3r6E'!Q$!)a-*C$DDEqzzRQ3r6E'!Q$!)a-*C$DDEqzzRQ3r6E'!Q$!)a-*C$DDEqzzR2T U U U U B177#ygadQqSj1na()5A!a1K+L(N N N N T!WQY;1
	%	%	'	,	,QA	7BB1;;'001Q3r6DH,-qzz:1Q3r6DH,-qzz:1Q3r6BqD=)1::61Q3r6BrE!G+,ajj9	2; < < < <
 B177#,,U1Q3r6BqD=)1::61Q3r6BrE!G+,ajj9.; < < < < Qs4719Q;'**Qs4719Q;/?-?@AJJ547AaCFQJa$89!;<ajjI47AaCFQJa$89!;<ajjI47AaCFQJqb$9:1<=qzzJ47AaCFQJqb$9:1<=qzzJ	LL M M M M Xc$q&kAaDF3E91hq!nM#%69J29M%M!$5b$88	:; ; ; ;r   c                  6   [        [        [        5      [        [        R                  5      [        S5      :X  d   e[        [        [        5      [        [        R                  5      R                  [        [        [        [        S[        -  [        -  [        -  5      [        R                  5      [        [        [        S[        -  [        -  [        -  [        [        -  -   5      [        R                  5      5      5      (       d   e[        [        [        [        -  5      [        [        R                  5      R                  [        [        [        [        S[        -  [        -  [        -   [        -  5      [        R                  5      [        [        [        S[        -  5      [        R                  5      5      5      (       d   e[        [        [        [        -  5      [        5      R                  [        [        [        [        S[        -  [        -  [        -   [        -  5      [        R                  5      [        [        [        S[        -  5      [        R                  5      5      5      (       d   e[        [        [!        S[        -  S["        -  -
  5      -  [        5      R                  [        [        [        [        [        -  S-  S[        -  S-  -
  ["        -   5      [        R                  5      5      (       d   e[%        [        ['        S[        -  5      S-
  [        [)        SS[        -  5      5      [        SS[        -   SS[        -  -   S[        -   5      5      (       d   e[        [        [        [        [        [        -  S-
  5      [        R                  5      [        [        [        [        [        -  S-   5      [        R                  5      5      n [        ['        S[        -  5      S-
  [        [        R                  5      nUR+                  UR-                  [.        5      R1                  5       [        5      n[%        X5      (       d   e[        ['        S[        -  5      S-
  [        [        R                  5      nUR+                  UR-                  [.        5      R1                  5       [        5      n[%        X5      (       d   e[        [3        [        5      [5        S5      -
  [        [)        S[        S-  5      5      [        [7        [5        S5      5      5      :X  d   e[        [3        [        5      [        -
  [        [)        S[        S-  5      5      [        [7        [        5      5      :X  d   e[        ['        [        5      [8        -
  [        [        R                  5      R                  [;        [        [        S	5      [8        :*  [8        [        S
5      :*  -  [        [        [        [        S[        -  [        -  [=        [8        5      -
  5      [        R                  5      [        [        [        S[        -  [        -  [=        [8        5      -   5      [        R                  5      5      5      5      (       d   e[        [        [?        [        5      5      [        [)        SS
SS5      5      R                  [        [A        [        [        [        [C        S[        -  [        -  5      5      [        R                  5      [(        RD                  " SS
5      5      [A        [        [        [        [C        S[        -  [        -  [        -   5      5      [        R                  5      [(        RD                  " SS
5      5      5      5      (       d   e[        [        [        5      [        S
5      -
  [        [        R                  5      R                  [        [        [        [        S[        -  [        -  S
-   5      [        R                  5      [        [        [        S[        -  [        -  S
-
  [        -   5      [        R                  5      5      5      (       d   e[        [        [        5      [5        S5      S-  -
  [        [        R                  5      R                  [        [        [        [        S[        -  [        -  [G        [5        S5      S-  5      -   5      [        R                  5      [        [        [        S[        -  [        -  [G        [5        S5      S-  5      -
  [        -   5      [        R                  5      5      5      (       d   e[        [        [        5      [I        S5      -
  [        [        R                  5      [        [K        [I        S5      5      5      :X  d   e[        [M        [3        [        5      [8        5      [        [        R                  S9R                  [;        [        [N        * [8        :  [8        [N        :  -  [        [        [        [        [        -  [7        [8        5      -   5      [        R                  5      5      5      (       d   e[Q        SSS9n[        [M        [3        [        5      U5      [        [        R                  S9R                  [        [        [        [        [        -  [7        U5      -   5      [        R                  5      5      (       d   eg )Nr   r   r   r;  r'  r  ggs-8R?ggs-8Rr   r   TFr   r   r1  r   r   ))ro   r(   r   r   r   rT   r  r   rW   rQ   r   r   r   r   r   rD   rA   r   r   r@   rV   r   atomsr   poprE   r4   r>   r   rP   r9   r&   rU   r%   Lopenr=   r)   r.   r   r   r   )r   retr   s      r   test_old_trig_issuesr  [  s_   DGQ(IaL888DGQ,55e1Q3q58$ajj11Q3q58ad?+QZZ87: ; ; ; ;
 C1Iq!''*33EAaCFRK+,ajj91Q3,5. / / / / C1Iq!**5AaCFRK+,ajj91Q3,,. / / / /
 Ac!A#!)n$a(112a46BrE"H,q011::>@ @ @ @ Xc!A#hna!QrT1BCY-2QrT!#4r#9F; < < < < 1R4*;#;<ajjI1R4*;#;<ajjIKC
3qs8c>1agg
.C
((399U#'')1
-CS
3qs8c>1akk
2C
((399U#'')1
-CS CF47NAx2a4'89YtDQRG}=UUUUCF2Iq(1bd"34	$r(8KKKK
 CF1Ha)22Q"
qAaDy15VAqs2vQ/0!**=VAqs2vQ/0!**=4? 	@A A A A CAKHQq$$>?HHl8F1c!A#b&k$:AJJGXY[\I]^8F1c!A#b&2+.>$?Lhnn]^`aNbc	ef f f f
 CFSVOQ099%1Q3r6A:&

31Q3r6A:?+QZZ8;: ; ; ; ; CFT!WQY&1773<<U1Q3r6DaO34ajjA1Q3r6DaO3b891::F>H I I I I DGDGOQ0IeDGn4MMMM Bs1vqM1QWW5>>Q"qQV,fQ"tAw7D	FG G G G 	sABs1vqM1QWW5>>1R4$q'>*AJJ79 9 9 9r   c                  N   [        S5      n [        [        [        5      [	        [        5      -   [        5      [
        R                  :X  d   e[        [        [        5      [        [        5      -   [        5      [        [        [        [        [        5      [        [        5      -   S5      [
        R                  5      :X  d   e[        [        [        5      [        [        5      -   [        5      [        [        [        [        S5      S-
  5      5      5      :X  d   e[        [	        S[        -  5      S[        [        5      -  -   S-
  [        5      [        [        S[        S5      -   5      [        S[        S5      -   5      5      :X  d   e[        [!        [        5      [        S[        -  5      -   [	        [        5      -  S-
  [        5      [        [        [
        R"                  [        S5      S-  -   5      [        S[        S5      -   5      5      :X  d   e[        [	        [        5      [        [        5      -  S-
  [        5      [        [        S[        S	5      -   5      S-  5      :X  d   e[        [        [        5      [%        [        5      -   S-
  [        5      [        [        [        S5      S-  [        [        S5      * S-  [        S5      -   5      -   5      5      :X  d   e['        [)        [        [        5      [        [        5      -   [        5      [+        [-        [/        U SU -  [0        -  [2        -  [        [        S[        S5      -   5      5      -   5      [
        R4                  5      [-        [/        U [0        SU -  [2        -  [2        S-  -   -  [        [        S[        S5      -   5      5      -   5      [
        R4                  5      [-        [/        U [0        SU -  [2        -  [2        -   -  [        [        S[        S5      -   5      5      -   5      [
        R4                  5      [-        [/        U [0        SU -  [2        -  [2        S-  -
  -  [        [        S[        S5      -   5      5      -   5      [
        R4                  5      5      5      (       d   e['        [        [	        [        S
-  5      [	        [        S-  5      -   5      [+        [-        [/        U S
[0        -  SU -  [2        -  [2        S-  -   -  5      [
        R4                  5      [-        [/        U S
[0        -  SU -  [2        -  [2        S-  -
  -  5      [
        R4                  5      [-        [/        U S
[0        -  SU -  [2        -  S[2        -  S-  -
  -  5      [
        R4                  5      [-        [/        U S
[0        -  SU -  [2        -  S[2        -  S-  -   -  5      [
        R4                  5      [-        [/        U S
[0        -  SU -  [2        -  [2        S-  -
  -  5      [
        R4                  5      [-        [/        U S
[0        -  SU -  [2        -  [2        S-  -   -  5      [
        R4                  5      5      5      (       d   e['        [        [%        [2        [        -  5      [!        [2        S-  [        -  5      -
  5      [+        [-        [/        U S[0        -  SU -  [2        -  [2        S-  -   -  [2        -  5      [
        R4                  5      [-        [/        U S[0        -  SU -  [2        -  [2        S-  -
  -  [2        -  5      [
        R4                  5      5      5      (       d   e[        [	        [        5      [	        S[        -  5      -   [	        S[        -  5      -
  [        [
        R6                  5      R9                  [        [        [        [	        [        5      [	        S[        -  5      -   [	        S[        -  5      -
  S5      [
        R6                  5      5      (       d   e[        [        S[        -  5      [!        S[        -  5      -   5      R9                  [        [        [        [        S[        -  5      [!        S[        -  5      -   S5      [
        R                  5      5      (       d   eg )Nr   r   r   r   r&  r   r   r   r=  r%  r   r?  )r   ro   r(   r   r)   r   r   r@   rP   r   r  rf   r,   rT   r&   r4   r+   r   r*   r   rh   rW   rQ   r   r   r   r   r   r   r   s    r   test_solve_hyperbolicr    sI   c
ADGd1g%q)QZZ777DGc!f$a(L
3q6DGQ-. . . .a47*A.)Da13       acQtAwY.2A6)BaL3q47{+;- - - -$q'D1I-tAw6:A>)AFFT!WQYQa[!1C3 3 3 3aa1,a0IARL!5   a47*Q.2iDGAIadU1WtAw.//072 2 2 2 !$q'DG"3Q71Q3q58c$rDG|*<&==>

K1ac"fr!tm,s4DG3D/EEF

S1ac"frk?Sb47l1C-DDEqzzR1ac"fr!tm,s4DG3D/EEF

S	:U V V V V $qt*tAaCy0152a41R"Q$/0!**=2a41R"Q$/0!**=2a41R!B$q&12AJJ?2a41R!B$q&12AJJ?2a41R"Q$/0!**=2a41R"Q$/0!**=4? @ @ @ @ $r!t*tBqDF|34e1Q3!BA.r12AJJ?1Q3!BA.r12AJJ?7A B B B B
 DGd1Q3i'$qs)3Q 

(<
47T!A#Yac*A.9 :: : : D1IRT
*+44Q4!9tBqDz115q{{CE E E Er   c                     [        [        [        [        [        -  5      [        5      [        [        [        [        S5      [        [        [        [        S[        -  [        -  [        -   [        -  5      [        R                  5      [        [        [        S[        -  [        -  [        -  5      [        R                  5      5      5      5      (       d   e[        [        [        [        [        -  5      [        5      [        [        [        [        S5      [        [        [        [        [        S[        -  [        -  [        -  [        [        -  S-  -   -  5      [        R                  5      [        [        [        [        S[        -  [        -  [        -  S[        -  [        -  S-  -   -  5      [        R                  5      5      5      5      (       d   e[        [        [        S[!        S5      -  S-  [        S-  -  ["        [        -  -  [        -  5      [%        S[!        S5      -  S-  [        S-  -  ["        [        -  -  [        -  5      -   [        5      [        [        [        ["        S5      [        [        S-  S5      -  [        [        [        [        [!        S5      [        -  ["        -  S[        -  [        -  [        S-  -   -  S[        S-  -  -  5      [        R                  5      [        [        [        [!        S5      [        -  ["        -  S[        -  [        -  S[        -  S-  -
  -  S[        S-  -  -  5      [        R                  5      [        [        [        [!        S5      [        -  ["        -  S[        -  [        -  [        S-  -
  -  S[        S-  -  -  5      [        R                  5      5      5      5      (       d   e[        [        [        [        S-  S-   [        -  5      S-
  [        5      [        [        [        [        S-  S-   S5      [        [        [        [        S[        -  [        -  [        -  ['        S5      -
  [        S-  S-   -  5      [        R                  5      [        [        [        S[        -  [        -  [        -  ['        S5      -   [        S-  S-   -  5      [        R                  5      5      5      5      (       d   e[)        SS	S
9n [        [        U S-  S-   [        -  5      S-
  [        [        R*                  5      [-        ['        S5      * U S-  S-   -  ['        S5      U S-  S-   -  5      :X  d   e[        [/        [        [1        S[        -   [        -  5      [1        SS[        -  -   [        -  5      -
  [        5      5      [        [        [        [        [        S[        -
  -  S[        -  S-   -  S-  5      [        R                  5      [        [        [        [        S[        -
  -  S[        -  S-
  -  S-  5      [        R                  5      5      5      (       d   eg )Nr   r   r   r   r   r   r   arTr   )r   ro   rD   r~   r   rP   r   rW   rQ   r   r   r   r   r   r)   r   r4   r   r@   r/   r   r   rT   rZ   rA   )r  s    r   test_solve_trig_hyp_symbolicr    s   #ac(A&Q1a%AaCFRK?+QZZ81Q3r6!8$ajj1C3 )4 5 5 5 5 $qs)Q'aAq51ac!eBh2a/011::>1ac!eBh1R123QZZ@DB *C D D D D #aQik!Q$."5a78
aQik!Q$"%a'
()*+-Ar!Qx"QT1+-uF1d1gbjlAaCFRTM:AadFCDajjQF1d1gbjlAaCFQrT!VO<a1fEF

SF1d1gbjlAaCFRTM:AadFCDajjQ0S TU U U U $1q!|,q0!4l	2adQh?EVA!Ab58 3adQh?@!**MVA!Ab58 3adQh?@!**MO7P Q Q Q Q
 
4	 BD"a%!)Q'!+Q8I	q	2q519uQxQ3=5 5 5 5 (3Aqy>CQqS!4D#DaHI52q1u:qsQw/12AJJ?2q1u:qsQw/12AJJ?LA B B B Br   c                     [        [        [        [        5      [	        [        5      -   S-
  [        5      [        [        [        [        S[        -  [        -  [        -  [        [        S5      S-  [        [        R                  * [        S5      -   5      -   5      -   5      [        R                  5      [        [        [        [        S[        -  [        -  [!        [        S5      [        [        R                  [        S5      -   5      -  5      -
  [        -   -  [        [        S[        S5      -   5      5      -   5      [        R                  5      [        [        [        [        S[        -  [        -  [        -   -  [        [        S5      * S-  [        [        R                  * [        S5      -   5      -   5      -   5      [        R                  5      [        [        [        [        S[        -  [        -  [        -
  [!        [        S5      [        [        R                  [        S5      -   5      -  5      -   -  [        [        S[        S5      -   5      5      -   5      [        R                  5      5      5      (       d   e[        [        5      R#                  [$        5      n [	        [        5      R#                  [$        5      n[        [        X-   S-
  [        5      [        ['        [        [        [        [        S[        -  [        -  [        -   -  [        [        S5      * S-  [        [        R                  * [        S5      -   5      -   5      -   5      [        R                  5      [        [        [        [        S[        -  [        -  [        -   -  S-  5      [        R                  5      5      ['        [        [        [        [        S[        -  [        -  [        -
  [!        [        S5      [        [        R                  [        S5      -   5      -  5      -   -  [        [        S[        S5      -   5      5      -   5      [        R                  5      [        [        [        [        S[        -  [        -  [        -   -  S-  5      [        R                  5      5      ['        [        [        [        [        S[        -  [        -  [!        [        S5      [        [        R                  [        S5      -   5      -  5      -
  [        -   -  [        [        S[        S5      -   5      5      -   5      [        R                  5      [        [        [        [        S[        -  [        -  [        -   -  S-  5      [        R                  5      5      ['        [        [        [        S[        -  [        -  [        -  [        [        S5      S-  [        [        R                  * [        S5      -   5      -   5      -   5      [        R                  5      [        [        [        [        S[        -  [        -  [        -   -  S-  5      [        R                  5      5      5      5      (       d   eg r  )r   ro   r(   r   r*   rW   rQ   r   r   r   r   r&   r4   r   r   r   r>   r  r%   rS   )f1f2s     r   test_issue_9616r    sb   $q'DG+a/3U1Q3q58c$q'!)dAFF7T!W;L6M*M&NNOQRQ[Q[\1ac"ftDGD$q'9I4J,J'KKbPQ$q47{#$% &'(zz	31ac"frk?S$q'!dAFF7TRSWCT>U1U-VVWYZYcYcd1ac"frkDaafftAw>N9O1O,PPQ$q47{#$% &'(zz	364 5 5 5 5 q'		3	B
q'		3	B"'A+q)581a1R"oT!WHQJqvvgQ>O9P,P(QQRTUT^T^`VAq!A#b&2+q011::>	@ 	8F1a1R"tDGDRVWXRYIYDZ<Z7[)[&\d1tAw;'(') *+,::7VAq!A#b&2+q011::>	@ 	8F1a1R$tAwtAFFTRSWDT?U7U2V)VY[)[&\d1tAw;'(') *+,::7VAq!A#b&2+q011::>	@ 	VAqs1uRx#d1gai$wa?P:Q.Q*RRSUVU_U_`VAq!A#b&2+q011::>	@,A B B B Br   c                      S[        [        [        5      [        -  [        5      ;  d   eS[        [	        [        5      S-
  [        -  [        5      ;  d   eg Nr   r   )rf   rD   r   rh   r%   r   r   r   test_solve_invalid_solr    sA    M#a&(A....$c!fqj!^Q7777r   c                  f   [        S5      n [        [        [        [        5      [        5      [        [        X [        -  5      [        R                  5      5      (       d   e[        [        [        [        5      [        5      [        [        X [        -  [        S-  -   5      [        R                  5      5      (       d   e[        [        [        [        5      [        [        5      -   [        5      [        [        X [        -  [        S-  -
  5      [        R                  5      5      (       d   eg )Nr   r   r   )r   r   rf   rD   r   rX   r   r   r   r   r@   r   s    r   test_solve_trig_simplifiedr  	  s    c
As1vq)R4!**-/ / / / s1vq)R4"Q$;'46 6 6 6 s1vA2R4"Q$;'46 6 6 6r   c                     [        [        [        [        5      -  S-
  [        5      [        [	        S5      5      :X  d   e[        [        [        5      [        -   [        5      [        [	        S5      * 5      :X  d   e[        [        S[        -  -   [        5      [        [	        [        S5      5      * [        S5      -  5      :X  d   e[        S[        -  S-   SS[        -  S-   -  -   [        5      n U [        [        SS5      [	        SS[        SS5      -  -  [        S5      -  S-  5      S[        S5      -  -  -   5      :X  d   eSS[        -  S-   S-  -  SS	S[        -  S
-   -  -  -
  n[        U[        5      n[        [        S5      S[	        [        S	S	S[        SS5      -  -  S-  -  5      * 5      -  -   S[        S	5      -  -  S-  5      n X :X  d   e[        UR                  5       [        5      U:X  d   e[        S[        -  S-
  S[        SS	[        -  -
  5      -  -   [        5      [        [        SS5      [	        S[        [        SS5      5      -  S-  5      S	-  -   5      :X  d   e[        S[        -  S-   [        S[        -  S-
  5      -   [        5      [        [        SS5      [	        S[        [        SS5      5      -  S-  5      S-  -   5      :X  d   e[        S[        -  [        S[        -  5      -   [        5      [        [	        [        SS5      5      S-  5      :X  d   e[        [        [        -  S-
  5      [        [        [	        [        S5      5      5      5      :X  d   e[        S5      n[        U* [        -  S[        -  [        [        5      -  -   [        5      [        [        US-  5      5      :X  d   e[        SSS9n[        U[        -  [        [        S-  5      -   [        5      [        S[	        U* S-  5      -  5      :X  d   e[        U[        -  [        [        S-  5      -   R                  [        5      [        5      [        S[	        [        S5      [        U5      -  S-  5      -  5      :X  d   e[        [        [        S-   5      [        [        S-
  5      -  S-
  [        5      [        R                  L d   e[        [        S-  S[        -  -
  S-   R                  [        [        [        5      S[        -  -   5      [        5      [        [	        S[        R                  -  5      S-  5      :X  d   e[        [        S-  S[        -  -
  S-   R                  [        [        [        5      S[        -  -   S-  S-
  5      [        5      [        [	        S[        [        S5      * 5      -  5      S-  [	        S[        [        S5      5      -  5      S-  5      :X  d   e[        [        S-  S[        -  -
  S-
  R                  [        [        [        5      S[        -  -   5      [        5      [        [	        S[        S[        S5      -   5      -  5      S-  [	        S[        [        S5      * S-   5      -  5      S-  5      :X  d   e[        [        [        [        5      -  S[        -  -   S-   [        5      [        [        S[	        [        S5      * 5      -   5      5      :X  d   e[        [        [        5      -  S-
  R                  [        [        [        [        5      -  5      n[        U[        5      [        [	        S[        [	        S5      * 5      -  5      5      :X  d   e[        S[        US[        -  S-   -  5      -  US[        -  S-   -  -   [        5      [        [        US-  5      [	        [        SS5      5      -   S[        U5      -  -  * 5      :X  d   e[!        SSS9n[        S[        US[        -  S-   -  5      -  US[        -  S-   -  -   [        5      [        [        S[        SS5      -  * S[        SS5      -  ["        -  -
  [	        [        SS5      5      [        SS5      -  -  SU[        SS5      -  -  -  5      [        U5      -  [        S[        SS5      -  * S[        SS5      -  ["        -  -   [	        [        SS5      5      [        SS5      -  -  SU[        SS5      -  -  -  5      [        U5      -  [        S[	        [        SS5      5      -  US-  -  SS[        U5      -  -  -  5      5      :X  d   e[        S5      nS[        US[        -  S-   -  5      -  U[        US[        -  S-   -  5      -  -   US[        -  S-   -  -   n[        U[        5      [        [        US-  5      [	        SUS-   -  5      -   S[        U5      -  -  * 5      :X  d   e[        U[        -  [        [        S-  5      -   R                  [        S5      [        5      [        S[	        S[        SS5      -  U[        SS5      -  -  S-  5      -  5      :X  d   e[        [        S-  S[        -  -
  [        5      [        S[        S5      -  [	        [        S5      * S-  5      -  5      :X  d   e[        S[%        [        5      -  [%        [        5      S-  -
  5      [        ['        S[	        [        S5      * S-  5      -  [        S5      -  5      5      :X  d   e[        [        S-  S[        -  -
  [        5      [        [        S-  * S[        -  -   [        5      :X  d   e[        S[        [        5      -  [        [        S5      -  -
  5      [        S[	        [        S5      * S-  5      -  [        S5      -  S[	        [        S5      * S-  S5      -  [        S5      -  5      :X  d   e[        [	        S[        -  5      [(        -
  5      [        [(        [        [(        5      -  S-  5      :X  d   eg )Nr   r   r   r   r   i r   r   r+  r>  ia	  r   iir~   Tr   r   r   r   r   )rf   r   r%   rT   r$   r&   r   r  r   r
   r4   r*   r   r   r   Exp1r   r   r@   r9   r   )rD  r  resultr~   r   r   s         r   test_solve_lambertr    s
   3q6Aq)Yx{-CCCCQ!Q'9hqk\+BBBBQT1%8CF##CF*+, , , !a!bdQh-/
3C)HRO$VAx1~,=%=c!f%DQ%FG3q6RS T T T T 
AaC!Ga<!A!aL.	(B2q!F
SYxQ1hq!n+<)<Q)>%?!@ @AABDEc!fHNNPQ RC==a(F2221q1SQqS\>115(1a.8CHQN0C,CA,E#Fq#HHIJ J J 1q3qsQw</3(1a.8Ac(32B.C,CA,E#Fq#HHIJ J J 1s1Q3x+(8Aq>*1,-. . . A"iHSV4D0E&FFFFsA!A!CF
*A.)C!H2EEEEsA1s1Q3x+!HaRTN"#$ $ $!A#AaC...q115!HT!WT!W_Q.//01 1 1 a!eT!a%[014a8AJJFFF!Q$1*q...q#a&1Q3,?C(1QVV8$Q&'( ( (!Q$1*q...q3q6AaC<!2Ca2GH!L(1S$q']?+A-x#d1g,/G/IJK K K!Q$1*q...q#a&1Q3,?C(1ST!W--.q0(1S$q'A=N;N2OPQ2QRS S S3q6AaC!+Q/#b8SVG,,-./ / /
CF(Q,		Q#a&	)BQ(1S(1+../01 1 1 3q1Q37|,,q1Q37|;Q?SAY(1a.!99Ac!fHEFGH H Hd#A3q1Q37|,,q1Q37|;Q?a!Q!Xa^"3A"55xA7OQYZ[]^Q_7__abcdfnoprsftctatuvwz{|w}}a!Q!Xa^"3A"55xA7OQYZ[]^Q_7__abcdfnoprsftctatuvwz{|w}}QxA''1,1SV8=>	AA A A 	sA	
3q1Q37|	qQ1q\!22	2Q1q\	ABQ9q!t9x1q5	**Qs1vX
67$9 9 9 9 !A#AaC...q!4a8I	(B!Q'8Aq>(99!;
<<=> > > > A1a("SV)Hc!fWQY//01 1 1CFSVQY./9R#a&##CF*+4- - - - A1a(q!teadlA&' ' ' 3q6Ac!fH,-
8SVGAIs1v%
8SVGAIr""3q6)2+ + + + !A#*+y	#a&
0   r   c            
          [        SS5      n [        [        U -  U [        -  -
  [        5      [        X * [	        [        U 5      * U -  5      -  [        U 5      -  5      :X  d   eg )Nr   r   )r   rf   r   rT   r$   r&   )r~   s    r   test_other_lambertr  m  s[    AAA1a(I	2hAwqy!!#a&(-* * * *r   c            
      
   [        S5      n [        [        S 5        [        [        S5      [
        R                  :X  d   e[        U " S5      S-  [        -   S-   U " S5      5      [        [        [        * S-
  5      * [        [        * S-
  5      5      :X  d   e[        U " S5      S-  S-
  U " S5      [
        R                  5      [        SS5      :X  d   e[        U " S5      S-  S-   U " S5      5      [        [        * [        5      :X  d   e[        [        S-
  S5      [        [        5      :X  d   e[        [        [        5      [        [        5      -
  [        [        5      5      [        [        [        5      5      :X  d   e[        S[
        R                  S9[
        R                  :X  d   e[        S5      [
        R                  :X  d   e[        S[
        R                  S9[
        R                  :X  d   e[        S	[
        R                  S9[
        R                  :X  d   e[        [        [        5      S-
  [
        R                  S9[        S5      :X  d   e[        [        [        5      S-
  [        [
        R                  5      [        S5      :X  d   e[        [        [        [        5      S5      [        [
        R                  5      [        S5      :X  d   e[        [        [        5      S-
  [        [        5      [
        R                  5      [        S5      :X  d   e[!        S
[        5      n[        US-
  U[
        R                  5      [        S5      :X  d   e[        [        S-
  S:  [        [
        R                  5      [#        S[$        5      :X  d   e[        [        [        5      S-
  S:  [        [
        R                  5      [#        S[$        5      :X  d   e['        [        [        [        5      S-
  [        5      [)        [+        [,        S[        -  [.        -  [,        -  5      [
        R0                  5      5      (       d   e['        [        [        [        [        5      S5      [        5      [)        [+        [,        S[        -  [.        -  [,        -  5      [
        R0                  5      5      (       d   e[        [        S-  U " S5      -   S-   [        5      [        U " S5      * S-
  5      * [        U " S5      * S-
  5      1:X  d   e[        [3        [5        [        5      5      S:  [        ["        R6                  " S[$        5      S9["        R6                  " S[$        5      :X  d   eg )Nr   c                  .    [        [        [        -   5      $ r   )ro   r   r   r   r   r   r   test_solveset.<locals>.<lambda>w  s    xAr   r   r   r   r   r1  TFA)r   r^   r   ro   r   r   r   r   rT   r4   r   r   rD   r@   r%   r   r[   rV   r   r   rX   r   r   r   r   r>   r&   r   )r   r  s     r   test_solvesetr  t  s   A
:./Aq>QZZ'''AaD!GaK!OQqT 
aR!V}dA26l34 4 4AaD!GaK1qww/9R3CCCCAaD!GaK1&)QB*::::AE11---CFSVOSV,	#a&0AAAAAagg&!''111A;!**$$$D)QWW444E!''*ajj888CFQJqww/9Q<???CFQJ177+y|;;;Bs1vqM1agg.)A,>>>CFQJA0IaL@@@QAAE1agg&)A,666AEQJ177+x2>>>CFQJ!OQ0HQOCCC#a&1*a((6!QqSVAX3F

*STTTT"SVQ-+XfQ!Bq6I23**.> ? ? ? ? AqD1Q4K!OQ'T1Q4%!)_,<dAaD519o+NNNN DQL1$aa0DEWXZ\I]]]]r   c            !         [        S5      u  pn[        [        [        [        [        5      5      S-
  [        5      [        [        U [        44[        SU -  [        -  [        S[        -  [        -  [        -  [        S5      -   5      -   -  [        [        S[        -  [        -  [        -  [        S5      -   5      5      -   5      [        [        R                  [        R                  5      5      5      (       d   e[        [        [         [        [        ["        [        -  [$        -   5      5      -  [&        -   [        5      [        [        [        [$        * [        -   ["        -  5      [)        [        U [        44[        SU -  [        -  [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      -   -  [        [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      5      -   5      [        [        R                  [        R                  5      5      5      5      (       d   e[        [        [         [        [        [        ["        [        -  [$        -   5      5      5      -  [&        -   [        5      [        [        [        [$        * [        -   ["        -  5      [)        [        X[        44[        SU-  [        -  [        [        SU -  [        -  [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      -   -  [        [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      5      -   5      -   -  [        [        [        SU -  [        -  [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      -   -  [        [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      5      -   5      5      -   5      [        [        R                  [        R                  [        R                  5      5      5      5      (       d   e[        [        [         [        [        [        [        ["        [        -  [$        -   5      5      5      5      -  [&        -   [        5      [)        [        [        [$        * [        -   ["        -  5      [)        [        X!U [        44[        SU-  [        -  [        [        SU-  [        -  [        [        SU -  [        -  [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      -   -  [        [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      5      -   5      -   -  [        [        [        SU -  [        -  [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      -   -  [        [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      5      -   5      5      -   5      -   -  [        [        [        SU-  [        -  [        [        SU -  [        -  [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      -   -  [        [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      5      -   5      -   -  [        [        [        SU -  [        -  [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      -   -  [        [        [        S[        -  [        -  [        [&        * [         -  5      -   -  [        [        [&        [         -  5      5      -   5      5      -   5      5      -   5      5      -   5      [        [        R                  [        R                  [        R                  [        R                  5      5      5      5      (       d   eg )Nz
k1, k2, k3r   r   )r   r   ro   r%   r   rX   r   r   r   r   r   r&   r   rY   r   r   r   r~   r   r   rQ   )k1k2k3s      r   test_multi_expr    s   &JBB#c!f+/1-	&2q'Q"R#ac!eBhQ6G2H(H%ICPSTUVWTWXYTYZ\T\_bcd_eTePfLg%gh

AJJ/
12 2 2 2 1SQqS1W..2Q7QBFA:&"a
qtBwQ!BaRT 23c#ac(mCDDECPQSTUVSVWYSY\_ab`bcd`d\eSePfilmpqrstqtmuivPvLwHxx2z1::qzz2)4 	56 6 6 6
 1SS1q\!233a7!<QBFA:&"!qtBwQ"R#a1R#qbd)1C.Ds3qQRs8}.T*U UVC1Q3r6C1I-.S1X>?@A B B CEHQPQRTPTUWPWZ]^_abcdadegagjmopnpqrnrjsas^tAaCM_" [# Q# N$&)#a1R#qbd)1C.Ds3qQRs8}.T*U&VNW JX FYY2Z #1::qzz1::F	)H 	IJ J J J 1SSQqS1W%6!7881<qAQBFA:&""a8JqtBwQ"R#a2b3q!A#b&3PQrRSt9BT?UX[\_`abc`c\dXe?e;f1f.gC1Q3r6C1I-.S1X>?@/A +B !B CEHQPQRTPTUWPWZ]^_abcdadegagjmopnpqrnrjsas^tAaCM_" [# Q# N$&)#a1R#qbd)1C.Ds3qQRs8}.T*U&VNW JX FYY Z Z []`adefhijlhlmohoAqtBwQ!BaRT0B-Cc#aPQc(m-S)TTUX[\_`acdefcfgiciloqrprstptlucu`vy|  ~A  BC  DE  BE  ~F  zG  aG  ]H  YI  I  JiJ fKAqtBwQ!BaRT8J5KcRUVWXYVYRZm5[1\'\$]`cdghiklmnknoqkqtwyzxz{|x|t}k}h~  BE  FI  JK  LM  JM  FN  BO  iO  eP  aQ  %Q  !R  SfS bT ^UU2V 

AJJ

AJJG)I 	JK K K Kr   c                     SSK Jn   SSKJn  U " [        S-  S-
  /[        /[
        R                  /5      [        SS5      :X  d   eU " [        [        -   [        S-   /[        [        /X/5      [        S5      :X  d   eU " [        [        -   [        S-   /[        [        /X/5      [        S	5      :X  d   eU " [        [        -   [        [        -
  S-
  /[        [        /X/5      [        [        S5      S-  [        S5      * S-  45      :X  d   eU " [        S-
  [        S-
  /[        [        /X/5      [        S
5      :X  d   e[        U " [        [        -   /[        [        /X/5      [        [        [        [        44[        [        * 45      [        U5      5      [        [        [        44[        * [        45      [        U5      5      5      5      (       d   eU " [        [        -   [        [        -   S-   /[        [        /X/5      [
        R                  :X  d   eU " [        [        -   [        [        -
  [        S-
  /[        [        /X/5      [
        R                  :X  d   eU " [        [        -   [        [        -
  [        S-
  /[        [        /X/5      [
        R                  :X  d   eU " [        [        -   [        -   S-
  [        [        -   [        -
  S-
  [        [        -
  [        -
  S-
  /[        [        [        /UX/5      [        S[
        R                  * [
        R                  * 45      :X  d   eSSKJn  U " [        S-  [        S-  -   S-
  [        [        -   /[        [        /X/5      [        SS	5      :X  d   eU " [        S-  S-
  [        /[        [        /X/5      [        SS5      :X  d   e[        U " [        S-  [        S-  -
  /[        [        /X/5      [        [        [        [        44[        [%        [        5      * 45      [        U5      5      [        [        [        44[        [%        [        5      45      [        U5      5      [        [        [        44[%        [        5      * [        45      [        U5      5      [        [        [        44[%        [        5      [        45      [        U5      5      5      5      (       d   eU " [&        [)        U5      -  S-
  [&        [+        U5      -  /U[&        /[-        S[.        5      [-        SS5      /5      [        S[.        S45      :X  d   eU " [&        [)        U5      -  S-
  [&        [+        U5      -  /[&        U/[-        SS5      [-        S[.        5      /5      [        S5      :X  d   eU " [&        [)        U5      -  [&        -
  [&        [+        U5      -  /[&        U/[-        SS5      [-        S[.        5      /5      [        [        [        [&        44[&        S45      [        [        [&        [&        45      [-        SS5      5      5      [        [        U44SU45      [        [        X"45      [-        S[.        5      5      5      5      :X  d   eg )Nr   )_solveset_multi)r   r   r   r   r   r   r   )r   r   )r   r   r   )theta)r   r   )r   r   r   )r   r   )sympy.solvers.solvesetr  
sympy.setsr   r   r   rT   r   r   rW   rQ   r   rY   r   r   r   	sympy.abcr  r   r   r@   rD   rV   r   )r  r   r  s      r   test__solveset_multir    sT   6  AqDF8aS177)4	$8NNNN AaC1:1v~>)GBTTTTAaC1:1v~>)GBTTTTAaC1Q<!Q%@IqQRtTUvXYZ[X\W\]^W^N_D````AaC1:1v~>)FBSSSS!A#A?VaTGa!W-z%/@AVaTGqb!W-z%/@ABC D D D D AaC1Q<!Q%@AJJNNNAaC1ac?QFUNCqzzQQQAaC1ac?QFUNCqzzQQQ AaCE!GQqSU1Wac!eAg6Aq	ED #Q!&&$9:; ; ;  AqDAIaK1-1v~F)T[]dJeeeeAqDFA;A?9VU\C]]]] !Q$q!t)q!funEuVaTGa#a&\2Ju4EFVaTGaQ[1:e3DEVaTGs1vgq\2Ju4EFVaTGc!fa[1:e3DE	HG H H H H
 Ac%jLNAc%jL9E1:a_hr1o.03<Vb"X3NO O OAc%jLNAc%jL9Au:a^Xa_-/2;F2CD D DAc%jLNAc%jL9Au:QNHQO,.16FQD7QF+F1qdOXa^46FUH;E
3F5(+Xa_=?2@@ @ @r   c                  x   [        [        [        [        5      S-  [	        [        5      S-  -   S5      [        [
        R                  S9[
        R                  L d   e[        [        [        S-  [        [        [        5      -  -   S5      [        [
        R                  S9R                  [        [        [        [        S-  [        [        [        5      -  -   S-
  S5      [
        R                  5      5      (       d   e[        [        [        [        * [        [        [        -  5      [        [        * [        -  5      -
  -  S-  S5      [        5      [        [        [        S[        -  [        -  [        S-  -   5      [
        R                   5      5      (       d   e[        [        [        [        5      -   S:  [        [
        R                  S9R                  [        [        [        [        [        5      -   S:  [
        R                  5      5      (       d   e[        [        [        [#        [        5      5      [        5      [        [
        R                  S9R                  [        [        [        [        * [        [#        [        5      5      -   S5      [
        R                  5      5      (       d   e[        [$        [        -  [&        -
  [        [
        R                  5      R                  [        [        [        [$        [        -  [&        -
  S5      [
        R                  5      5      (       d   eg )Nr   r   r1  r   )ro   r   rD   r   r@   r   r   r   rP   r   r   r%   rX   r   r   r   r   r   r   r   r   r   r   test_conditionsetr    s-   Bs1vqy3q619,a0!AGG 
WW   Bq!taAh*Aagg 

(<2adQs1vXo&91#=qwwG
HI I I "aRQqSC1I!56q8!<a 
F1ac"fr!tm,ajj9; ; ; ; AAJNAagg 

(<1s1v:>177;
<= = = Bs3q6{A&!'' 

(<2qb3s1v;&6#:AGGD
EF F F AqDFAqww 

(<2adQh?AGG<
=> > >r   c            	          [        [        [        [        5      [        5      [        5      [        [        [        [        [        5      [        5      [        R                  5      :X  d   eg)z>Checking equality of different representations of ConditionSetN)ro   r   rE   r   r   rP   r   r  r   r   r   test_conditionset_equalityr    s:     Bs1vqM1%aCFA)TTTTr   c                  Z   [        [        S-  [        -
  S-
  [        [        S[        5      5      [	        S5      :X  d   e[        [        S-  S-
  [        [        S[        5      5      [	        S5      :X  d   e[        [        S-  S-
  [        [        SS5      5      [	        S5      :X  d   eg )	Nr   r   r   r   r   r   r'  r   ro   r   rV   r   rT   r   r   r   test_solveset_domainr    s    AqD1HqL!Xa_51EEEAqD1Ha!R1Yq\AAAAqD2Iq(1b/2ilBBBr   c            	      8   [        [        [        5      [        [        5      -   [        [        R
                  5      n [        [        [        [        [        5      [        [        5      -   S5      [        R
                  5      nU R                  U5      (       d   eg r  )	ro   r%   r   rD   r   r   rP   r   r   )solutionrU  s     r   test_improve_coverager    s\    AQAGG4H"1bQ#a&!&<aggFO_----r   c                  n   [        S[        S-  S-
  -  [        -   S[        S-  S-
  -  S-   5      n [        S[        -  [        -   S[        -  5      n[        U [        [        R                  5      [        R
                  L d   e[        U[        [        R                  5      [        R
                  L d   eg )Nr   r   r   )r   r   ro   r   r   r   )expr1expr2s     r   test_issue_9522r  
  s    q!Q$(|aAqD1H!12EqsQw!EE1agg&!**444E1agg&!**444r   c                     [        [        S-  S-   [        [        R                  5      / :X  d   e[        [        S-  S-   [        [        R                  5      S[        R
                  [        S5      [        -  S-  -
  [        R
                  [        S5      [        -  S-  -   /:X  d   e[        [        [        5      [        [        R                  5      S/:X  d   e[        [        [        5      [        [        R                  5      [        S-  [        [        SS5      -  /:X  d   e[        [        [        5      S-   [        [        R                  5      [        [        SS5      -  /:X  d   e[        [        S 5        g )Nr   r   r   r   r   c                  l    [        [        [        [        5      5      [        [        R
                  5      $ r   )rs   rD   r%   r   r   r  r   r   r   r   test_solvify.<locals>.<lambda>  s    CFQ(Lr   )rs   r   r   r   r  r   r4   r   r&   r@   r   r   rD   r^   NotImplementedErrorr   r   r   test_solvifyr    s   1a4"9a)R///1a4!8Q,QVVd1gaik5I12$q'!)A+1E1G G G G3q61agg&1#---3q61agg&2a4HQN1B*CCCC3q6A:q!''*r(1a./@.AAAA
 LMr   c                     [        S[        S:  4[        S-  [        S:*  4[        [        5      S45      n [        S[        S:  4[        S-  S[        -  -   S-
  [        S	:  45      n[        S[        [        S5      4[        S-  [	        [        5      -  S45      n[        S[        [        [
        5      4[        [
        -
  [        [        5      -  S45      n[        U [        [        R                  5      S/:X  d   e[        U[        [        R                  5      S
S/:X  d   e[        U[        [        R                  5      S/:X  d   e[        U[        [        R                  5      [
        /:X  d   eg )Nr   r   r   r   Tr   r   r  r<  )
r7   r   r&   r   r   r   rD   rs   r   r   )p1p2p3p4s       r   test_solvify_piecewiser    s   	Aq2v;AqAvQ	?B	Aq3w<!Q$1*q.!r'!:	;B	Ar!Qx=1a4A;"5	6B	Ar!Ry>QVSVOT#:	;B 2q!''"qc)))2q!''"r1g---2q!''"qc)))2q!''"rd***r   c                      [        SSS9n [        [        [        U 5      5      U [        R
                  5      S[        /:X  d   e[        S5      n [        [        [        U 5      5      U [        R
                  5      b   eg )Nr   Tr   r   )r   rs   rD   r   r   r   r   r   s    r   test_abs_invert_solvifyr  )  s_    sD!A3s1v;177+2w666sA3s1v;177+333r   c                  	  ^ [        S[        5      [        S//5      [        S//5      4:X  d   e[        S[        5      [        S//5      [        S//5      4:X  d   eS[        -  [        -   S[        -  -
  S-
  [        [        -
  [        -
  [        [        -   S[        -  -   S-
  /n [        S[        -  S[        -  -   [        -
  S5      [        S[        -  S[        -  -
  S[        -  -   S5      S[        -  [        -   S[        -  -
  /n[        U [        [        [        5      u  p#U[        / S	Q/ S
Q/ SQ/5      :X  d   eU[        S/S/S//5      :X  d   e[        U[        [        [        5      u  p#U[        / SQ/ SQ/ SQ/5      :X  d   eU[        S/S/S//5      :X  d   e[        [        -  [        -  [        [        -  -   [        [        -  -   [        -
  [        [        -  [        [        -  -   [        [        -  -   [        [        -  -   [        -
  [        [        -  [        [        -  -   [         [        -  -   ["        -
  /m[        T[        [        [        5      u  p#U[        [        [        -  [        [        /[        [        -   [        [        /[        [        [         //5      :X  d   eU[        [        /[        /["        //5      :X  d   e[%        [&        U4S j5        [%        [&        U4S j5        [%        [(        S 5        [%        [(        S 5        [%        [(        S 5        [%        [&        S 5        [%        [&        S 5        [        [        /S[        -  /5      [        S//5      [        [        * //5      4:X  d   e[        [        [        [        S[        -  S-   -  S-   -  -   [        5      [        S[        -  [        -  S-   //5      [        [        * S[        -  S-   -  //5      4:X  d   e[        [        [        [        -  [        [        -  -   S-
  /S[        -  S[        -  -   [        -
  //5      [        [        5      [        [        [        /SS//5      [        S/[        //5      4:X  d   e[        [        [        S-   S5      [        5      [        S//5      [        S//5      4:X  d   e[%        [*        S 5        [%        [*        S 5        [%        [&        S 5        g )Nr   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&  c                     > [        T 5      $ r   )ri   eqns3s   r   r   *test_linear_eq_to_matrix.<locals>.<lambda>I  s    259r   c                  :   > [        T [        [        [        /5      $ r   ri   r   r   r  s   r   r   r	  K  s    251a)Dr   c                  b    [        [        S[        -  [        -   S[        -  5      [        /5      $ r   ri   r   r   r   r   r   r   r	  M  s!    #6r!A#'1Q37G!#Mr   c                  4    [        [        S-  /[        /5      $ r"  ri   r   r   r   r   r   r	  N  s    #61vs#Cr   c                  F    [        [        [        -  /[        [        /5      $ r   r  r   r   r   r   r	  O  s    #6!uq!f#Er   c                  F    [        [        [        [        5      [        5      $ r   r  r   r   r   r   r	  R  s    22a8Q?r   c                  L    [        [        [        [        S-   5      [        5      $ r   r  r   r   r   r   r	  S  s    22aQ<Cr   r+  r   r   c                  .    [        / [        [        15      $ r   r  r   r   r   r   r	  e  s    1"q!f=r   c                  F    [        [        [        -   /[        [        15      $ r   r  r   r   r   r   r	  f  s    11q5'Aq6Br   c                  F    [        [        [        -   1[        [        45      $ r   r  r   r   r   r   r	  g  s    2AE7QFCr   )ri   r   Matrixr   r   r   r~   r   r   r   r   r   r   r   r   r   r   r   r^   r   r}   	TypeError)eqns1eqns2r  Br  s       @r   test_linear_eq_to_matrixr  1  s   q!$!u(FFFFq!$!v(GGGG qS1Wqs]QA	1q51Q3;+;<E!ac	Aq!2acAaCi!A#or#:BqD1HqsNKEuaA.DA
K;<<<<aS2$'((((uaA.DA
J<====bTA3'(((( qSUQqS[1Q3"AaC!A#I!Oac$9A$=qsQqSy1Q3QR?RSEuaA.DA1aa!eQ]Q1I>????aS1#'''' :9:
:DE
>MN
>CD
>EF :?@
:CD sQqSE*vse}frdVn.MMMM q1a1qkAo#66:1Q}vAaC!G~&67?9 9 9 9v
A#!)a-1Q319q=/* ,-.3AA &1#s"4766 6 6
 r!a%|Q/uvtf~4' ' ' ' 9=>
9BC
:CDr   c                      [        [        [        S[        -  S[        -  -   -  S[        -  -   S5      [        [        5      [        S[        -  S[        -  S-   //5      [        S//5      4:X  d   eg )Nr   r   r   r   )ri   r   r~   r   r   r  r   r   r   test_issue_16577r  j  sh    r!QqS1Q3Y-!A#"5q91a@1acAg &1#-E1 1 1 1r   c                  t    [        [        [        5      S[        5      [        [        R                  4:X  d   eg r  )rl   r%   r   r   r   r   r   r   test_issue_10085r  o  s%    s1va"q!**o555r   c                    ^^^^^ [        S5      u  mmp[        / SQ/ SQ/ SQ/5      nUS S 2S S24   US S 2S4   4=nu  mmTST-  -   U -   U-   S-
  TST-  -   SU -  -   U-
  S-
  ST-  S	T-  -   S
U-  -   S	-
  /m[        ST-  SU-  -
  S-   TSU-  S-   U45      n[        TTTX45      U:X  d   e[        T/TTX4Q76 U:X  d   e[        UTTX45      U:X  d   e[        U/TTX4Q76 U:X  d   e[        S[        S9u  mmp[        UTTX5      [        ST-  SU-  -
  S-   TSU-  S-   U45      :X  d   e[        [        U4S j5        [        [        U4S j5        [        [        UU4S j5        [        [        UUU4S j5        [        [        UUUU4S j5        [        [        U4S j5        [        [        U4S j5        [        [        S 5        [        [        S 5        [        [        [        -   S-
  [        S-  [        -   S-
  /[        [        /5      [        * S-   [        S-  * S-   41:X  d   e[        [        [        /[        [        //5      m[        [        /[         //5      mTT4n[        [        * [         -  [        [        -  -   [        [        -  [        [        -  -
  -  [        [         -  [        [        -  -
  [        [        -  [        [        -  -
  -  45      n[        U[        [        /5      U:X  d   e[        / SQ/ SQ/ SQ/5      m[        / SQ5      m[        TT4[        [        [        45      ["        R$                  L d   e[        S5      u  mmpg[        S[&        -  U-  S[&        -  U-  SU-  /S[&        -  U-  S[&        -  U-  SU-  /SSS[&        -  Xg-  -  // S Q/5      n[        UTT5      [        S[&        Xg-  -  45      :X  d   e[        / S!Q/ S"Q/5      n[        U[        [        [        [        [        5      [        [        S[        S[        45      :X  d   e[        S#5      u  n	mmn
[        [        / S!QSSSSSU
//5      5      [        U	STU
T45      :X  d   e[        S$5      u  n	mmn
[        [        / S!QSSSSSU
//5      5      [        U	STU
T45      :X  d   e[        S%5      u  n	mmn
[        [        / S!QSSSSSU
//5      5      [        U	STU
T45      :X  d   e[        S&5      u  n	mn[        U[)        S'5      5      [        U	STSU45      :X  d   eXS('   [        S)5      US('   [+        [        U[)        S'[        S95      R,                  5      S	:X  d   e[/        S*5      n[        U" [        5      S-
  /U" [        5      5      [        S+5      :X  d   eSS,KJnJnJn  X-  nS-U-  [        -   [        -   S.U-  U-  S[        -  U-  -   /m[        T[        [        5      X-  [9        S/S5      -  U[9        S	S5      -  41:X  d   e[        [;        [        [        [        -   5      /[        [        /5      [        S41:X  d   e[        [;        [        [        [        -  -   S[        -   5      /[        /5      S01:X  d   e[        [;        S[        -   [        [        [        -  -   5      /[        /5      S01:X  d   e[        [        S1 5        [        / [        /5      ["        R$                  L d   e[        S/[        /5      [        41:X  d   e[        [        /[        [        /5      S[        41:X  d   e[        [        S/[        [        /5      S[        41:X  d   eg )2Nzx1, x2, x3, x4)r   r   r   r   r+  )r   r   r   r   r?  )r   r   r   r   r   r   r   r+  r?  r   r   r&  r   r   zx:4)clsc                     > [        T 5      $ r   rj   )Eqnss   r   r   test_linsolve.<locals>.<lambda>  s	    x~r   c                     > [        T 5      $ r   r#  x1s   r   r   r%    s	    x|r   c                     > [        T T5      $ r   r#  )r(  x2s   r   r   r%    s    xB/r   c                      > [        T 4TT5      $ r   r#  )r  r(  r*  s   r   r   r%    s    xb"5r   c                      > [        T TTT5      $ r   r#  )r  r  r(  r*  s   r   r   r%    s    x1b"5r   c                      > [        T /T T 5      $ r   r#  r'  s   r   r   r%    s    xb"5r   c                  0   > [        T /S T T 4 5       5      $ )Nc              3   $   #    U  H  ov   M     g 7fr   r   r.  s     r   r   2test_linsolve.<locals>.<lambda>.<locals>.<genexpr>  s     .C(Qq(s   r#  r'  s   r   r   r%    s    x.C2r(.CDr   c                  p    [        [        [        -   S-
  [        S-  [        -   S-
  /[        [        /5      $ )Nr   r   r   )rj   r   r   r   r   r   r   r%    s(    8QUQYQ
Q,G!Q#Pr   c                  p    [        [        [        5      [        -   [        [        -   /[        [        /5      $ r   )rj   r@   r   r   r   r   r   r   r%    s     8SVaZQ,?!Q#Hr   r   r   r   r   )r   r   r   )r   r   r>  r   r   r   z	A B J1 J2r   )r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   ztau0 tau1 tau2 _tau0ztau00 tau01 tau02 tau0ztau00 tau01 tau02 tau1z
x0, x2, x4r   r   r   _x0r   )r   )meternewtonkilor      ir  c                  n    [        [        [        S-  [        S-  [        -   5      /[        [        /5      $ r"  )rj   r   r   r   r   r   r   r   r%    s&    "QT1a4!8$%1v.r   )r   r  rT   rj   r   r^   r   r}   r   r   r   r~   r   r   r   r   r   r   r   r   r\   r   free_symbolsr   sympy.physics.unitsr7  r8  r9  r   r   )x3x4Msystem1r   system2J1J2	Augmatrixx0r6  r   r7  r8  r9  kNr  r  r$  r(  r*  s                   @@@@@r   test_linsolverH  s  sm   -.NBB 	!2ODEAq#2#vY!R%((Gda2INR!#R!B$Y2%5%:R%?bD1R4K!B$"$D RUQrT\A%r1R4!8R8
9CD2r2*+s222D,BB+,333Gb"b-.#555G/r2r./3666U.NBBGRR,		B2	2qtax,1. . . . :-.
:+,
:/0
:56
:56
:56
:DE >PQ
>HIQUQYQ
Q/!Q8qb1fq!teai=P<QQQQ 	AA AaSzA!fG
qbdQqSj1Q319-!ac	AaC!A#I/FG
HCGaV$+++ 		9i01AyAQFQ1I&!**444 ;'LAq"	
1R1RB	Ab"Q$r'1R4 	
AqsBE{	
 I Iq!$	1ai.(AAAA *,>?@IIq!Q1-Aq!Q?1KKKK 45OBBF.Aq!Q0DEF 
Ar3+,- - -67OBBF.Aq!Q0DEF 
Ar3+,- - -67OBBF.Aq!Q0DEF 
Ar3+,- - - &JBBI/4 
Ar1b)*+ + +f  Ifx#CU355A\CFGH H H 	AQqTAXJ!%4888 87	BbD1HqL"R%+!E	12DD!Q[#q))2hq!n+<=$? ? ? ?
 R1q5\NQF+Ax777RAaCQ'(1#.4&888RAq1Q3w'(1#.4&888
> / 0 B

***QC!1$'''QC!Q aVH,,,QFQF#Ax///r   c                  F    S n SnU " U5      u  p#n[        X#5      U:X  d   eg )Nc                 @   [        SR                  U 5      5      n[        SR                  U 5      5      nX-   n/ n[        R                  * 4U -  [        R                  4U -  -   n[	        X5       H  u  pgUR                  Xg-   Xg-
  S-   /5        M!     XC[        U5      4$ )Nzx:{}zy:{}r   )r   formatr   r   r   extendrT   )r   r   r   symseqsr   xiyis           r   _mk_eqs_sol/test_linsolve_large_sparse.<locals>._mk_eqs_sol  s    V]]1%&V]]1%&wwj1ny1},"kFBJJ1-. ")C.((r   i  r#  )rQ  r   rN  rM  r   s        r   test_linsolve_large_sparserS    s.    
) 	A ^NCsC#%%%r   c                      [        / SQ/ SQ/ SQ/5      n [        / SQ5      n[        X/[        [        [        45      [        S5      :X  d   e[        / SQ/ SQ/5      n [        U 5      [        S5      :X  d   eg )	N)r   r   r   )r   r   r   r4  )r   r   r   )r   r   r   )r   r   r+  )r   r   r   )r   r   )rL   rj   r   r   r   rT   )r  r  s     r   test_linsolve_immutablerU    se    iI>?AZ(AQFQ1I&)J*????i45AA;)F++++r   c                     [        S5      n [        S[        -  5      S[        S[        -  5      -  -
  S[        [        5      -  -   S-
  n[        [        5      S-  S[        [        5      -  -
  S-   n[        [        5      S-  [        [        5      -
  n[        [        S-   5      n[        [        S-   5      S-
  nS[	        [        5      -  nS[        -  n[        [        U SU -  [        -  5      [        R                  5      n[        [        U SU -  [        -  [        -   5      [        R                  5      n	[        [        U SU -  [        -  [        S-  -   5      [        R                  5      n
[        [        U SU -  [        -  S-
  5      [        R                  5      n[        [        U SU -  [        -  S-
  [        -   5      [        R                  5      n[        U[        [        R                  5      [        S[	        S5      [	        S5      5      :X  d   e[        [        U[        [        R                  5      U
5      (       d   e[        [        U[        [        R                  5      [        XU
5      5      (       d   e[        [        U[        [        R                  5      [        X5      5      (       d   e[        U[        [        R                  5      [        S5      :X  d   e[        U[        [        R                  5      [        R                  :X  d   e[        U[        [        R                  5      [        R                  :X  d   e[        [        [        [!        SS5      5      [        R                  :X  d   eg )	Nr   r   r   r   r  r   r   r&  )r   r%   r   rD   r&   rQ   r   r   r   r   rp   r   rT   r   rW   r   rV   )r   r  r  f3f4f5f6f7r   r   s3s4s5s                r   test_solve_decompositionr_    so   c
A	QqSAc!A#hJ	CF	*Q	.B	QQs1vX		!B	QSV	B	QUB	QUaB	
3q6B	
1B	&AaCF#QZZ	0B	&AaCFRK(!**	5B	&AaCFRTM*AJJ	7B	&AaCFQJ'	4B	&AaCFQJO,ajj	9Br1agg.)As1vs1v2NNNN$RAGG4b9999$RAGG4eBB6GHHHH$RAGG4eBmDDDDr1agg.)B-???r1agg.!**<<<r1agg.!**<<<q!Xa^4

BBBr   c            	      j
   [        / / 5      [        R                  :X  d   e[        / [        [        /5      [        R                  :X  d   e[        [        [        -
  S-
  /n [        [        /[        [        /5      [        S[        45      :X  d   e[        U [        /5      [        R                  :X  d   e[        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      4n[        [        [        [        5      S-
  /[        /5      [        [        U5      5      5      (       d   e[        [        [        S[        -  [        -  [        -   5      [        R                  5      S4[        [        [        S[        -  [        -  5      [        R                  5      S44n[        [        [        [        5      [        S-
  /[        [        /5      [        U6 5      (       d   e[        [        S-  S-
  /[        /5      [        SS5      :X  d   e[        [        [        45      n[        [        [        -
  S/[        [        5      U:X  d   e[        S[        [        -
  /[        [        5      U:X  d   e[        [        [        -
  [        [        -
  /[        [        5      U:X  d   e[        [        S/[        [        5      [        S[        45      :X  d   e[        S5      n[        U" [        5      S/U" [        5      [        5      [        S[        45      :X  d   e[        U" [        5      S/U" [        5      U" [        5      5      [        SU" [        5      45      :X  d   e[        S[        5      n[        US/U[        5      [        S[        45      :X  d   e[        [        S-  S-
  /[        [        5      /5      [        [        R                  45      :X  d   e[        [        S-  S-
  /[        [        5      5      [        [        R                  45      :X  d   e[        [        S-  S-
  /S5      [        [        S-  45      :X  d   e[        [        S-  S-
  /[        [        -   5      [        [        R                  45      :X  d   e[        [!        S[        [        -   5      [!        S[        * [        -   S-
  5      [!        S[        * [        -   S-
  5      /[        [        5      [        [        R"                  * S	[        R"                  -  45      :X  d   eg )
Nr   r   r   r   r  r  r   r  r   )rr   r   r   r   r   rT   rQ   r   r   r   r   r   rD   r   r   r[   r   r   )systemsolnr   r  s       r   test_nonlinsolve_basicrc    s   r"+++r1a&!QZZ///Q^FsAq6"iA&7777vs#qzz111VAqs2v1}-qzz:<Dc!fqj\A3/5;1GHHHHfQ!B,ajj91=fQ!B'4a8:Dc!fa!e_q!f5y$7GHHHH1qzA3'9UD+AAAAaVDAqz1a(D0001q5z1a(D000Aq1u~q!,4441vq!$	1a&(9999A!ay!A$*iA.????!ay!A$!-Aqt91EEEEQA1vq!$	1a&(99991ay3q6(+y!**/GGGG1ay#a&)Y

}-EEEE1ay!$	1a4'(::::1ay!a%(Iqzzm,DDDD1a!ebQBFQJ&7ArAvz9JKQPQRV_
&&!AFF(W   r   c                      [        [        [        4[        * [        45      n [        [        [        5      [        -
  /[        [        5      U :X  d   eg r   )rT   r   rr   r   r   )rb  s    r   test_nonlinsolve_absre  ;  s9    aVqb!W%DA
|Q*d222r   c                  H    [        [        S 5        [        [        S 5        g )Nc                  0    [        [        S-  S-
  // 5      $ rv  rr   r   r   r   r   r   2test_raise_exception_nonlinsolve.<locals>.<lambda>A  s    {AqD!G9b9r   c                  .    [        [        S-  S-
  /5      $ rv  rh  r   r   r   r   ri  B  s    {AqD!G95r   )r^   
IndexErrorr   r   r   r    test_raise_exception_nonlinsolverl  @  s    
:9:
:56r   c                     [        [        [        5      S-
  [        [        5      S-
  /[        5      [        R
                  :X  d   e[        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      4n [        U 5      n[        [        [        [        5      S-
  [        [        5      /[        5      U5      (       d   eg r  )rr   rD   r   r@   r   r   rQ   r   r   r   r   rT   r   )soln1rb  s     r   test_trig_systemro  E  s     A
CFAI/3qzzAAAfQ!BA.

;=EUDc!fqj#a&115t<<<<r   c                  &   [         [        -   [        S-  -
  [        [         5      [        [        5      -   S-
  /n [	        [        [        [        [        -  [        S-  -   5      [        R                  5      [	        [        [        [        [        -  5      [        R                  5      4n[        U5      n[	        [        [        [        [        -  5      [        R                  5      [	        [        [        [        [        -  [        S-  -   5      [        R                  5      4n[        U5      nX-   n[        [        U [         [        /5      U5      (       d   e[        [         5      [        [        5      -   [        S5      S-   S-  -
  [        [         5      [        [        5      -
  [        S5      S-
  S-  -
  /n [        [	        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      [	        [        [        S[        -  [        -  [        [        SS5      -  -   5      [        R                  5      5      n[        [	        [        [        S[        -  [        -  [        S-  -   5      [        R                  5      [	        [        [        S[        -  [        -  [        [        SS5      -  -   5      [        R                  5      5      n[        [        U [         [        /5      [        XE45      5      (       d   eg )Nr   r   r   r   r   )r   r   r   rD   rQ   r   r   r   r   rT   r   rr   r4   rW   r   )syssoln_1soln_2rb  soln_xsoln_ys         r   test_trig_system_failrv  N  s    q52a4<Q#a&1,
-Cva21-qzz:1R4!**-/FvFva2

31R4A:&

35FvF?DS1a&)40000 q6CF?d1gai]*CFSVOtAw{Ao,M
NC8F1ac"fr!tm4ajjA1Q3r6Bx1~$556

CEF8F1ac"fr!tm4ajjA1Q3r6Bx1~$556

CEFS1a&)9f5E+FGGGGr   c                     [        SSS9u  pp#pE[        X-  X-  U -
  /X/5      [        SU45      :X  d   eUS-  X$-  -   X#-
  /n[        XbU/5      [        SU* U* 45      :X  d   eX#-   U-   U-   nX#-  X4-  -   XE-  -   XR-  -   nX#-  U-  X4-  U-  -   XE-  U-  -   XR-  U-  -   n	X#-  U-  U-  S-
  n
XxX/nSU-  U* SU-  [        U5      [        S5      -
  4nSU-  U* SU-  [        U5      [        S5      -
  4n[        X5      n[        XbX4U/5      U:X  d   e[        U S	-  S
U S-  -  -
  X-  -   U [        S-  -  U[        -  S-
  /X[        /5      SS[        -  [        41:X  d   eg )Nzx, y, a, b, c, dT)extended_realr   r   r   r   r   r   r   r   )r   rr   rT   r   )r   r   r~   r   r   r   ra  eq1eq2eq3eq4r   r   rb  s                 r   %test_nonlinsolve_positive_dimensionalr~  f  s   1FA!QS1W~v.)QF2CCCCdQSj!% Fv1v&)FaR!H*EEEE 519q=C
#)ac/AC
C
#a%!#a%-!#a%
!#a%
'C
#a%'A+C!FqD1"ac9Q<)A,67DaC!RT9Q<)A,67DT Dv1|,4441qAv+Qq!tVQqS1W=ayI!QK=  r   c                     [        SSS9u  pn[        U S-  U-   S-
  U S-  U-   /X/5      [        R                  :X  d   eU* S-   U4n[        X-   S-  S-
  X-   S-
  /X/5      [	        U5      :X  d   eU S-  US-  -
  /n[	        U* U4X45      n[	        [        U5      * U4[        U5      U45      nXV-   n[        X@U/5      U:X  d   eU S-  US-  -
  /n[	        X* 4X45      n[	        U[        U5      * 4U[        U5      45      nXV-   n[        XAU /5      U:X  d   eU S-  U-   S-
  X-
  S-
  /n[        X@U45      [        XAU 45      :w  d   e[        U S-  * US-  -
  U-   SU -  SU-  [        R                  /XU/5      [        R                  :X  d   e[        X-   U-   [        R                  [        R                  [        R                  /XU/5      [        R                  :X  d   eU S-  * US-  -  X-  U-  -   US-  -   SU -  US-  -  X-  -   X-  SUS-  -  -   SU S-  -  U-  X-  -   /n[        X@X/5      [	        SSU4U SS45      :X  d   eg )	Nr   Tr   r   r   r   r&  r   )r   rr   r   r   rT   r   r   )r   r   r   r   ra  	soln_realsoln_complexrb  s           r   test_nonlinsolve_polysysr  }  s   id+GA!1q1adQh/!8AJJFFF
aA
Q	2QF;y|KKKdQTk]FA2q'A6*Is1vgq\CFA;7L

"Dv1v&$...dQTk]F!R1&)Ia#a&\As1v;7L#Dv1v&$...dQhlAEAI&Fv1v&+f!f*EEEEA1q("Q$1aee<qQiHAJJVVV	155!%%7!CqzzQQQ!teAqDj13q5 1a4'AadQS!#!Q$,1a4PQ	TUTWXFv1y)Y1ay1a)-LLLLr   c                     [        SSS9u  pp#X-   U-  US-  -
  S-   /nX1-  US-  -
  S-   U-  nU* U4n[        X@U/5      [        U5      :X  d   eUS-  U S-  -  US-  US-  -  [        U 5      -  -
  /nXS4n[        U S-  5      * [	        U 5      -  X4n[        U S-  5      [	        U 5      -  X4n	U * [        U S-  5      -  X4n
U [        U S-  5      -  X4nXU/n[        XzUX5      n[        XL5      U:X  d   eg )Nz
x, y, z, nTr   r   r   )r   rr   rT   r%   r   )r   r   r   r   ra  s_xrb  soln_real_1soln_real_2soln_real_3soln_complex_1soln_complex_2rM  s                r   #test_nonlinsolve_using_substitutionr    s5   d3JA!uai!Q$"#F3A:>1
CD!9Dv1v&)D/999d1a4i!Q$q!t)CF**+F)K!H9SV#Q*Kqs8CF?A)KbQqSk1(NAaCj!'N!9D[."Dv#t+++r   c                     [        S5      n [        [        [        [        5      [        [        5      -
  S[        -  S-
  /[        [        /5      [        [        U SU -  [        -  [        -  [        [        [        SS5      5      5      -   5      [        R                  5      [        SS5      415      (       d   e[        [        5      [        [        5      -
  S[        [        5      -  S-
  /n[        [        U[        [        /5      [        [        U [        SU -  [        -  [        -   -  [        [        [        S5      5      5      -   5      [        R                  5      [        S5      * 4[        [        U [        SU -  [        -  [        [        SU -  [        -  [        -  [        S5      -
  5      5      -   -  [        [!        [        SU -  [        -  [        -  [        S5      -
  5      5      5      -   5      [        R                  5      [        [        U SU -  [        -  [        -  [        S5      -
  5      [        R                  5      415      (       d   e[        [        5      [        [        5      -
  [        S-  S-
  /n[        [        U[        [        /5      [        [        U [        SU -  [        -  [        -   -  [        [        S5      5      -   5      [        R                  5      S4[        [        U SU -  [        -  [        -  [        [        S5      5      -   5      [        R                  5      S415      (       d   e[        [        5      S-
  [        S-  S-
  /n[        [        U[        [        /5      [        S5      [#        S5      * 4[        S5      [#        S5      4[        [        U SU -  [        -  [        -  [        S5      -   5      [        R                  5      [#        S5      * 4[        [        U SU -  [        -  [        -  [        S5      -   5      [        R                  5      [#        S5      415      (       d   eg )Nr   r   r   r   r   r&  )r   r   rr   r%   r   rD   r   rQ   r   r   r   r&   r   r   r   r   r   r4   )r   ra  s     r   test_nonlinsolve_complexr    sc   c
Ac!fs1voqsQw7!Q@	&AaCE"Hs3x1~+>'??@!**	MxXY[\~^C` a a a a !fs1voqQx!|,FVaV,	&Aqs2v{Os3q6{+, -./jj
:<?F7	D	&Aqs2vC!Ab3q60A,B(CCDs3qs1uRx#a&'8#9:;< =>?jj
J1Q3q58c!f,-qzz:	</= > > > > !fs1voq!tax(FVaV,	&Aqs2v{Oc#a&k9:AJJ	GL	&AaCE"Hs3q6{23QZZ	@!D/F G G G G !fqj!q&1*%FVaV,	Q$q'SVT!W-	&AaCE"Hs1v-.

	;d1gXF	&AEAINSV34ajj	A47K/M N N N Nr   c                      [        [        [        5      [        -
  [        -
  [        S-
  /[        [        [        /5      S[        -
  S[        41:X  d   eg r   )rr   r4   r   r   r   r   r   r   test_nonlinsolve_radicalr    s>    Q!aQ/!Q;Q1NNNr   c                  |  ^ ^ SS/m[        [        [        -   S-  S-
  [        S-  [        S-  -
  S-
  /[        [        /5      m [        U U4S j[	        S5       5       5      (       d   e[        [        [        -   S-  S-
  [        [        -   S-  S-
  /[        [        /5      [
        R                  :X  d   e[        [        S-  [        S-
  S-  -   S-
  S[        -  S	-
  S[        -  /[        [        /5      [
        R                  :X  d   e[        [        S-  [        -   S-
  [        [        -   S-  [        [        5      /[        [        [        /5      m / S
Qm[        U U4S j[	        S5       5       5      (       d   e[        [        [        S-  -
  [        S-  [        -
  S	-   /[        [        /5      m SSS[        -  -
  SS[        -  -   4SS[        -  -   SS[        -  -
  4SS[        -  -
  SS[        -  -
  4SS[        -  -   SS[        -  -   4/m[        U U4S j[	        S5       5       5      (       d   eg )N)g      g      )g      ?g      ?r   r>  g      ?c              3      >#    U  H?  n[        S 5        H,  n[        TR                  U   U   TU   U   -
  5      S:  v   M.     MA     g7fr   &.>NrangerA  argsr   r   r   r  r   s      r   r   +test_nonlinsolve_inexact.<locals>.<genexpr>  K      4 1%(Q 388A;q>#a&)+,t3*2 4    AA
r  g      ?r   )g[l׿g[l?r   r  )g[&,t=?g[&,t=r   c              3      >#    U  H?  n[        S 5        H,  n[        TR                  U   U   TU   U   -
  5      S:  v   M.     MA     g7f)r   r  Nr  r  s      r   r   r    r  r  r   r   )gFgZ*4?gr2ǿgdxAW?gyU;~Fg ;W2%?gqy?g??gأ}?gZ A?c              3      >#    U  H?  n[        S 5        H,  n[        TR                  U   U   TU   U   -
  5      S:  v   M.     MA     g7fr  r  r  s      r   r   r    sK      4 1%(Q 388A;q>CF1I-.5*2 6 r  )
rr   r   r   r   r  r   r   r&   r   r   )r  r   s   @@r   test_nonlinsolve_inexactr    s8   ^
,C
AzA~q!tad{T'9:QF
CC 4a4 4 4 4 4 Q
QQ
T(9:QFCqzzQQQ1C!|+f4acCi1E1vN::   q!tax#~Az3q6:Q1I
FC5C  4a4 4 4 4 4 q1a4xAC01a&
9C0!1!!33 1! 335!1!!33 1! 335 1! 33 1! 335 1! 33 1! 3356C  4a4 4 4 4 4r   c            	         [        SSS9u  p[        S[        US-  5      -  U45      n[        U * [        [	        U 5      5      -  U4U [        [	        U 5      5      -  U45      n[        U [	        U S-  5      -  U 45      n[        S[        US-  5      -  U5      n[        U S-  US-  [	        U 5      -  -
  /X/5      U:X  d   e[        U S-  US-  [	        U 5      -  -
  /X/5      U:X  d   e[        U S-  US-  [	        U 5      -  -
  /X/5      U:X  d   e[        U S-  US-  [	        U 5      -  -
  /X/5      U:X  d   eg )Nx, yTr   r   )r   rT   r$   r4   r%   rr   )r   r   rn  soln2soln3soln4s         r   test_solve_nonlinear_transr    sK    6%DAq!A#*+Er$s1v,*QtCF|^Q,?@EqQqSz1o&Ea1oq)E1q!tCF{*+aV4===1q!tCF{*+aV4===1q!tCF{*+aV4===1q!tCF{*+aV4===r   c                  2   [        S5      u  pp#pEX -  X-  -   SU -  U-  U-  -
  X"-  -
  nX -  X"-  -   SU -  U-  U-  -
  X-  -
  nX-  X"-  -   SU-  U-  U-  -
  X -  -
  n[        XgU/X$U/5      [        SU-  U-  S[        U S-  US-  US-  -  -   US-  -
  5      -  -
  S[        U S-  US-  US-  -  -   US-  -
  5      -  U -  SU-  US-
  -  US-   -  U -  SU-  [        U S-  US-  US-  -  -   US-  -
  5      -  U -  -   4SU-  U-  S[        U S-  US-  US-  -  -   US-  -
  5      -  -   S[        U S-  US-  US-  -  -   US-  -
  5      -  U -  SU-  US-
  -  US-   -  U -  SU-  [        U S-  US-  US-  -  -   US-  -
  5      -  U -  -
  45      :X  d   eg )Nza1, b1, c1, ca, cb, cg       @r   r   g      r   )r   rr   rT   r4   )	a1b1c1cacbcgrz  r{  r|  s	            r   test_nonlinsolve_issue_25182r    s7   $%=>BBB
%"%-"R%(2+
%
-C
%"%-"R%(2+
%
-C
%"%-"R%(2+
%
-C#5	RSb!eb!eBEk1BE9::	:T"a%"a%A+%A-..r1Ra"q&!"$s2vd2q52q5Q;3FQ3N.O'OPR'RR	T 
RSb!eb!eBEk1BE9::	:DQQr1u$r1u,--b0Ra"q&!"$s2vd2q52q5Q;3FQ3N.O'OPR'RR	T	:U U U Ur   c                  ~)   [        S5      n SU S-  -  U S-  -   S-   [        -   n[        X5      n[        UR                  S   SS[        -  -
  -
  5      S::  d   e[        UR                  S	   S
S[        -  -   -
  5      S::  d   e[        UR                  S   SS[        -  -
  -
  5      S::  d   e[
        R                  U S-  -  U S-  -   [
        R                  -   [        -   n[        S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  * [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  [        S5      S-  -
  S[        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  -  -  -
  [        S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  * [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  S[        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  -  -  -   -  -   [        S5      * S-  [        S5      S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  -
  S[        S	[        S	5      * S-  [        S5      [        -  S-  -
  [        S5      S-  S[        -  -   [        SSS[        -  -   S-  -   5      S-  -   [        S	5      S-  -  -  -  5      -  S-  -
  S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  -   [        S[        S	[        S	5      * S-  [        S5      [        -  S-  -
  [        S5      S-  S[        -  -   [        SSS[        -  -   S-  -   5      S-  -   [        S	5      S-  -  -  -  5      -  S-  S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  -   [        S5      S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  -   -  -   [        S5      * S-  S[        S	[        S	5      * S-  [        S5      [        -  S-  -   [        S5      S-  S[        -  -   [        SSS[        -  -   S-  -   5      S-  -   [        S	5      S-  -  -  -  5      -  S-  -
  [        S5      S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  -   [        [        S5      * S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   S-  SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S-  -   [        S	5      S-  -  [        [        SS[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  -   S[        S5      -  S[        S	5      S-  -  -  [        [        [        S5      S-  5      S-  5      -  S-  [        S5      S-  -   -  5      S-  5      -  S-  -   S[        S	[        S	5      * S-  [        S5      [        -  S-  -   [        S5      S-  S[        -  -   [        SSS[        -  -   S-  -   5      S-  -   [        S	5      S-  -  -  -  5      -  S-  -
  -  -   5      n[        X5      U:X  d   eg )Nr   r  r   r   r   g	nBg/H|n$?r  r   guӿg+N?gb?gqw?i|  r      r8  +   r(  r   i 6   r  )r   r   ro   rA  r  r   r   rT   r4   rD   r>   r@   r!   r    )r   r  r  r  s       r   test_issue_14642r    s   sA	QT!Q$s	1	BHx}}Q#47H7J#JKLPTTTTx}}Q#58H8J#JKLPTTTTx}}Q#47H7J#JKLPTTTT 
1QT	!&&	 	"B
qay1a0T!C&)_Q5F1GGIbE!G$q'	%!A$q&/ 9#d1S6"9o? ; !! 1a! !!$T2$q'	%!A$q&/0IQsVBY!"1##$1% ,%'(ay1a'@TcF2IFF B ((eAg(&+' &(()&* "++ ,-	- 01tAv	6 9:#dBd1gIead1fo%c$qvby/!*;&<<Q>E?AB47AaDFOBQsVBY 12B334B578uQwB?D@ ?AAB?C ;D 9DEFGJAaDFOJ$$'QsVBY(9$:J;;<J=?@uQwJGIJIK!DG)EAaDFO+CQsVBY0A,BB1DDqHIILMaDMH F9		 $q'	%!A$q&/1#d1S6"9oa6G2HHJbE!G$q'	%!A$q&/ 9#d1S6"9o? ; !! !Q    #D"qay1a/H3OAJ 0 0! +!#$T!W9UQqT!V_#<SafRiB > $$bE!G$* %%  !!! "#	# &'s4aQi!Q6OQsVBY!"7##$7% 2%'(ay1a'@T!C&K FF B (("a( 1! ,""#,$ (% &%&'!DG)EAaDFO*CCcF2III E ++eAg+&()**-/!DG)EAaDFO2KQsVBY!"3##$3% .%'(-)*),-aDF)4 '4&5	5 66" 9:!uQwa1GLAaDFOL$$'QsVBY(9$:L;;<L=?@uQwLGIJKK!DG)EAaDFO+CQsVBY0A,BB1DDqHKILMaDMJ B D"qay1a8T!C&)_Q=N9OO  4751Q46?*3tAcF2Iq/@+AA!CaeAgMO P B
 B 8
 badU1WtAwqy{2QrU1Wr!t^d4"Q$YNL GG 6!"1a5) ) * + ++,-8- 234751Q46?1J33OAL 2 2!#$R572+-.1/24qay1a7PQsVBY!"8##$8% 3%'(2)1),-aDF0447b1T!W9AaDFODQsVBY 12D334D5 ?578ay1a7PQsVBY!"8##$8%'(uQw8/>0 911293 5404 56	06
86 9:2badU1WGAIaKFB%'BqD.4RT	A~0E+Fq+HHAaDM E B ? <<ay1a0T!C&)_Q5F1GGIbE!G$q'	%!A$q&/ 9#d1S6"9oa>O:P P! d1f!$QtAwYuqtAv-Fs4cF2ILL H .. )Qi!Q7D3OA<M8NNqPbE!G( ##  	< "!Wqay1a'@T!C&K FF B ((uQw(!"'#&(1T!W9UQqT!V_+DScF2IJJ F ,, '& ' #$Q46&+ ++.tR!DG)EAaDM E ;4#r	?1$%;&&';( 6(*+DG)EAaDFO*CCcF2III E ++eAg+&5' 0(()0* ,++ ,-	-
<- 
9.8.( 12!uQw2a1Q4%'GAIaKCB%'BqD.4RT	A~0E+Fq+HHAaDM B ? < :: 01g$q'	%!A$q&/ 9#d1S6"9oa>O:P PQR RbE!G! $q'	%!A$q&/ 9#d1S6"9oa>O:P P!  d1f !$QtAwYuqtAv-Fs4cF2ILL H .. )Qi!Q7D3OA<M8NNqPbE!G( ##  	0  !ay1a8T!C&)_Q=N9OOPQQbE!G $q'	%!A$q&/ 9#d1S6"9oa>O:P P! d1f!$QtAwYuqtAv-Fs4cF2ILL H .. )Qi!Q7D3OA<M8NNqPbE!G( ##  	
0 a1T!W9UQqT!V_+DScF2IJJ F ,,eAg,&()+*-/!DG)EAaDFO2KC3OAM 3 3! .!#$-%+%()!Q*0 !003D"qayaDFJ @QsVBY)*@++,@- ;-/0ay1a/H3OAJ 0 0!#$R570+:, 5--.5/ 10!0 12	!2 78Qi!Q6OQsVBY!"7##$7%'(uQw7/1263681T!W9UQqTRSV_;TQsVBY!"<##$<% 7%'(6)6),-aDF5447b1T!W9UaDFN DQsVBY)*D++,D- ?-/0ay1a/H3OAJ 0 0!#$R570+>, 9--.9/ 5050 12	52	!2 56badU1WtAwqyQR{=RrU1Wr!t^d4219q.#89!;;qtAvF=G :H 7I 5IIJ5K	!K 	L0LK8MCt B?c!!!r   c                     [        S5      =n u	  pp4pVpxn	X-  Xi-  -
  U-
  XU	-  -
  U-
  X)S-  -  X9-  -   XY-  -
  U-
  X* U	-  Xi-  -   U-   -  X* XI-  -   U-   -  4n
[        XgU	-  -   U* U	-  XY-  -   U-   U	S-  -  X7U	S-  -  XVXx[        U	1S15      4	XgU	-  -   X9-  XY-  -
  U-
  U	S-  -  S-  X7U	S-  -  XVXx[        U	1S15      4	5      n[        U
/U Q76 U:X  d   eg )Nzax bx cx gx jx lx mx nx qr   r   r   r   rT   rS   rr   )Vaxbxcxgxjxlxmxnxr   r   r   s               r   test_issue_13961r  L  s=   .56Q.RRA+	r	219r>2d7RT>BD+@2+Eq#a%RTRV,Y[J[G\^_adgigkaknpap^qrA
RQ$Y"Q!2AqD 8"AgrrWacdbehigjWklQ$Yr!11a4 7 :B1a4QSYcefdgjkilYmnpCq1$$$r   c                      [        [        [        S-  * S-
  5      [        5      n [        U R                  S   S[
        -  -   5      S::  d   e[        U R                  S   S[
        -  -
  5      S::  d   eg )Nr   r  r   g;f?r  r   )ro   r4   r   rA  r  r   )	solutionss    r   test_issue_14541r  V  si    q!teck*A.Iy~~a !223t;;;y~~a !223t;;;r   c                  z   S[         -  [        [        S-  * [         S-  -
  5      -  [        [        5      -  n [	        S5      n[        U [         [        R                  S9U:X  d   e[        [        [        S-  [         S-  -
  5      [        S-  -
  [         [        R                  5      [        R                  L d   eg )Nr&  r   r   r1  )r   r%   r   r   rT   ro   r   r   r>   r   r   )exprr   s     r   test_issue_13396r  \  s    a4QTEAqDL!!#a&(D
A,CD!AGG,333 DA1%bd*Aqww71::EEEr   c                  f
   [        [        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      * S-  [        [        S[        SS5      [        S5      S-  -   [        SS5      -  -  SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  -   S[        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      -  -   5      5      S-  -   [        [        S[        SS5      [        S5      S-  -   [        SS5      -  -  SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  -   S[        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      -  -   5      5      * S-  [        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      S-  -
  [        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      S-  [        [        [        S[        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -
  SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  -   5      5      -  S-  -
  [        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      S-  [        [        [        S[        SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -   5      -  S[        SS5      [        S5      S-  -   [        SS5      -  -  -
  SS[        SS5      [        S5      S-  -   [        SS5      -  -  -  -   5      5      -  S-  -   5      n [        [        S-  [        -   S-
  [        5      U :X  d   eg )	Nr&  r   r   r'  iQ     r   r   )rT   r4   r   r   r   ro   r   r   s    r   test_issue_12032r  f  s   
T"a!R49S=!@HQPQN SSTXa_tCy}<AOOP Q QQRSR!R49S=!@HQPQN SS8Ar?T#Ys]#BhqRSn"U UVWtB8Ar?T#Ys]+JhWXZ[n*](]$^$%x2c3'F(STVW.&Y$Y%Z  [ [[ \ ] ^___ #b(1b/DIcM"AXaQR^!TTHQOd3im$CxPQST~#V!VWXRHQOd3im,KxXY[\~+^)^%_%&B$s)C-(G8TUWX>'Z%Z&[ !\ \\ ] ^ ^ _`` QB$s)C- ?8Aq>RRSHQOd3im;x1~NNO PPQR	R QB$s)C- ?8Aq>RRSHQOd3im;x1~NNO PPQRd3r$r1hq"oS	#.MQYZ[]^Q_-`+`'a'((1b/DIcM*IXVWYZ^)\'\(] #^  ^ (1b/DIcM"AXaQR^!TT U  !!Xa_tCy}%DQRTU$W"WX Y Z [ [ \]]] QB$s)C- ?8Aq>RRSHQOd3im;x1~NNO PPQRd3r$r1hq"oS	#.MQYZ[]^Q_-`+`'a'((1b/DIcM*IXVWYZ^)\'\(] #^  ^ (1b/DIcM"AXaQR^!TT U  !!Xa_tCy}%DQRST$V"VW X Y Z Z [\\\%]C0 AqD1HqL!$+++r   c                  l    [        S[        [        5      -  [        5      [        R                  :X  d   eg r   ro   r4   r   r   r   r   r   r   test_issue_10876r    s#    Ad1gIq!QZZ///r   c                  $   [        [        [        [        -   [	        [        5      /[        [        /5      [        [        [        [        S[        -  [        -  5      [        R                  5      [        [        [        S[        -  [        -  5      [        R                  5      4[        [        [        S[        -  [        -  [        -
  5      [        R                  5      [        [        [        S[        -  [        -  [        -   5      [        R                  5      45      5      (       d   e[        [        [        [        -   [	        [        5      [        [        5      -   /[        [        /5      [        [        [        [        S[        -  [        -  S[        -  S-  -
  5      [        R                  5      [        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      4[        [        [        S[        -  [        -  S[        -  S-  -
  5      [        R                  5      [        [        [        S[        -  [        -  S[        -  S-  -   5      [        R                  5      45      5      (       d   eg )Nr&  r   r   r   r+  )r   rr   r   r   rD   rT   rQ   r   r   r   r   r   r@   r   r   r   test_issue_19050r    s   a!eSV_q!f58F1bd2g.

;XfQPQRSPSTVPVFWYZYcYc=devaAb2.

;XfQPQRSPSTVPVY[P[F\^_^h^h=ij	lm m m m a!eSVc!f_51v>8F1bd2g"Q&67DhvVWYZ[\Y\]_Y_bcdfbfghbhYhOiklkukuFvwfQ1R!B$q& 011::>PQSTUVSVWYSY\]^`\`ab\bSbIcefeoeo@pq	st t t tr   c                     [        [        5      [        [        5      -  [        [        5      [        [        5      -  S-
  /n [	        [        [        [        S[        -  [        -  5      [        R                  5      [        [        [        S[        -  [        -  5      [        R                  5      4[        [        [        S[        -  [        -  [        -   5      [        R                  5      [        [        [        S[        -  [        -  [        -   5      [        R                  5      45      n[        U [        [        /5      n[        [        U5      [        U5      5       HK  u  p4[        U5      [        U5      s=:X  a  S:X  d   e   e[        S [        X45       5       5      (       a  MK   e   [        U5      [        U5      :X  d   eg )Nr   r   c              3   J   #    U  H  u  pUR                   " U5      v   M     g 7fr   )r   )r   r~   r   s      r   r   #test_issue_16618.<locals>.<genexpr>  s     9[TQ1::a==[s   !#)rD   r   r   r@   rT   rQ   r   r   r   r   r   rr   r   r   r   r   )eqnrD  r   i0j0s        r   test_issue_16618r    s@   q6#a&=#a&Q-!+
,C XfQ!B/<hvaQRSTQTUWQWGXZ[ZdZd>ef	&AaCFRK(!**	5xq!A#b&SU+@VXYXbXb7cdfC
cAq6
"CgclGCL12w#b'&Q&&&&&9S[99999 2 s8s3xr   c                      [        SS[        -  -  S[        * -  -  S[        -  -
  SS[        -  -  [        S5      S[        -  -  -
  /[        [        5      [	        [        S5      * [        S5      -  S45      :X  d   eg )N    r   r   r(  r   r   Q   )rr   r   r   r   rT   r&   r   r   r   test_issue_17566r    sr    AqD	!qb')AqD0"ad)ad1a4i2GH!QOCG8CF?A&'( ( (r   c                  f   [        S5      n [        [        S-  [        [        5      -  [        5      R	                  [        [        [        U SU -  [        -  [        -   5      [        R                  5      [        [        U SU -  [        -  5      [        R                  5      5      5      (       d   eg )Nr   r   )r   ro   r   rD   r   rW   rQ   r   r   r   r   r   s    r   test_issue_16643r    s    c
AAqDQK#,,U8F1ac"frk<RTUT^T^3_3;F1ac"f<Mqzz3Z.\ ] ] ] ]r   c                      [        S5      u  p[        SSU-  -  SU -  -  SU -  -
  SSU-  -  SU * -  -
  /X5      [        [        S5      * [        S5      -  S45      :X  d   eg )	Nzn mr  r   r   r(  r   r  r   )r   rr   rT   r&   )r   r   s     r   test_issue_19587r    sr    
%.CA1a41q!t+R1WqA2w->?FCG8CF?A&'( ( (r   c                     [        [        S-  [        S-  -   5      [        S5      -
  [        [        -   S-
  /n [        U [        [        /5      [	        SS5      :X  d   e[        S5      n[        [        5      S-  [        [        5      -
  [        S-  -   S[        [        5      -  S-
  /n[        S5      * n[        [        S[        -  5      * [        [        S5      5      -
  5      n[	        X44X4* 45      n[        USU-  [        -  [        -  [        S5      * -   5      n[        U[        R                  5      n[        U[        [        S[        -  5      * [        SU-  [        -  [        -  [        S5      * -   5      -   5      5      n[        U[        R                  5      n[        U[        [        S[        -  5      * [        SU-  [        -  [        -  [        S5      * -   5      -   5      * 5      n[        U[        R                  5      n	[	        Xx4Xy45      n
XZ-   n[!        [        U[        [        /5      U5      (       d   eg )	Nr   r   r   )r   r   )r   r   r   r   r   )r4   r   r   rr   rT   r   r%   rD   r   r&   r   r   r   rQ   r   r   r   )ra  r   rN  s_real_ys_real_zr  lams_complex_ys_complex_z_1s_complex_z_2r  rb  s               r   test_issue_5132_1r    s   1a4!Q$;$r(*AEAI6Fv1v&)FF*CCCCc
Aq619s1v1$aAhl
3CAwHS1XICF+,H8.90EFI
AaCE"HAw&
'C3

+K
D#ac(S1QrSVG);%<<=
>CS!**-M
T3qs8)c!A#a%(c!fW*<&==>>
?CS!**-M-8,H-8,H*L #DS1a&)40000r   c                     [        SSS9u  p[        U 5      S-  [        U5      -
  [        S-  -   /n[	        S5      n[        [        S-  * [        U5      -   5      S-  [        4n[        U[        SU-  [        -  [        [        S-  * [        U5      -   5      -   -  S-  [        [        [        S-  [        U5      -
  5      5      S-  -   5      n[        U[        R                  5      nU[        4n[        XG5      n[        [!        X [        /5      U5      (       d   e["        U S-  -
  US-  -
  [%        [&        5      X-  -
  /n	[)        ["        [%        [&        5      S-  S-   -  5      n
[)        ["        [%        [&        5      S-  S-   -  5      [%        [&        5      -  n[        X4U
* U* 45      n[!        XU/5      U:X  d   eg )Nr  Tr   r   r   r   )r   r%   rD   r   r   r&   r   r   r   r   r   rQ   r   r   rT   r   rr   r   rE   r   r4   )r   r   rN  r   r  r  imgr  rb  ra  r  s_ys               r   test_issue_5132_2r    s   6%DAq619s1v1$
%Cc
AadUSV^$Q&*I
!Q!BadUSV^!445a7#c!Q$Q->P:QRS:SS
TC
3


#C8LY-DSa&)40000!Q$hAos1v|,F
q#a&!)a- 
!C
q#a&!)a- 
!#a&
(CcZ3$.Dv1v&$...r   c                  Z    [        SSS9u  p[        U S-  U -   X-
  /X/5      SS1:X  d   eg )Nza, bTr   r   r5  ry  )r   rr   r}  s     r   test_issue_6752r    s;    6%DA1q!%(1&1h5GGGGr   r`   c            	         SSK Jn Jn  [        [        [
        [        [        [        [        /n[        [        [        -  -   [
        [        -  -
  [
        S[        -  S[        -  -   S[        -  -   -  [        [        -  -
  [        [        -  -
  [        S[        -  S[        -  -   S[        -  -   -  [
        [        -  -
  [        [        -  -
  [        S[        -  S[         -  -   S["        -  -   -  [        [        -  -
  [        ["        -  -
  [        S["        -  SU -  -   SU-  -   -  [        ["        -  -
  [        U-  -
  [        SU-  S[$        -  -   -  [        U-  -
  /n['        [)        X25      5      S:X  d   eg )Nr   )or   r   )r  r  r   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rr   )r  r   rM  rN  s       r   test_issue_5114_solvesetr    s%     q!Q1a Dqs7QqS=qsQqSy1Q3!A#!#	1Q319qs?ac!AaC'	1Q319qs?ac!AaC'	1Q319qs?ac!AaC'	1Q319!C {3%&!+++r   Hangsc                  |   [        S5      u  pnU S[        -  -   US[        S-  -
  -  [        -  -
  S[        -  S-  [        -  -
  US[        S-  -
  -  [        -  S[        -  -
  S[        -  -
  [        [        -   U-
  /n[        [        U/n[        [	        X45      5      S:X  d   eU S[        -  -   US[        S-  -
  -  [        -  -
  S[        -  S-  [        -  -
  US[        S-  -
  -  [        -  S[        -  -
  S[        -  -
  [        [        -   U-
  /n[        [        U/n[        [	        X45      5      S:X  d   eg )Nzlam a0 concr   r   g{Gzt?g̫;?)r   r   r   r   rr   )r  a0concrN  syms        r   _test_issue_5335r    s0    M*MCT19r1qs7|A~%a	!3q1Q3w<>AaC"3A"55q54<C a*C{3$%***19r1qs7|A~%a	!3q1Q3w<>AaC"3A"55q54<C a*C{3$%***r   c                     [        SSS9u  p[        U S-  US-  -   5      S-
  [        US-  U * S-   S-  -   5      S-
  p2[        SS5      S[        S	5      -  S-  pTXE* 4XE41n[        X#4X45      U:X  d   e[        X#X-
  -  4X45      [        R
                  :X  d   eUS
-  n[        X#4X45      [        R
                  :X  d   eg )Nx yTr   r   r   r      r   i  r   )r   r4   r   rr   r   r   )r   r   e1e2r~   r   rD  s          r   test_issue_2777r  	  s    5t$DA!Q$A+#T!Q$1"r'A*=%>%BCaS	k"nqr7QF
Cx!(C///J'!0AJJ>>>!GBx!(AJJ666r   c                  &   Sn SnSnSnSnSnSnSn[         [        [        /n[         U -
  S	-  [        U-
  S	-  -   U[        -
  S	-  -
  n	U[         -
  S	-  U[        -
  S	-  -   [        S	-  -
  n
[         U-
  S	-  [        U-
  S	-  -   U[        -
  S	-  -
  nXU/n[        [         U -
  S	-  [        U-
  S	-  -   5      [        -   U-
  nU
n[        [         U-
  S	-  [        U-
  S	-  -   5      [        -   U-
  nXU/n[	        X5      n[	        UU5      nUU:X  d   eg )
Nr   ii  ~   i  3      h   r   )r   r   r   r4   rr   )r(  y1r1r*  y2r>  y3r3vr  r  rW  Fg1g2g3Gr  r  s                      r   test_issue_8828r	  	  s2   	
B	B	B	B	B	B	B	B	
Aq	A
b&1B{	"b1fq[	0B
q&1Q{	"QT	)B
b&1B{	"b1fq[	0B	A	q2vkQVaK'	(1	,r	1B	B	q2vkQVaK'	(1	,r	1B	A 	AAAqA6M6r   c                     [        S5      n U " [        5      [        S-  -
  nU " [        5      [        [	        SS5      -  -
  n[        SU " [        5      -  [        -
  S5      [        SU " [        5      -  S[        -  -
  S5      -  n[        [        [        5      n[        UU[        R                  S-  5      n[        X/[        [        /5      U:X  d   eg )Nr   r   r   r   )r   r   r   r   r   r   r   rP   r   r  rr   )r   r  r  intermediate_systemrM  rb  s         r   test_nonlinsolve_conditionsetr  *	  s     	A	
11B	
18Aq>!	!BQqtVb[!,r!AaD&1R4-/CCA;D	QD x!Q(D000r   c            	         [        / [        [        /5      [        R                  :X  d   e[        / / 5      [        R                  :X  d   eS[        S-  -  S[        S-  -  -   S-
  S[        S-  -  S[        S-  -  -
  S-
  /n [        SSSS5      n[        U [        [        /5      U:X  d   e[        S	5      n[        [        [        -   /[        /[        S
0/[        /[        5       [        [        /5      U:X  d   e[        [        [        -   /[        /[        S
0/[        /[        S
-   1[        [        /5      [        R                  :X  d   eg )Nr   r   rP     )r   r&  )r   r   )r   r&  )r   r   r  r   )rq   r   r   r   r   rT   r  )ra  rb  s     r   test_substitution_basicr  9	  s    QF#qzz111B1::---1fqAvo"AadFQq!tVOb$89FXw8DA'4///WDQ!1vhSUQFCtKKK	
Q!1vh	
Q!QJJ' ' 'r   c                  R   [        [        S-
  [        S-
  [        S-
  [        S-
  S[        -  /[        [        [        /5      SS[        41:X  d   e[        [        [
        -   [        -   [        R                  [        R                  [        R                  /[        [
        [        /5      [
        * [        -
  [
        [        41:X  d   e[        [        [        -
  [        [        -   [        [        -   [        S-  S-   /[        [        [        [        /5      [        [        * [        * [        41:X  d   e[        [        [        [        [        5      -
  -  [        [        S-
  -  /[        [        /5      S[        41:X  d   e[        [        * [
        -  S[        -  -   S[
        -  -
  S[        -  S[
        S-  -  -   S	-
  S
[        -  [        -  [        -   [        S-  -   [        S-  S[        -  -
  S-   /[        [
        [        [        /5      R                  [        1:X  d   eg )Nr   r   r   r&  r   r   ir8  i  r   r   )rq   r   r   r   r   r   r   r   r   r~   r   r   r   r&   r<  r   r   r   test_substitution_incorrectr  G	  s    QAq1ua!eR!V<Aq	#()1ayk2 2 2QAEE155!%%81a)D"q&!Q() ) )
 QAq1uadQh7!Q1FaR!Q() ) )
 AAJAE3aV<F8  
 !A!ac)3q52ad7?S+@Aa!ad*AqD1Q3JN<Aq!&&2lqc: : :r   c                  r   [        [        S-  [        S-  -
  [        S-
  /[        [        /5      [        * S4[        S4[	        [        S-  5      * S4[	        [        S-  5      S41:X  d   e[        [        [        -
  [        S-  S[        S-  -  -
  S-   /[        [        /5      n [        U 5      S:X  d   eg )Nr   r   r   r   )rq   r   r   r   r4   r   )r  s    r   test_substitution_redundantr  `	  s    A1a!e,q!f5RGaVtAqDzk1-QT
A?@ @ @
 Aq!ta1f}q01Aq6
:Cs8q==r   c                  |   [        SSS9u  pp#nX0S-  -
  US-  -
  [        U5      X-  -
  /n[        [        [	        U[        U5      S-  S-   -  5      * 5      [        S5      5      n[        [        [	        U[        U5      S-  S-   -  5      5      [        S5      5      n[	        U[        U5      S-  S-   -  5      [        U5      -  n[        Xx45      [        Xh* 45      -   n	[        XPU/5      U	:X  d   e[        S5      n
[        U 5      S-  [        U5      -
  US-  -   S[        U5      -  S-
  /n[        S5      * n[	        [        SU -  5      * [        [        S5      5      -
  5      n[        X4X* 45      n[        U
SU
-  [        -  [        -  [        S5      * -   5      n[        U[        R                  5      n[        U
[	        [        SU -  5      * [        SU
-  [        -  [        -  [        S5      * -   5      -   5      5      n[        U[        R                  5      n[        U
[	        [        SU -  5      * [        SU
-  [        -  [        -  [        S5      * -   5      -   5      * 5      n[        U[        R                  5      n[        UU4UU45      nUU-   n	[!        [        XU/5      U	5      (       d   eg )	Nzx, y, z, r, tTr   r   r   r   r   r   )r   rE   rS   rT   r4   rq   r   r%   rD   r&   r   r   r   rQ   r   r   r   )r   r   r   r   r   ra  s_x_1s_x_2r  rb  r   rN  r  r  r  r  r  r  r  r  s                       r   test_issue_5132_substitutionr  k	  sm   O$7MA!Q$hAos1v|,Fy$q#a&!)a-'8"9!9:IaLIEyaQQ&7!899Q<HE
q#a&!)a- 
!#a&
(Ce\"Yt}%==DA'4///c
Aq619s1v1$aAhl
3CAwHS1XICF+,H8.90EFI
AaCE"HAw&
'C3

+K
D#ac(S1QrSVG);%<<=
>CS!**-M
T3qs8)c!A#a%(c!fW*<&==>>
?CS!**-M	m$	m$&L |#Dcq6*D1111r   c                      [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        g )Nc                  0    [        [        S-  S-
  // 5      $ rv  rq   r   r   r   r   r   *test_raises_substitution.<locals>.<lambda>	  s    |QT1WIr:r   c                  .    [        [        S-  S-
  /5      $ rv  r  r   r   r   r   r  	  s    lAqD!G95r   c                  L    [        [        S-  S-
  /[        [        5      /5      $ rv  )rq   r   rD   r   r   r   r   r  	  s    |QT1WIAx@r   c                  8    [        [        S-  S-
  /[        5      $ rv  r  r   r   r   r   r  	  s    lAqD!G9a8r   c                  0    [        [        S-  S-
  /S5      $ rv  r  r   r   r   r   r  	  s    lAqD!G9a8r   )r^   r   r  r   r   r   test_raises_substitutionr   	  s9    
::;
956
:@A
989
989r   c                     SSK Jn   / SQn[        S5      nU Vs/ s H
  o0" U5      PM     nn[        [	        [
        R                  " U Vs/ s H  o3R                  PM     sn6 5      5      n[        X5      n[        USUSSSS	[        S
5      -  S[        S
5      -  4USUSSSS	[        S
5      -  S[        S
5      -  4USUSSSS[        S
5      -  S[        S
5      -  4USUSSSS[        S
5      -  S[        S
5      -  45      n[        U5      [        U5      s=:X  a  S:X  d   e   eXV:X  d   eUR                   H  n[        U5      S:X  a  M   e   g s  snf s  snf )Nr   r   )zk-16zp-8zy*y+z*z-x*xz	d - x + pzd*d+k*k-y*yzz*z-p*p-k*kzabc-efgefgr  r'  r   rO  r  r   r   )sympy.core.sympifyr   r   r   r   r  unionr<  rr   rT   r4   r   r  )r   rN  r"  r   sybr  rD  r  s           r   test_issue_21022r'  	  sQ   *C -C"
#s!71:sC
#
wsyy3"?3a>>3"?@A
BC
c
C
"c2q"c$q'k2d1g:6"c2q"c$q'k1T!W95"c2q"baj"T!W*5"c2q"baj!DG)4	C s8s3x$1$$$$$::((6{a  $"?s   EEc                     [        S5      n [        S5      n[        [        X44[        SU-  [        -  [        SU -  [        -  [        -  [        S5      -   5      -   -  [        [        SU -  [        -  [        -  [        S5      -   5      5      -   5      [        [        R                  [        R                  5      5      n[        [        [        [        5      5      S-
  [        5      R                  U5      (       d   eg )Nr   r  r   r   )r   rQ   r   r   r   r   r&   r   rY   r   r   ro   r%   r   r   )r   r  r   s      r   test_issue_17940r)  	  s    c
A	tB
6B7*a2b3qs1uRx#a&7H3I)I&JAaCE"Hs1v$5 67'8 9ajj!**57C CAK!OQ'005555r   c                  r    [        S[        S-  S-
  -  S[        -  -
  [        5      [        SS5      :X  d   eg )Nr+  r   P   r8  r#  r   )ro   r   rT   r   r   r   test_issue_17906r,  	  s3    A1r	NRU*A.)B2CCCCr   c                     [         [        S5      -  [        [        [        5      -  -
  n [         [        S5      -  [        [        [        5      -  -
  nS[         -  [        S5      -  S-  [        [        [        5      -  -   nS[         -  [        S5      -  S-  [        [        [
        5      -  -   [
        -
  n[        XX#/[         [        [
        [        5      [        SSS[        45      :X  d   eg )Nr  r>  r   r   )r   rD   r   r@   r   r   rr   rT   )rz  r{  r|  r}  s       r   test_issue_17933r.  	  s    
CG)aAh
C
CG)aAh
C
A#c"g+b.1SV8
#C
A#c"g+b.1SV8
#a
'C#+Q1a81aA,     r   c                  >   [         [        S5      -  [        [        [        5      -  -
  n [         [        S5      -  [        [        [        5      -  -
  nS[         -  [        S5      -  S-  [        [        [        5      -  -   nS[         -  [        S5      -  S-  [        [        [
        5      -  -   [
        -
  n[        S5      nXX#4 Vs/ s H  oUR                  " [        U5      PM     nn[        U[         [        [
        U5      [        SSSU45      :X  d   eg s  snf )Nr  r>  r   zzr   )
r   rD   r   r@   r   r   r   r   rr   rT   )rz  r{  r|  r}  r0  r   rN  s          r   test_issue_17933_bisr1  	  s     CG)aAh
C
CG)aAh
C
A#c"g+b.1SV8
#C
A#c"g+b.1SV8
#a
'C	B#&S"6
7"6Q66!R="6C
7sAq!R(Iq!Qm,DDDD 8s   	 Dc                  F   [        [        [        [        -   [        [        [	        S[
        -  [        -  5      -  -   /[        [        /5      [        [        * [        -  [        [        [        [        [        -  5      [        R                  5      45      5      (       d   eg )Nr&  )r   rr   r   r   r%   r   rT   r   r   rQ   r   r   r   r   r   r   test_issue_14565r3  	  sp    a!eQ3r"uQw<%781a&AA2a4&AaC.!**=>?A A A Ar   c                     [        SSS9n [        [        [        5      S-   [        [        R
                  5      [        R                  L d   e[        [        [        5      U -   [        [        R
                  5      [        R                  L d   e[        [        U S5      U [        R
                  5      [        R                  L d   eg )Nr   Tr   r   r   )r   ro   r   r   r   r   r   r   )r   s    r   test_issue_9556r5  	  s    sT"ACFQJ177+qzz999CFQJ177+qzz999Bq"Iq!''*ajj888r   c                  2   [        [        [        [        -
  [        -   [        5      [        [        R
                  5      [        R
                  :X  d   e[        [        [        [        -
  [        -   [        5      [        5      [        R                  :X  d   eg r   )ro   r   r   r~   r   r   r   r  r   r   r   test_issue_9611r7  	  sX    Bq1uqy!$a1QWW<<<Bq1uqy!$a(AKK777r   c            
          [        [        S-  [        -   [        [        R                  5      [        [        R                  [        [        [        * 5      * [        [        * 5      5      5      :X  d   eg r"  )ro   r   r~   r   r   rU   rT   r4   r   r   r   test_issue_9557r9  	  sN    AqD1Ha)\!''48)T1"X&.( ( ( (r   c                     [        SSS9n [        SSS9n[        U S-  S-   U [        R                  5      [	        S5      :X  d   e[        U [        SS5      -  S-   U [        R                  5      [        R                  :X  d   e[        U S-  U-   U [        R                  5      [	        [        U5      [        SS5      -  * [        U5      -  5      :X  d   eg )	Nr   Tr   r   r   r   r   r   )	r   ro   r   r   rT   r   r   r   r"   r   s     r   test_issue_9778r;  	  s    sAsAAqD1Ha)Yr]:::Ax1~%)1agg6!**DDDAqD1Ha)3q68Aq>))$q'123 3 3r   c                     [        [        [        SS5      -  S-   [        [        R                  5      [        R
                  :X  d   e[        [        [        SS5      -  S-   [        [        R                  5      [        R
                  :X  d   e[        S[        SS5      -  * 5      n [        [        [        S5      -  S-   [        [        R                  5      U :X  d   e[        [        S5      -  S-   R                  [        [        U 5      S   5      S:X  d   e[        [        S5      -  S-   R                  [        S[        SS5      -  * 5      S:X  d   eg )Nr   r   r   r   r   r&  )	ro   r   r   r   r   r   rT   r   r   )rD  s    r   test_issue_10214r=  	  s   Ax1~%)1agg6!**DDDAQ(1,a9QZZGGG
QA&&
'CA!IM1agg.#555!IM$s)A,/1444!IMB!Q#7"78A===r   c                      [        [        [        [        5      5      S-   [        [        R
                  5      [        R                  :X  d   eg r   )ro   r   rD   r   r   r   r   r   r   r   test_issue_9849r?  	  s-    CAK!OQ0AJJ>>>r   c                  L    [        / [        5      [        R                  :X  d   eg r   )rj   r   r   r   r   r   r   test_issue_9953rA   
  s    Cqzz)))r   c                  f   [        S[        -  S[        S-
  S-  -  -   [        [        R                  5      [	        S[        S5      -  S-  [        SS5      -   [        SS5      -  * S-  SSS[        S5      -  S-  [        SS5      -   [        SS5      -  -  -  -
  [        S	S5      -   5      :X  d   eg )
Nr   r   r   r   i^  r   i  r   r   )ro   r   r   r   rT   r4   r   r   r   r   test_issue_9913rC  
  s    AaC!QVaK-'AGG4Ad5kM!OhtQ&77(1a.HHJSAd5kM!OhtQ&77(1a.HHNJ JLTUWYZO\ 	]] ] ]r   c                  z    [        [        [        5      [        [        R                  5      [        S5      :X  d   eg r  )ro   r4   r   r   r  rT   r   r   r   test_issue_10397rE  

  s%    DGQ,	!<<<r   c                  6   [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S 5        [        [        S	 5        g )
Nc                  2    [        [        S-  /[        5      $ r"  r  r   r   r   r   "test_issue_14987.<locals>.<lambda>
  s    2	
A r   c                  t    [        [        S[        -  S-   -  S[        -  -   [        -
  /[        [        /5      $ )Nr   r   r   )ri   r   r   r~   r   r   r   r   rH  
  s0    2	
BqD1H!	a	 1a& *r   c                  `    [        [        S-  S[        -  -
  [        S-
  -  S-
  /[        5      $ r  r  r   r   r   r   rH  
  s,    2
Q$1*q1u		!"A 'r   c                  l    [        [        S-   S-  [        S-  -
  S[        S-  -  -
  S-   /[        5      $ )Nr   r   r   r+  r  r   r   r   r   rH  
  s5    2
a%!ad	Qq!tV	#a	'(! -r   c                  `    [        [        S[        -  S-   -  [        -   /[        [        /5      $ r   r  r   r   r   r   rH  
  s&    2	
AaC!GqAq6 #r   c                  L    [        [        S-   [        -  /[        [        /5      $ r   r  r   r   r   r   rH  
  s    2
a%aV r   c                  n    [        [        S[        -  S[        -  [        -   5      /[        [        /5      $ r   ri   r   r   r   r   r   r   r   rH  
  s)    2	AaC1q	QF $r   c                  ~    [        [        [        [        -  [        [        -  [        -   5      /[        [        /5      $ r   )ri   r   r   r   r   r   r   r   rH  
  s)    2	AaC1q	QF $r   c                  |    [        [        [        [        S-   -  [        S-  [        -   5      /[        [        /5      $ r  rO  r   r   r   r   rH  
  s-    2	Aq1uIq!tax	 !Aq6 +r   )r^   r   r   r   r   test_issue_14987rR  
  s    
:  
: * +
: ' (
: - .
: # $
:  
: $ %
: $ %
: + ,r   c                     [         [        [        -
  S[        -  S[        -  -   -  -   n [        U [         5      [	        [
        R                  5      :X  d   e[        U [         [
        R                  5      [        [        [        -
  S[        -  S[        -  -   -  * 1[
        R                  5      :X  d   e[        SSS9n[        SSS9n[         X-
  SU-  SU-  -   -  -   n [        U [         5      [	        [
        R                  5      :X  d   e[        U [         [
        R                  5      [	        [
        R                  5      :X  d   eg )Nr&  r   apTr   bn)negative)
r   r~   r   ro   rT   r   r   r   rU   r   )r  rT  rU  s      r   test_simplificationrW  #
  s    	
a!ebdQqSj!	!BB?i////B177#|A1qs
7K5L4Mqww'WWWW	t	$B	t	$B	
bg2"%	%BB?i////B177#y'8888r   c            	      ~   S[         -  S-   S:  n [         S-  S[         -  -   S-
  S:  n[         S[         -  -   SS[         -  -   :  n[         [        [         S-  S-
  5      -   S:  n[         S[         -  -   SS[         -  -   :  nUR                  [         [        [         5      5      n[        [         5      [         -  S:*  n[        [         5      [         -  S:  n[         [         S-
  -  S:  n[         [         S-  S-
  -  S:  n	[	        U [         [
        R                  5      [        S[        S5      :X  d   e[	        U[         [
        R                  5      [        [        [        * SS5      [        S[        S5      5      :X  d   e[	        U[         [
        R                  5      [        [        SSS5      [        S[        S5      5      :X  d   e[	        U[         [
        R                  5      [        S[        S5      :X  d   e[	        U[         [
        R                  5      [        S[        S5      :X  d   e[	        U[         [
        R                  5      [        SSS5      :X  d   e[	        U[         [
        R                  5      [
        R                  :X  d   e[	        U[         [        SS5      S	9[        SSS5      :X  d   e[	        U	[         [        SS5      S	9[        [        SSS5      [        SSS5      5      :X  d   e[	        [         S-   S:  [         [
        R                  5      [        [        * SS5      :X  d   eg )
Nr   r   r   r   r&  r   r   r   r1  )r   r4   r   r&   ro   r   r   rR   r   rW   r   )
rz  r{  r|  r}  r  eq5eq6eq7eq8eq9s
             r   test_integer_domain_relationalr^  /
  sw   
A#'A+C
Q$1*q.A
C
ac'B1H
C
d1a4!8n
q
 C	
QqS2!8	B
''!CF
C
a&(a-C
a&(Q,C
QqS'A+C
QT!V*q.CCAJJ'5R+;;;;CAJJ'5sB1BE!RQRO+TTTTCAJJ'5r1a%2q/+RRRRCAJJ'5B?:::CAJJ'5B?:::CAJJ'5Aq>999CAJJ'1::555C51:.%1a.@@@C51:.%aAaQRTU2WWWW AEAIq!**-sB1BBBBr   c                  p   [        S5      n [        S5      n[        U " [        5      [        S-  -
  [        [        R
                  5      R                  [        [        [        U " [        5      [        S-  -
  S5      [        R
                  5      5      (       d   e[        U " U" [        5      5      [        S-  -
  U" [        5      [        R
                  5      R                  [        U" [        5      [        U " U" [        5      5      [        S-  -
  S5      [        R
                  5      5      (       d   eg )Nr   r   r   r   )	r   ro   r   r   r   r   r   rP   r   )r   r   s     r   test_issue_10555r`  I
  s    AAAaD2a4KAGG,55Q1Q4"Q$;*AGG46 6 6 6AadGbdNAaD!''2;;QqT2a!g1na0!'':< < < <r   c                     [         S[         -  -   SS[         -  -   :  n [        U [         [        R                  5      [        R
                  " S[        5      [        S5      -
  :X  d   e[        U R                  [         [        [         5      5      [         [        R                  5      [        R
                  " [        S5      [        5      [        S5      -
  :X  d   eg )Nr   r&  r   )r   ro   r   r   rV   r   r   rT   r   r&   r%   rI  s    r   test_issue_8715rb  R
  s    	
QqS2!8	BB177#	r2	1	-/ / /BGGAc!f%q!''2c"gr"Yq\12 2 2r   c                  0   [         S-  [        S[        -  5      -   [        [        5      -
  n [        [        R                  [        [        [         S-  * [        [        5      -   5      S-  5      5      n[        U [        [        R                  5      U:X  d   e[        [        5      [        [        [        5      5      -  [        [        [        5      S-  S-   5      -  [        [        [        5      -  -   n [        [        5      * [        [        [        5      5      -  [        [        [        5      S-  S-   5      [        [        5      -  -  n[        [        R                  [        U5      5      n[        U [        [        R                  5      U:X  d   eg rv  )r   r%   r   rD   r   rU   r   r   rT   r&   ro   r4   r   r   rE   r   )r  rb  r   s      r   test_issue_11174rd  Z
  s   	
AAaC3q6	!B31us1v~+>q+@!ABDB177#t+++	aSV	T#a&!)a-0	01SV8	;B	aSVd3q619q=1#a&89A1.DB177#t+++r   c                     [        SSS9n [        SSS9nU* U [        U S-  * S-   5      -  -   nUS-  * U S-  U S-  * S-   -  -   n[        U* [        US-  S-   5      -  5      [        U[        US-  S-   5      -  5      pT[        U [	        US5      U5      nUSS1-
  USS1-
  -  nXE-  SS1-
  n[        X [        R                  5      U:X  d   e[        X0[        R                  5      U:X  d   eg )	Nr   Tr   r   r   r   r   r   )r   r4   rT   rP   r   ro   r   r   )	r   r   rz  r{  r   r   rR  r   r   s	            r   test_issue_11534rf  e
  s   
 	sAsA"qq!teai 
 Ca4%!Q$A	"
"C r$q!tax.()9QtAqD1H~5E+F2c1:r*D"aLTRG^,DGAwDCAGG$,,,CAGG$,,,r   c                      [        [        S-  S[        -  -   S-
  [        -  S:  [        [        R                  5      [	        [
        R                  " [        * S5      [
        R                  " SS5      5      :X  d   eg )Nr   r   r   r   r   r   )ro   r   r   r   rW   rV   r   r   r   r   r   test_issue_10477rh  
  s]    QTAaCZ!^Q&*Aqww7hmmRC$hmmAq&9:; ; ;r   c                     [        [        [        5      [        [        S[        5      5      [        S[        5      :X  d   e[        SS5      n [        S[        -  R                  [        5      S:  [        U 5      U :X  d   eg )Nr   r   r   )ro   rD   r   rV   r   rT   r   r
   )r   s    r   test_issue_10671rj  
  s]    CFAx2/9Q3CCCCBAQqSJJqMA%q!,111r   c                     [         [        [         S-  S-
  5      -   n [        U S:  [         [        R                  5      [        [        S5      [        5      :X  d   e[        U S:  [         [        R                  5      [        [        * [        S5      * 5      :X  d   e[        U [        S5      :  [         [        R                  5      [
        R                  " [        S5      [        5      :X  d   eg )Nr   r   r   )r   r4   ro   r   r   rV   r   r  rI  s    r   test_issue_11064rl  
  s    	
T!Q$(^	BBFAqww'a"  BFAqww'"tAwh     BaL!QWW-tAw#$ $ $r   c                  N   [        [        S-
  5      S-   n [        U [        5      nU[        R                  L d   e[        U S:  [        [        R                  5      [        R                  L d   e[        U S:  [        [        R                  5      [        S[        5      :X  d   eg Nr   r   )	r4   r   rf   r   r   ro   r   rV   r   )r  rb  s     r   test_issue_12478ro  
  sy    	a!eqBQD1::BFAqww'1::555BFAqww'8Ar?:::r   c                      [        [        [        5      [        -  S:*  [        [        R                  5      n [
        R                  " SS5      nX:X  d   eg r  )ro   r&   r   r   r   rV   r  )r  r   s     r   test_issue_12429rq  
  s:    	#a&(a-AGG	,B
..A
C99r   c                  D   [        [        [        -   5      n [        S5      n[	        U 5      R                  [        [        U[        [        U5      S-   S5      [        R                  5      [        U[        U5      S:  [        R                  5      5      5      (       d   eg )NCr   r   )r   r   r   r   ro   r   rU   rP   r   r    r   r  r!   )r  rs  s     r   test_issue_19506rt  
  s~    	QUBc
AB<  l1bAA>NPQP[P[.\1=aAAKK1X"Z [ [ [ [r   c                  P   [        [        [        5      [        [        R                  5      [
        R                  " S[        5      :X  d   e[        [        S[        -  S-
  5      [        [        R                  5      [
        R                  " [        SS5      [        5      :X  d   eg )Nr   r   r   )	ro   r   r   r   r   rV   r   r   r   r   r   r   test_solveset_argrv  
  sd    CFAqww'HMM!R,@@@@C!QKAGG,hq!nb0QQQQr   c            	         ^  [         m [        U 4S j[        5       [        SS9[        SS94 5       5      (       d   eT " S[        SS9-  5      SL d   eg )Nc              3   >   >#    U  H  nT" S U-  5      SL v   M     g7f)r   Nr   )r   r   r   s     r   r   3test__is_finite_with_finite_vars.<locals>.<genexpr>
  s%      9 (8!q1v~ (8s   Tr   )complexr   F)rt   r   r   r   s   @r    test__is_finite_with_finite_varsr{  
  s^    #A 9D!5#6(8 9 9 9 9 9Qu%  !T)))r   c                      [        [        S-  S[        -  -
  S-
  [        [        [        * S5      S9[	        S5      :X  d   eg )Nr   r%  r   )symbolr2  r   r  r   r   r   test_issue_13550r~  
  s7    AqD1Q3JOa(B3:JKyY[}\\\r   c                      [        [        [        S5      [        S5      -   -  [        S5      -
  [        4[        5      [        R                  L d   eg )Nr   r   )rr   r   r4   r   r   r   r   r   test_issue_13849r  
  s;    47T!W,-Q7;Q?1::MMMr   c            	         [        [        [        [        [        S5      -   5      S-
  R	                  [
        5      [        [        R                  5      [        SS5      :X  d   e[        [        [        [        [        S5      -   5      S-
  R	                  [
        5      [        [        SS5      5      [        S5      :X  d   e[        [        [        [        SS5      5      [        R                  L d   eg )Nr   r   r   r   )ro   r   r   r5   r  r7   r   r   rT   rV   r   r   r   r   test_issue_14223r  
  s    SSAY'!+44Y?	b!$% % %SSAY'!+44Y?A$Q<( ( (Aq)Aq/*ajj888r   c                    ^  [         R                  m [        [        [	        [        S5      -  S-
  [        T 5      [        [        SS5      5      :X  d   e[        [        [        [        S5      -  S-
  [        T 5      [        [        S5      * [        S5      5      :X  d   e[        [	        [        [        S-
  5      S-
  [        S-   5      S-
  [        T 5      [        SS5      :X  d   e[        [        [        S-
  5      [        [        5      -
  [        T 5      [        [        [        5      * S-   [        [        5      S-   5      :X  d   e[        [        [        S[        [        S-   5      -  -   5      [        T 5      [        [        SS5      [        SS	5      5      :X  d   e[        S[        [        [        [        [	        S[        5      -   5      -   5      -  S-
  [        [         R                  5      [        SS
5      :X  d   e[         R                  m [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        [        [        U 4S j5        g )Nr%  r   r   r   r   r   r   r  r   r&  c                  V   > [        [        [        [        S5      -  S-
  [        T 5      $ Nr%  r   )ro   r   r6   doms   r   r   "test_issue_10158.<locals>.<lambda>
      x#a*r(91cBr   c                  V   > [        [        [        [        S5      -  S-
  [        T 5      $ r  )ro   r   r5   r  s   r   r   r  
  r  r   c                  t   > [        [        [        [        S-
  5      S-
  [        S-   5      S-
  [        T 5      $ )Nr   r   r   )ro   r6   r   r   r  s   r   r   r  
  s*    xCAJNAE(BQ(F3Or   c                  f   > [        [        [        S-
  5      [        [        5      -
  [        T 5      $ r   )ro   r   r   r   r  s   r   r   r  
  s    xAE
SV(;QDr   c            
      l   > [        [        [        S[        [        S-   5      -  -   5      [        T 5      $ )Nr   r   ro  r  s   r   r   r  
  s$    xA#a!e*,<(=q#Fr   )r   r   ro   r   r6   rT   r   r5   r4   r   r   r  r^   r   r  s   @r   test_issue_10158r  
  s   
''CAc!RjL2%q#.)HQN2KKKKAc!RjL2%q#.)T"XItBx2PPPPCAE
QA.2As;yQ?OOOOCAJQ'C0Is1vgk3q6TU:4VVVVCAc!a%jL()1c2iQQYZ\^_Q`6aaaaAc!c!c!Qi-0011A5q!''BiPRTVFWWWW
++C
:BC
:BC
:OP
:DE
:FGr   c                     S[        S[        -  5      -
  [        -
  n [        [	        [        * S-   5      * S-  5      n[        U [        [        R                  5      [        [        R                  U5      :X  d   e[        [        U [        5      [        [        [        [        * S[        -  [        -  [        [        * S-   5      -   -  S-  [	        [!        [        S-
  5      5      S-  -
  5      [        R"                  5      5      (       d   eg )Nr   iWir   )r%   r   r   rT   r&   ro   r   r   rU   r   rQ   r   r   r   r   r   r   r   )r   r  s     r   test_issue_14300r  
  s    	C	!q A	CQK<(	)BAq!''"QWWb!" " "!QA2qs2vQBF34X=AE
OH$% &'(zz	34 4 4 4r   c                     ^  [        [        S-  [        -   S-
  S5      m [        [        U 4S j5        [	        [        S-  T [        5      (       d   eg )Nr   r   r   c                  &   > [        T S[        5      $ r  )rl   r   numbers   r   r   "test_issue_14454.<locals>.<lambda>
  s    {61a8r   )rN   r   r^   r   rl   r  s   @r   test_issue_14454r  
  s?    QTAX\1%F
:89q!tVQ''''r   c            	         [        S[        S-  -  S[        S-  S-
  [        S5      S-  -  -  -  SS[        S-  S-
  [        S5      S-  -  -  -  -   [        [        R                  5      [	        [        S5      [        S5      * 5      :X  d   eg )Nr#  r   r>  r   r   r   )ro   r   r   r  rT   r4   r   r   r   test_issue_17882r  
  s    Bq!tGQ1qAaDF334q!QTAX1a<P:P7QQSTVWVaVab$q'DG8$% % %r   c            	         [        [        S[        -  S-
  5      5      SS[        -  /:X  d   eS[        S-   -  S[        S-   -  -   S[        S-
  -  -   S[        S-   -  -
  S[        S-   -  -
  n [        [        U 5      5      S[        S-   -  S[        S-   -  S[        S-   -  S[        S-
  -  SS[        S-   -  1:X  d   eg )Nr   r   r&  r   r   r   )r   r{   r   r  )r  s    r   test_term_factorsr  
  s    adQh'(RAJ666q1u:AE
"QQZ/!a!e*<q1q5zID}T"#	AE
AAJAE
AAJAAJ(H H H Hr   c                      [        S[        -  [        [        R                  5      [        R                  :X  d   e[        S[        -  S[        S-   -  -
  [        [        R                  5      [        S5      :X  d   eg )Nr   r>  r   r  )ru   r   r   r   r   rT   r   r   r   test_transolver  
  sU    adAqww'1::555adQQZ'AGG4	#FFFr   c            	      d   S[         -  [        [        -
  -  [        [        [        [        -
  5      -  -
  [        -
  [        [        [        [        -
  5      -  -   [        -   S-  n [	        U R                  5       [        5      [        [        [        [        S[         -  S-
  5      -   5      :X  d   eg rv  )r   r   r   rF   ro   r  rT   rI   rI  s    r   test_issue_21276r  
  sw    
A#q1u+#a!e*
$q
(1SQZ<
7!
;a	?BBIIK#yAqsQw4G'HHHHr   c                     SSK Jn   SS[        -  -  S[        S-   -  -
  nSSS[        -  -
  -  SS[        -
  -  -
  nS[        -  S[        -  -   n[        [	        S5      [        -  5      S[        -  -
  n[        [        U -  5      [        [
        * U -  5      -  S-
  nS[        S-  -  S[        S-  -  -
  nS[        S	-   -  S[        S-   -  -   S[        S	-
  -  -   S[        S-   -  -
  S[        S-   -  -
  nS
[        S[        -  S-   5      -  S[        S[        -  S	-   5      -  -   nS[        -  S[        -  -   S[        -  -   S-
  n	SS[        S	-   -  -  S[        -  -  SS[        -  -  -
  n
[        U[        [        R                  5      [        S[	        S5      -  S[	        S5      -  [	        S5      -   -  5      :X  d   e[        U[        [        R                  5      [        [        SS5      5      :X  d   e[        U[        [        R                  5      [        R                  :X  d   e[        U[        [        R                  5      [        S5      :X  d   e[        U[        [        R                  5      [        [        R                  [        U [	        S[        [
        U -  5      -  5      -  5      5      :X  d   e[        U[        [        R                  5      [        S5      :X  d   e[        U[        [        R                  5      [        S5      :X  d   e[        U[        [        R                  5      [        S[	        S5      -  S-  S[	        S5      -  S-  -   [        SS5      -   5      :X  d   e[        U	[        [        R                  5      [        S5      :X  d   e[        U
[        [        R                  5      [        [	        S5      * [	        S5      -
  [	        S5      -   [	        S5      * [	        S5      -   [	        S5      -   -  5      :X  d   e[        S
[        S[        -  S-   5      -  S[        S	-   -  -   [        5      [        SS[	        S5      -  -
  [	        S5      -   [	        S5      S-   -  * 5      :X  d   e[        S[        S-  -  S[        S-  -  -
  [        5      [        S5      :X  d   e[        S5      [        [	        S5      5      -  [        [	        S5      5      -  n[        S[        S-  -  SS[        -  -  -
  [        5      [        U* U5      :X  d   e[        S5      u  p[!        S5      n[        X[        S-  -  -   [        U" [        5      * 5      -
  U" [        5      5      [        [        R                  [        [	        X[        S-  -  -   5      * 5      5      :X  d   e[        SSS9n [        [        S-  U S-  [        [        5      -  -
  U 5      [        [        R                  [        [        [        S-  [        [        5      -  5      * [        [        S-  [        [        5      -  5      5      5      :X  d   e[#        SSS9n[        S	U-  S	-   US	-   -  U5      R%                  ['        [        [)        S	S	[        -  -   [        S	-   -  S5      [        R                  5      5      (       d   e[        S[        -  S[        -  -
  S-   [        [        R                  5      S1:X  d   e[        S[        -  SS[        -  -  -
  S-   [        [        R                  5      S1:X  d   eg )Nr   r  r   r   r   r   r>  r   r   r  r&  T      ig  {   i
  r   r%  r   r   zC1 C2r   r   Tr   r   r?  )r  r   r   r%   r&   r   ro   r   r   rT   r   r   rU   rf   r4   r   r   r   r   rP   r   )r   r  r  e3e4e5e6e7e8e9e10r   C1C2r   r   s                   r   test_exponential_realr    s   	
QqSAAJ	B	
Q1WAE
	"B	
A1B	SVAXA	B	QqS#qbd)	a	B	
QqSA!H	B	
QUa!a%j	 1q1u:	-AE
	:QQZ	GB	C1qM	Ac!A#'lN	*B	
A1q!t	b	 B
QQZ-a
 3tay=
0CB177#y
3q6	2c!f9s1v%&(( ( ( (B177#y!R'AAAAB177#qzz111B177#y|333B177#|	1S3qs8_,-(/ / / /B177#y|333B177#y|333B177#yCF1qQxz1IHUVXYN1Z'[[[[B177#y|333C177#y3r7(SV2Cc#h2NRUVZR[Q[^abc^dQdgjkngoQo1p'qqqqC1qM)AAJ6:i#a&=3q6!CFQJ
/0?2 2 2 2QqSA!H,a0IaL@@@QSVT#a&\)AQqSA!H,a0Iqb!4DDDD WFBAAgQqTE
2AaD9\	C1W--.>0 0 0 0d#AA1SV+Q/<	DAc!f--tAqDQK/@A4C C C CsT"A!A#'QU+Q/88QA!Gq1u-q1177;= = = =AqD1a4K"$a1aS888AqD1qs8Ob(!QWW5!<<<r   c                     [        S5      n [        [        S[        -  S[        -  -   [        5      [	        [        U [        SU -  [        -  [        -   -  [        S5      -  5      [        R                  5      5      (       d   e[        [        [        -  [        [        -  -  S-
  [        5      [        [        S5      [        [        5      [        [        5      -   -  5      :X  d   e[        [        S[        S-  -  S[        S-  -  -
  [        5      [	        [        U SU -  [        -  [        -  [        S5      -  5      [        R                  5      5      (       d   e[        [        S[        -  S-   [        5      [	        [        U [        SU -  [        -  [        -   -  S[        S5      -  -   [        S5      -  5      [        R                  5      5      (       d   eS[        [        S-  [        -  5      -  S-   [        S-  S-   -  n[!        [        5      [!        [        [        S5      5      * [        [        S5      SU -  [        -  [        -  -   5      -   5      -  n[        U[        5      [        U* U5      :X  d   e[	        [        U [        SU -  [        -  [        [#        SS5      -  -
  -  [        S5      -  5      [        R                  5      n[	        [        U [        SU -  [        -  [        [#        SS5      -  -   -  [        S5      -  5      [        R                  5      n[        [        S[        -  S[        -  -   S[        -  -   [        5      [%        X45      5      (       d   eS[        S	-   -  S[        S-   -  -   S[        S	-
  -  -   S[        S-   -  -
  S[        S-   -  -
  n[        U[        5      nSU -  [        -  [        -  S[        S5      -  -
  S[        S5      -  -   nS
[        S5      -  [        S5      -   n[	        [        XU-  5      [        R                  5      n[        XX5      (       d   eg )Nr   r   r   r   r  r   r%  r   r   r&  )r   r   rh   r   rX   r   r   r   r&   r   r   r   r   rT   ro   r%   r4   r   rW   )	r   r  r~   union1union2r  numdenrD  s	            r   test_exponential_complexr  2  s`   c
A!!Q$A+q1(q!QqSVb[/#a&()1::37 8 8 8 8AqDAIM1-AAQ 2" " " "!!ac(Q1X"5q98q!A#a%(3q6/"AJJ<0 1 1 1 1!Q$)Q'q1ac"frk?Qs1vX-s1v56

*D E E E E SAa[.1
q!tby	)BQc#a&k\CA1Qr(9$::;;AB"iA&6666fQ1Q3r6Bx1~,=#= >s1v EF

SFfQ1Q3r6Bx1~,=#= >s1v EF

SF!Q$A+1,a0%2GHHHH	
QUa!a%j	 1q1u:	-AE
	:QQZ	GB
2q/C
A#a%(Qs1vX
#a&
(C
SV)c!f
C
6!W%qzz
2C???r   c                     [        [        5      S-   [        -  S-
  n [        S-   [        -  [        -  S-
  nS[        -  [        [        5      -
  S-
  n[        [        5      [        [        5      -
  nS[        -  S[        -  -   S[        -  -
  n[	        U [        [
        R                  5      R                  [        [        [        [        [        5      S-   [        -  S-
  S5      [
        R                  5      5      (       d   e[	        U[        [
        R                  5      R                  [        [        [        [        [        S-   [        -  -  S-
  S5      [
        R                  5      5      (       d   e[	        U[        [
        R                  5      R                  [        [        [        S[        -  [        [        5      -
  S-
  S5      [
        R                  5      5      (       d   e[	        U[        [
        R                  5      R                  [        [        [        [        [        5      * [        [        5      -   S5      [
        R                  5      5      (       d   e[	        U[        [
        R                  5      R                  [        [        [        S[        -  S[        -  -   S[        -  -
  S5      [
        R                  5      5      (       d   eg )Nr   r   r   r   r   )
r%   r   r   r&   ro   r   r   r   rP   r   )r  r  rW  rX  rY  s        r   test_expo_conditionsetr  O  s   
a&1*q1	B
a%!A	B	
AA	B	Q#a&B	
A1q!t	BB177#,,\	2s1vzAo!1%qww.0 1 1 1 1B177#,,\	2aQ
lQ"AGG.- . . . .B177#,,\	2adSVma#QWW.. / / / /B177#,,\	2s1vgA"AGG.- . . . .B177#,,\	2adQTkAqD !$agg./ 0 0 0 0r   c                     [        SSS9u  pn[        SSS9u  p4[        X -  U-
  U [        R                  5      [	        [        R                  [        [        U5      [        U5      -  5      5      :X  d   eSU [        -  -  SU[        -  -  -
  nX-  [        -  S-
  n[	        [        S5      [        U 5      [        U5      -
  -  1[        R                  5      n[	        [        S5      [        X-  5      -  1[        R                  5      n[        U[        [        R                  5      U:X  d$   [        U[        [        R                  5      5       e[        U[        [        R                  5      U:X  d$   [        U[        [        R                  5      5       e[        X -  U [        R                  " S[        5      5      R                  [        [        [        [        [        -  S5      [        R                  " S[        5      5      5      (       d   e[        X-  S	-
  U[        R                  5      [        S5      :X  d   e[        [        X-  5      [        U* U-  5      -  S-
  U[        R                  5      [!        [        U[        [#        U 5      U-  S5      [        [#        U5      U-  S5      -  [!        [	        [        X-
  [        S5      -  5      [        R                  5      [        S5      5      5      [        S5      5      :X  d   e[        [        X1-  5      [        U* U-  5      -  S-
  U[        R                  5      [!        [        X4-
  [        S5      -  5      [        S5      5      :X  d   e[        [$        U -  [&        U -  -
  U 5      R                  [        [        [)        [$        S5      [)        [&        S5      -  [        S5      5      5      (       d   eg )
Nzx y zTr   zxr, zrr   r   r   r   r   )r   ro   r   r   rU   rT   r&   r   rV   r  r   r   rP   r   r   r%   rS   r    r~   r   r   )	r   r   r   xrzrr  r  r   r   s	            r   test_exponential_symbolsr  c  s   g-GA!XD)FBAD1Ha)\	3q6#a&=).+ + + + 
1a4!AqD&B
#ABQQ#a&12AGG<DQAC)1773DB177#t+EXb!QWW-EE+B177#t+EXb!QWW-EE+AD!X^^Ab12;;Q1a4X]]1b%9:< < < <AD1Ha)Yq\999CHS!AY&*Aqww7|Ar"Q%'1~2a57A>|Iquc!fn5qww?1NPQZ[\Q]__ _ _ CIc2#a%j(1,a99bgs1v-.	!=> > > AqD1a4K#,,\	2a8bAh	!.. / / / /r   c                  ~    [        SSS9n [        S5      n[        U S-  S-
  U 5      [        US-  S-
  U5      :X  d   eg )Nr   Tr   r   r   )r   rh   )xposr   s     r   test_ignore_assumptionsr  ~  sL    3&DAD!GaK 
adQh*+ + +r   c                      [        [        [        [        -  -  [        -
  [        [        R
                  5      [        S5      :X  d   eg r   )ro   r   r   r   r   r   rT   r   r   r   test_issue_10864r    s-    A!HqL!QWW-1===r   c            
         [        [        [        [        5      5      [        [        [        * 5      5      -   S-
  [        5      [	        S[        [        S5      * S-   5      -  S[        [        S5      S-   5      -  5      :X  d   eg )Nr   r   r   )rf   r4   r%   r   rT   r&   r   r   r   test_solve_only_exp_2r    sg    c!fS!W591=!Ca1%%qT!Wq[)9'9:; ; ;r   c                     [        [        [        5      SL d   e[        S[        -  S-
  [        5      SL d   e[        S[        -  SS[        -
  -  -
  [        5      SL d   e[        [        S[        -  5      S[        -  -
  [        5      SL d   e[        [        [        -  [        -
  [        5      SL d   e[        [        [        -  [        -
  [        5      SL d   e[        S[        -  S[        -  -   S-
  [        5      SL d   e[        [        [        [        -  -  [        -
  [        5      SL d   e[        [        S[        -  -  S[        -  -
  [        5      SL d   e[        [        [        -  [        [        -  -
  [        5      SL d   e[        [        [        -  [        [        -  -
  [        5      SL d   eg )	NFr   r   Tr   r+  r   r   )rv   r   r   rD   r   r   r   r   test_is_exponentialr    sf   1a E)))1a4!8Q'4///1a4!a!e*,a0D8883q!t9qs?A.%7771a4!8Q'4///1a4!8Q'50001a4!Q$;?A.$6661qs8a<+u4441qs8ad?A.%7771a4!A#:q)U2221a4!A#:q)T111r   c            	      J   [        SS[        -  -  S[        S-   -  -
  S[        [        R                  5      [	        S[        S5      -  S[        S5      -  [        S5      -   -  5      :X  d   e[        S[        -  S[        -  -   S[        [        R                  5      [	        [        [        SS5      [        S	5      S-  -   5      [        S5      -  5      :X  d   e[        S[        -  S[        -  -   S[        [        R                  5      [        R                  :X  d   e[        S[        -  S[        -  -   S	[        -  -
  S[        [        R                  5      [        [        [        S[        -  S[        -  -   S	[        -  -
  S5      [        R                  5      :X  d   eg )
Nr   r   r   r   r&  r   r   r   r   )rw   r   r   r   rT   r&   r   r   r4   r   rP   r   r   r   r   test_solve_exponentialr    sJ   a!A#hQU3Q177C"SV)RAYQ/012 2 2adQTk1a9#hr1oQ	123q69:; ; ;adQTk1a9	

  adQTkAqD0!Q@Q1a4!Q$;A-q1177;< < <r   c                     [        [        [        S-
  5      [        [        S-   5      -   [        5      [        [	        S5      * [	        S5      5      :X  d   e[        [        [        S-   5      [        S[        -  S-
  5      -
  [        5      [        S5      :X  d   e[        [        [        S-   5      [        SS[        -  -   5      -   S-
  [        5      [        S[	        S[        S5      -   5      [        [        SS5      5      -  S-  -   [        S5      S-  -   [	        S[        S5      -   5      * [        [        SS5      5      -  S-  S-
  [        S5      S-  -   5      :X  d   e[        [        [        5      -
  [        [        [        S[        S-  [        S-  -  -   -  -  5      -   n [        U [        5      [        [        R                  [        [	        [        S-  [        [        [        5      -  -
  5      * [	        [        S-  [        [        [        5      -  -
  5      5      5      [        [        R                  [        [	        [        S-  5      * [	        [        S-  5      5      5      -
  :X  d   e[        [        S[        -  5      [        [        * S-   5      -
  [        S[        -  S-   5      -
  [        5      [        [        SS5      [        R                  5      :X  d   e[        [        [        [        -  5      [        [        [        5      -  -
  [        [        R                  5      [        R                  :X  d   eg )	Nr   r   r   r   r   ir   r   )rf   r&   r   rT   r4   r%   r   r   r   rU   r   r   r   ro   rI  s    r   test_logarithmicr    s   QUc!a%j0!4		b	489   QUc!A#'l2A6)A,FFFQUc!ac'l2Q6:i
T#A,HQN 33A55Aq@	cCFl	CA//1A5Aq@?B B B B 
SVc!QQT!Q$Y/01	1BQQWWiadQs1vXo)>(>A#a&!# 	$QWWiadT!Q$Z@A	BB B B AaC3rAv;QqS1W-q25>xAPQPVPV5WX X XC1I#a&(!QWW5@@@r   c                     [        [        S[        -  5      S-   5      [        [        [        5      * S-   5      -   [        S5      -
  n [	        U [        5      [
        R                  L d   e[        S[        -  5      [        [        [        5      S-   5      -
  S-
  n [	        U [        5      [
        R                  L d   eg )Nr   r   r   )r&   r%   r   r*   rf   r   r   r4   rI  s    r   test_uselogcombine_2r    s    	S1X\	S$q'A.	.Q	7BQ1::---	QqSCQ!$	$q	(BQ1::---r   c                  V   [        [        [        5      SL d   e[        [        [        5      [        5      SL d   e[        [        [        5      S-
  [        5      SL d   e[        [        [        5      [        [        5      -  [        5      SL d   e[        [        [        5      S-  [        5      SL d   e[        [        [        S-
  5      [        [        S-   5      -   [        5      SL d   e[        [        [        [        -  5      [        [        [        5      -  -
  [        5      SL d   e[        [	        [        [        5      5      [        5      SL d   e[        [        [        -   [        5      SL d   e[        [        S[        -  5      [        S[        -
  5      -
  S-   [        5      SL d   e[        [        [        5      [        [        5      -   [        -   [        5      SL d   e[        [        [        [        S-
  5      5      [        [        S-
  5      -   [        5      SL d   e[        [        [        S5      [        -   5      [        [        5      -   [        5      SL d   e[        [        [        5      [        S-   -  [        [        5      -   [        5      SL d   eg )NFTr   r   r   r   )rx   r   r   r&   rD   r   r   r   test_is_logarithmicr    s   1a E)))3q61%---3q6A:q)T1113q6#a&=!,4443q619a(E1113q1u:AE
2A6$>>>3q!t9qQx/3t;;;3s1v;*e3331q5!$---3qs8c!a%j014a8D@@@3q6CF?Q.2e;;;3s1q5z?SQZ7;tCCC3s1vz?SV3Q74???3q61q5>CF2A6%???r   c                  l   [        S5      n [        [        [        U -  5      U [        [        5      -  -
  S[        [        R
                  5      [        R
                  :X  d   e[        SSS9n [        [        [        5      [        U 5      -  S[        [        R
                  5      [        S5      :X  d   eg )Nr   r   Tr   r   )r   rz   r&   r   r   r   rT   r  s    r   test_solve_logarithmr    sz    sAC1I#a&0!Q@AGGKKKsT"ACF3q6M1a9Yq\IIIr   c            	      6   [        S5      u  pn[        [        S-  [        5      SL d   e[        U [        S-  -  U[        -  -   U-   [        5      SL d   e[        [        S-  [        5      SL d   e[        [        [        S-  -  [        5      SL d   e[        S[	        [        5      -  [        [	        S5      -  -
  [        5      SL d   e[        [	        [	        [        S-
  5      5      [	        [        S-
  5      -   [        5      SL d   e[        S[        -  S-
  S[        SS[        -  -
  5      -  -   [        5      SL d   e[        U [        -  [        [        S-  5      -   R                  [        S5      [        5      SL d   e[        [        S-  S[        -  -
  S-   R                  [        [	        [        5      S[        -  -   S-  S-
  5      [        5      SL d   e[        [        [        [        5      -  S-
  [        5      SL d   e[        [        [        [        5      -  S-
  [        5      SL d   e[        [        [        5      S[        -  -
  [        5      SL d   e[        [        [        5      [        [        5      -
  [        5      SL d   eg )	Nza,b,cr   FTr   r   r   r+  )r   ry   r   r   r&   r%   r
   r   r(   r@   r*   r)   )r~   r   r   s      r   test_is_lambertr    s   gGA!q!tQ5(((q!Q$wqs{1}a(D000q!tQ5(((qAvq!U***qQx!CF(*A.$666s3q1u:QqS115===qsQw3q1Q3w</3t;;;!c!A#h,,Q2A6$>>>1qs
Q,,QQ!A#0AA0EFJdRRRqay1}a(D000qQx!|Q'4///tAw1}a(D000tAwa(!,555r   c                  B  ^  SSK Jm   T " S[        5      SS/:X  d   e[        S T " S[        5       5       5      (       d   eT " [        S[        -  -   S-   [        [        5      / SQ:X  d   eT " [        S[        -  -   S-   [        [        5      / SQ:X  d   eT " [        S[        S-  -  -   S-   [        [        S-  5      / SQ:X  d   e[        [        U 4S j5        [        [        U 4S	 j5        [        [        U 4S
 j5        T " [        [        [        -   -  [        [        5      [        [        S/:X  d   eT " S[        [        5      / SQ:X  d   eT " [        [        [        [        -   5      [        [        SS9[        S0:X  d   eT " S[        [        SS90 :X  d   eg )Nr   linear_coeffsc              3   D   #    U  H  o[         R                  L v   M     g 7fr   )r   r[  r.  s     r   r   %test_linear_coeffs.<locals>.<genexpr>  s     8$7qAFF{$7s    r   r   r3  )r   r   r   c                  d   > T " [         S[         S-  -  -   [         S-  -   [         [         S-  5      $ r  r   r  s   r   r   $test_linear_coeffs.<locals>.<lambda>  s(    a!AqD&j1a4'AqD1r   c                  T   > T " S[         -  [         S-
  -  S[         -  -   [         5      $ r   r   r  s   r   r   r    s"    ac1q5kAaC'+r   c                  0   > T " [         [         [         5      $ r   r   r  s   r   r   r    s    aAr   r   )r   r   r   T)dictr   )	r  r  r   r   r   r^   r   r~   r   r  s   @r   test_linear_coeffsr    sW   4A1a&(((8M!Q$788888QqS1a+y888QqS1a+y888Qq!tVaAqD1Y>>>
: 2 3
: , -
:   AEAq)aAY666a#{222Aq1uq!$7Ar7BBBAqt,222r   c                     [        [        [        5      SL d   e[        [        [        S5      S-
  [        5      SL d   e[        [        [        S-  S[        S-  -  -
  [        -
  S-   S5      S-
  [        5      SL d   e[        [        [	        [        [        -   5      S5      S-
  [        5      SL d   e[        [        [	        [        [        -   5      S5      [        [        5      -
  [        5      SL d   e[        [        [        S5      S-
  [        5      SL d   e[        [        [        S5      S-  S-
  [        5      SL d   e[        [        [        S5      S-  [        -
  [        5      SL d   e[        [	        [        [        S5      5      S-
  [        5      SL d   e[        [        S[        5      S-
  [        5      SL d   eg )NFr   r   Tr   r   )r|   r   r   r   r%   r&   r   r   r   test_is_modularr    sq   q!%%%s1ay1}a(D000s1a4!AqD&=1,q0!4q8!<DDDs3q1u:q)A-q1T999s3q1u:q)CF2A6$>>>s1ay1}a(E111s1ay!|a'+u444s1ay!|a'+u444s3q!9~)1-666s1ay1}a(E111r   c                  &	   [        SSS9n SSKJn  U" [        [        S5      [        S5      S-  U [        5      [        [
        R                  4:X  d   eU" [        [        [        5      S	5      [        S
5      U [        5      [        [        [        5      S	5      S
4:X  d   eU" [        [        [        5      S	5      [        S
5      U [        5      [        [        [        5      S	5      S
4:X  d   eU" [        [        [        5      S	5      [        S
5      U [        5      [        [        [        5      S	5      S
4:X  d   e[        U" [        [        S	5      [        S
5      U [        5      [        [        [        U S	U -  S
-   5      [
        R                  5      45      (       d   e[        U" [        [        S-   S	5      [        S
5      U [        5      [        [        [        U S	U -  S-   5      [
        R                  5      45      (       d   eU" [        [        S-  [        -   S	5      [        S
5      U [        5      [        [        S-  [        -   S	5      S
4:X  d   e[        U" [        S[        -  S	5      [        S
5      U [        5      [        [        [        U S	U -  S-   5      [
        R                  5      45      (       d   eU" [        [        S-   [        S-   -  S	5      [        S
5      U [        5      [        [        S-   [        S-   -  S	5      S
4:X  d   eU" [        [        S-  S	5      [        S
5      U [        5      [        [
        R                  4:X  d   e[        U" [        S[        -  S5      [        S5      U [        5      [        [        [        U SU -  S-   5      [
        R                  5      45      (       d   e[        U" [        S[        S-  [        -   S-   -  S	5      [        S5      U [        5      [        S-  [        -   S-   [        [        U SU -  S-   5      [
        R                  5      45      (       d   eU" [        [        [        5      S-  S	5      [        S
5      U [        5      [        [
        R                  4:X  d   eg )Nr   Tintegerr   )_invert_modularr?  r   r   r+  r   r   r   r   )r   r  r  r   r   r   r   rD   r%   r&   r   rQ   r   r   r   )r   invert_modulars     r   test_invert_modularr    s   c4 AH #a*ad1fa31::FFF#c!fa.!A$15#c!fa.!9LLLL#c!fa.!A$15#c!fa.!9LLLL#c!fa.!A$15#c!fa.!9LLLLAq	1Q4A61Q37+QZZ89; ; ; ; AE1qtQ:1Q37+QZZ89; ; ; ;#adQh*AaD!Q7A1q!" " " AaCQqT1a81Q37+QZZ89; ; ; ;#q1uq1uoq11Q4A>!a%!a%!$a() ) ) #adA,!a3

O  AqD!adAq91Q37+Q[[9:< < < <A1q1$5q 91Q4AFTAX\8F1acAg$6DEG G G G#c!fai+QqT1a8Q

OKKKr   c                      [        SSS9n [        [        [        S5      [        -
  [        [        R
                  5      R                  [        [        [        [        * [        [        S5      -   S5      [        R
                  5      5      (       d   e[        S[        [        [        5      S5      -
  [        [        R
                  5      R                  [        [        [        [        [        [        5      S5      S-
  S5      [        R
                  5      5      (       d   e[        S[        [        [        5      S5      -
  [        [        R
                  5      R                  [        [        [        [        [        [        5      S5      S-
  S5      [        R
                  5      5      (       d   e[        S[        [        [        5      S5      -
  [        [        R
                  5      R                  [        [        [        [        [        [        5      S5      S-
  S5      [        R
                  5      5      (       d   e[        S[        [        S5      -
  [        [        R
                  5      [        R                  L d   e[        S[        [        S5      -
  [        [        R
                  5      [        R                  L d   e[        [        S	[        [        S
5      -   [        [        R
                  5      [        [        U S
U -  S	-
  5      [        R
                  5      5      (       d   e[        S[        [        S
5      -   [        [        R
                  5      [        R                  L d   e[        [        S[        [        S5      -
  [        [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      5      (       d   e[        [        S[        S[        -  S-
  S5      -
  [        [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      5      (       d   e[        [        S[        S[        -  S5      -
  [        [        R
                  5      [        [        U SU -  S	-   5      [        R
                  5      5      (       d   e[        [        [        [        S	-  S5      S-
  [        [        R
                  5      [!        [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      5      5      (       d   e[        S[        [        S-  S5      -
  [        [        R
                  5      [        R                  L d   e[        [        [        [        S-  S5      S-
  [        [        R
                  5      [!        [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      5      5      (       d   e[        [        [        S[        -  S5      S-
  [        [        R
                  5      [        [        U SU -  S-   5      [        R"                  5      5      (       d   e[        [        [        S[        -  S5      S-
  [        [        R
                  5      [        [        U SU -  S	-   5      [        R"                  5      5      (       d   e[        [        [        S[        -  S5      S-
  [        [        R
                  5      [        [        U S	U -  S-   5      [        R"                  5      5      (       d   e[        [        [        S	[        -  S5      S	-
  [        [        R
                  5      [        [        U SU -  S-   5      [        R"                  5      5      (       d   e[        [        [        SS[        -  -  S5      S-
  [        [        R
                  5      [%        [        [        U [%        [        S	U -  S-   5      [        S5      -  1[        R
                  5      5      [        R"                  5      [        R
                  5      5      (       d   e[        [        [        S-  S5      S	-
  [        [        R
                  5      [        R                  L d   e[        [        [        [        S-  S5      S-
  [        [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      5      (       d   e[        [        [        [        S-  S5      S-
  [        [        R
                  5      [!        [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      5      5      (       d   e[        [        S[        S[        -  S-
  S5      -
  [        [        R"                  5      [%        [        [        U SU -  S-   5      [        R
                  5      [        R"                  5      5      (       d   e[        [        [        S5      [&        -
  [        [        R
                  5      [        R                  :X  d   e[        [        [&        [        -  S5      S	-
  [        [        R
                  5      R                  [        [        [        [        [&        [        -  S5      S	-
  S5      [        R
                  5      5      (       d   e[        [        [&        [        -   S5      S	-
  [        [        R
                  5      R                  [        [        [        [        [        [&        -   S5      S	-
  S5      [        R
                  5      5      (       d   e[        [        [        [        S-  S5      S-
  [        [        R
                  5      [!        [        [        U SU -  S-   5      [        R
                  5      [        [        U SU -  S-   5      [        R
                  5      5      5      (       d   e[        [        [        [        S -  S!5      S"-
  [        [        R
                  5      [        [        U S!U -  S -   5      [        R
                  5      5      (       d   e[)        SSS9n S#nS$nS%nS&n[        [        U[        X-  U-  U5      -
  U [        R
                  5      [        [        U S'U -  S(-   5      [        R"                  5      5      (       d   e[        [        U[        X-  U-  U5      -
  U [        R"                  5      [%        [        [        U S'U -  S(-   5      [        R"                  5      [        R"                  5      5      (       d   e[        [        U[        US	U -  -  U-  U5      -
  U [        R
                  5      [%        [        [        U S)U -  S*-   5      [        R"                  5      [        R
                  5      5      (       d   e[        U[        US	U -  S-   -  U-  U5      -
  U [        R
                  5      [        R                  L d   e[        [        U[        XS-
  -  U-  U5      -
  U [        R
                  5      [%        [        [        U S'U -  S+-   5      [        R"                  5      [        R
                  5      5      (       d   eg ),Nr   Tr  r   r   r   r+  r   r   r   r      r>  r;  r  M   S   ]         r=  r?  rZ  )   r%  rO     r  r   r   r  r   J   r  iVH,i.qii@3ir   i?2   r  )r   ro   r   r   r   r   r   rP   r   rD   r&   r%   r   r   rQ   r   rW   r   rU   r   r   )r   r~   r   r   r   s        r   test_solve_modularr  6  sC   c4 AC1IM1ajj 

(BrC1I~q1JJ  
 ACFA&1:: 

(Bs3q61~115qzzBDD D D ACFA&1:: 

(Bs3q61~115qzzBDD D D ACFA&1:: 

(<2c#a&!nq&8!#<	

    AAq	M1ajj1QZZ???AAq	M1ajj1QZZ???!c!Rj.!QZZ8VAr!tax(!**57 7 7 7AAr
NAqzz2ajj@@@!c!Qi-AJJ71Q37#QZZ02 2 2 2!c!A#'1o-q!**=1Q37+QZZ8: : : :!c!A#qk/1ajj91Q37+QZZ8: : : : #adC.1,a<(6!SUQY/<VAs1urz*AJJ7VAs1urz*AJJ7VAs1urz*AJJ7VAs1urz*AJJ7VAs1urz*AJJ7VAs1us{+QZZ8VAs1us{+QZZ8:; ; ; ; AAqD!$a4

BBB#adB-",a<(6!RTAX.

;VAr!tax(!**5VAr!tby)1::6VAr!tby)1::689 9 9 9 #adB-",a<VAr!tax(!++68 8 8 8#b!eR.2-q!**=VAqsQw'57 7 7 7#adA,*Aqzz:VAqsQw'57 7 7 7#adA,*Q

;VAqsQw'57 7 7 7#a!Q$i+a/AJJ?&L#acAg,s1v:M9NJJ- #++'()

45 5 5 5 C1aL1$a4

BBB#adA,*Aqzz:VAqsQw'46 6 6 6#adA,*Aqzz:(6!QqS1W-qzz:VAqsQw'467 7 7 7 !c!A#'1o-q!++>&AaC!G"4ajjA1;;OQ Q Q Q C1IM1ajj1JJ  C!QK!OQ

 

(Bs1Q3{Q2AJJ?AA A A CAqMA%q!** 

(Bs1q5!}q0!4ajjACC C C
 #adB-",a<(6!RTAX.

;VAr!tby)1::689 9 9 9 #aeR.2-q!**=VAr!tby)1::68 8 8 8 	T"AAAAA!c!$q&!n,a<VAz!|c12AKK@B B B B!c!$q&!n,a=&JqL3,>"?MKK    !c!ac(1*a00!QZZ@&JqL2,=">LJJ    AA!aLNA..1::>!**LLL!c!!e*Q,22AqzzB&JqL3,>"?MJJ   r   c            
         [        [        [        S[        S5      S-  -  5      [        [        [        -  S[        S5      -  5      /[        [        5      [        S[        S5      S-  -  SS[        S5      S-  -  -  45      :X  d   eg )Nr   r   r  r   r   )rr   r   r   r   r   r4   rT   r   r   r   test_issue_17276r    sq    1a!A$q&k*BqsBtAwJ,?@!QGAaDFRAaDG_-./ / /r   c                  h   [        S5      n [        S5      n[        S5      n[        [        X-   5      [        U 5      -
  U5      R	                  [        S5      5      [        [        [        USU-  [        -  5      [        R                  5      [        [        R                  [        [        U[        * [        SU-  [        -  [        [        S[        -  U -  5      * 5      -   -  S[!        U 5      -  -   -  5      [        R                  5      5      5      R	                  [        S5      5      :X  d   eg )Nr   r~   r   r   r&  zx,n)r   r   ro   rD   r   rW   rQ   r   r   r   r   rU   r  r   r   r%   r    )r   r~   r   s      r   test_issue_10426r    s    c
AsAc
ASZ#a&(!,66uSzBu1Q3r6"AJJ/Q[[(6!aRAaCFS#bQRdSTf+EV<V9WZ[\^_`\aZa9a5b+c	

# 	H  xe-. . .r   c                  t    [        [        [        5      S-
  [        -   5      [	        S[        -   5      :X  d   eg)z,Test solveset for simple conjugate functionsr   N)ro   r#   r   r   rT   r   r   r   test_solveset_conjugater    s+    IaL!Oa'(Ia!e,<<<<r   c                     [        S5      [        S5      -   n U u  pp4pVpxpppnnnnnnnnnnnnnn/ X-   U-   U-   S-
  PX-   U-   U-   S-
  PX4-   U-   U-   S-
  PX-   U-   U-   S-
  PX#-   U-   U-   S-
  PXV-   U-   U-   S-
  PXV-   U	-   U
-   S-
  PX-   U-   U-   S	-
  PX-   U-   U	-   S
-
  PX-   U-   U
-   S-
  PX-   U	-   U
-   S-
  PX-   U	-   U
-   S-
  PX-   U-   U-   S-
  PX-   U-   U	-   S-
  PX-   U-   U
-   S-
  PX-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUU-   U-   U-   S-
  PUS-
  PUS-
  PUS-
  PUS-
  PUS-
  PUS-
  PUS-
  PUS-
  PnSU-
  US-
  S	U-
  USU-
  US-   SU-
  USSSSSSSSSSU* U-   S-   UU-
  S-   U* U-
  U-   S -   UU-   U-
  S!-
  S"U-
  US#U-
  US#U-
  U/n[        UU 5      u  nn [        U U5       V!V"s0 s H  u  n!n"U!U":w  d  M  U!U"_M     n#n!n"[        UU 5      U#:X  d   e[	        [        U6 5      n$[        UU 5      U$:X  d   e[        UU 4U 5      U$:X  d   eUR                  U 5      u  n%n&[        U%5      n%U$R                  [        XHUUU/U&5      5      n'[	        [        U%6 5      U':X  d   e[	        SU-
  US-
  S	U-
  USU-
  US-   SU-
  USSSSSSSSSSU* U-   S-
  UU-
  S -   SU-
  US"U-
  US#U-
  UU* U-   U-
  S -   UU-
  U-   S!-   45      n([        UU 5      U(:X  d   eg s  sn"n!f )$Nzx0:16zy0:12r  .   '   r  #   "   r  r  ,   r  r  5   8   r  4   r  0   <   r   r   r   r   r  r?  r   &   r   r'  r      r   !   r(  )r   ri   r   re   rT   r   rj   gauss_jordan_solver   r   rr   ))	variablesrF  r(  r*  r>  r?  x5x6x7x8x9x10x11x12x13x14x15y0r  r   r  y4y5y6y7y8y9y10y11rN  expectedr  r   r  r  solve_expectedlinsolve_expectedgj_solvenew_varsgj_expectednonlinsolve_expecteds)                                            r   test_issue_18208r    s    77#33I7@5BBBBBCcSBBBBC"27R<"r! "7R<"r!"7R<"r!" 7R<"r!" 7R<"r!	"
 7R<"r!" 7R<"r!" 9r>B#" 8b=2"" 8b=2"" 9r>B#" 9r>B#" 9s?S 2%" 9s?R"$" 9s?R"$" 9s?S 2%"  7R<"r!!"" 7R<"r!#"$ 7R<"r!%"& 7R<"r!'"( 7R<"r!)"* 7R<"r!+", 7R<"r!-". 9r>B#/"0 8b=2"1"2 8b=2"3"4 9r>B#5"6 77"8 79": 7;"< 7="> 7?"@ 8A"B 7C"D 7E"CH Rb"r'2rBwQR2q!Q1b"b3$)a-rBr	B#S2X]Q%6RR"WbS#H
 sI.DAq ),Ix(@L(@uq"AGdad(@NLi N222 "%"23C#'8888QFI&*;;;; --a0HhH~H#((bb"c-BH)MNKUH%&+555 %b2grBwRR"WbSTf&(2gr1b!Q1aRQS')cBhlBGbL"r'2rTVw&("r'2sRx"}r7I2PR7UW<Z[K[&] ^
 sI&*>>>>= Ms   ;M)M)c                     [        S5      u  pp#pEpgppppnnnnnnnnUUUUUUUUXXXVU/nU* U-  UU-  -
  U-   U-   U-   U* U-  UU-  -
  U	-   U* U-  UU-  -
  U-   U-   U* U-  UU-  -
  U-   U* U-  UU-  -
  U-   U-   U* U-  UU-  -
  U-   U-   U* U-  UU-  -
  U* U-  UU-  -
  U * UU-  -   UU-  -   U* UU-  -   UU-  -   U* UU-  -   UU-  -   U* UU-  -   UU-  -   U* U-  U	* U-  U
* U-  U* U-  U* U-  U* U-  U* U-  U* U-  U
UUUU/n[        S[        [        U5      [        S5      5      SSSSSSSSSSSXg4U[        [        U5      [        S5      5      SUSSSSSSSSSU* U-  U* U-  4S[        [        U5      [        S5      5      SUSSSSSSSSU* U-  U-  U* U-  U4S[        [        U5      [        S5      5      SUSSSSSSSU* U-  U-  U* U-  U-  Xg45      nU[        UU5      :w  d   eg )Nzja00, a01, a10, a11, l0, l1, l2, l3, m0, m1, m2, m3, m4, m5, m6, m7, c00, c01, c10, c11, p00, p01, p10, p11r   r   r  )a00a01a10a11l0l1l2l3m0m1m2m3m4m5m6m7c00c01c10c11p00p01p10p11solveforra  r   s                              r   *test_substitution_with_infeasible_solutionr:    s   qxtrnCcSRUWZ\_adfikn S#sCc3PRSH	c	BHr!C'#-	c	BHr!	c	BHs"S(	c	BHr!	c	BHs"S(	c	BHs"S(	c	BH	c	BH	sSy39$	sSy39$	sSy39$	sSy39$	c		c		c		c		c		c		c		c	




3F6 	
Jy~y|4aAq!Q1aQRTUWY^	j31631aAqRSUVXY\_[_`c[cfieijmemn	
Jy~y|4aaAq!QPQSTWYVYZ]V]^aVadgcghkckmop	
Jy~y|4aaAq!QPQTVSVWZSZ[^S^ac`cdg`ghk`kmot	C +fh////r   c                  `    [        S[        [        5      -  5      [        R                  L d   eg r   r  r   r   r   test_issue_20097r<  0  s!    Ad1gI!**,,,r   c                  z    [        [        [        S[        -  [        -   5      5      5      [	        SS5      :X  d   eg )Nr   r   )ro   r
   r4   r   rT   r   r   r   test_issue_15350r>  4  s-    Dac!e%&)B*::::r   c            
      >   [        S[        S:  4[        S[        5      S-  [        S[        5      S-  -
  [        S[        5      S-  -   S45      n [        [        S[        S:  4[        S[        5      S-  [        S[        5      S-  -
  [        S[        5      S-  -   S45      [        S:  4S5      n[        SS5      n[	        U [        SS5      -
  [        [        SS5      5      n[	        U[        SS5      -
  [        [        SS5      5      nX2:X  d   eXB:X  d   eg )Nr   r   r   r   Tr  )r7   r   r5   rV   ro   r   )r  c2correct_resultresult1result2s        r   test_issue_18359rD  8  s    	Aq1u:Aq	!c!Qik 9C1IaK GN	OB	Iq!a%j3q!9Q;Q1+Ds1ayQR{+RTX*YZ\]ab\bcen	oBa^NrHQN*Ax1~>GrHQN*Ax1~>G$$$$$$r   c                      SS[         -  S-  -  * [        [         S-  5      -  [        [         S-  -  -   n [        U [         5      (       d   e[	        U S[         [
        R                  5      [        S5      :X  d   eg )Nr   r   r  r   )r   r%   r   rv   rw   r   r  rT   )r   s    r   test_issue_17604rF  B  sc    qs2v;,s1R4y
 2":
-C3""""c1a51EEEr   c                      [        SS[        S-  -
  S-  -  [        [        R                  5      [        R                  L d   eg r  )ro   r   r   r   r   r   r   r   test_issue_17580rH  H  s1    Aq1a4x!mOQ0AJJ>>>r   c                      S[         -  S[        -  -   S-
  S[         -  S[        -  -   S-
  /n [        U [         [        5      [        [	        SS[        -  -
  5      [	        S5      -  [        45      :X  d   eg )Nr   r   r   r>  r   )r   r   rr   rT   r&   )rq  s    r   test_issue_17566_actualrJ  L  sb    a4!Q$;?AqD1a4K!O
,CsAq!YA1Hc!f0Da/H%IIIIr   c            	      x   [        S[        S-
  S-  -  S[        S-   [        S5      S-  -  -  -  S[        S-
  -  [        S-   [        S5      S-  -  -  -   S5      n [        [        R
                  " S[        SS5      * 5      [	        S[        5      5      n[        U [        [        R                  5      U:X  d   eg )Nr   r   r   r   r   r   )r   r   r   rW   rV   r  r   r   ro   r   r   )r  r  s     r   test_issue_17565rL  R  s    	Aq1uqjL!QUgajl334q!a%y!a%7ST:VW<AX7XXZ[	\B
rHQN?3Xa_
ECB177#s***r   c                      [         S-   [        [         S-  * S[         -  -
  5      -  n [        U [         [        R                  5      [        [        S5      5      :X  d   eg )Nr   r   r   r   )r   r4   ro   r   r   rT   r   )functions    r   test_issue_15024rO  X  sG    AtQTEBqDL))HHa)Ywr{-CCCCr   c                  v   [        [        [        S-
  [        [        5      /[        [        5      [        S[        [        [        S[        -  [        -  5      [        R                  5      4S[        [        [        S[        -  [        -  [        -   5      [        R                  5      45      5      (       d   eg r  )r   rr   r   rD   r   rT   rQ   r   r   r   r   r   r   r   r   test_issue_16877rQ  ]  s    a!eSV_a3Axq!A#b&(91::FGxq!A#b&2+(>

KLNO O O Or   c                  b   [        [        [        [        5      S[        -  S[        -  -
  /[        [        5      [        [        [        [        S[        -  [        -  5      [        R                  5      [        [        [        [        [        -  5      [        R                  5      4[        [        [        S[        -  [        -  [        -   5      [        R                  5      [        [        [        [        [        -  [        S-  -   5      [        R                  5      45      5      (       d   eg Nr   r   )r   rr   rD   r   r   rT   rQ   r   r   r   r   r   r   r   r   test_issue_16876rT  d  s    c!facAaCi0!Q7HVAqs2v%6

C$VAqt_ajjAC$VAqs2v{%;QZZH$VAqtbd{%;QZZHJKL L L Lr   c                     [        S5      u  p[        SSS9n[        X-  U-
  U [        R                  5      [	        U [        X-  U-
  S5      [        R                  5      :X  d   e[        SSS9u  p4X4-  n[        X-  U-
  U [        R                  5      [	        U [        X-  U-
  S5      [        R                  5      :X  d   eg )Nzx zr   T)rationalr   ze1 e2)even)r   ro   r   r   rP   r   )r   r   r   r  r  s        r   test_issue_21236rX  m  s    5>DAd#AAD1Ha)\!Rq!_agg-VVVVW4(FB
AAD1Ha)\!Rq!_agg-VVVVr   c                      [        [        S-  S[        -  -   [        S-  -
  [        [        5      -  S[        -  [        [        5      -  /[        [        5      SS1:X  d   eg )Nr   r&  )r&  r   ry  )rr   r   r   r%   r   r   r   test_issue_21908rZ  v  sV    A!ad*CF2BqDQK@!Q #V,- - -r   c                     [         [        -   S-
  [        S-  S-   /n U  Vs/ s H  n[        US5      PM     nnS[        -
  [        4S[        -   [        * 41n[	        U [         [        /5      n[	        U[         [        /5      nXTs=:X  a  U:X  d   e   e[         [        -  S-
  [        S-  S-   /nU Vs/ s H  n[        US5      PM     nn[        * [        * 4[        [        41n[	        U[         [        /5      n	[	        U[         [        /5      n
Xs=:X  a  U:X  d   e   e[	        [        [         S[         -  -   S[         -  5      /[         /5      [        [        R                  45      :X  d   eg s  snf s  snf )Nr   r   r   )r   r   r   r   rr   rT   r   r   )r  r   rz  rn  
soln_expr1soln_eq1r  r{  r  
soln_expr2soln_eq2s              r   test_issue_19144r`  {  sL   UQY1q!E"
#U2a8UC
#!eQZ!a%!%EUQF+J3A'H*U*****qS1WadQhE"
#U2a8UC
#b1"X1vEUQF+J3A'H*U*****1qs7AaC()A3/9ajj]3KKKK $ $s   E45E9c            	         [        S[        -  S[        -  S[        [        5      -  -   S-   -  [        S[        -  5      -  S[        -  [        S[        -  5      -  S[        -  [        S[        -  [        -   5      -  -   S[        S[        -  [        -   5      -  -   S-   4[        [        5      n [	        [        [
        R                  4[        [        5      * [
        R                  -
  [        45      nX:X  d   eg )Nr   r   r   )rr   r   r   r%   rT   r   r[  r   )r  solss     r   test_issue_22413rc    s    !QqS1SV8^a/0QqS91S1X!C!aL(881S1q\>IAMO1C a[CF7QVV#3Q"78D;;r   c            	      h   [        S[        [        [        S[        -
  -  S-   5      -  [        -  5      [        [        S[        -  5      [        SS[        -  [        -  5      /n U  Vs/ s H  oR
                  UR                  -
  PM     nnS1n[        [        U [        [        [        /5      U5        [        [        U[        [        [        /5      U5        [        S[        -  SS[        -  -
  -  S-   5      nS[        -  U-  S	[        -  -   n[        [        U[        5      S
S15        g s  snf )Ng}jJ@g      @r   g~jtX?gQ@)gO]p@g;fl?g~adOAgIx>g~jtXgFӭ{>r   g\adOA)r   r   r&   r   r   r   rhsr   rr   r   ro   )eqs_eqr  eqs_exprr   logterms        r   test_issue_23318ri    s    
QQ#']Q%6!77!;<
1fqj
67Q;?#F
 +11&B&H1A
BCKAq	2C8K1a)4c:%a'/B1/D)DEIJG	7	02	2BHROa)9%:; 2s   )"D/c                     [        S[        -  SS[        -  -  -
  SS[        -  -  SS[        -  -  -
  /[        [        5      [        [	        SS[        -  -  5      [	        S5      -  [
        R                  45      :X  d   eg rS  )rr   r   r   rT   r&   r   r  r   r   r   test_issue_19814rk    sr    AAaC!AqD&1qs8*;<a $c!ac(mCF&:AKK%HIJ J Jr   c                  H   [        [        [        5      * [        S-  -  S[        -  -   [        [        5      -   [        [        R
                  5      n U R                  [        S05      S[        S5      -
  S[        S5      -   1:X  d   U R                  [        S05      5       eg rv  )ro   r4   r   r   r   r   xreplacer  s    r   test_issue_22058rn    sw    
DG8AqD=1Q3&a0!QWW
=C<<AAQKT!W#==Ss||QPQF?SS=r   c                      [        S[        [        S-  [        [        S-
  * [        S-   -  5      S-   S-  -   5      -  S-
  [        [        R                  5      [        R
                  L d   eg )Nr   r   r   r  )ro   r4   r   r   r   r   r   r   r   test_issue_11184rp    s]    BtAqDD1r6AF);$<r$AA#EEFFKQPQPWPWX\]\f\ffffr   c            	         [        S5      S-  n [        S[        S-  -  [        S-  -  S[        -  -
  S[        S-  -  [        S-  -  S[        -  -
  /[        [        5      SU -  S[        -  -  [        4SU -  * S-  SU -  [	        S5      -  [
        -  S-  -
  [        -  [        4SU -  * S-  SU -  [	        S5      -  [
        -  S-  -   [        -  [        41:X  d   e[        SS[        S-  -  -
  [        S[        S-  -  S[        S-  -  -
  5      -  S[        -  [        -  [        S[        S-  -  5      -  [        S[        S-  -  5      -  /[        [        5      [        S5      * S-  S4[        S5      S-  S41:X  d   e[        SS	S
9u  p[        SUS-  -  US-  -  SU-  -
  SUS-  -  US-  -  SU-  -
  /X5      nS[        S5      S-  -  SU-  -  U4S[        S5      S-  -  * S-  S[        S5      S-  -  [	        S5      -  [
        -  S-  -
  U-  U4S[        S5      S-  -  * S-  S[        S5      S-  -  [	        S5      -  [
        -  S-  -   U-  U41nX4:X  d   eg )Nr   r   r   r   r&  r  r   r  Tr   )r   rr   r   r   r4   r   r%   r   )r   rxryr   rD  s        r   test_issue_21890rt    s   	!QA!Q$q!tac)1QT6!Q$;1+<=q!D	
AqsQAqD57QT$q'\!^A%55q8!<a4%'AqDaLN1$
$a	'+I- - - - Qq!tVSAqD1QT6)9%::
1Qs2ad7|C1a4L(*+,a178teAgq\AaDFA;4OP P PU&FB
qQwr1u}qt+Qr1uWRU]QrT-ABB
KC!QK2#qtAv;,q.1qtAv;tAw.q02
2B	6;qtAv;,q.1qtAv;tAw.q02
2B	6;=C ::r   c                  H   [        [        S-
  [        S-
  [        S-
  [        S-
  S[        -  /[        [        [        5      [        R
                  :X  d   e[        [        S-  S-
  [        [        -   [        S-  S-
  /[        [        /5      [        R
                  :X  d   eg )Nr   r   r   r&  r   )rr   r   r   r   r   r   r   r   r   r   r   test_issue_22628rv    sv    Aq1ua!eQUBqD91aCqzzQQQ1q!a%A2QF;qzzIIIr   c                  t    [        [        [        S-  5      [        -
  5      S[        R                  /:X  d   eg rn  )re   r4   r   r   r   r   r   r   test_issue_25781rx    s)    acQAqvv;...r   c                     [        S5      n [        [        S[        -  5      -  n[        U[        [        R
                  5      n[        [        [        U SU -  [        -  S-  5      [        R                  5      [        [        U SU -  [        -  S-  [        S-  -   5      [        R                  5      5      n[        [        [        [        S[        S[        -  5      S-  -  S-
  -  [        S[        -  5      -   S5      [        [        R
                  U5      5      nUR                  5       UR                  5       :X  d   eg )N_nr   r   r   r   )r   r   rA   r   r   r   rW   rQ   r   r   r   rP   r   rS   as_dummy)rz  rN  critical_pointsexcluded_pointsr  s        r   test_issue_26077r~    s    	BQqSzH'!QWW=OAbDGAI&

3AbDGAI1,-qzz:O A
1bQqS1nq !C!H,a0177O,H /":":"<<<<r   N(}  mathr   sympy.calculus.utilr   sympy.core.containersr   sympy.core.functionr   r   r	   r
   sympy.core.modr   sympy.core.numbersr   r   r   r   r   r   r   sympy.core.relationalr   r   r   r   sympy.core.singletonr   sympy.core.sortingr   sympy.core.symbolr   r   r   r$  r   $sympy.functions.elementary.complexesr   r   r    r!   r"   r#   &sympy.functions.elementary.exponentialr$   r%   r&   %sympy.functions.elementary.hyperbolicr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   (sympy.functions.elementary.miscellaneousr4   r5   r6   $sympy.functions.elementary.piecewiser7   (sympy.functions.elementary.trigonometricr8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   'sympy.functions.special.error_functionsrF   rG   rH   rI   r  rJ   sympy.matrices.denserK   r  sympy.matrices.immutablerL   sympy.polys.polytoolsrM   sympy.polys.rootoftoolsrN   sympy.sets.containsrO   sympy.sets.conditionsetrP   sympy.sets.fancysetsrQ   rR   sympy.sets.setsrS   rT   rU   rV   rW   rX   rY   sympy.simplifyrZ   sympy.tensor.indexedr[   sympy.utilities.iterablesr\   sympy.testing.pytestr]   r^   r_   r`   ra   rb   sympy.core.randomrc   r  r=  rd   sympy.solversre   r  rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r  r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r#  r)  r6  r9  rG  rJ  rV  rX  r\  r^  r`  rb  rd  rf  rh  rj  rl  rt  rw  ry  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rH  rS  rU  r_  rc  re  rl  ro  rv  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r  r   r'  r)  r,  r.  r1  r3  r5  r7  r9  r;  r=  r?  rA  rC  rE  rR  rW  r^  r`  rb  rd  rf  rh  rj  rl  ro  rq  rt  rv  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r:  r<  r>  rD  rF  rH  rJ  rL  rO  rQ  rT  rX  rZ  r`  rc  ri  rk  rn  rp  rt  rv  rx  r~  r   r   r   <module>r     s    1 ' @ @  K K K 2 2 " & 6 6 & T T G GR R R R C C :" " " "  # = 9 & + ( 0 09 9 9 # ( 6 Q Q 6 " B B B B B B B     #>	> CN CNL< )@X+:
, 	N 	N&H8Lv6 4G
B;,$1N
F,R = = 3 3B0!7
EC

!=%
+
!Ba
W2?@H(D>1E1	D3&6 Y6 Y6x_;DB9J(EVB@B28
 	6 	6 S Sl * * !^ !^H K K6,@^>( U U
C.5N
+46Er1
6l0^&(,C8@3
7
= H H..M:,&N2O4> 
> 
>UD"N%<F,80t (
](1./&H
 f, ,  g+ +$
761':226: <6D    	EA98
(
3>?*]=,*	9C4<2,-6;
2$;[R
*]N9H 4(%
HGI-=`  80(/6+ > > ; ;
2<A" . .@"J6&3(
2LBgV/
.=
O?d&0R-;%F?J+D
OLW-
L&<$J
TgJ
/=r   