
    g*                       d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZ d d	lmZmZmZmZ d d
lmZ d dl m!Z!m"Z"m#Z#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z? d dl@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZH d dlImJZJmKZKmLZLmMZM d dlNmOZO d dlPmQZQmRZR d dlSmTZT d dlUmVZV d dlWmXZX d dlYmZZZ d dl[m\Z\ d dl]m^Z^m_Z_m`Z` d dlmaZa d dlbmcZcmdZdmeZe d d lfmgZgmhZhmiZi d d!l]mjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZs d d"ltmuZu d d#lvmwZw d d$lxmyZymzZzm{Z{m|Z| d d%l}m~Z d d&lmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ dd(Zd) Zd* Zd+ Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Zd3 Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Zd? Zd@ ZdA ZezdB             ZdC ZdD ZdE ZdF ZeydG             ZdH ZdI ZdJ ZdK ZdL ZdM ZdN ZdO ZdP ZdQ ZdR ZdS ZdT Z e{dU          dV             ZdW ZdX ZdY ZezdZ             Zd[ Zeyd\             Zeyd]             Zezd^             Zd_ Zd` Zda Zeydb             Zdc Zdd Zde Zdf Zdg Zdh Zdi Zdj Zdk Zdl Zdm Zdn Zdo Zdp Zdq Zdr Zds Zdt Zdu Zdv Zdw Zdx Zdy Zdz Zezd{             Zeyd|             Zd} Zezd~             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zeyd             Zd Zd Zd Zeyd             Zd Zd Zd Zeyd             Zd Zd Zd Zd Z d Zd Zd Zd Zd Zd Zeyd             Zd Zd Z	d Z
d Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%dS )    )Qask)Add)Tuple)
DerivativeFunctiondiff)Mod)Mul)GoldenRatioTribonacciConstant)EFloatIRationaloopi)EqGtLtNe)S)DummySymbolWildsymbols)sympify)binomial)Absarg	conjugateimre)LambertWexplog)atanhcoshsinhtanh)floor)cbrtrootsqrt)	Piecewise)acosasinatanatan2cossecsintan)erferfcerfcinverfinv)Integral)AndOr)Matrix)SparseMatrix)Poly)sstr)denom)nsolvesolvesolve_linear)nfloat)solve_linear_systemsolve_linear_system_LUsolve_undetermined_coeffs)_filtered_gens_solve_lambert_lambert)
_invertunradchecksolposify_ispow	det_quickdet_perm	det_minor_simple_densdenoms)cmCRootOf)slowXFAILSKIPraises)verify_numerically)abcdekhpxyztqmR   c                 V    t           t          |           j        |fi |d          S )NT)	full_prec)rB   r   evalf)rd   noptionss      \/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/solvers/tests/test_solvers.pyNSrv   /   s1     

 ..g..$????    c                  D   t          t          d          \  } } | t                     |t                    }}t          |t          z   dz
  ||z
  dz
  g|t          |          ||dz   t          | dz
  ik    sJ t          ||t          z  z   dz
  ||gd          |d|digk    sJ t          ||dz  t          z  z   t          z
  ||gd          |t          |digk    sJ t           | d          dz
  t          dz   gd          t          d	 | d          digk    sJ d S )
Nfg         Tdictr      )mapr   rh   rE   ri   )fgfxgxs       ru   test_swap_backr   3   sF   xDAqQqTT11Q44B"q&1*b2gk*B266	R!VQa ! ! ! !bdQRt444"aQ8HHHHHb!eAg!B8$777RBN;KKKKK!!A$$(AE"...Ar11Q443C2DDDDDDDrw   c                 X    	 t          | |           dS # t          t          f$ r Y dS w xY w)NTF)rE   	TypeErrorNotImplementedError)eqsymbols     ru   guess_solve_strategyr   =   sD    b&t*+   uus    ))c            	         t          t          d          t                    sJ t          t          t                    sJ t          t          t          z   t                    sJ t          dt          z  t                    sJ t          t          t	          d          z   t                    sJ t          t          dt          dd          z  z   t                    sJ t          t          dz  dz   t                    sJ t          t          dz  dz
  t                    sJ t          t          t          z  t          z   t                    sJ t          t          t          t                    z  t          z   t                    sJ t          t          t          dz  z
  t          dz  t	          dt          dz  z
            z  z  t                    sJ d S )N   rz   r   r|   )r   r   rh   r`   r.   r   ri   r%    rw   ru   test_guess_polyr   E   s}   1q*****A'''''Q+++++1a)))))T!WWa00000QA%6!6:::::A1.....A1.....1q!-----3q66Aq11111	
QTAqDa!Q$h'(!- - - - - - -rw   c                     t          t          t                    dz   t                    sJ t          t          t          dd          z  t          t                    z   dz   t                    sJ t          dt          z  dt          t                    z
  z  t                    sJ t          t          dt          z  z   t          z   t                    sJ d S )Nr   r|   r   )r   r.   rh   r   ri   r   rw   ru   test_guess_poly_cvr   U   s    a1a11111	8Aq>>DGG#a'- - - - -1a$q''k!2A77777  QqS1a1111111rw   c            	         t          t          dz   t          dz  dz   z  t                    sJ t          t          t          dz  z
  t          dz  t          dt          dz  z
            z  z  t                    sJ t          t          t                    dz   t          t	          dd          z  t          t                    z   dz   z  t                    sJ d S )Nr   rz   r|   )r   rh   ri   r.   r   r   rw   ru   test_guess_rational_cvr   `   s    !a%!Q$(!3Q77777	
QTAqDa!Q$h'(!- - - - -  $q''A+8Aq>>0ADGG0Ka0O!PRSUUUUUUUrw   c                  F   t          t          t                    dz   t                    sJ t          dt          t                    z  t          z
  t                    sJ t          t          t                    t          t                     z   t          z
  t                    sJ t          dt          z  dz
  t                    sJ t          dt          z   dz   t                    sJ t          t
          t          t          z  z  t          z
  t                    sJ d S )Nr   rz   r|   
   )r   r%   rh   r4   ri   r`   ra   r   rw   ru   test_guess_transcendentalr   k   s    Q!Q000003q66Aq22222AaR1a" " " " "1r	1-----A
A.....!Q$
A.......rw   c            
      d   t           dt          dit           dt          z  z   dz
  dt           z  dt          z  z   dz
  ft          fdt          t          t
          t          fD                       sJ t          t           t           t                    k    sJ t          t          t           dz  dz
                      t          d          t          d           hk    sJ t          t           t          z   d	z
  t           t          z
  dz
  g          t           dt          d
ik    sJ t          t           t          t                     z
  t           d          t          t                     gk    sJ t          d          t          dt                     cxk    rg k    sn J t          ddg          g k    sJ t          t          d          gt           g          g k    sJ t          t          d            t          t          d            t          t           t           t          t          g          dgk    sJ t          t          d            t          t          d            t          t           t           t          t          g          dgk    sJ t          t          d	z
  t          h          d	gk    sJ t          t          d	z
  t           t          h          t          d	igk    sJ t          t           t          z   d	z
  t           t          g          d	t          z
  t          fgk    sJ t          t           t          z   d	z
  t           t          gd          t           d	t          z
  igk    sJ t          t           t          z   d	z
            t           d	t          z
  igk    sJ t          t          t          t           z  z   dz
  t          t          g          t          dt          dik    sJ t          t          t          z   t           z  t          z   t           z
  t          t          g          t          t            t          t           ik    sJ t          t           dz  z  t          t           z  z   t           z   t           t"          z
  dz  dt$          z  t&          z  z   dz  t$          z  z
  } t          | t"          t$          t&          gt          t          t           g          }|t"          t           dt          z  z  t&          dt          z  t           z  t          dz  z
  dt          z  z  t$          ddt          z  z  ik    sJ t          | t"          t$          t&          gd          |gk    sJ t          | t"          t$          t&          gd          t"          t$          t&          gt           dt          z  z  ddt          z  z  dt          z  t           z  t          dz  z
  dt          z  z  fhfk    sJ t          | t"          t$          t&          gt          t          t           gd          t"          t           dt          z  z  t&          dt          z  t           z  t          dz  z
  dt          z  z  t$          ddt          z  z  ik    sJ t          t          z   t           z  t          dz  z
  dz   t          t          f}t          | t          dz  t          t           z  z
  dz
  t           z  t          fgk    sJ t          t          t           z  t          dz  t           dz   z  z   d	t           z  z
  dt           z  z
  t          t          d          t          t          dz   t           z  d	t           d	z  z  z   dt           dz  z  z   dt           z  z   dz   t           dz  t           dz   z  z  igk    sJ t          ddt           z  t          z
  t          t                    z   z            g k    sJ t          t(          d            t          t          t          t                     t           z   g          t           t+          d           t          digk    sJ t          t          t                     t           z
  t          t                    t          z
  f          t           t+          d
           t          t+          d
           igk    sJ t          t          t          t                     t           z   gt           t                    t+          d           dfgk    sJ t          t           dz  t,          z
  t,                    t           dz  gk    sJ t          g t           g          g k    sJ t          t           dz  dz
  t          dz
  ft           t                    ddgk    sJ t          t           dz  dz
  t          dz
  ft          t                     ddgk    sJ t          t           dz  dz
  t.          z   t          dz
  t.          z
  ft          t.          t          t           d          t          t.          t          t           gt          t.          t.          dz   t          dt.          z
             ft          t.          t.          dz   t          dt.          z
            fhfk    sJ t          t           t          z   dz  dz
  t           t          z   dz
  g          t           t           dz   igk    sJ t          t           t          z   dz
  dt           z  dt          z  z   dz
  f          t           t           dz   ik    sJ t          t1          t           dz  d                    dgk    sJ t          dt1          t           d          gt           gd          t           digk    sJ t          t1          t           t                     t1          t           d          t1          t           t           dz             gt           gd          g k    sJ t          t1          t           t           dz             t           dk     gt                     rJ t          t1          t           d          t           dz   dk     g          t1          t           d          k    sJ t          t1          t           t                     t1          t           t           dz             gt                     g k    sJ t          dt                     g k    sJ t          t           dz
  dgt           gd          g t                      fk    sJ t          t           t           t          z   dz
  z  dz  t          dz
  t           z  t          z  dt          z  z   gdd          t           t          gdt          z
  t          ft           dfhfk    sJ t	          t          t          dz
  t           t          d	          t.          z  z
  f                                                    t           t          gk    sJ t          t           dz
  t           gt          t           fd          t          t           gt                      fk    sJ t          t           dz
  t           gt          t           hd          t           t          gt                      fk    sJ d S ) Nr   r{   rz      ro   c              3   h   K   | ],}t           |          t          t                    k    V  -d S NrE   rh   ri   ).0	containeranseqss     ru   	<genexpr>z"test_solve_args.<locals>.<genexpr>{   sL       ' 'iuYYs^^Q**c1 ' ' ' ' ' 'rw   r   r|   Timplicit*   c                  h    t          t          dz
  t          dz   ft          t          t                    S Nr|   rz   r   r   rw   ru   <lambda>z!test_solve_args.<locals>.<lambda>        ua!eQU^Q1== rw   c                  B    t          t          t          t                    S r   rE   rh   r   rw   ru   r   z!test_solve_args.<locals>.<lambda>       uQ1~~ rw   excluder   c                  h    t          t          dz
  t          dz   ft          t          t                    S r   r   r   rw   ru   r   z!test_solve_args.<locals>.<lambda>   r   rw   c                  B    t          t          t          t                    S r   r   r   rw   ru   r   z!test_solve_args.<locals>.<lambda>   r   rw   r}   setF)r   simplify      c                      t          t          t                    t          t                    z   t          t                    z   t          t                    z             S r   )rE   r%   rh   r6   ri   r   rw   ru   r   z!test_solve_args.<locals>.<lambda>   s4    U3q66CFF?SVV+Cc!ff+L%M%M rw   )r   rz   )rz   rz   )rz   r           )r   check)rh   ri   alltuplelistr   	frozensetrE   r   r   r%   r.   r^   
ValueErrorr`   ra   rb   rf   rg   re   r   r$   r   rj   r   keys)r   solargsr   r   s      @@ru   test_solve_argsr   w   s   b!Q-Cqs7Q;1qs
R
(C ' ' ' ' '	c9%' ' ' ' ' ' ' 'a##s****uQTAXAaDD1Q44%=0000!a%!)QUQY'((Q1bM9999SVVQ...3q66(::::99b!**********!Q==B$q''A32%%%%
:==>>>
:--...A1v&&&1#----
:==>>>
:--...A1v&&&1#---- Q####QAQF8++++ QQF##Q
|3333QQF...Aq1u:,>>>>QAE
|++++QqS1q!f%%!Q15555!a%Q"QF++A2q!}<<<<	
1a4!A#	a!eaZ!A#a%/214	4B
Q1I1ay
1
1
1C1qb!A#hAaCEAqDL1Q3#7AqsGDDDDDaAYT***se3333aAYD)))
Qqb!A#h1Q3!A#a%!Q$,1)=>?@A A A A aAYAq	EBBB	
QB!Ha!A#a%!Q$,1-q!QqS':; ; ; ; E19q!taA%D$<adQqSj1na/344444 1q!tQU|#ac)AaC/ADAAA
q!teAg!Q$AqD(1Q3.3adAElC	DEF F F F AaC!Gc!ff$%&&",,,,
MMO O O !SVVaZ!!q8A;;,1&=%>>>>>	Q!SVVaZ " "'(8B<<-Xb\\M&J%KL L L L !SVVaZ!Q''hqkk\1,=+>>>>>ABAqD6))))aS>>R!Q$(AE"Aq))gv->>>>>!Q$(AE"Aq))gv->>>>>!Q$(Q,A	*Aq!QD 
 
 
!Ql	
Aq1utAE{{l#	
Aq1ud1q5kk"$ %% % % % 1q51*q.!a%!),--1qb1f+>>>>!a%!)QqS1Q3Y]+,,QBF;;;;AqD#C5(((($1a!A3T2221vh>>>>"Q((Bq!HHbAaCjj1A3TBBBbHHHHbAaCjj!a%(!,,,,,"Q((AaCE"##r!Qxx////"Q((Bq!A#JJ'++r1111q>>R!a%!$///B;>>>>1"a!eai."QUAIaK!A#$56  $%q6QUAJA+?"@A A A A q1ua$q''!)m,--224455!Q????!a%aV...Aq6355/AAAA!a%aV...Aq6355/AAAAAArw   c            
      	   t          dt          z  dz
  t                    t          dd          gk    sJ t          t          dt          z  d          t                    t          dd          gk    sJ t	          t          t          dz  dz
  t                              t
          j         t
          j        hk    sJ t	          t          t          t          dz  d          t                              t
          j         t
          j        hk    sJ t          t          t          dz  z
  t                    t          dz  gk    sJ t          t          d          } t          t          t          dz  z
  t                    | |  dz  t          d          t          z  | z  dz  z
  |  dz  t          d          t          z  | z  dz  z   gk    sJ t          d          \  }}}}}}t          |t          z  |t          z  z   |z
  |t          z  |t          z  z   |z
  gt          t                    t          ||z  ||z  z
  ||z  ||z  z
  z  t          ||z  ||z  z
  ||z  ||z  z
  z  ik    sJ t          t
          j        t          t
          j        i}t          t          t          z
  t          t          z   ft          t                    |k    sJ t          t          t          z
  t          t          z   ft          t          f          |k    sJ t          t          t          z
  t          t          z   ft          t          g          |k    sJ t	          t          t          dz  dt          z  z
  dz
  t                              ddt
          j        z  z   t          d          ddt
          j        z  z
  hk    sJ t	          t          t          dz  dz
  dz  t          z
  t                              t          dt          t                    z             t          dt          t                    z              t          dt          t                    z
            t          dt          t                    z
             hk    sJ d S )Nr|   rz   r   a11,a12,a21,a22,b1,b2ro   r   r   )rE   rh   r   r   r   r   Oneri   r-   r.   r   r   ZeroHalfr`   )rxa11a12a21a22b1b2solutions           ru   test_solve_polynomial1r      s   1q!!Q 00000AaCQHQNN#33333uQTAXq!!""vquo5555uR1a[[!$$%%15&!%8888QT1!Q$''''	aBQT1
RCEDGGAIbLN"RCET!WWQYr\!^$;"= = = = =!()@!A!ACc3B#a%#a%-"$c!ec!emb&891a@@BR#c'CG"34BR#c'CG"34	

 
 
 
 161af%H!a%QA''83333!a%Q!Q((H4444!a%Q!Q((H4444uQTBqD[1_a(())
QY	!
QY.     uadQh]Q&**++	a$q''k		T!d1gg+...!d1gg+a$q''k!2!2 2	44 4 4 4 4 4rw   c                  <    t          dt                    g k    sJ d S )Nr   r   r   rw   ru   test_solve_polynomial2r     s!    A;;"rw   c                  ^   t          t          t                    dz
  t                    dgk    sJ t          t          t                    dz
  t                    dgk    sJ t          t          t          dd          z  dz
  t                    dgk    sJ t          t          t          dd          z  dz
  t                    dgk    sJ t          t          t                    t          t          dd          z  z   t          t          dd          z  z   t                    dgk    sJ dS )	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   rz   r   r   r|      r   N)rE   r.   rh   r   r   rw   ru   test_solve_polynomial_cv_1ar     s    
 $q''A+q!!aS(((($q''A+q!!aS((((!Xa^^#a'++t3333!Xa^^#a'++t3333a1hq!nn,,q(1a../@@!DDKKKKKKrw   c            
         t          t          dt          z  dt          t	          t                    z  z
  z  t                              t
          j        dt          dz  z  hk    sJ t          t          t          t          t          d          dz
  z  t                              t
          j        t          d          hk    sJ d S )Nr   r   rz   r|   r   )r   rE   rh   r`   r.   r   r   r-   r   rw   ru   test_solve_polynomial_cv_1br     s    uQqS!aQi-(!,,--!&!AqD&1AAAAAuQQ

Q'++,,2??????rw   c                     t          t          dt          z  z   dz
  t                    t          j        t          t          d          z  dz  z   t          j        t          t          d          z  dz  z
  gt          j        t          t          d          z  dz  z
  t          j        t          t          d          z  dz  z   gfv sJ dS )z
    Test for solving on equations that can be converted to a polynomial equation
    multiplying both sides of the equation by x**m
    r   r|   rz   N)rE   rh   r   r   r   r.   r   rw   ru   test_solve_polynomial_cv_2r     s    
 QqS1a  6Ad1ggIaK!DGG)A+!5	66Ad1ggIaK!DGG)A+!5	6	88 8 8 8 8 8rw   c                     t           dz  dt           dz  z  z
  dt           dz  z  z
  dt           z  z   dz   } t          | d	          }|D ]S}|                     t           |                                                                          }t	          |d
          sJ Tt           dz  dt           dz  z  z
  dt           dz  z  z
  dt           z  z   dz   } t          |           }|D ]}|j        t          k    sJ t          t          t           dz  dt           dz  z  z   dz             d
         d          t          t           dz  dt           dz  z  z   dz   d
                                          k    sJ d S )Nr{   n   r|   7   rz   i	  i  Fr   r   ro   r         exponent)rh   rE   subsrs   tnfuncrZ   rG   r   srress       ru   test_quintics_1r   "  sq   	1s1a4x"QT'!DF*S0AauA  ffQ  ""#qzz	1r!Q$w1a4"Q$&+AaA ! !v      %1qAv)**1->>>1qAv!1%%''))* * * * * *rw   c                     t           dz  dt           z  z   dz   } t          | d          }|D ]S}|                     t           |                                                                          }t	          |d          sJ Tt           dz  dt           dz  z  z
  dt           dz  z  z
  d	t           z  z   d
z   } t          |           }|D ]}|j        t          k    sJ t          t           dz  dt           dz  z  z
  dt           dz  z  z
  t           z   dz
            t          t           dz  dt           dz  z  z
  dt           dz  z  z
  t           z   dz
  d          t          t           dz  dt           dz  z  z
  dt           dz  z  z
  t           z   dz
  d          t          t           dz  dt           dz  z  z
  dt           dz  z  z
  t           z   dz
  d          t          t           dz  dt           dz  z  z
  dt           dz  z  z
  t           z   dz
  d          t          t           dz  dt           dz  z  z
  dt           dz  z  z
  t           z   dz
  d          gk    sJ d S )Nr{   ro   r   Fr   r   r|   rz   r   r   r   r   r   )rh   rE   r   rs   r   r   rZ   r   s       ru   test_quintics_2r   9  s0   	1r!tbAauA  ffQ  ""#qzz	1r!Q$w1a4"Q$&+AaA ! !v     A!Q$1a4'!+a/001qAv!Q$&*Q.221qAv!Q$&*Q.221qAv!Q$&*Q.221qAv!Q$&*Q.221qAv!Q$&*Q.2254 4 4 4 4 4 4rw   c                      t           dz  t           dz  z   dt          dd          z  z
  } t          |           t          |            cxk    rg k    sn J d S )Nr{   r|   rz   r   )rh   r   rE   ri   s    ru   test_quintics_3r   M  s^    	1q!ta!Q''A88uaRyy&&&&B&&&&&&&&rw   c                      t          t          dz  dt          z  z
  dz             } t          d | D                       rt          |           dk    sJ d S )Nr   rz   c              3   @   K   | ]}t          |t                    V  d S r   )
isinstancerZ   r   is     ru   r   z&test_highorder_poly.<locals>.<genexpr>U  s,      33!z!W%%333333rw   )rE   rh   r   lenr   s    ru   test_highorder_polyr   R  sR    
1qs
Q

C33s33333ECArw   c            	          t          t          t          dz  z
  t          dz  t          dt          dz  z
            z  z  t                    t          dz  gk    sJ dS )z!Test solve for rational functionsr|   rz   r   N)rE   rh   ri   r.   r   rw   ru   test_solve_rationalr   X  sM    A1H!Q$QAX!68!<<AFFFFFFrw   c                  |    t          t          t                    dz
  t          z             dt          z   gk    sJ dS )z)Test solve for simple conjugate functionsr|   N)rE   r!   rh   r   r   rw   ru   test_solve_conjugater   ]  s6    1q1$%%!a%000000rw   c            	         t          t          dz  t          dz  z
  t          t          d          t          t           it          t          igk    sJ t          t          dz  t          dz  t          t                    z  z
  t          t          d          t          t           t	          t          t                              z  it          t          t	          t          t                              z  igk    sJ d S )Nrz   Tr}   )rE   rh   ri   r%   r.   r   rw   ru   test_solve_nonlinearr   b  s    A1a...Ar7QF2CCCCCA1SVV#Q5551qbc!ffo:N;<aSVVn:M:O O O O O O Orw   c            	          t          d          } t          t          | dz  d| dz  dz
  z  z
  dd| dz  dz
  z  z
            |           g k    sJ t          t          | d| z  z   d| z            |           g k    sJ d S )Nrh   rz   r   r   )r   rE   r   rh   s    ru   test_issue_8666r   h  s    AAqD1adQh<'Q1q\)9::A>>"DDDDA!GQqS!!1%%++++++rw   c                      t          ddt          dz  z  dt          z  z   z  dz
  t                    t          dd          t          j        gk    sJ d S )Nr   rz      r   )rE   rh   r   r   r   r   rw   ru   test_issue_7228r  n  sL    Q1X!^$q(!,,"a!&0IIIIIIIrw   c                      t          t          t          dz
            t          t          dz             z   t                    t          d          gk    sJ d S )Nr|   r   )rE   r&   rh   r.   r   rw   ru   test_issue_7190r  r  sD    QqSC!HH$a((T"XXJ666666rw   c                      t          d          } | t          | dz  dz             z  }|                    |           }t          ||           g k    sJ d S )Nrh   rz   r   )r   r.   r	   rE   )rh   r   f_diffs      ru   test_issue_21004r  v  sT    A	$q!tAv,,AVVAYYFr!!!!!!rw   c                  L   t          d          } t          t          t          | t          | d          | dk    z  f          d                    }|dgk    sJ t	          t          t          | t          | d          | dk    z  f          d          | d          }|du sJ d S )Nrh   r   r   r   T)r   rE   r   r/   rP   )rh   r   s     ru   test_issue_24650r	  }  s    AbAr!Qxx1q51233Q7788A8888Iq"Q((a!e"4566::A1EEEA999999rw   c            	         t          d          \  } }}}}t          | dz
  | |z
  | d|z  z
  |dz
  g| |g          g k    sJ t          | dz
  | |z
  | d|z  z
  | dz
  g| |g          g k    sJ t          | dz
  | dz
  | |z
  | d|z  z
  g| |g          g k    sJ t          | d|z  z   dz
  d| z  d|z  z   dz
  g| |          | d|dik    sJ t          dd||dz   z  |dz   dz  dg|dz   |dz   d	|z  dz
  |dz    dgg d
g          }t          || |||          | || dz
  z  |z  |d||| dz
  z  |z  ik    sJ t          | |z   |z   |z   | |z
  g| |||          | | || ik    sJ d S )Nzx, y, z, t, nr   rz   r{   r   r   ro   r   r   )r   r   r   r   r   )r   rE   r?   rH   )rh   ri   rj   rk   rs   Ms         ru   test_linear_systemr    s   O,,MAq!Q!a%QAaCQ/!Q88B>>>>!a%QAaCQ/!Q88B>>>>!a%QAq1Q3w/!Q88B>>>>!ac'A+r!taczB/A661b!Q-GGGGAq!a%y1q51*a0QAr!tax1q515   " 	# 	#A q!Q1--	
Ar!tHQJ1aQBqD!,- - - - !a%!)a-!a(!Q155!aRQBGGGGGGrw   c                      t          g dg dg dg dg          } t          | t          t          t                    t          dt          dt          dik    sJ d S )N)r   g      .@      $@g     @)r   r   r   g      Y@)r   r  g      @g      i@)g      r   r   r   r   g      Ng      d@)r?   rH   rh   ri   rj   )r  s    ru   test_linear_system_xfailr    sp     	))))))))))))+ 	, 	,A
 q!Q**q!Qq%.HHHHHHHrw   c            
         t          d          } t           | dd           | dd          z    | dd          z    | dd          z    | dd            | dd          z
  g | dd           | dd           | dd           | dd                     | dd           | dd            | dd           | dd           ik    sJ d S )Nr`   r   r   )r   rE   )r`   s    ru   test_linear_system_functionr    s   A!!Aq''AAaGG#aa1gg-!Q7!!Aq''AAaGG9KL	!Q1a!!Aq''11Q77, ,01!Q!!Aq''11Q77QQqRSWWH/UV V V V V Vrw   c                  n    d } t          dd          D ] } | |          \  }}t          ||           !d S )Nc                   
 d| z  dz
  }t          dd          \  
}}t          d                    |           d          }t          d                    |           d          }t          d                    |dz             d          }t          
fd	t          |          D                       }g }t	          |           D ]}	|                    |                    
|	                              
|i          ||	         z
             |                    |                    
|	                              
|i          ||	         z
             ||fS )
Nrz   r   z	x, x0, x1Trealzy0_:{}zy1_:{}zc_:{}c              3   .   K   | ]\  }}||z  z  V  d S r   r   )r   ocoeffrh   s      ru   r   zLtest_linear_system_symbols_doesnt_hang_1.<locals>._mk_eqs.<locals>.<genexpr>  s/      ;;(!U5A:;;;;;;rw   )r   formatsum	enumeraterangeappendr	   r   )wyorderx0x1y0sy1srb   exprr   r   rh   s             @ru   _mk_eqsz9test_linear_system_symbols_doesnt_hang_1.<locals>._mk_eqs  sH    "qKd333	2rhoob))555hoob))555GNN57++$777;;;;ill;;;;;r 	? 	?AJJtyyA++QG44s1v=>>>JJtyyA++QG44s1v=>>>>Avrw   r   r  )r  rE   )r%  rs   r   rb   s       ru   (test_linear_system_symbols_doesnt_hang_1r&    sT      , 1c]]  Qc1 rw   c                     t          g dg dg dg dg dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg          } t          d          x}\  }}}}}}}}	}
}}}}}}}}}}i |t          d           dz  |t          d           dz  |t          d           dz  |t          d          dz  |t          d           dz  |t          d          d z  |t          d!           dz  |	t          d"           d#z  |
t          d$          dz  |t          d%           dz  |t          d&           dz  |t          d'           d(z  |t          d)          d(z  |t          d*           dz  |t          d+          d,z  |t          d-           dz  |t          d.          d z  |t          d/           dz  |t          d0          dz  i}t          | t          |d1z             z            }t	          ||          |k    sJ t          d2          }t          || z  t          |d1z             z            }t	          ||          |k    sJ d S )3N)B      '   2   X   (   %   `   r   A         r.  H   r      r   r.     L   )r   ]   "   b   ;   ,   C   J   r=  ^   G   =   <      r   rz   9   r     N   )r4  [   rC     @   r0  r)  5   M   r8  U   :   W   r*  r*  r   $   r<  rF  r|   )r=  F   ro   rI  D   +   V   S   Q   r3     .   r<     r:  rU  rE  r*  ?   r   )E   r-  r<     r<  r-  rW  rG  r7  r;  rV  Y   >   r1     &      r   r   rT  )r+     r=  r6  r8  -   r4  r6  r5  r5  r2  c   a   R   r  rV  rb  rC  rP  #   )rL  r_  ra  r,  r   rH  	   r8  Z   rd  rW  )   rQ  rT  ra  rS  r`  r,  r)  r*  )r   rZ  rO  rP  r   !   rH  rT  rS  ro   rR  K   rR  rW  rJ  r8  r\  r3  r   r)  )r   r  rz   r3  r?  4   r/  r{       3   r1  rN  O   r,  rU  rJ  rD     ri  rG  )r4  r1  r]  rK  rT  r*  rX  r5  r4  r   r   1   r.  r(  r^  rG  r|   r?  r@  rm  )rD  rd  P   rp  ro  rK  r   r.  rz   r=  6   rd  ro  /   rr  rf  re  r   rb  r-  )ro   rp  rd  rF  r7  rC  ra  rU  ra  rc  ro   r9  0   rk  r(  r)  r\  rr  rc  r.  )r\  rB  I   rI  rk  rR  r5  r^  r   r=  \   r^  rc  rO  r?  rD  ro  rg  r<  ra  )rz   rl  rB  r)  r?  r.  rU  r?  r{   rh  rc  r0  r7  rG  r0  ra  rU  r,  rY  r+  )r-  8   r   rD  rn  r9  rn  r\  r.  r5  ra  rs  r|   r   rl  r=  r9  re  T   rl  )ri  ro   rM  rn  r0  rf     rX  r)  r4  rV  r5  r=  r   rD  r/  rx  rF  r7  r   )rc  r_  r   rk  r   rz   r+  ry  rk  r6  r4  rd  rh  ru  rm  rn  rG  r|   rd  r/  )r-  r5  rk  r   r   r?  rw  rE  rd  r{   rD  rt  r   ro  r   r_  r+  r6  rR  rk  )r^  r[  rS  rQ  rD  rk  rg  rJ  rC  r   r<  r   rT  r,  rt  r/  r,  rL  ry  r|   zx:19l	   fXj"b!SBs= l	   0e7HPg%O0 l   B> tsypY/l   s LYr%9s;Ll   eAnA&d%$I%%l	    2$(Jsgw l   ydx#ZcCjGY_l	   `Jn +OKa l	   I\<e:B	W9P l	   
 _JawoZ% l	   :N1S:le)B l	   d/%pYA7qm l	   m:.v,&WCa0 l   xmKqe@ Agd5l   [iozkz l	   Nn:!=El2 l	   [R!`8rqw+ l	   [fPo/k#8o	 l	   KdLJw0jG3Y)9r l	   Rlx`[6gI l	   vJ1vBT l   xcyki&_#Ol   )]yRH--TWl   ISsf
rWl   
t[TFl	   \CQl2GB3 l	   1]* }ckkw l	   ]bSE:_jVH}S r   ri   )r?   r   r   r   rE   r   )r  symsr   r!  x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16x17x18r   r   ri   s                           ru   (test_linear_system_symbols_doesnt_hang_2r    s   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'Z 	[ 	[A* PWW]^DL2bBr"R2bSSSS
a56667\\
a34445YY 	a45556[[ 	a4556[[	
 	a56667]] 	a5667\\ 	a56667\\ 	a34445YY 	a5667\\ 	a67778^^ 	a67778^^ 	a56667\\ 	a5667\\ 	a45556[[ 	a4556ZZ  	a45556[[!" 	a5667\\#$ 	a56667\\a5667]]' C, q6$+&&&
'
'Cds""""sA
q1uvdTk***
+
+Cds""""""rw   c            
      <   t          d          } t          g dddd| z  dgdd| dz  dgg          }t          |t          t          t
          g          t
          d| dz  d	| z  z   z  t          dd
| z  | dz  d	| z  z   z  z
  t          d| z  | dz  d	| z  z   z  ik    sJ d S )Nrs   )r   rz   r   r   r   r|   rz   r   r   r   r_  r   r   )r   r?   rI   rh   ri   rj   )rs   r  s     ru   test_linear_systemLUr    s    sAq!QqS!nq"adA.>?@@A!!aAY//Ar1a4"Q$;7G23QAq!tbd{9K5K23QqS!Q$A+5F4H H H H H H Hrw   c                  (   ddl m} m} t          t	          t
                    dz
  t
                    t          d          gk    sJ t          t          | t
          z  |z   t	          t
                    dz
  z  t
                              | | z  t          d          hk    sJ t          t          t
                    t          z
  t
                    t          t                     dt          z  z   t          t                    gk    sJ t          dt          t
                    z  t          z
  t
                    t          t          dz             dt          z  z   t          t          dz            gk    sJ t          t          t          t
                    t          t
                              t
                    t          dz  gk    sJ t          t          t	          t
                    t	          t
                     z   t          z
  t
                              t          t          dz  t          t          dz  dz
            dz  z
            t          t          dz  t          t          dz  dz
            dz  z             ht          t          t          t          dz  dz
            z
            t          d          z
  t          t          t          t          dz  dz
            z             t          d          z
  ht          t          dz  t          t          dz
  t          dz   z            dz  z
            t          t          dz  t          t          dz
  t          dz   z            dz  z             hfv sJ t          t	          t
                    dz
  t
                    t          d          gk    sJ t          t          t	          t
                    d          t
                    t          d          gk    sJ t          t          t
                    dz
  t
                    t	          d          gk    sJ t          t          dt
          z            dz
  t
                    t          dd          gk    sJ t          dt
          dz   z  t
                    g k    sJ t          ddt
          z
  z  t
                    g k    sJ t          t
          dt
          z  z   t
                    t!          t          d                     t          d          z  gk    sJ t          dt
          z  dz   t          dt
          z  dz
            z   t
                    t          dd          t!          dt	          t          dd                    z  dz            dz  z   gk    sJ t          dt
          z  t          dt
          z            z   t
                    t!          t          dd                    dz  gk    sJ t          t          dt
          z  d	z   d	t	          t
                    z   z  t
                              t#          d
          t          d	          t          t$          z  z   hk    sJ dt	          dt
          z  dz             z  dz
  t          t
                    }t'          |          dk    rt)          fd|D                       sJ t          dt          dt
          z  dz             z  dz
  t
                    t	          t          dd                    dz
  dz  gk    sJ t          t	          t
                    dz   t
                    t          t$          z  gk    sJ ddt
          z  dz   dz  z  dddt
          z  dz   z  z  z
  t          t
                    }t          d           }dt          dd          z  }t          dd|z  dz  z            }t          d          }t          d          }|t          |dz
            z  }	|dz   }
ddt          d          z  z  }| }|t          |dz
            z  }|dz   }||dt!          ||	 |
z   z            z  z
  z  ||dt!          ||	|
z   z            z  z
  z  ||dt!          |||z
  z            z  z
  z  ||dt!          |||z   z            z  z
  z  ||dt!          t          dd|z  dz  z                       z  z
  z  g}||k    s
J |            t                                          t
                    |k    sJ t          t,          t          t
                    z  t          z
  t
                    t          t          t,          z             dt          z  z   t          t          t,          z            gk    sJ t          t,          t          dt
          z            z  t          z
  t
                    t          t          t,          z             dz  t          z   t          t          t,          z            dz  gk    sJ t          t,          t          t          t
                              z  t          z
  t
                    t          t/          t          t          t,          z                      z
  t/          t          t          t,          z            dt          z  z
            t          z   t/          t          t          t,          z            dt          z  z
             t/          t          t          t,          z                      gk    sJ t          t,          t          t
                    z  t
                    t          dz  t          t          dd          z  gk    sJ t          t          |t
          z  | t
          z   z  z
  t
                    |  t          z  t          |z
  z  g| t          z  |t          z
  z  gfv sJ t          t          |t	          | t
          z            z  z
  t
                    | t          t          |z            z  gk    sJ t          t          |d| t
          z  z   z  z
  t
                    |t          z
  | t          z  z  gt          |z
  | t          z  z   gfv sJ t          t          | t
          |z  z  z
  t
                    t          | z  d|z  z  gk    sJ t          t,          t
          z  t          z
  t
                    t          t                    t          t,                    z  gk    sJ t          dt
          z  dz
  t
                    dt          d          t          d          z  z   gk    sJ t          t
          t          z            t
          dit          digk    sJ t          t
          t          z  g          t
          dit          digk    sJ t          t
          t          z  dz
            t
          dit          digk    sJ t          t
          t          z  dz
  g          t
          dit          digk    sJ t          t
          t          z  t
          dz  t          dz  z
  z            t
          dit
          t           it
          t          it          digk    sJ t          t
          t          z  t
          dz  t          dz  z
  z  g          t
          dit
          t           it
          t          it          digk    sJ t          t	          t          d          t
          z            dt
          z  z
  t
                    dgk    sJ t          t	          t          d          t
          z            t	          t          d          t
          z            z
  t
                    dgk    sJ t1          d          t          t           t          d          t
          z            z  t           t          d          t
          z            z  z
  t
                    dgk    sJ t           t
                     d          z
  t
                    dgk    sJ t           t
                     dt
          z
            z
  t
                    dgk    sJ t3          t4          fd           t3          t4          fd           t3          t6          fd           t3          t6          fd           t3          t4          d            t3          t4          d            t          t          t          t
                                        dt          dz  gk    sJ t9          ddd          \  } }t;          t          t          | dt          t          |z            dz  z
            |                    dk    sJ t          t          dt
          z  z  t,          z
  t
                    t          t                    t          t,                    z  gk    sJ t          dt
          z            t          dt
          z            t          t
          t          dz  z
            fD ]x}t          t          t
                    t#          d          dz  z
  |t          z
  g          }|d         t                   |d         t                   z   j        sJ ||f            yt          t          d t
          z            t"          j        z
            t          d!z  t          d"z  gk    sJ t          t          t
          d t          z  z
            dz
  t
                    d t          z  d t          z  dt          z  z   gk    sJ t          t          t
          t          z   t,          z             dz
  t
                    t           t,          z
  t           t,          z
  dt          z  z   gk    sJ t          t          t
          t          dz  z                       t           dz  dt          z  dz  gk    sJ d S )#Nr   r`   ra   r|   rz   r   r   r{   ir  c              3   ~   K   | ]7}                     t          |                              d           dk    V  8dS T)chopr   Nr   rh   rs   r   r`   r   s     ru   r   z,test_solve_transcendental.<locals>.<genexpr>+  B       N NQAd!;!;q!@ N N N N N Nrw   r   r   r   rf  ia	  r   r   r   c                  p    t            t          t                      dd          z
  t                    S Nr   rz   r   r   s   ru   r   z+test_solve_transcendental.<locals>.<lambda>g  s*    aa1gg!Q.?(C(C rw   c                      t            t          t                      dt          z
  d          z
  t                    S Nrz   r   r  s   ru   r   z+test_solve_transcendental.<locals>.<lambda>h  s.    aa1gg!a%.CQ(G(G rw   c                  ~    t            t          t                      dt          z
            z
  t                    S Nr   r   r  s   ru   r   z+test_solve_transcendental.<locals>.<lambda>i  s,    uQQq!WWqqQxx%7;; rw   c                  n    t            t          t                      d          z
  t                    S r  r   r  s   ru   r   z+test_solve_transcendental.<locals>.<lambda>j  s'    uQQq!WWqqtt^Q77 rw   c            	          t          t          t                    t          t          t                              z  t          t                    t          t          t                              z  z   dz
            S Nr|   )rE   r)   rh   r(   r   rw   ru   r   z+test_solve_transcendental.<locals>.<lambda>p  sJ    d1ggd477mm#d1ggd477mm&;;a?@@ rw   c                  b    t          t          dz   t          z  t          z  dz
  t                    S Nrz   r|   r   r   rw   ru   r   z+test_solve_transcendental.<locals>.<lambda>t  s!    q1uqjlQ.>(B(B rw   za, bTF)r  negative      ?zP[2.0 - 0.318309886183791*acos(1.0 - 2.0*a), 0.318309886183791*acos(1.0 - 2.0*a)]  i  X  ) 	sympy.abcr`   ra   rE   r%   rh   r&   r   r4   ri   r0   r   r   r6   r.   r   r$   r   r   r   r   expandrj   r1   r   r^   r   r   r   stris_Rationalr   )r`   ra   r   resultr   r!  r|  r}  r~  r  r  r  r  r  r  yir   r   r   s                    @@ru   test_solve_transcendentalr    sC   Q!QCFF8++++uacAgA
+Q//00aRT3q66NBBBBQ!QT!WWHqtOT!WW#=====3q66Aq!!tAaCyyj1R4&7ac%CCCCCCFFCFF##Q''BqD61111uSVVc1"gg%)1--..AaC$q!tax..""##AaC$q!tax..""##4 	AQTAX#a&&(AQTAX#a&&(* 	AaC$AA''))**AaC$AA''))**,3- - - - - Q!QCFF8++++CFFA""s1vvh....Q!QCFF8++++acQ""xA&77777QUQ2%%%%QUQ2%%%%QT18CFF#3#3"3CFF":!;;;;;1q3qsQw<<'++	!Q(1S#q)9)9%:%:#:1#<==a?	?@A A A A1s1Q3xx##!Q(@(@(B'CCCCCuacAgCFF
+Q//00QrUUCFFRTM4JJJJJ	
3qsQw<<!	B
A,,Cs88q==S N N N N# N N NNN===3qsQw<<!#Q''S!Q-@-@1-Da,G+HHHHHQ!QBqD6))))	
AaC!Ga<!A!aL.	(B2q\\F
d))B	
HQNN	B	Q2b\		B	aB	aB	DaLLB	aB	
Ac!ffHB
B	DaLLB
q&CrAhrB38}----.rAhr27|,,,,-rAhr38}----.rAhr38}----.rAhA"QK 0 0011112	4C
 S===&===a  F****3q66Aq!!tAaCyyj1R4&7ac%CCCCC3qs88a##ac
1r(94!99Q;'GGGGG3s1vv;;"A&&
T$qs))__d4!99qt#344r9	d1Q3ii!B$		d1Q3ii+2 2 2 2 2 3q661"Q$8Aq>>(9!::::: QqS!a%[!$$1"Q$A,!A#q1u+(GGGGGQs1Q3xxZ###ac((
|3333QAaC[!$$1q51Q3-a!eac];K:L(MMMMMQq!tVQQqSAaCL>1111A1#a&&Q-0000AA1s1vvc!ff}#4"555551::1a&1a&)))))!A#<<QFQF+++++A??1v1v.....!Q$(!Q!Q 000001adQTk"##AQB!Q!Q'HHHHH!A#q!tad{#$%%1a&1qb'Aq6Aq6)JJJJJSVVAXA%q))aS0000SVVAXSVVAX.22qc9999A11SVVAX;;11SVVAX;;.22qc99991!a  QC''''1!a%!$$++++
 C C C CDDD
 G G G GHHH
:;;;;<<<
:7777888  !A !A B B B  B BCCC T!WW1b!e*,,,, 6u555DAquR3RT1,--q1122Z[ [ [ [ QqSAq!!c!ffSVVm_4444 1Q3xxAaCQAX/ = =SVVadd1f_b1f-..Aq	CF1I%2<<RH<<<<T!Vqv%&&2d7BsF*;;;;;QaZ1$a((T!VT!Vad],CCCCCQUQY!#Q''QBFQBFQrTM+BBBBB QAXRCE1R46?222222rw   c            	         t          d          }  t          d          |           } t          d          |           }t          d          \  }}}}}}t          ||z  ||z  z   |z
  ||z  ||z  z   |z
  g||          }	|	|||z  ||z  z
  ||z  ||z  z
  z  |||z  ||z  z
  ||z  ||z  z
  z  ik    sJ t          |dz
  |          dgk    sJ t          d|z  dz
  |          t	          dd          gk    sJ t          | |j        |           z  | |j        |           z  z   |z
  | |j        |           z  | |j        |           z  z   |z
  g |j        |            |j        |                     }	|	 |j        |           ||z  ||z  z
  ||z  ||z  z
  z   |j        |           ||z  ||z  z
  ||z  ||z  z
  z  ik    sJ t           |j        |           dz
   |j        |                     dgk    sJ t          d |j        |           z  dz
   |j        |                     t	          dd          gk    sJ d|z  dz
  d|z  dz
  h}
t          |
||h          |t	          dd          |dik    sJ t          d          }t          d	          }|dz   ||          dz  z   d|z  z
  dz
  }t          |                    |          t           ||          |                    | dz    ||          z  gk    sJ t          d          } t          d          |           }t          ||z  | |j        |           z  z   |z
  ||z  | |j        |           z  z   |z
  g| |j        |                     }	|	 |j        |           ||z  ||z  z
  ||z  ||z  z
  z  |||z  ||z  z
  ||z  ||z  z
  z  ik    sJ t          d          }t          d	          }t           ||                              |           ||                              |d          z   dz
   ||                              |           ||                              |d          z
  g ||                              |           ||                              |d                    }	|	 ||                              |d          t          d          dz   ||                              |          t          d          dz  ik    sJ t           ||                              |d           ||                              |d          z   dz
  d ||                              |d          z
   ||                              |d          z
  d ||                              |d          z
  g ||                              |d           ||                              |d                    }	|	 ||                              |d          d
 ||                              |d          dik    sJ d S )Nrk   rh   ri   r   r   r|   rz   r   r   r   )r   r   r   rE   r   r	   r   )rk   rh   ri   r   r   r   r   r   r   solneqnsr   Fs                ru   $test_solve_for_functions_derivativesr    s   sAaAaA!()@!A!ACc3B#a%#a%-"$c!ec!emb&891a@@D	CFSVOc#gC/0	CFSVOc#gC/0    
 Q??qc!!!!1q!!Q 00000#fafQii-#fafQii-/"4c&!&))mq		M77  !'FAF1II7 7DVQVAYYR#b&3s7SW3D EAF1IIBR#c'CG*;<? ? ? ? ? Qq		**qc1111616!99q&!&)),,!Q0@@@@@aC!GQqS1WD1vAx1~~q!"=====sAA	1qqttQw1q AD1qMM**Q!}o==== 	sAaA#a%#fafQii-'",c!eq		M//  !"FAF1II/ /DVQVAYYR#b&3s7SW3D EBR#c'CG"347 7 7 7 7 	sAA!!A$$))A,,11a014aaddiillQQqTTYYqRS__6TUAaDDIIaLL!!A$$))Aq//+ +DQQqTTYYq!__add1faaddiillAaDDFDDDDD!!A$$))Aq//AAaDDIIaOO3a7QQqTTYYq!__9LAaDDIIaOO:11Q/123!A$$))Aq//11Q4499QPQ??T TDQQqTTYYq!__a11a!=======rw   c                     t          d          } t          dz   | t                    dz  z   dt          z  z
  dz
  }|                    t                    }t          | | t                                        t                              dt          z
   | t                    z  gt          dz
   | t                    z   gfv sJ d S )Nr   rz   r   r   )r   rh   r	   rE   )r   r  rd   s      ru   test_issue_3725r    s    A	1qqttQw1q A	q		AAAaDDIIaLL!!Aqqtt|n!a%16G%HHHHHHHrw   c            	         t          d          \  } }}}t          dd| |||g          }t          ddg d          }t          ddg d          }t          ||z  |z
  | |||g          | d|t          dd          |d|dik    sJ t          ||z  |z
  g| |||g          | d|t          dd          |d|dik    sJ t          t	          ||z  |          | |||g          | d|t          dd          |d|dik    sJ t          ||z  ||z  z
  g| |||g          | ||t          dd          |z  ik    sJ t          ||z  ||z  z
  g| |||g          | ||z
  |t          dd          |z  ik    sJ t          ||z  ||z  z
  ||z  ||z  z
  g| |||g          | ||d	|d	ik    sJ t          t	          ||z  ||z            g| |||g          | ||t          dd          |z  ik    sJ t          t	          ||z  ||z            g| |||g          | ||z
  |t          dd          |z  ik    sJ t          t	          ||z  ||z            t	          ||z  ||z            g| |||g          | ||d	|d	ik    sJ d S )
Na b c drz   )r   rz   r   r   )r   rz   r|   r   r   r   r|   r   r   )r   r?   rE   r   r   )r`   ra   rb   rc   ABCs          ru   test_issue_3870r    s   ##JAq!Qq!aAq\""Aq!]]]##Aq!\\\""A1q1aA,''Aq!Xb!__aAr+RRRRR!A#'Q1aL))aAxA1aQS-TTTTTAaCaAq\**q!QQAqRT.UUUUU!A#!)q!Ql++1a"a9J/KKKKK!A#!)q!Ql++1q5!Xa^^A=M/NNNNN!A#!)QqS1Q3Y'!Q1661aAq!:LLLLL"QqS!A#,,!Q1..1aHROOA<M2NNNNN"QqS!A#,,!Q1..1a!eQAq@P2QQQQQ"QqS!A#,,1Q3!-1a|<<Aq!QPQ@RRRRRRRrw   c                  V
   t          d          } t          t          t                    dk    sJ t          t          t          g          dk    sJ t          t          | g          dk    sJ t          t          t          dt          z  z
            t          t          dz  ft          dt          z  ffv sJ t          t          t          dt          z  z
  t          g          t          dt          z  fk    sJ t          dt          z  t          z
  d          t          t          dz  ft          dt          z  ffv sJ t          dt          z  t          z
  dt          g          t          t          dz  fk    sJ t          dt          z  t          z
  dt          g          t          dt          z  fk    sJ t          t          dz  t          z  d          t          t          dz  fk    sJ t          | t                    | t          ft          | ffv sJ t          t	          t                    dz  t          t                    dz  z   dz   t          z             t          d	t	          t                    dz  z
  t          t                    dz  z
  fk    sJ t          t	          t                    dz  t          t                    dz  z   dz   t          z   t          g          dk    sJ t          t          t          d                    t          dfk    sJ t          ddt          z  dz
  z            d
k    sJ t          t          dz   t          t                     z  t          g          t          dfk    sJ t          t          dz   t          t                    z  t          g          t          dz   t          t                    z  dfk    sJ t          t          t          t          dz             z  t          g          t          dfk    sJ t          dt          z  dz
            dt          z  dz
  dfk    sJ t          ddt          dz
  z  z             t          dfk    sJ t          t	          t                    dz  z  t          t          t                    dz  z  z   t          z
  }t          |          dk    sJ t	          t                    dz  t          t                    dz  z   }t          |          dk    sJ t          t          d            d S )Nwr   r   r   r   rz   r|   r   r   r   r   r   r   c                  H    t          t          t          d          d          S r  )rF   r   rh   r   rw   ru   r   z#test_solve_linear.<locals>.<lambda>  s    |Bq!HHa88 rw   )
r   rF   rh   ri   r4   r6   r   r%   r^   r   )r  r   s     ru   test_solve_linearr    sC   S		A1''''A3'''61111A3'''611111qs7##AaC1ac(';;;;;1qs7QC000Q!H<<<<!a##AaC1ac(';;;;;!aQC((Q!H4444!aQC((Q!H44441Q""q!Q$i////11a&1a&!11111A	CFFAI-1A566	
BQNSVVQY&'( ( ( (A	CFFAI-1A5sCCCvMMMM1a!!aV++++1Q37$$....QQB!555!R@@@@QA444!a%Q8KKKKK#q!te**qc222q!f<<<<1q!!adQh]2222Aq1uI&&1a&0000	
3q6619qQ{	"Q	&Bv%%%%	QSVVQY	Bv%%%%
:8899999rw   c                  	   t          t          t          dz  z  t          t          dz  z  z   t          t          z  z   dt          z  t          z  z   t          z   dz   t          t          t          gt                    t          dt          dt          dik    sJ t          t          t          z  t          t          dz   z  z   dt          z  dz   t          dz  t          z   z  z
  t          t          gt                    t          dt          dik    sJ t          t          dz   t          z  t          dz  z  t          dz   t          z  t          dz  z  z   t          dz   t          z  t          z  z   t          dz   dz  t          z  t          z  z   t          dz   dz  z   t          dz   z  t          t          t          gt                    t          dt          dt          dik    sJ t
          t          t
          z  t
          t          t
          z  z  }}} t          | z  t          |z  z   t          |z  z   | z
  d|z  z
  d|z  z
  }t          t          t          f}t          t
          f}t          ||          t          dt          dt          dik    sJ t          |||          t          dt          dt          dik    sJ t          ||g|R  t          dt          dt          dik    sJ t          t          t          z  t          z   dz
  t          g          g k    sJ t          t          dz  t          z  dt          z  z
  t          g          t          dit          digk    sJ t          dt          g          g k    sJ t          dt          gd	          g k    sJ t          dt          gd
          g i fk    sJ t          dt          g          g k    sJ t          t          z  dt          z  z
  t          z   dz
  }t          t          h}t          ||t                    t          dt          dik    sJ t          ||t          d
          t          t          gdhfk    sJ t          t          t          t          z            t          dt          z            z
  t          f          J t          t          t          z  t          t          z  z   dt          z  z
  t          t          f          t          dt          z
  ik    sJ d S )Nrz   r   r   r   r|   r   r   Tr}   r   )rz   r|   )rJ   r`   rh   ra   rb   ri   r6   )XYZr   coeffsr{  abeqr   s           ru   test_solve_undetermined_coeffsr    se   $	!Q$1a4!A#!A%)A-1ay!
 
Q1b!" " " " %QqS1a!e9_Q37QTAX
&!"A+ +/0!Ql; ; ; ; %
a%1a41q5!)AqD.	(	
Q	!
1uaik!m
$'(1uqj
134q5	:	
Aq	1  
B1a	    AqAv!qA	
1qsQqS1	qs	"QqS	(B1WFa4D$R00	1aAq5    $R66	1aAq;    $R7$777	1aAq<     %QqS1Wq[1#66"<<<<$QT!Vac\A377	
B!Q<    $Q,,2222$Q$7772====$Q6662r(BBBB$Q,,2222Q319q=1D	
AA$T1a00Q1aL@@@@$T1aT:::1vx>PPPPP$S1XXAaC%81$??GGG$QqS1Q3Y1_q!f==!QUKKKKKKrw   c                     t          d          } t          t          j        | k     | t          k               }t          | dz   dk              |k    sJ t          | dz   dk    g          |k    sJ t          | dz   dk    g|           |k    sJ t          | dz   dk    g| g          |k    sJ t          | dz  dz
  d          t          | dz  dz
  d          g}t          |          t          t          t          t          t          d           |           t          | d                    t          t          d|           t          | t          d                                        t          dd                    k    sJ t          dd          } t          | dz  dz
  d          t          | dz  dz
  d          g}t          |          t          t          t          t          d           |           t          | d                    t          t          d|           t          | t          d                                        k    sJ t          | dz
  | dz
  z  dk     |           t          t          d|           t          | d                    k    sJ t          | | dz   z  dk    |           t          t          t           |           t          | d                    k    sJ t          t          |           t          j        k              t          t          d	z  | k     | t          t          d
d	          z  k               k    sJ t          t          d| dk                         t          j        | k    | t          k     z  k    sJ t          t          d| dk                         t           | k     | dk     z  k    sJ t          t          | dk     d                    t          j        | k    | t          k     z  k    sJ t          t          | dk     d                    t           | k     | dk     z  k    sJ t          t          d|                     dk    sJ t          t          d|                     dgk    sJ t          t          d|                     dk    sJ t          t          d|                     dgk    sJ t          t          d|                      dk    sJ t          t          d|                      dk    sJ t          t!          d|                     dk    sJ t          t!          d|                     | t           k    | t          k     z  t!          | d          z  k    sJ d S )Nrh   r   rz   r   r   Tr  r|   r   r{   F)r   r=   r   r   r   rE   r   r   r>   r.   r   r6   r   r   r   r   r   )rh   r   systems      ru   test_solve_inequalitiesr     s   sA
afqj!b&
!
!CQs""""!a%!)$$$$!a%!)a  C''''!a%!)qc""c))))A1oor!Q$(A/F==Bs2tAwwh??Bq"II..2a88R477^^,,. ./1!Qxx	9 	99 9 9 9 	sAA1oor!Q$(A/F==
3r477(A1b		**C1a"QQ..,I,IJJK K K K !a%!a%1$a((C1a"Q((,C,CCCCCAEQ""c"bS!**bBii&@&@@@@@Q!&!!SA1r(1a..7H3H%I%IIIIIE1q5!!""quza"f&=====D!a%!!rcAg!a%%88888AE5!!""quza"f&=====AE4!!rcAg!a%%88888E1%''''Aq??qc!!!!D!%%%%Aq??qc!!!!EA24''''D1"%''''D!&&&&Aq??qB3w1r62R1XX=======rw   c                     t          dt          z            g k    sJ t          t          ddt          z  z
  z            dgk    sJ t          t          t          t                    z   dz
            dgk    sJ t          dt          z    dt          z   dz  z  ddt          z   z  z             g k    sJ t          t          dz   dt          z  z
  t          dz   dz  z   dz
            g k    sJ t          t          t          dz   z  dz   dz            g k    sJ t          t          t          t          dz  dz             z  t                    dgk    sJ t          t          t                    t          z
  t                    t          t                    gk    sJ t          t          t                              g k    sJ t          t          dz  t          z   t          t                    dz  z   t          t                    dz  z   dz
  t                    ddgddgfv sJ dddt          z  dz   z  z  d	z
  t          t                    } t          |           dk    rt          fd
| D                       sJ t          t          t          dz            t          dz  t          t                    z  z
  t          t          d          t          t          gt          t          t          t                    t          t          dz            z            ft          t          t          t                    t          t          dz            z             fhfk    sJ t          t          dz  t          dz  z  t          dz  t          dz  z  z
            t          t           it          t          it          digk    sJ t          t          dz
  ddt          dz
  z  z   z            g k    sJ t          t          t          t          z  z  t          z
  t                    dgk    sJ t          t          d            t          t          d            d S )Nr   r{   rz   r|   r   r   r   r   r   c              3   ~   K   | ]7}                     t          |                              d           dk    V  8dS r  r  r  s     ru   r   z"test_issue_4793.<locals>.<genexpr>T  r  rw   Tr   c                  z    t          t          t                    t          t                    z
  t                    S r   )rE   r&   rh   r%   r   rw   ru   r   z!test_issue_4793.<locals>.<lambda>[  s     c!ffs1vvoq(A(A rw   c                  `    t          dt          z  t          t                    z
  dz
            S r  )rE   rh   r%   r   rw   ru   r   z!test_issue_4793.<locals>.<lambda>\  s!    adSVVma.?(@(@ rw   )rE   rh   r.   r%   ri   r&   r6   r4   r   r   rj   r^   r   )r   r   s    @ru   test_issue_4793r  G  s   1::A!G!$$$$T!WWq!!aS((((1q51q51*$q!a%y011R7777!Q$1Az)A-.."4444!QU)a-2&''2----41q>>!1%%!,,,,Q!QCFF8++++Q==BACFFAI%A	1A5q99q"gAw=OOOOO	
1qsQw<!	B
A,,Cs88q==S N N N N# N N NNN===QTQT#a&&[(!QD999	
A
T#a&&3qAv;;&''	(1tCFFSa[[4H/I/I.I*JK>M M M M M AadQT!Q$Y&''QGaVaV+DDDDD!a%!aQi-())R////QqSAq!!aS((((
 A ABBB
 @ @AAAAArw   c                     t          t          t                              t          t          t          dz                      cxk    rdgk    sn J t          t          t          dz
                      dgk    sJ t          d          } t          d| z  t          t                    z  t                    g k    sJ t          dt          z  t          dz   z  dz
  t                    dgk    sJ t	          t          t          dz  dt          z
  z                      t                                        t          j        t          d          hk    sJ t          d	          }t          dd
t          z   |t                    z  z
   |t                    z   |t                              t          t          d
d          z  gk    sJ t          dt          d
t          z   d
          z  dz
  t                    t          dd          gk    sJ t          t          t                    t          t          t                              z   dz
            t          dd          t          d          dz  z   dz  gk    sJ t	          t          t          t          t          t                              t          t          t                               z   dz
                                t          t          d           dz   dz            t          t          d          dz   dz            hdt          t          d           dz             z  dt          t          d          dz             z  ht          dt          d          z  dz             t          dt          d          z  dz             hfv sJ t	          t          t          t          t                    t          t                     z   dz
                                t          t          d           dz             t          t          d          dz             hk    sJ t	          t          t          t          z  t          dt          z  z  z   dz
  t                              t          dd          t          d
          dz  z   dt          z  z  t          dd          t          d
          dz  z
  dt          z  z  hk    sJ t          t          t          t          z            t          t           t          z            z  dz
  t                    t          t          z
  t          d          z  gk    sJ t          t          t          z  t          t          z  z  dz
  t                    t          d          t          t                    t          t                    z   z  gt          d          t          t          t          z            z  gfv sJ t          j        }t          t          dt          z            t          d          z
  t                    dt          |t          dd          t          d          t"          z  dz  z
  z            t          |t          dd          t          d          t"          z  dz  z   z            gdt          | dz  t          d          |z  t"          z  dz  z
            t          | dz  t          d          |z  t"          z  dz  z             gfv sJ t          dd          }t          d|z  dz   |dz   z            g k    sJ d S )Nr|   r   r   r`   r   rz   r   ry  r   r{   rf  i~i  r   r   rW  r  rg   Tpositive)rE   r.   rh   r   r   r	   r   r   r   r   r-   rA   r%   r&   ri   rj   Exp1r   )r`   r   r   rg   s       ru   test_PR1964r  _  s   a>>U41::..55551#555555a!e!$$$$sAAd1ggq!!R''''1a!eq!$$++++uadAEl((++,,--!&!B%%@@@@A!ac!!A$$h,!$aadd++(1a..0@/AAAAA4Aq>>!A%q))hw.F.F-GGGGGa4Q==(1,--8B??T"XXaZ3ORS2S1TTTTTuT$s1vv,,c1"gg6:;;<<==477(Q,"##S$q''A+)9%:%:;sDGG8a<   !CQ!$4$4"45DGGa  #aQi!m"4"45	

 
 
 
 uT#a&&3r77*Q.//0011	d1ggX\		CQ!,,-. . . .uQTA!H_q(!,,--
2q//DGGAI
%1	-Q$q''!)0KqQRs/STU U U U QqS#qbd))#a'++QA/?????	1QT	Aq "1vvs1vvA783q663qs88;L:MNO O O O 	
AQqSCFF"A&&	
C8B??T!WWQYq[0122C8B??TRSWWUVYWX[;X8Y4Z4Z[	
C1tAwwqy{1}$%%sA2a4$q''!)A+a-+?'@'@A+
 
 
 
 
 	sT"""A!A#'QU#$$******rw   c                  x   t          dd          } t          | dz  dz   |           g k    sJ t          ddd          }t          |dz
  |dz   z  d|z  dz
  z  |          dgk    sJ t          dd          } t          d	          }t          | d
|z  z   dz
  d| z  d|z  z   dz
  g| |          g k    sJ t          | |z   d|dz  z
  g| |          t          d          t          d           fgk    sJ t          d	d          }t          | dz  |dz  t          |           z  z
  || d          || t          | dz            z  igk    sJ t	          dd          \  } }}t          |dz  | dz  z  |dz  |dz  z  t          |           z  z
  || |d          || t          | dz            z  igk    sJ d S )Nrh   Tr  rz   r   rs   integerr  r  ri   r{   r   r   ro   r}   zx y z)r   rE   r.   r%   r   )rh   rs   ri   rj   s       ru   test_issue_5197r    s   sAA1####sD4000A!a%!a%!A#'*A..1#5555sT"""AsA!ac'A+r!taczB/A66"<<<< 1q51q!t8$a++a477(0C/DDDDDsT"""AA1SVV#Q5551aAaCj/9JJJJJg---GAq!AadQT!Q$Ys1vv--q!QTBBB1SQRSTQTXX:FWWWWWWWrw   c                     t          t          t          t          t          t          z  z
  z  t          d                    t	          t                    t
          j        t	          t                     hk    sJ t          t          t          t          t          t          z  z
  z  t          d                    t	          t                    t	          t                     hk    sJ t          ddt          z  dz   z  dt          dz
  z  dz
  f          g k    sJ t          ddt          z  dz   z            g k    sJ d S )NFr   Tr   rz   r|   )r   rE   rh   ri   r.   r   r   r   rw   ru   test_checkingr    s   aQqSk1E***, ,04Q$q''/JK K K KuQAaC[!400011d1ggQx5HHHHH!QqS1W+q!a%y1}-.."4444AaC!G######rw   c                  
   t          t          t          dz  dz
            dz
            t          d          t          d           gt          d           t          d          gfv sJ t          dt          t          dz  t          z            z  dz   t          dz  dz   z  t                    t          t          t          dt          t          z  t          d          z  z             z             t          t          t          dt          t          z  t          d          z  z             z            gk    sJ t          d          \  } }t          d          }t          | |t          dz  z  z   t           |t                               z
   |t                              t          t          dz  | t          dz  z  |z   z            gk    sJ t          d          }t          j        }t          dt          |dt          dz  z  z             z
  t                    t          | |z              dz  t          | |z             dz  gt          | |z             dz  t          | |z              dz  gfv sJ t          t          |d	z  t          dz  z
            |z  t                    t          d
|d	z  z              t          d
|d	z  z             gt          d
|d	z  z             t          d
|d	z  z              gfv sJ t          dt          |dt          dz  z  z             z
  t                    t          | |z              dz  t          | |z             dz  gt          | |z             dz  t          | |z              dz  gfv sJ t          |dz  dz   t          |t          z            t          |t          z            z   z  t                    t           d|z  z  gk    sJ t          dt          |t          z            t!          |t          z            z   z
  t                    t          d          |z  gk    sJ t#          t          dt          |t          z            t!          |t          z            dz  z   z
  t                              t          dt          d          z             |z  t          t          d           dz             |z  t          t          d           dz
            |z  t          dt          d          z             |z  hk    sJ t          t%          t                    dz
            t'          d          gk    sJ d S )Nrz   r   r{   ro   zC1 C2r   r`   r   r   r   r|   r   )rE   r.   rh   r%   ri   r&   r   r   r   r   r   r   r  r6   r4   r)   r(   r   r2   r7   )C1C2r   r`   r   s        ru   test_issue_4671_4463_4467r    s   adQh!#$$$q''DGG8)<-1!WWHd1gg+>)@ @ @ @ @!SAa[[.1$q!tby1155	aA"SVVO$$$	%	%%tAc!ad3q66k/.B.B,B'C'C:E E E E E WFBAbAgQQqTTE

*AAaDD11c!Q$1a4":M6N6N5OOOOOsA	ASQq!tV__$a((
rAv,,q$rAv,,q.)	qb1fa$rAv,,q)-     QWq!t^$$Q&**
rAG|

	d2B<001	b1r7l		d2B<0001/4 4 4 4 4 SQq!tV__$a((
rAv,,q$rAv,,q.)	qb1fa$rAv,,q)-, , , , , !Q$(S1XXAaC011552#qs)DDDDd1Q3ii$qs))+,a00SVVAXJ>>>>uQ$qs))d1Q3iil23Q7788	R$q''\		1	c477(Q,//1T!WWHqL!ST!WW--a/	11 1 1 1 a1#a&&))))))rw   c                     t          d          \  } }t          t          | t          dz  z
  t          dz  z
  t          |          t          t          z  z
  gt          t          g                    t          | t          |          dz  z             dt          | t          |          dz  z            z  t          |          z  ft          | t          |          dz  z            t          | t          |          dz  z            t          |          z  fhk    sJ t          t          t                    t          t                    z
  dt          z  dz
  gt          t          g          t          t          t          dd                              t          dd          fgk    sJ t          t          t                    t          t                    z
  dt          t                    z  dz
  gt          t          g          t          t          t          d                               t          d           fgk    sJ t          t          t          t                    t          t                    z
  t          dz  dz
  gt          t          g                    t          t          d                     t          d           ft          t          d                    t          d          fhk    sJ t          t                    dz  t          t                    z
  t          dz  z   dt          t                    z  dz
  g}t          |d          t          t          gt          d           t          t          dt          z             t          t          d                    z
            ft          d           t          t          dt          z             t          t          d                    z
             fhfk    sJ t          |t          t          d          t          t          gt          t          t          dt          z             t          t                    z             ft          t          t          dt          z             t          t                    z              fhfk    sJ t          t          |t          t                              t          t          t          dz   t          t          d                    z
                       t          d           ft          t          dz   t          t          d                    z
            dz  t          d           fhk    sJ t          t          |t          t                              t          d           t          t          dt          z             t          t          d                    z
             ft          d           t          t          dt          z             t          t          d                    z
            fhk    sJ t          t                    dz  t          t                    z
  t          z   dt          t                    z  dz
  g}t          |d          t          t          gt          d           t          dt          z             t          t          d                    z
  fhfk    sJ t          |t          t          d          t          t          gt          t          dt          z             t          t                    z   fhfk    sJ t          t          |t          t                              t          t          t           t          t          d                    z
                       t          d           ft          t           t          t          d                    z
            dz  t          d           fhk    sJ t          |t          t                    t          dt          z             t          t          d                    z
  t          d           fgk    sJ t          t          t          dz  t          dz  z             t          d	          z
  t          t          z   dz
  fd          t          t          gt          j        t          d          ft          d          t          j        fhfk    sJ t          t          t          t          dz  t          dz  z             t          d	          z
  t          t          z   dz
  ft          t                              t          j        t          d          ft          d          t          j        fhk    sJ d S )
Nzr,trz   r   r   r|   r   Tr   r   )r   r   rE   rh   ri   r7   r.   r4   r%   r6   r&   r   r   rj   r   )r   rk   r   s      ru   test_issue_5132r    s   5>>DAqua!Q$hAos1vv!|4q!f==>>!CFFAI+4#a&&!)#4#4 4SVV ;
=!CFFAI+Qs1vvqy[ 1 1#a&& 89	;; ; ; ; #a&&3q66/1Q37+aV44
c(1a..!!
"
"HQNN	345 5 5 5#a&&3q66/1SVV8a<01a&99
s3q66{{l

c!ffW	%&' ' ' 'uc!ffs1vvoq!tax01a&99::
s1vvg,,1	SVVadd 345 5 5 5q6619s1vv1$aAhl
3C$
Q
a&&$AaCy3s1vv;;.//0
a&&4QqS	CAKK/00013 	44 4 4 4 a%%%	
A
T3qs88)c!ff$%%	&T3qs88)c!ff2D-E-E,E(FG*I I I I I uS!Q  $1us3q66{{*+++,,s1vvg6	adUSQ[[ 	!	!!	#c!ffW-	// / / / uS!Q  !ffWtS1XXICFF34445
a&&$AaCy3s1vv;;.//0	22 2 2 2 q6619s1vv!1SVV8a<
0C$QF
a&&3qs88)c#a&&kk)*-, $- - - - -a%%%	
A!c!A#hhYQ'()*+ + + + +uS!Q  $rCAKK'((())CFF73!c#a&&kk!""1$s1vvg.%0 0 0 0 0 aqs88)c#a&&kk
!CFF7	+,- - - -$q!tad{##d2hh.A	:EEE	
A!%11qu.J0 0 0 0 0ud1a4!Q$;''$r((2AEAI>1EEFF
%11qu&' ' ' ' ' 'rw   c                     t          d          \  } }}d}d}| dt          z  z   |dt          dz  z
  z  t          z  z
  |t          z  dz  t          z  z
  |dt          dz  z
  z  t          z  dt          z  z
  |t          z  z
  t          t          z   |z
  g}t          t          |g}t          t	          ||dd                    dk    sJ t          t	          ||                    dk    sJ d S )Nlam a0 conc{Gzt?̫;?rz   r   T)manualminimalr   ri   rh   r   rE   lama0concr`   ra   r   syms          ru   test_issue_5335r    s    M**MCTAA19r1qs7|A~%!Aa/q1Q3w<>AaC!A#%q54<C a*CuS#dD999::a????uS#1$$$$$$rw   Hangsc                     t          d          \  } }}d}d}| dt          z  z   |dt          dz  z
  z  t          z  z
  |t          z  dz  t          z  z
  |dt          dz  z
  z  t          z  dt          z  z
  |t          z  z
  t          t          z   |z
  g}t          t          |g}t          t	          ||d                    dk    sJ d S )Nr  r  r  rz   r   Frationalr  r  s          ru   _test_issue_5335_floatr    s     M**MCTAA19r1qs7|A~%!Aa/q1Q3w<>AaC!A#%q54<C a*CuS#...//1444444rw   c                      t          t          t          dz  t          z   dz   gt          g                    t	          t           dz
             ft	          t           dz
            fhk    sJ d S )Nrz   r   )r   rE   rh   ri   r.   r   rw   ru   test_issue_5767r    sl    uadQhl^aS))**Q<<-	D!aLL?+, , , , , ,rw   c                     t          ddd          \  } }}}}}t          ddd          \  }}}t          ddd          }	dt          d          dz  z  t          t          d          dz  z  z  |z  t          d          d	z  t          dz  |	dz  z  z   z  d
|t          d          dz  z  z  |	t          d          dz  z  z  z  dt          d          dz  z  t          t          d          dz  z  z  |z  d|t          d          dz  z  z  |	t          d          dz  z  z  z  z
  }
dt          d          z  t          z  dz  }|
||	fS )NzD, R, H, B_g, V, D_cT)r  r  zSigma_f, Sigma_a, nurh   rz   r|   i i'  r   r   r  r   d   i  )r   r   r   r.   )Drn   HB_gVD_cSigma_fSigma_anurh   r   expecteds               ru   _make_example_24609r    sN   "#9tTTTAq!S!S"#9tTTTGWb$...A	AaDDFB1aL $aiioAad
&BC
A!QK-AaDDF
#	%	AaDDFB1aL $aAaDDFmA!QK&?@	A 
 477{2~c!Hx?rw   c                      t                      \  } }}t          | |d          |gk    sJ t          |                                 |          \  }t          ||                                z
            dk     sJ d S )NTr   g+=)r  rE   rs   abs)r   r  rh   	solapproxs       ru   test_issue_24609r    sz    )++OB!Q&&&8*4444""KYy8::<<'((5000000rw   c                  r    t                      \  } }}t          t          | |                    |gk    sJ d S r   )r  r   rE   )r   r  rh   s      ru   test_issue_24609_xfailr
  %  s>     *++OB!uR||
******rw   c                     t          t          t          dz  dt          z  z   dz
  t          t          z   dz
  gt          t          g                    t          j        t	          d          fdt          d          z   dt          d          z
  fdt          d          z
  dt          d          z   fhk    sJ t          t          dz  t          z   dz
  t          dz  t          z   g          g k    sJ t          t          dz  t          z   dz
  t          t          z
  dz
  gt          t          f          t          t          dz  t          z   dz
  t          t          z
  dz
  gt          t          f          k    sJ d S )Nrz   r|   r   r{   r   )r   rE   rh   ri   r   r   r.   r   rw   ru   test_polysysr  :  sL   uadQqSj1na!eai01a&99::
%1T!WWa$q''k2	
T!WWa$q''k"	$$ $ $ $ !Q$(Q,1q)**b0000!Q$(Q,A	*QF33uad??A	>#%&F8, 8, , , , , , ,rw   c                  \  	
 t          t          d            t          t          d            t          dt                    
fd} 
fdt	          d          J  | t	          t          t                              t          g f          sJ  | t	          t          t                    dz             t          dz
  g f          sJ  | t	          t          t                    t          t          d          z   d	z             
dz  
d	z  z   d	z   

d
z  t          z
  gf          sJ  | t	          t          t                    t          t          d          z  d	z             t          dz  dz
  g f          sJ  | t	          t          t                    t          dz   t          dd          z  z             t          dz  t          dz   d	z  z
  g f          sJ  | t	          t          t                    t          t          dz             z   t          d	t          z            z             dt          d	          z  t          z  d	t          z  z
  dz   g f          sJ  | t	          t          t                    t          t          dz             z   d	z             dt          z  dz
  g f          sJ  | t	          t          t                    t          t          dz             z   t          dt          z
            z             dt          d	z  z  dt          z  z
  g f          sJ  | t	          t          t          t                    z  t          t          t                    z  z   t          t          t                    z  z   t          t          t                    z  z             t          t          t                    z  t          t          t                    z  z   d	z  t          t          t                    z  t          t          t                    z  z   d	z  z
  g f          sJ  | t	          t          t                    t          dt          z
            z             d	t          z  dz
  g f          sJ  | t	          t          t                    t          dt          z
            z   dz
            t          d	z  t          z
  dz   g f          sJ  | t	          t          t                    t          dt          z
            z   t          d	t          z             z             dt          d	z  z  d	t          z  z
  dz   g f          sJ t	          t          t                    t          dt          z
            z   t          d	t          z             z   dz
            dt          dz  z  dt          dz  z  z   dt          d	z  z  z   dt          z  z
  dz   g fdt          dz  z  dt          d
z  z  z
  dt          dz  z  z   dt          d	z  z  z
  dz   g ffv sJ t	          t          t                    t          dt          z
            z   t          d	t          z             z   t          dd	t          z  z
            z
            dt          dz  z  dt          dz  z  z   dt          d	z  z  z   dt          z  z
  dz   g fk    sJ  | t	          t          t                    t          t          dz             z             t          j        g f          sJ t          t                    t          t          dz             z   t          dt          t                    z
            z   } | t	          |          dt          d	z  z  dt          z  z
  g f          sJ t!          t#          |d                     t          j        t          dd          hk    sJ t#          |          g k    sJ t!          t#          t          t                    t          t          dz             z
  t          dt          t                    z
            z                       t          j        t          dd          hk    sJ  | t	          t          t                    t          t          dz   d          z   d	t          t                    z  z   t                    t          d!          g f          sJ  | t	          t          t          dt          z
  z            t          dz   t          dd          z  z             t          dz  t          dz  z
  t          dz  z
  d	t          d	z  z  z   t          z   dz
  g f          sJ  | t	          t          t          dt          z
  z            d	t          t                    z  z   t                    dt          z  t          z  t          z   dt          z  z
  g f          sJ  | t	          t          t                    t          dt          z
            z  d	z   t                    t          d	z  t          z
  dz   g f          sJ t#          t'          t          t          t          d
z                                 dgk    sJ t#          t'          t          t          t          dz
            z   d                    dgk    sJ t#          t'          dt          t          d	t          z  dz
            z                       g k    sJ t!          t#          t'          t          dt          z  d
z             d	z
  t                                        t          j         t          d	          hk    sJ t!          t#          t'          t          d	t          z  dz
            t          t          dz
            z
  d	                              t          d          t          d"          hk    sJ t#          t'          t          t          d#z             d	z   t          dt          z
                                d$gk    sJ t#          d	t          z  dz
  t          dd          z  dz
            dgk    sJ t!          t#          t          dz   t          t          dz  dt          dz  z  z   t          z
  d          z
                      t          d%d	          t          d%d          hk    sJ t!          t#          t          d	t          d	z  z  d#z
            dt          z
  z
                      t          d           t          d	          hk    sJ t#          t          d	t          z  dz             t          t          dz             z
  t          t          dz             z
            d&gk    sJ t#          t          t          dz             t          d	t          z  dz
            z   dt          t          dz
            z  z
            dgk    sJ t#          t          t                    t          t          d#z
            z  d'z
            dgk    sJ t#          t          t          dz
            t          t                    z   dz
            dgk    sJ t#          t          dt          d	z  z  dz             dt          z  d	z   z
            d&gk    sJ t#          t          t                    d	z
  dz
            d(gk    sJ t#          t          t          dz
            t          t                    z
  dz
            g k    sJ t#          t          t          dz
            t          z
  d#z             d)gk    sJ t#          t          t          d	z
            dz
            d*gk    sJ t#          t          d+t          z  t          t          d	z  dz
            z
            d#z
            dgk    sJ t#          t          t                    t          t          dz
            z
  t          t          t                              z             g k    sJ t          d	t          z  dz             t          t                    z  t          d	dt          z  z             z
  }t)          |          d&         }t#          |          g k    sJ t#          |          g k    sJ t#          |d
t*          z  z             t          d%d,          gk    sJ t#          |d
t*          z  z             g k    sJ t	          t          t          dz   d          t          t          d          z
            t          dz  t          dz  z
  dt          d	z  z  z
  dt          z  z
  dz
   g fk    sJ  | t	          t          t          t          d          z   t          t          d          d	z  z   t          t                    z   t                    
dz  
d	z  z   
z   t          t                    z   

dz  t          z
  gf          sJ  | t	          t          t                    t          t          d          z   t          z             
dz  
d	z  z   t          z   

d
z  t          z
  gf          sJ t#          t          t                    t          t          d          z   d	z
            dgk    sJ t          t          d-            t          t          d.            t#          t          t          t          t          d          z             t          t          t          z
  d          z   t                    t          t          t          dd          z  t          z   t          dd	          z  z   gk    sJ  | t	          t          t                    t          t          dz   d          t          t          d	z             z  z
  d	z             
d)z  d
dz  z  z   d/
d
z  z  z   d'
dz  z  z
  d0
dz  z  z
  d
dz  z  z
  d1
d	z  z  z
  d2
z  z
  d3z
  

d	z  t          z
  gf          sJ t          t          dz   d          t          t          d          z   }t	          |          d	t          z  dz   g fk    sJ t          t                    t          t          dz             z   t          dt          z
            z   d
t          d          z  dz  z
  } | t	          |          d4t          dz  z  d5t          dz  z  z   d6t          d	z  z  z   d7t          z  z
  d8z   g f          sJ  | t	          t          t          d          t          t          d          dz  z   dz
            
dz  
z   dz
  

dz  t          z
  gf          sJ  | t	          t          t          d	          t          t          d	          dz  z   dz
            t          dz  d	t          d	z  z  z   t          z   dz
  g f          sJ t	          t          d9z            J  | t	          t,          t          t          t          z   d          z   t          t          t          z   d          dz  z             
dz  
z   t,          z   

dz  t          z
  t          z
  gf          sJ  | t	          t          t          t          t          z   d          z   t          t          t          z   d          dz  z   t                    
dz  
z   t          z   

dz  t          z
  t          z
  gf          sJ  | t	          t          t          t          t          z   d          z   t          t          t          z   d          dz  z   t                    
dz  
dz  z   
z   t          z
  

dz  t          z
  t          z
  gf          sJ  | t	          t          t          dz
  d          t          t          dz   d          z   t          d	d          z             
dz  dd	t          dd          z  z  
dz  z  z   
dz  z   d)d	t          d	d          z  z  
dz  z  z   d)d	t          dd          z  z  
d	z  z  z   dd	t          dd          z  z  
z  z   dz   

dz  t          z
  dz   gf          sJ t          t          d:            t#          t          t          d          t          t          d          z   d	z
            dgk    sJ t          t                    t          t          dz             z   t          dt          z
            z   d
t          d          z  dz  z
  } | t	          |          dt          z  dz
  d;t          dz  z  d<t          d	z  z  z   d=t          z  z   d>z
  z  g f          sJ t          d?          	t#          |          	k    sJ  | t	          t          t          t          t          dz   d          z             t          t          dz   d          z
  d	z
            
dz  
d	z  z
  d
z  z
  dz
  

dz  t          z
  dz
  gf          sJ t          t          d	z  dz   d          t          t          d	z  dz
  d          z
  d	z
  } | t	          |          
dz  d)
dz  z  z
  d@
dz  z  z   dA
d	z  z  z
  dA
z  z   dBz
  

dz  t          d	z  z
  dz
  gf          sJ t          t          t          t          dz   d	          z             t          t          dz   d          z
  d	z
  } | t	          |          
d
z  d	
dz  z  z
  d#
dz  z  z
  d
dz  z  z
  dC
d	z  z  z   d
z  z   dz   

dz  t          z
  dz
  gf          sJ  | t	          |dDE          
d
z  dF
dz  z  z
  dG
dz  z  z   dH
dz  z  z
  dI
d	z  z  z   dJ
z  z
  dKz   

d	z  t          z
  t          t          dz             z
  gf          sJ  | t	          t          t          t          t          t          d          dz
            z             t          t          d
          z
  d	z
            
d'z  d	
dz  z  z
  d
d#z  z  z
  d
d
z  z  z
  
dz  z   d
dz  z  z   dL
d	z  z  z   dM
z  z   d+z   

d
z  t          z
  gf          sJ t	          t          t/          t                    d          t          z  t          t          dz   d          z  dz
            t          dNz  t          dz  t/          t                    dz  z  z
  dt          d	z  z  t/          t                    dz  z  z
  dt          z  t/          t                    dz  z  z
  t/          t                    dz  z
   g fk    sJ t	          t          dO                    J  | t	          t          dO          t                    
d	t          z  z  
z   dz   

dz  t          z
  t          z
  gf          sJ t	          t          t          j        t          z  z  t          z   t                    t          dt          z  z  t          d	z  z
  g fk    sJ t3          t#          t          t                    t          z  t          dz  z   dz
  t                              dk    sJ t3          t#          dPt          dz  z  dQt          d	z   t          dd          z  z  t          d	z  z  z   dRt          d	z   t          d	d          z  z  t          z  z
  dt          z  z
  dSz   t          dT                    dk    sJ t          dU          }t#          |t                    d	t          d	          dz  z  d*t          z  d*t          t          d	z            z  z   t          d          dz  z  z  t          d          z  dVz  dWt          z  dXz  t          dW          dXz  z   t          d          dz  z  t          d           d	z  t          d          t*          z  d	z  z
  z  z   d	t          d	          dz  z  d*t          z  d*t          t          d	z            z  z   t          d          dz  z  z  t          d          z  dVz  dWt          z  dXz  t          dW          dXz  z   t          d          dz  z  t          d           d	z  t          d          t*          z  d	z  z   z  z   d	t          d	          dz  z  d*t          z  d*t          t          d	z            z  z   t          d          dz  z  z  t          d          z  dVz  dWt          z  dXz  t          dW          dXz  z   t          d          dz  z  z   gk    sJ t          t          dz   d          t          t          d          t          t          d          z   z
  } | t	          |          d
d"z  z  d
d,z  z  z   
dz  z   dz
  

dNz  t          z
  gf          sJ  | t	          |d	z
            d
d"z  z  d
d,z  z  z   d

d)z  z  z   
dz  z   d'
dz  z  z   d

d
z  z  z   d'
dz  z  z   d'
dz  z  z   d#z   

dNz  t          z
  gf          sJ  | t	          t          t          d          t          t          dz   d          d	z  z
  t          t          d	z   d          z             
dY
dz  z  dZ
dz  z  z   d[
d#z  z  z   
d
z  z
  d\z
  z  

dz  t          z
  dz
  gf          sJ  | t	          t          t          d          t          t          dz   d          z   t          t          d	z   d          d	z  z
            dX
d"z  z  d]
d'z  z  z   dQ
d,z  z  z   dW
d)z  z  z   d^
dz  z  z
  d_
dz  z  z
  d\
d#z  z  z
  d`
dz  z  z   da
dz  z  z   db
z  z
  

dz  t          z
  dz
  gf          sJ  | t	          t          t          d          d	z  t          t          dz   d          z
  t          t          d	z   d          z             db
d"z  z  da
d'z  z  z
  d\
d,z  z  z   dW
d)z  z  z
  d`
dz  z  z   d_
dz  z  z
  dQ
d#z  z  z   d^
dz  z  z   d]
dz  z  z
  dX
z  z   

dz  t          z
  dz
  gf          sJ  | t	          t          t          d          d	z  t          t          dz   d          z
  t          t          d	z   d          z   d	z
            db
d"z  z  dc
d'z  z  z   dd
d)z  z  z   de
dz  z  z   df
dz  z  z   dg
d#z  z  z   dh
d
z  z  z
  di
dz  z  z
  dj
dz  z  z
  dk
dz  z  z
  dl
d	z  z  z
  dm
z  z
  dnz
  

dz  t          z
  dz
  gf          sJ t#          t          t                    t          t          dz             z   t          dt          z
            z
  t          d	t          z             z
            	t3          	          dk    r!t5          	d&                   d d         dok    sJ t7          dp          }|d	t          z  d	t          z  z   t          t          d	z  t          d	z  z             z   z
  }|t          d	d#          z  t          d	          |z  dFz  z
  	t#          |t          d           }t9          |          D ]u}t#          t          t          z                      t          |                              t                    t          ddq          }t?          	fdr|D                       r nvJ t#          t          t          dz             t          t          d          z   d	z
            t          ds          k    sJ t#          t          t          t          dz                       t          t          dd          z  z   d	z
            t          dt          k    sJ t#          t          t                    t          t          t                    dz   d          z   d	z
            t          du          k    sJ t          dv          } | t	          |          

d
z   t          d          
d
z  z  t*          z  z   dwd	t          d	d          z  z  dt          dd          z  z  
dz  z  z
  dxd't          dd          z  z  
dz  z  z   dyd	t          d	d          z  z  dt          dd
          z  z  
dz  z  t*          z  z
  dz
dz  z  z
  dzt          d          z  
dz  z  t*          z  z   d{d|t          dd          z  z  
d	z  z  z   d}z
  d}t          d          z  t*          z  z    z  

dz  d~t          z  z
  t          d          t          dt          d	z  z  dt          z  z
  dz             z  z
  dz   gf          sJ t#          |          g k    sJ t          t          d          t          t          d          z
  t          t          d          z   } | t	          |          
dNz  d
d"z  z  z   d
d,z  z  z   
dz  z   t          z
  

dNz  t          z
  gf          sJ t          t          d          t          t          d          z   t          t          t          z  d          z   } | t	          |          
t          z  
d'z   d
d,z  z  t          z  z
  d
d)z  z  t          d	z  z  z
  
dz  t          dz  z  z
  d
dz  z  t          d	z  z  z
  dV
d#z  z  t          dz  z  z   d
d
z  z  t          dz  z  z
  d
dz  z  t          dz  z  z
  d
dz  z  t          dz  z  z
  t          d
z  z
  z  

dz  t          t          z  z
  gf          sJ t          t          d            t'          t          t          d          dz  z   t          t          d          dz  z  z   dt          d          dz  z   d%t          d          dz  z  dt          d          dz  z  z  z
            } | t	          |          
dz   
dz  z   dt          d          dz  z  z
  d%t          d          dz  z  dt          d          dz  z  z  z
  

dNz  t          z
  gf          sJ t          t                    dz
  
t	          
d	z  
dz  z
            t          dz  d
t          d	z  z  z
  dt          z  z   dz
  g fk    sJ t	          t          t          dz   z  dz   dz  t                    J t          t          t          z
            tA          t,          t          t          t          z
            z            z  tA          t,          t          t          t          z
            z            z
  }t#          |t                    t          dz
  gk    sJ t	          |          J d S )Nc            	          t          t          t                    t          t          dz             z   t          dt          t                    z
            z   dz             S Nr   r|   )rO   r.   rh   r   rw   ru   r   ztest_unrad1.<locals>.<lambda>F  sC    d1ggQU#d1tAww;&7&77!;<< rw   c                      t          t          t                    t          dz   t          dd          z  z   dt          t                    z  z             S )Nr   r|   rz   )rO   r.   rh   r   ri   r   rw   ru   r   ztest_unrad1.<locals>.<lambda>H  s=    d1ggQ!Q//!DGG);<< rw   r   )clsc                 "   t          | d                   t          |d                   k    sJ |d         r | |          S | d                                         }|d                                         }||| fv o| d         |d         k    S Nr   r   )boolr  )rvr   rd   r`   s_checks       ru   r   ztest_unrad1.<locals>.checkO  s    BqE{{d3q6ll****q6 	$72s###qELLNNFMMOOQG|/1Q/rw   c           	      R   t          |           } | d                             t                    }t          t          |gt	          |          z                      }| d                             |                                          | d         d                             |          | d         d                             |          gf} |d                             |                                          |d         d                             |          |d         d                             |          gf}t          | d                   t          |d                   t          |d                    fv o+t          | d                   t          |d                   k    S )Nr   r   )r   atomsr   zipr   r   r  r  )r  r   rc   repsr   s       ru   r  ztest_unrad1.<locals>.s_checkW  s@   "XXqEKKCA3s1vv:&&''ejj%%''"Q%(--*=*=r!uQx}}T?R?R)ST1v{{4  ''))CF1INN4,@,@#a&)..QUBVBV+WX2a5zzc#a&kk3Aw<<88 &1JJ#c!f++%	&rw   r   r|   rz   r   r{   rH  r   r   rf  r   rU  ix  i  i  i  r  i  i	  i     rh  r-        Fr   z32*sqrt(x)*(x + 1)**(1/3) + x - 4*y + (x + 1)**(2/3)rG  r   ir   r   r   rp  r   r   rW  r2  c                      t          t          t                    t          t          d          z   t          t          dz   d          z   dz
            S )Nr|   r   r{   rz   )rE   r.   rh   r-   r   rw   ru   r   ztest_unrad1.<locals>.<lambda>  s;    d1ggQ

"T!a%^^3a788 rw   c                  v    t          t          d           t          t                    t          z  z             S r  )rE   r.   r(   rh   r   rw   ru   r   ztest_unrad1.<locals>.<lambda>  s%    tAwwha.B(C(C rw   r)  r`        rw  i	=  iȣ im i { i  r  c                      t          t          t          d          t          t          d          z   t          t          d          z                       t          t          dz  t          z
  dz                       S )Nrz   r|   r   r{   r   )rO   r-   rh   r   r   rw   ru   r   ztest_unrad1.<locals>.<lambda>  sP    tAqzzDAJJ&a399!QTAX\JJKK rw   i5  i  i i D z
        [4/5, -1484/375 + 172564/(140625*(114*sqrt(12657)/78125 +
        12459439/52734375)**(1/3)) +
        4*(114*sqrt(12657)/78125 + 12459439/52734375)**(1/3)]r*  rq  r]  ro  T)_reversery  ru          r[  rB  rl  ro   z!(x+y)**(2*y/3) + (x+y)**(1/3) + 1 @      _unradz9-x + (7*y/8 - (27*x/2 + 27*sqrt(x**2)/2)**(1/3)/3)**3 - 1rZ  i   iW  i   i  rt  i  iX  i+  i  i     i  i  i@H  i i i i Z	 i2 i` il i@HM i9  i z0.73r  r   r   c              3   P   K   | ] }|z
                                   j        V  !d S r   )r  is_zero)r   r`   r   s     ru   r   ztest_unrad1.<locals>.<genexpr>A  s6      55aC!!)555555rw   z_
        [(-11/(9*(47/54 + sqrt(93)/6)**(1/3)) + 1/3 + (47/54 +
        sqrt(93)/6)**(1/3))**3]a<  
        [(-sqrt(-2*(-1/16 + sqrt(6913)/16)**(1/3) + 6/(-1/16 +
        sqrt(6913)/16)**(1/3) + 17/2 + 121/(4*sqrt(-6/(-1/16 +
        sqrt(6913)/16)**(1/3) + 2*(-1/16 + sqrt(6913)/16)**(1/3) + 17/4)))/2 +
        sqrt(-6/(-1/16 + sqrt(6913)/16)**(1/3) + 2*(-1/16 +
        sqrt(6913)/16)**(1/3) + 17/4)/2 + 9/4)**3]z]
        [(-(81/2 + 3*sqrt(741)/2)**(1/3)/3 + (81/2 + 3*sqrt(741)/2)**(-1/3) +
        2)**2]a  
        -x + (1/2 - sqrt(3)*I/2)*(3*x**3/2 - x*(3*x**2 - 34)/2 + sqrt((-3*x**3
        + x*(3*x**2 - 34) + 90)**2/4 - 39304/27) - 45)**(1/3) + 34/(3*(1/2 -
        sqrt(3)*I/2)*(3*x**3/2 - x*(3*x**2 - 34)/2 + sqrt((-3*x**3 + x*(3*x**2
        - 34) + 90)**2/4 - 39304/27) - 45)**(1/3))   rm  f   iT  i06  r_  i`2 i2  iy  ix i,  i*  c                      t          t          t          d          t          t          d          z   t          t          t          z  d          z             S )Nr|   r{   )rO   r-   rh   ri   r   rw   ru   r   ztest_unrad1.<locals>.<lambda>g  s4    5ad1ajj04!Q<<?@@ rw   )!r^   r   r   r   rO   r.   rh   r-   r   r`   ra   rb   ri   rc   r   r   r   rE   r   r   rQ   r   rk   r(   r   r   rv   r   reversedr   r	   anyr%   )r   r   rj   rg   rd   r  r  xir  r   r   r  s            @@@ru   test_unrad1r7  D  so,   
 != != > > >
 != != > > > 	A0 0 0 0 0	& 	& 	& 	& 	& 885tAww	
B    5tAww{##	
Q    5tAwwa+a/00	
A1q1adQh-(* * * * *5tAwwtAqzz)A-..	
AB    5tAww!a%(1a..!8899	
AQ
	B! ! ! ! !5tAwwa!e,tAaCyy899	DGGA!	a	$& & & & &5tAwwa!e,q011	A2    5tAwwa!e,tAE{{:;;	
1a4!A#r    5qay1T!WW9,qay81T!WW9DEE
DGG)aQi
!	#qay1T!WW9'<q&@	@"EG G G G G5tAwwa!e,--	
1q"    5tAwwa!e,q011	
AB    5tAwwa!e,tAE{{:;;	
1a4!A#	2         a4A;;&a!e4q899	AqD3q!t8	d1a4i	'$q&	03	6;	AqD3q!t8	d1a4i	'$q!t)	3c	92>>@ @ @ @ @ a4A;;&a!e4tA!G}}DEE	AqD2ad7	SAX	%A	-	2B78 8 8 85tAwwa!e,--r{;;;;;	a4A;;	a$q''k!2!2	2B5r	AqD1Q3    uRu%%%&&168Ar??*CCCCC99????uT!WWtAE{{*T!d1gg+->->>??@@	
!R!" " " " 5tAwwa!eQ/!DGG);Q??	
@	A	A2FH H H H H5tAq1uI!a%(1a..)@@AA	
A1q!t	a1f	$q	(1	,b13 3 3 3 35tAq1uI4772A66	
1QQqS"    5tAwwtAE{{*Q.22	
AAr    
 AtAE{{##$$++++AQUOQ''((QC////Aq4!a==())**b0000uRQqS1W)1--..//QUFAaDD>AAAAuRQqS1WQU3Q778899addAbEE]JJJJDQKK!OT!a%[[1122rd::::!A#'HQNN*Q.//B47777uQUT!Q$1a4-!"3Q7778899	"a(2q//*+ + + +uT!AqD&1*%%Q/0011qtteQqTT]BBBBacAga!e,tAE{{:;;sBBBBa!etAaC!G}},qa!e}<==!DDDDaa!e$r)**rd2222a!etAww&*++s2222a1fqj!!QqS1W-..1#5555a1q!!bT))))a!etAww&*++r1111a!eq1$%%"----a!eq!!bT))))bdT!Q$(^^+,,q011aS8888a4A;;&d1gg6772==== 	QqS1Wd1ggQ1W-Aq		!A88r>>>>88r>>>>QqS>>hr2../////QqS>>Ra!eQ$q!**,--
Q$A+!Q$
1
$q
()22/ / / / / 5q41::~Q

A5Q?CC	
A1q477	"Q1qM24 4 4 4 4 5tAwwa+a/00	
A1q1adQh-(* * * * *a41::%)**qc1111
 !9 !9 : : :  C CDDDa$q!**n%%d1q5!nn4a88	QA"Xa^^33=5 5 5 5 55tAwwa!eQQU!;;a?@@	
B1a4"QT'	!Bq!tG	+bAg	5AqD	@3q!t8	KA

1qM	#$ $ $ $ $ 	QUAa#A88!a}$$$$
q''DQKK
$q1u++
-$q''	!
;B5r	q!tfQTk	!F1a4K	/&(	:V	CRHJ J J J J5tAqzzDAJJM1A566	
AA1a4!8}%' ' ' ' '5tAqzzDAJJM1A566	
A!Q$	Q	#% % % % %C==   5q4Aq>>)DQNNA,==>>	
AA1a4!8a<()+ + + + +5q4Aq>>)DQNNA,==qAA	
AA1a4!8a<()+ + + + +5q4Aq>>)DQNNA,==qAA	
A1q1	q!Q$(Q,/02 2 2 2 25tAE1~~QUA6aCDD	
A!Xa^^##AqD(	(1a4	/"QA5F2Fq!t2K	K
1hq!nnQT!
"$%a!Q&7$7$9
:<=
>@A1a4!8a<?P	RS S S S S  !L !L M M M
 ad1ajj(1,--!4444
q''DQKK
$q1u++
-$q''	!
;B5r
A#'DAIad
*VAX5=	>CE E E E E
 A B BC 995tAQUA.//$q1ua..@1DEE	
A1qs	Q	AqD1HqL 124 4 4 4 4 	QTAXqDA1---1A5q	
A1a4"QT'	!Bq!tG	+bd	2R	7	
AqD1a4K!O	     	Qa!eQ  4Aq>>1A5A5q	
A!Q$1a4	!AqD&	(2ad7	2RT	9B	>	
AqD1HqL	     5q4(((	
A1a4"QT'	!C1H	,s1a4x	7#a%	?"	D	
AqD1HtAE{{"#	%& & & & & 5tAT!QZZ!^ 4 4455Q

BQFGG	
B1a4!AqD&	 1QT6	)AqD	01QT6	9Bq!tG	C
1

q!tax=	"# # # # #
 d1ggq!!!#DQNN2Q677
R%!Q$tAwwz/
!AadF477A:$5
5!DGGQJ
F
q''1* 	<     67788@@@5q<==qAA	
QqSA	Aq!tax!|,-/ / / / / QVAX"A&&1qs8ad?B*?????
 uT!WWQYA%)1--..!3333uT!Q$Yq1ux1~~&=!=ad!BBa!ehq!nn$$Q&'),Q/14567G G G H HKLM M M M 
F	G	GBQ<<	AaDDFRTBtAqDzzM)QqTT!V44QqTT9"<Ac		#s
Add1f@ !!uQwa14@6 	6781Q446{BqD
41::E1aD! 8!!"18&&(8),/E#I	#s
-dd1f, !!uQwa14,686781Q446{BqD
41::E1aD! 8!!"18&&(8),/E#I#s
,Badd1f+M8N	O O O O O 
a!eQ41::Q

2	3B5r	
1b51QU7	QT	!A	%1b519~68 8 8 8 85rAv	
1b51QU7	Qq"uW	$q!t	+bAg	5!Q$	>AqD	H
1a4

B^	%& & & & & 5tAqzzDQNN1$44tAE1~~EFF	
DAIAqD 2ad7*QT1D8	9	
AqD1HqL	     5tAqzzDQNN2T!a%^^A5EEFF	QUT!R%Z	$q"u*	,s1b5y	8419	DQT	
AI
 $QT	
*,/1H
57:1u
=?@!Q$(	C
 ?	     5tAqzz!|d1q5!nn4tAE1~~EFF	QUSBY	ae	+c!R%i	7$q!t)	CQT	
AI
 $QT	
*,0AI
68;A
>@A1a4!8	D
 @	     5tAqzz!|d1q5!nn4tAE1~~EIJJ	QUT!R%Z	%2+	-q!t	;fQTk	Iq!t
QTk
"$+AqDL
13:1a4<
@BI!Q$,
O
!Q$,
 
#%+
,./AA->	@A A A A A Q$q1u++%QU"1q5kk* + +Cs88q==RAZZ^v5555 	sA	
acAaCi$q!tad{+++	,B
HQNN
T!WWQYr\
)Cb!5!!!Aqkk  1Q3**Q##((++QeLLL5555155555 	E	 	a!etAqzz)A-..! 5# 3$ 3$ $ $ $ $ d1q5kk""QA%66:;;q B6 @7 @7 7 7 7 7 a4Q!Q///!344 ; 9 9     
 6 
7 
7B
 5r	
adUT!WWQT\!^#c!Xa^^*;&;Ax1~~<M&MaQRd&RR
2x1~~ad"#%(HQNN):%:1hq!nn;L%LQPQT%QRS%STVZ[\^_[_V_`T!WWQT!#BA$66q!t;<>DE 	tAwwq  
 q!tc!e|d1ggd5A:q<< 7 7 /     !	"# # # # # 99????	ad1ajj	 41::	-B5rrEAaeGOa2g%1,q01aeai.AC C C C C	ad1ajj	 4!Q<<	/B5rA#2v!R%	)AaeGAqDL81a419DAvad{#%'1WQT\245adF1a4K@BCAqD&A+NAvad{#%&T* +-.1qs
O=> > > > > @@B B B 
Q1a[L1qttAv;&QqTT!Vadd1f~a!A$$q&k7Q(Q	R	RB5r
Q$AAaDDF	#rQqTT!VnQ1a[&@	@1aeai.QS S S S S 	Q!AA1!Q$1a4-!A#"5"92!>>>>>!QU)a-2&**222 
a!eS4A;;''	'#aQUm*<*<	<BQ<<AE7""""99rw   c                     t          dt          ddt          dz  z  z
            z             t          dt          ddt          ddt          dz  z  z
            z  z             z   z  z
  } t          |           t          j        gk    sJ d S )Nr   r   rz   )r.   rh   rE   r   r   r   s    ru   test_unrad_slowr:  z  s     q4AadF
###
$
$q!d1qa!AqD&j9I9I7I3I.J.J*J'K
KB99      rw   c            	         t          t          t          dz  dt          dz  z  z
  d          dz   t          z
            t          dd          gk    sJ t          t          t          dz   d          t          t          dz  dz
  d          z   dz             ddt	          t          dz  t          dz  z   dt          dz  z  z   dt          dz  z  z   dt          z  z   dz   d	          dz  z   gk    sJ d S )
Nr|   rz   r   r{   r   r   r  r   r   )rE   r-   rh   r   rZ   r   rw   ru   test_unrad_failr<    s     adQq!tVmQ''!+a/00Xa^^4DDDDDa!eQ$q!tax"3"33a788
BA1qAv-!Q$6A=A1EEqHH=J J J J J J Jrw   c            	      B   t          d          \  } }}|dz  z
  | dz  z
  }| t          |           t          t          |          dz  dz             z  t          |           t          |          z  t          t          |          dz  dz             z  i}t          ||          dk    sJ t          t	          d          di          du sJ t          t          d          di          du sJ t          t	          dk     d          di          du sJ t          t	          dk     d          di          du sJ t          t	          dk     d          di          du sJ t          t	          dk     d          di          du sJ t          t	          dz   dz  dz             di          du sJ t          dz
  dz  dz
  gd          du sJ t          dz
  dz  dz
  gd          du sJ t          t          dz  dz
            d          du sJ t          di           du sJ t          ddz
  gd          du sJ t          ddgd          du sJ t          | d          du sJ t          dz   dd	          du sJ t          dz   dd	          du sJ t          t          d
z            t          t          d          dz            i          du sJ t          t          d
z            t          t          d          dz            t          t          z  z   i          du sJ t          ddz  z  d          du sJ t          t          fd           t          t          fd           d S )Nz
x, y, r, trz   r   TFr   g|=r  	numericalrv  r{   r  c                  $    t           d          S r  rP   r   s   ru   r   ztest_checksol.<locals>.<lambda>  s    x1~~ rw   c                  &    t          g  d          S r  rA  r   s   ru   r   ztest_checksol.<locals>.<lambda>  s    xAq11 rw   )r   r.   r7   rP   r   r   rA   r%   r&   r   r   r^   r   )ri   r   rk   r   dict_var_solnrh   s        @ru   test_checksolrD    s	   &&JAq!Q	
QTAqDB$q''	DQQ$7$77	DGG8CFF?4A	A...0MB&&$....Bq%LL1e*--5555Bq%LL1e*--6666Bq1udOOaV,,4444Bq1udOOaV,,5555Bq1ue$$q!f--5555Bq1ue$$q!f--6666Bq1uadQh''!Q00D8888QUAqD1H%q!,,4444QUAqD1H%q!,,5555DANNAq))T1111Ar??d""""UAENAq))U2222S!QKA&&%////Aq!%%%%AeGQT222d::::AeGQU333u<<<<C1II3tAwwqy>>233u<<<<C1II3tAwwqy>>AbD#89::eCCCCAadFAt$$----
:----...
:111122222rw   c                     t          t          dz
            dt          fk    sJ t          d          dk    sJ t          t          dt          z            dz
  t                    dt          d          z  t          fk    sJ t          t          dt          z  t          t          z  z             dz
  t                    t          dz   t          d          z  t          fk    sJ t          t          t                    t          dfk    sJ d S )Nrz   )rz   r   r   r|   r   )rN   rh   r%   r&   r`   r   rw   ru   test__invertrF    s    1q5>>aV####1::3qs88a<###a&&!}44443qsQqSy>>A%q))q1uc!ffna-@@@@@1a==QF""""""rw   c                      t          t           t          z  dt          z  t          t                    z  z   t                    t	          t          dz            gk    sJ t          t          t          z            g k    sJ t          t          t          z  dz
            t	          t          t          d                              gk    sJ t          t          dz
  t          dz
  z  t          dz
  t          dz
  z  z            dgk    sJ d S )Nrz   r|   r   )rE   r`   rh   r&   r%   r$   r   rw   ru   test_issue_4463rH    s    !A!CFF
"A&&3qs88*4444A;;"A??s8CFF#3#344555551q51q5/a!ea!e_5661#======rw   c                     t          d          \  } }}}}}}}}}	}
}}}}}}}| |||||
|f}|||z  z   ||z  z
  |d|z  d|z  z   d|z  z   z  ||z  z
  ||z  z
  |d|z  d|z  z   d|	z  z   z  ||z  z
  ||z  z
  |d|z  d|z  z   d|z  z   z  ||z  z
  |
|z  z
  |
d|z  d|z  z   d|z  z   z  ||z  z
  ||z  z
  |d|z  d|z  z   z  |
|z  z
  g}t          t          ||ddd                    dk    sJ d S )Nza:rr   TF)r  r   r   )r   r   rE   )r`   ra   rb   rc   rd   r   r   rf   r   jre   lrm   rs   r  rg   rl   r   r{  r   s                       ru   test_issue_5114_solversrL    sj   ;B5>>8Aq!Q1aAq!Q1aAq aAq!Q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 uS$t55IIIJJaOOOOOOrw   c                     t          d          \  } }}}}}t          d          \  }}}}	}
}| |z
  |z
  ||z
  |z
  ||z   |z
  |  |z   |z   d| z  d|z  z
  d|z  z
  d|z  z
  |dz  z
  dz   | |	z   | |z   d|z  d|z  z   d|z  z   |
z
  |d|z  z
  d|z  z   |z   f	}| ||z   |d|z  d|z  z
  d	|z  z
  d
|z  z
  dz   |||z
  |	||z
  || dz  d|z  dz  z   |dz  z
  |||
d|z  d|z  z   d|z  z   ig| ||
|||||	ft          |gR ddddk    sJ t          |gR dddfdD             k    sJ t          |gR ddig k    sJ t          |gR  g k    sJ fd|D             dd||z
  | |z   dddddg	k    sJ d S )NI1:7dI1,dI4,dQ2,dQ4,Q2,Q4r   rz   r|   r   r  r  r   r   r)  TF)r  r   r~   r  r   c                 H    g | ]t          fd D                       S )c                 2    g | ]} j         ||          S r   )get)r   r   r`   s     ru   
<listcomp>z.test_issue_5849.<locals>.<listcomp>.<listcomp>  s%    &&&ququQ{{&&&rw   r   )r   r`   vs    @ru   rT  z#test_issue_5849.<locals>.<listcomp>  sD     66 66 66,-&&&&A&&&''66 66 66rw   r  c                 F    g | ]}|                     d                    S r   )r   )r   eir   s     ru   rT  z#test_issue_5849.<locals>.<listcomp>  s>        GGA    rw   r   r   rE   )I1I2I3I4I5I6dI1dI4dQ2dQ4Q2Q4rd   r   rV  s                @@ru   test_issue_5849rg    s    %V__BBB!()@!A!ACc3B 	R"
R"
R"	b2
2"qtad"SU*R/	c		c		"qtadR
QrT	AbD3
	A RB2"	qt	#b	(RbA"QQ"qtad C 	BBS#s*A<Q<<t5t<<<CCCC1Q11t5111 66 66 66 661466 66 66 6 6 6 6$Q$$$t$$****<Q<<<2     !"ArBwb!Q1a HI I I I I Irw   c                  n   t          d          \  } }}}}}t          d          \  }}}}	}
}| |z
  |z
  ||z
  |z
  ||z   |z
  |  |z   |z   d| z  d|z  z
  d|z  z
  d|z  z
  |dz  z
  dz   | |	z   | |z   d|z  d|z  z   d|z  z   |
z
  |d|z  z
  d|z  z   |z   f	}t          || ||
|||||		  	        g k    sJ dS )a  Same as test_issue_5849 but solved with the matrix solver.

    A solution only exists if I3 == I6 which is not generically true,
    but `solve` does not return conditions under which the solution is
    valid, only a solution that is canonical and consistent with the input.
    rN  rO  r   rz   r|   r   NrZ  )r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rd   s                ru   test_issue_5849_matrixri    s    %V__BBB!()@!A!ACc3B 	R"
R"
R"	b2
2"qtad"SU*R/	c		c		"qtadR
QrT	AbD3
	A BBCc3772======rw   c                     t          d          x\  } }}}}}}}| | z  |z   d|z  dz  z   d|z  dz  z   d|z  dz  z   d| z  dz  z   | |z  d|z  dz  z   |dz  z   | |z  |dz  z   |z   d|z  d	z  d|z  d	z  z   d| z  d	z  z   | |z  |dz  z   d
|z  dz  z   | z   | |z  |z   |d	z  z   | dz  z   d|z  dz  |dz  z   | z   d|z  dz  d|z  z   d| z  dz  z   | g	}| d|d|d|d|d|di| d|| |d|t          d          dz  |d|di| d|z  |d|||d|t          d          d	z  |dig}	t          ||d          }
|
|	k    sJ |
|	f            d S )Nza, b, c, d, f, g, kr{   r   rz   rf  r   r|   rG  r_  r   r   r   Tr}   )r   r   rE   )r`   ra   rb   rc   r   r   re   unknowns	equationsanswergots              ru   test_issue_21882ro    s   %,-B%C%CCAq!Q1a( 
1q1Q3q51Q3q5 1Q3q5(1Q3q50	
1qs1uqs	
1qs
Q
1R"Q$r'BqDG#	
1qs
RT!Va	
1q1R4!A#	!A!a	!A!ac!e	

I 
Aq!Q1aAq!,	
Aq1"aAqttAvq!Q2	
BqD!Q1aAquuRxA68F 	8$
/
/
/C&===3v,=====rw   c            	         t          t          d          \  } }t          d          }t           t                    t                    }t           | |          |          }t           t                     t                                        t                    z    t                              | gk    sJ t           t                    dz
   t                              dgk    sJ t           t                    d t                                        t                    z  z
   t                              d|z  gk    sJ t           t                    d t                                        t                    z  z
  g t                               t                    d|z  ik    sJ t           t                    d t                                        t                    z  z
   t                    dz  t          z
  dz   g t                    t                    d|z  d|dz  z  dz   fgk    sJ t           |          dz    | |          dz  z   |          dz   ||          dz  z  z    | |                              |          z    ||           | |          d           ||           | |          gt           |          dz   | |          dz  z  |z
              |          z   | |          ft           |          dz   | |          dz  z  |z
             |          z   | |          fhfk    sJ t           |          dz    | |          dz  z   |          dz   ||          dz  z  z    | |                              |          z    ||           | |          d                       t                                        t          d           t                     | t                    z   z  d | t                    dz  z
  g t                     | t                    g}t          |d	did
         t          d           t          d          ft          d          t          d           fhk    sJ  t                    dz   | t                    z   d t                                        t                    z  z
   | t                    dz  dz
  g}t          | t                     | t                    d           t                     | t                    gt          d|z  dz
             t          d          ft          d|z  dz
            t          d          ft          d|z  dz              t          d           ft          d|z  dz             t          d           fhfk    sJ t          t          fd           t           t                     t                                        t                    z   t          g           t                    t           t                    t                    z   d
fk    sJ t           t                    t          t          t          t          f          z   t          g           t                    t          t          t          t          f          z   d
fk    sJ t           t                    t          t          t          t          f          z   t          z   t          g          t           t                    z   t          t          t          t          f          z   d
fk    sJ t           t                    t          t          t          t          f          z   t          z   t          g          t           t                     t          t          t          t          f          z
  fk    sJ t          t           t                    |z  z
   t                    d
z
  |z  z   t          g          t          d
|z  fk    sJ t          t          t          dt          z  t                    z             t          dfk    sJ t          t          t          t          t                    z   t          g          t          dfk    sJ t          t          t          t          t                    z   dz
  t          g          t          dt          d
z   z  fk    sJ t          t          t          t          t                    dz  z   t          t                                        t          t                      t          t                     hk    sJ t          t          t          t                    z   t          d          t          t                     gk    sJ t          t!          t                    t#          t                    z
  t          d          g k    sJ t          t          t#          t                    z
  t          d          t#          t                    gk    sJ t          t          dz  t          z   dz
  t          d          t          dz   dz   gk    sJ t          t          dz  t          z   dz
  t          dz  d          t           dz   gk    sJ d S )Nfghr`   r|   rz   r   rf  Tr   r   r   c                      t            t                      t                                        t                    z     t                    g          S )Nr  )rF   rh   r	   r  s   ru   r   z!test_issue_5901.<locals>.<lambda>K  s=    L1!		!)<qqttfMMM rw   r  r   r   r   )r   r   r   r   rh   rE   r	   ri   r.   r   r^   r   rF   r<   r   r%   r4   r6   )r   rf   r`   r  Gr   r   r   s          @ru   test_issue_5901rt  &  s9
   (E""GAq!sA11Q44A11Q44A1!		!$aadd++
   111Q44  	
   1!!A$$))A,,&!--	
1   !!A$$11Q4499Q<<'(!!A$$//	
1qs   !!A$$11Q4499Q<<'1q1q911Q44CC
A#qAvz	   !!A$$'!!A$$'!AAaDD!GAAaDD!GO3aaddiillB!aadd& & &
!A$$!
qqttQwqqttQw"
#
#	#AAaDD	(!!A$$/	aaddAgaaddAgo!	"	"11Q44	'1.0 	11 1 1 381q1q8H11Q44QR7STSTUVSWSWYZSZ?8Z]^]^_`]a]a]f]fgh]i]i8i!aadd3& 3& 3&	1 1 1 QqTTYYq!__aaddQQqTTk*A!aK8!!A$$!ED$!D!!!$77(DGG	tAwwa123 3 3 31Q447QQqTT>AaaddiillN*AAaDD!GaK
8CaaddAAaDDd+++
!A$$!
qsQw--1	acAg!
qsQw--!A$$	acAg1	  	!! ! ! ! MMMMO O O!qqttyy||+aS999	
1
11Q44##	#Q'( ( ( (!xAq6222QC@@@	
1QF##	#Q'( ( ( (!xAq6222Q6DDD	
QQqTTHQA''	'+, , , ,!xAq6222Q6DDD	
QQqTTEHQA'''() ) ) )AAaDDF
aaddQh\1A3???	
AaC   JqsA...//	
B   HQNN*QC888	
A   HQNN*Q.<<<	
Aq1uI    uQQ]CFF++,,
r((D!HH   SVVQ...
a&&	   Q#a&&!d333r9999SVVQ...	Q   AAq4000
Q$   AAq!td333
a     rw   c                  2   t          t          t          dz  t          z
  dz
  d                    t          j        t          d          dz  z   t          d           dz  t          j        z   hk    sJ t          t          dz  t          z
  dz
  d          } t          |           dk    rt          d | D                       sJ t          t          dz  t          z
  dz
            } t          |           dk    rt          d	 | D                       sJ d S )
Nrz   皙?Tr  re  r   Fc              3   $   K   | ]}|j         V  d S r   	is_Numberr   r`   s     ru   r   z"test_issue_5912.<locals>.<genexpr>n  $       : : : : : : : :rw   c              3   $   K   | ]}|j         V  d S r   rx  rz  s     ru   r   z"test_issue_5912.<locals>.<genexpr>p  r{  rw   )r   rE   rh   r   r   r.   r   r   )r   s    ru   test_issue_5912r}  j  s    uQTAX^d33344	
$r((2+	Ry|af456 6 6 6
1q3
/
/
/Cs88q==S : :c : : :::===
1q3

Cs88q==S : :c : : :::=====rw   c                     d } t          t          dz
  d          d         j        sJ t          t          dz
  d          d         j        sJ t          t          t          j        z
  d          d         j        sJ t          t          dz
  d           d         j        sJ t          t          t          j        z
  d           d         j        sJ  | t          ddt          z  z             d	d
t          z  z             sJ t          t          t          fD ]c}t           |ddt          z  z   g                    }t          |          |u r* | t          |          d         d	d
t          z  z             sJ dt          t          dt          z  ddt          z  z   gi                                                    d         \  }} | |dt          z            r | |d         d	d
t          z  z             sJ  | t          t          dt          z                      t          d
t          z                      sJ  | t          dt          dz  z            dt          dz  z            sJ  | t          dt          dz  z  d          dt          d
z  z            sJ  | t          t          dt          z                      t          d
t          z                      sJ  | t          t          dz            t          dz            sJ  | t          t          dz  dt          z  z   t          t          dd                    z   dz             t          dz  d
t          z  z   dz             sJ dt          z   t           z   t"          z   }t          dt          z   |z  dz
  dt           z   |z  dz
  t"          |z  dz
  f          g k    sJ d S )Nc                     t          |                     t                              t          |                    t                              k    S r   )r   r  r   e1e2s     ru   testz!test_float_handling.<locals>.testt  s1    288E??##s288E??';';;;rw   r  Tr  r   Fr   rz         ?g       @r|   g      @r   r   g!,?r  gffffff?g333333?g?g333333?rv  )rE   rh   r  is_Floatr   r   rG   r   r   r   typeitemsr4   r%   r   rb   rj   rk   )r  containr   re   rV  tots         ru   test_float_handlingr  s  s   < < <S4(((+7777S5)))!,5555QVe,,,Q/;;;;S4(((+4444QVd+++A.::::4q1Q3ws1u-----%% H HWWa!A#gY''((CyyG##T#YYq\3Q;(G(G####!a!A#gY'((..0011!4DAq41Q3<<3DD1sSU{333334s1Q3xx  #c!e**-----4qAvAqD)))))4qAv---s1c6z:::::4s1Q3xx  #c!e**-----4qsQsU#####4q!taczCA$7$77!;<<qD3q5L++- - - - - 'A+/C263,#b1fc\B%6#
CDDJJJJJJrw   c                  `    t          dd          } t          | dz  dz
            dgk    sJ d S )Nrh   Tr  rz   r   rZ  r   s    ru   test_check_assumptionsr    s;    d###AA??qc!!!!!!rw   c            	      .   t          t          t          dz             t          t          dz
            z  dz
            g k    sJ t          t          t          dz
            t          t          dz             z  dz             t          t          z  t          dd          z  t           t          z  dz  t          t          z  dz  t          t          z  t          dd          z  gk    sJ t          t          t          dz             t          t          dz
            z  dz   dz            t          t          z  t          dd          z  t           t          z  dz  t          t          z  dz  t          t          z  t          dd          z  gk    sJ d S )Nr|   r   r   r   rz   )rE   r*   rh   r   r   r   r   rw   ru   test_issue_6056r    sL   a!eT!a%[[(1,--3333a!eT!a%[[(1,--rT(2q//!A2b57AbDFAbD!Q4GHI I I I$q1u++d1q5kk)A-122rT(2q//!A2b57AbDFAbD!Q4GHI I I I I Irw   c            
      :   t            t          t          t          t          t                                         t          t          t                               z            z   } t	          | t           d          du sJ t	          | t           dd          J d S )Nrz   TFr>  )rh   r%   r$   r&   rP   r9  s    ru   test_issue_5673r    s    
c#hs1vv&&''Q(8(8899	9BB1%%%%B1...66666rw   c                  \   t          d          \  } }}}}}}}t          dd          }||z  |z  |d|z  |z  d| z  z
  z  z   |d|z  d|z  z
  z  ||z  z   ||z  |z  || |z  d| z  z
  z  z   || z  z   | |z   g}	t          |	||z  | z            |||| z  |z  dz   d	z  z  || z  |z  z  |||d	|z  ||| z  |z  z  z   ||| z  |z  |z  d
|z  z   ||| z  |z  z  z   i|d|d|d|digk    sJ t          |	|||g          ||||d	z  |d	z  z   t          |d|z  z
  ||z
  z            d	z  z   | |d
|z  z
  t          |d	z  d|z  |z  z
  d|d	z  z  z             z
  d	|z  |z  |z  z  ||||z
  z  |z  i||||d	z  |d	z  z   t          |d|z  z
  ||z
  z            d	z  z
  | |d
|z  z
  t          |d	z  d|z  |z  z
  d|d	z  z  z             z   d	|z  |z  |z  z  ||||z
  z  |z  ig||||d	z  ||z  z
  |d	z  z
  |d	|z  z
  z  ||||z
  d	z  z  ||d	|z  z
  z  z  | |||z  |d	|z  z
  z  z  igfv sJ d S )Nz$R, C, Ri, Vout, V1, Vminus, Vplus, sRfTr  r   r   r   r   rz   r|   r   r{   r   r   rE   r.   )
rn   r  RiVoutV1VminusVplusr   r  r   s
             ru   test_excluder    sh   677 )Aq"dBq		%	%	%BR46E2a46AaC<((2b51R4< 47*U719rA2a4!A#:&a/7U?C ac!e$$$AaCEAI>!1Q3q5)E%%1Q-'!A#e)A+%'%1Q-7		9 1A!		)     uam,,,
DFU1WtTAeG^dUl$CDDQFF	D1U7NT$'AdF5L"81UAX:"EFFF1USTU
Bue#	3 	
DFU1WtTAeG^dUl$CDDQFF	D1U7NT$'AdF5L"81UAX:"EFFF1USTU
Bue#	
2 	r1ur%x%(*R!E'\:
BU
QrAeG| 45	5!A#rAeG|$%	
 	1      rw   c                     t           dz  dt           dz  z  z   dt           dz  z  z   t          dd          z   } t          t          |                     t          t	          | dz  d                                                    k    sJ d S )Nr{   r   r|   rz   r   ZZ)domain)rh   r   r   rE   rA   	all_roots)r   s    ru   test_high_order_rootsr    sy    	1qAv!Q$!Q/AuQxx==CQqS 6 6 6 @ @ B BCCCCCCCCrw   c                  &   ddd} ddd}t          t          t          z   dz
  dt          z  t          z
  dz
  gfi | t          dt          dik    sJ t          t          t          z   dz
  dt          z  t          z
  dz
  gfi |t          dt          dik    sJ d } |t          t          t          z   t          z   t          t          z   t          z   t
          z   gfi |           dk    sJ  |t          t          t          z   t          z   t          t          z   t          z   t
          z   gfi |          dk    sJ  |t          t          t          z   t          z   t          t          z   t          z   gfi |           dk    sJ  |t          t          t          z   t          z   t          t          z   t          z   gfi |          dk    sJ t          g d	g d
g dg dg dg dg dg dg dg dg dg dg          }t          t          dd                    }t          dgdgdgdgdgdgdgdgdgdgdgdgg          }||z  |z
  }t          |          g k    sJ t          |d          g k    sJ t          d t          t          t          z   t          z   t          t          z   t          z   g          	                                D                       sJ dD ]t          d t          t          t          z   t          z   t          t          z   t          z   gd          	                                D                       rJ t          t          fd           t          t          fd           t          t          d            d S ) NTquick
particularFr{   rz   r   r|   c                 X    t          d |                                 D                       S )Nc                     g | ]
}|d k    |S rX  r   )r   rh   s     ru   rT  z>test_minsolve_linear_system.<locals>.count.<locals>.<listcomp>  s    666!qAvvAvvvrw   )r   values)dics    ru   countz*test_minsolve_linear_system.<locals>.count  s'    66szz||666777rw   )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   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   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   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   zv:14r  r   r   r  c              3      K   | ]}|V  d S r   r   r   rV  s     ru   r   z.test_minsolve_linear_system.<locals>.<genexpr>  s"      AAQqAAAAAArw   )TFc              3      K   | ]}|V  d S r   r   r  s     ru   r   z.test_minsolve_linear_system.<locals>.<genexpr>  s2       ' 'Qq ' ' ' ' ' 'rw   c                  8    t          t          dz   g           S )Nr   )r  r   _qs   ru   r   z-test_minsolve_linear_system.<locals>.<lambda>  s    5!a%#;#;#; rw   c                  :    t          t          dz   g d          S )Nr   Fr  r   r  s   ru   r   z-test_minsolve_linear_system.<locals>.<lambda>  s    5!a%u#M#M#M rw   c                  4    t          t          dz   d          S )Nr   Tr  r   r   rw   ru   r   z-test_minsolve_linear_system.<locals>.<lambda>  s    uQUt<<< rw   )rE   rh   ri   rj   r`   rk   r?   r   r   r  r^   r   )pqtpqfr  r  rV  r  r   r  s          @ru   test_minsolve_linear_systemr    s   
-
-C
.
.C!a%!)QqS1Wq[)11S11aAq\AAAA!a%!)QqS1Wq[)11S11aAq\AAAA8 8 85A	1q519q=199S99::a????5A	1q519q=199S99::a????5A	1q519-555566!;;;;5A	1q519-555566!;;;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B 	C 	CA 	wvt,,,--AbTA3aS1#sQC!	
aS1# 	 	A
A#a%C::&&&",,,,AA%QAEAI 677>>@@AAAAAAAA O O ' '%UQYA	""# # ##VXX' ' ' ' ' 	' 	' 	' 	z;;;;<<<zMMMMNNNN :<<=====rw   c                      t          dd          } t          t          | dz  | dz  z   dz                       dk    sJ d S )Nrh   Tr  r{   r|   r   )r   r   rE   r   s    ru   test_real_rootsr    sK    sAuQTAqD[1_%%&&!++++++rw   c                     dt           dz  z  dt           z  z
  dt          dz  z  z   dz
  dt           dz  z  dt           z  t          z  z
  dt          dz  z  z   d	z
  g} t          t          | t          t           d
                    dk    sJ d S )Nicˆrz   iQAiTkl   1'	 ia5iPQRil    d(	 Fr   r   )rh   ri   r   rE   )r   s    ru   test_issue_6528r    s    !Q$!#jAo5
B!Q$1Q&1a47+EGC
 uS!Qe,,,--222222rw   c                  |   t          dd          } t          d| z  dz
            dz
  t          dd| z  z
            d	z
  g}t          ||           t          j        fgk    sJ t          || d
          t          j        fgk    sJ t          || dd          t          j        ft          d          fgk    sJ d S )Nrh   Tr  r   r   r{   r|   r  r   r  FrP  )r   r   rE   r   r   )rh   r   s     ru   test_overdeterminedr    s    $AqsQw<<!SQqS\\A-
.Ca==afYK''''a%%%16)4444aE222y1Q44'6JJJJJJJrw   c                     t          d          } t          d| dz  z  d| dz  z  z
            ddt          z  t          z  t	          d          z  gk    sJ t          dd          } t          d| dz  z  d| dz  z  z
            dgk    sJ t          d	          t          t	          d                    z  t          t	          d                    z  }t          d| dz  z  dd| z  z  z
            | |gk    sJ d S )
Nrh   r   rz   r|   r   Tr  r{   r   )r   rE   r   r   r&   r.   )rh   ra   s     ru   test_issue_6605r    s    AQqSA!H$%%!QqSVCFF]);;;;;$AQqSA!H$%%!,,,,QSVVT#a&&\\)AQqSA!H$%%1"a000000rw   c                      t          t          dz            sJ t          t                    rJ t          d          rJ d S )Nrz   T)rR   rh   r   rw   ru   test__ispowr    sB    !Q$<<ayyd||rw   c                     t          t          t          z
  dz  t           dt          z  z  t          j        z   dz  z              t          t          dz   dz  t          dt          dz  z  dt          dz  z  z
  dt          z  z   dz             dz  z
  t          dd          z
  dz  t          dz  dz  t          z
  t          dt          dz  z  dt          dz  z  z
  dt          z  z   dz             dz  z
  t          dd          z
  dz  z             z   } t          | t          dd          }t          |          dk    sJ d S )Nrz   r   r  r   Fr.  r{   )r.   rm   rl   r   r   r   rE   r   r   r   s     ru   test_issue_6644r     sG   
AzaR1X.22
3
3	3dQTE!GdadFQq!tVOacAG G G! =!#+Aq>>=245<69:Aa!dadFQq!tVOacAG G G! :!#+Aq>>:24596<6 77 77 
7B AU
3
3
3Cs88q======rw   c                  >   t          t          dz  t          z   t          t          z
  gt          t          g          ddgk    sJ t          t          dz  t          t          z  z   t          t          z
  gt          t          g          dt           t           fgk    sJ d S )Nrz   )r   r   r  )rE   r`   ra   rb   r   rw   ru   test_issue_6752r  (  s~    !Q$(AE"QF++&/AAAAA!Q$1*a!e$q!f--&A2r(1CCCCCCCrw   c                  6   t          t          t          dz
  dz  z  t          dz   z  t          dz  t          z
  dz   z            dddt          t          dz  t          z
  dz   d          t          t          dz  t          z
  dz   d          t          t          dz  t          z
  dz   d          t          t          dz  t          z
  dz   d          t          t          dz  t          z
  dz   d          t          t          dz  t          z
  dz   d          g	k    sJ d S )	Nr   rz   r   r   r   r|   r   r{   )rE   rh   rZ   r   rw   ru   test_issue_6792r  -  s    AEA:q1u%q!tax!|455
Aq'!Q$(Q,**GAqD1HqL!,D,D	AAq	!	!71a4!8a<#;#;	AAq	!	!71a4!8a<#;#;:= = = = = = =rw   c            
      n   t          dd          \  } t          t          dz             dt          dz
            z  z
            ddgk    sJ t          t                    dz
  t                    t          z
  g          dgk    sJ t          t          t          d	z
            d
z
                      t          j         t          d          hk    sJ t          t          t          dz             t          dz  d	z
            z   d                    t          dd          t          d          dz  z   t          d           dz  t          j        z   gk    sJ t          dt                    z  t          dz
            z
            dt          dd          gk    sJ t          t          dz  z   dz             dz   z            g k    sJ t          t                              dgk    sJ t          t          t          dz  dz  z
            d                    dt          d          z
  dt          d          z   gk    sJ t          dd          }t          t          t          |                              dgk    sJ t          dd          }t          t          t          ddd|z  z  z             d                    t          dd           gk    sJ t          d          t          t                    dz
  t                    dz
  g          ddt          z  z   t                    dt                    digk    sJ t          t                    dz  t                    dz  z             dz
  }t          |          t          |          k    sJ t          dd          }t          t          |          dz
            dt          z  dt          z  gk    sJ t!          t"          fd           t          dd          }t          d|z  z  d| |z  z  z
  |          t          | z  |z  dz
  |          k    sJ t          dd          \  } t          | t          z  z   dz             | ddik    sJ t          dt          z   z            dgk    sJ t          dd          \  } t          | t          z  z   dz   dt          z  z             dt          z  | dt          z  ik    sJ t          dd          t          | z   dz   dt          z  z             d| dt          z  ik    sJ t%          d          }t           |dz              |dz  dz
            z
            dgk    sJ t          t'          dz             t'          dz  dz
            z
            dgk    sJ t          d          t          dz  dz  z             t          t          z  t'          d          z  gk    sJ d S ) Nx yTr  r|   rz   r   rf  )r   r   r  ro   r   r@  rY  r   r   r{   nn)nonnegativenz)nonzeror   rh   r   	imaginaryr   c                  B    t          t                     dz
            S r  )rE   r  r   s   ru   r   zBtest_issues_6819_6820_6821_6248_8692_25777_25779.<locals>.<lambda>X  s    c!ffqj(9(9 rw   r  r  r   r   )r   rE   r  r    r   r   r   r   r   r   r   r.   r   r#   r"   r   r^   r   r   r&   )ri   r  r  r   r   r  r   rh   s          @ru   0test_issues_6819_6820_6821_6248_8692_25777_25779r  4  s    5t$$$DAqQUaAE

l*++1v5555#a&&1*c!ffrk*A..5'9999uSQZZ!^$$%%15&!B%%8888 CAJJQTAX.22A66Q$r((1*$tBxxikAF&:;< < < < < 3q66CAJJ&''BA+????? QTAX\""AE*++r1111 Q==QCC1qs
OOQ''++	DGGQa[0" " " " "	4	(	(	(BT"XXA3&&&&	t	$	$	$BCA2J''++,,(1b//1A0BBBBBA"Q%%!)RUUQY'++	
A!GRUUAr!uua(0* * * * * 
beeQhA!	"	"Q	&B99b!$$$$t$$$AQ!Aqs++++
 9 9 9 9:::T"""A1a4!AqD&!$$qsQhlA(>(>>>>>5t$$$DAqQqS1!Q2....AEs""""5D)))DAqQqS1qs"##2a4AaC'88888$AQQqS!!aQ1%55555 	A1q5AAacAgJJ&''A3....QUc!A#'ll*++s2222AA1!B$s1vv+......rw   c                     t          dt          dt          z            z
  t          t                    z  t          dt          z            dz   dz  z  dk    t                    t           t          k     t          t	          d          dz  k     z  k    sJ t          dt          dt          z            z
  dz   t          t          dz             z  t          t                    dz   dz  z  dk    t                    t           t          k     t          t	          d          dz  k     z  k    sJ t          t          t                    dz   t          dz  z   t          dt          z  dz             z  t          t                    dz   dz  z  dk    t                    t           t          k     t          t          k     z  k    sJ d S )Nrz   r   r   )rE   r%   rh   r   r&   r   rw   ru   test_issue_17638r  p  sV   1S1XX:s1vv%AaC
Q6:A>>B37qSVWXSYSYZ[S[|B\\\\\1S1XX:a<QqS)CFF1Hq=81<a@@bS1WQRUXYZU[U[\]U]Q]D^^^^^#a&&(1a4-QqSU+SVVAXM9A=qAArcAgRSVXRXEYYYYYYYrw   c                     t          d          \  } }}}}}| dz  |z  |z  | |z  z   | |z  z   dz   || z  | |z   z  z  }t          ddd          \  }}}	|dd|| z  z  z   |	| z  z   z  }
||
z
                                  }|t          |                                          z  }t	          ||           }|                                }|||	g}t          ||d          } t          |           dk    sJ |||z    |||z
  z  z  |||z   |	||z  ||z   z  i}|D ]@}| d         |                                         ||                                         k    sJ Ad S )	Nzs, tau_c, tau_1, tau_2, phi, Krz   r   zK_C, tau_I, tau_DT)r  r  r}   r   )r   togetherrC   r   rA   r  rE   r   )r   tau_ctau_1tau_2phiKtargetK_Ctau_Itau_DPIDr   rb   varsknownsolutionvars                   ru   test_issue_14607r  x  s   %,(&* &*"AueUC d5j5(1U72Q61sdUl9KLF 3)-t= = =C
q1eAg;q(
)C
3,	 	 	"	"B%))



B	b!B
		ADaD!!!Aq66Q;;;;EEM*AsU{O<EEME%K79M  E EtCy!!##}S'9'B'B'D'DDDDDDE Erw   c                  >   ddl mm t          t	          dz  z   t                    z   z                       t                    hk    sJ t                    g k    sJ t          dz  dz  z
  dz                       t                    dz  z                       t          dt          j        z            dz  gk    sJ t          dz  dz  z
  dz                       t                    dz  z   dz  dz
                      t          dt          t          d                     z            dz  t          dt          t          d                    z            dz  gk    sJ t          dz  dz  z
  dz
                      t                    dz  z                       t          dt          dt          d          z
            z            dz  t          dt          dt          d          z             z            dz  gk    sJ t                    z  dz
                      t                    z            } t          |           t          dt          t          d                     z            gk    sJ t          t          fd           ddt          t          d           dz            z  t          d          z  g}t          dz  dz  z
            |k    sJ t!          t          dt                    z  t          d          z  z
                      t!          |          k    sJ t          t          dz            z
            t                    z  dz  gk    sJ d S )Nr   rh   ri   r   rz   r|   c                  j    t           t                     t           z
            z  z
             S r   )rE   r6   r&   r  s   ru   r   z+test_lambert_multivariate.<locals>.<lambda>  s+    a#a&&QU2C.CQ(G(G rw   r   )r  rh   ri   rK   rA   r%   rM   rE   r   r&   r$   r   r  r.   r^   r   r   )r   r   rh   ri   s     @@ru   test_lambert_multivariater    so   $q1Q3wQ/!344a88QAKGGGGAq>>R!Q$1*q.&&q#a&&1Q3,7788Xah=O=OPQ=Q<RRRRR!Q$1*q.&&q3q66AaC<!*;a*?@@AAAc477(mmO$$Q&3tAww<<(@(@(B
CD D D D!Q$1*q.&&q#a&&1Q3,7788Ac!d1gg+&&&'')8Ac!d1gg+6F6F4F+G+G+I
JK K K K
CFF(Q,		Q#a&&	)	)B99!C!$5$5"56677777
 G G G G GHHHb3q66'!)$$$SVV+
,CA1a  C''''uQs1vvX#a&&())**c#hh6666!A#"A&&1SVV8A:,666666rw   c                     t          dt          t                    z  t          t          d          z  z
  t                    dgk    sJ t          t          t          t          z  t          t          z  z
            t                    t          t           t          t          t                     t          z            z  t          t                    z  hk    sJ d S r  )rE   r6   rh   r   r`   r$   r&   r   rw   ru   test_other_lambertr    s    3q66Ac!ffH$a((QC////uQTAqD[!!1%%	A2hAwqy!!!#a&&(** * * * * * *rw   c                  8   t          t          dz  t          z   t          t          dz  t          z             z  dz
            t          dd          t	          ddt          d          z  z             dz  z   t          dd          t	          ddt          d          z  z             dz  z
  gk    sJ t          t          dz  t          z   t          t          dz  t          z   dz            z  dz
            t          dd          t	          ddt          d          z  z             dz  z   t          dd          t	          ddt          d          z  z             dz  z
  gk    sJ t          t          t          z  t          t          dz            z   t                    dt          t           dz            z  gk    sJ t          t          t          z  t          t          dz            z                       t                    t                    dt          t	          d           t	          t                    z  dz            z  dt          t	          d          t	          t                    z  dz            z  gk    sJ t          dt          z  t          t          dz            z                       t                    t                    dt          t	          d           dz            z  dt          t	          d          dz            z  dt          t	          d           dz  d          z  gk    sJ t          t          t          t                    z  dt          z  z   dz   t                    t          dt          t          d                     z             gk    sJ t          t          dz   dt          z  z   t                    dddt          t          d          dz            z  t          d          z  gk    sJ t          t          dz  dt          z  z
  t                    dddt          t          d          dz            z  t          d          z  gk    sJ t          dt          z  dz   dd	t          z  dz   z  z   t                    } t          |           dk    rs| d
         
                                t          d	d          t          dt          dd          z  t          d          z  dz            dt          d          z  z  z   k    sJ t          dt          z  dz
  dt          ddt          z  z
            z  z   t                    t          dd          t          dt          t          dd                    z  dz            dz  z   gk    sJ t          t          t                    t          z                       t          t          dz  dz                       t           t	          t          d           dz             z  t	          dt          d          z             gk    sJ t          dt          z  dz   z  }t          dt          |          z  t          t          |          z  z   |z   t                    } dt          t                    z  }t	          d          t          z  }t          dz   }|t          d|z            z  t          dz  z  }|t          dd          z  dz  }| |t          || dz
  z            z  |t          ||dz
  z            z  |t          |          z  dz  gk    sJ t          t          dd                    }t          d	z  }dt          dd          z   }dt          dd          z  t          z  }|t          dd          z  |t          dd          z  z  dz  }t          dt          |          z  |z   t                    } | |t          d|z  |z            z  dz  |t          |||z
  z            z  |t          |||z   z            z  gk    sJ t          dd          }ddd|z  dz   z  z  d|z  z
  dz
  }	t!          |	|t#          t%          |	          |                    t          dd          t          dt          d          z            dt          d          z  z  z
  gk    sJ t'          t          dt)          t                    z  t)          t                    dz  z
                      t+          d          t+          dt          t          d           dz            z  t          d          z            hk    sJ t          dt          t                    z  dt          t,                    z  z
  t          t,          t          t                    z   t          t,                    z             z   t                    t          t,           t          dt,          dz  z  t          dt,          z            z            dz  z             t,          z  gk    sJ t          t          t          z  t          t          dz            z                       t          d          t                    } t           t          dd          z  }t	          d          t          z  }|dz  }| dt          |dz            z  dt          || dz
  z            z  dt          ||dz
  z            z  gk    sJ t          dt          z  t          t          dz            z                       t          d          t                    dt          t          dd                    z  dt          t          dd          t	          d          t          z  dz  z
            z  dt          t          dd          t	          d          t          z  dz  z             z  dt          t          dd          d          z  gk    sJ t          t          dz  t.          dz  t          t                    z  z
  t          t.          d          t          dt          t.           dz            z  it          dt          t.          dz            z  igk    sJ t          t          dz  t          dz  z  t0          dz  z   t                    t          t          dt          d          z  dz  dt          t0                    z  dz  z   t          t0          z  t          dd          z  z                       gk    sJ t          dt          t	          t                    dz             dz  z  dt          z  z
            t          t          d           d          dz   dz  gk    sJ t          dt          dt	          t                    z  dz             dz  z  t          z
            t          t          d           d          dz   dz  gk    sJ t          dt          t          dz  dz             dz  z  t          dz  z
            t           t	          dt          t          d                    z
            z  t           t	          t          t          d                     dz             z  t	          dt          t          d                     z
            t	          dt          t          d                    z             t	          dt          t          d           d          z
             t	          dt          t          d           d          z
            gk    sJ d S )Nrz   r   r   r   r|   r   r   r{   r   i r   ir   rg   Tr  r  r}   )rE   rh   r%   r   r.   r$   r`   r	   r&   r   r  r-   r   r   ra   r   rL   rK   rA   r   r4   r0   rj   ri   r   )
r   axr   r!  r|  r}  r~  r  rg   r   s
             ru   test_lambert_bivariater    s    !Q$(C1qMM)A-..Q$q1Xa[[=011!33Q$q1Xa[[=011!3335 5 5 5 5 !Q$(CA1---122Q$q1Xa[[=011!33Q$q1Xa[[=011!3375 5 5 5 5 1s1Q3xx##(A2a4..(8'99999!A#AaC.&&q))1--xaa(*+++QxQQ8I/J/J-JKL L L L!A#AaC.&&q))1--	
8T!WWHQJ		(47719

	(DGG8A:r
"
""	$$ $ $ $ 3q66AaC!#Q''hAw'''(()* * * *!Q$Aq!!aBxAq/A/A,A#a&&,H%IIIIIA1a  Q2hs1vvax.@.@+@Q+G$HHHHH
!a!bdQh-'
+
+Cs88q==SV]]__Q(6$q!**#4SVV#;A#=>>#a&&IIJ J J J1q1SQqS\\>)1--	!Q(3s8Aq>>':':#:1#<==a?	?@A A A A#a&&1*""1adQh//00	
4!q !!!4Xa[[(8#9#95; ; ; ; ; 
QqS1WB
#b''	Ac"ggI%*A
.
.C	
3q66B	aB	
QB	HQrTNN	1a4	B	Xa^^	A	B
3rB37|
3r26{
3r77
1     
(1a..	!	!B	
RB
Xa^^
	B	
HQNN	1	B	Xa^^	BA.	.q	0B
#b''	B
"
"C
3qtBw<<
3r27|
3r27|    
 	d###A	
1qsQw<!A#		!B"aR!!<!<==Q(2c!ff9--qQx88B: : : : :uQAYQ*++,,Qb3q66'!),,,SVV34416 6 6 6 6 3q66Ac!ffH$s1s1vv:A+>'?'??CCQB!AqD&QqS/**1,,--a/H1 1 1 1 1 1s1Q3xx%%a++Q
/
/C"x1~~	B	aB	AB	(2a4..	(2sQw<
 
  	(2rAv;

! ! ! ! ! !A#AaC.&&q!,,a008HROO,,,a!Q$q''RS)TU+9U0V0V.V(8Aq>>DGGAIaK7888!HXbRS__VX<Y<Y:Y[[ [ [ [ A1SVV#Q555Qx1~~%&AhqsmmO(<=> > > > !Q$!A#A%q))HRAYq[1SWW9Q;.2hq!nn1DDEEFF.H H H H H !CQ!$$a''!A#-//	3r77(B		!	#a'4) ) ) ) )!C$q''	A&&))A-//	3r77(B		!	#b(4* * * * *!C1qMM1$$q"u,..	
4HSVV$$$%%%	
4#b''""Q&'''R(CGG8$$$%%R(3q66"""##	b8SWWHb)))	*	**R(CGG8R((())3+ + + + + + +rw   c                     t          t          t                    t          t                    z             dt           t          dt          z  gk    sJ t          t          t                    t          t                    z             dt          t          dd          t          d          t          dt          d          t          z  z
            z  dz  z   t          d          t          z  dz  z             z  dt          t          j        t          d          t          dt          d          t          z  z             z  dz  z
  t          d          t          z  dz  z             z  dt          t          j        t          d          t          dt          d          t          z  z             z  dz  z   t          d          t          z  dz  z             z  dt          t          j        t          d          t          z  dz  z
  t          d          t          dt          d          t          z  z
            z  dz  z             z  gk    sJ t          t          t                    t          t                    z             dt          t          z  gk    sJ t          dt          t                    z  t          t                    z
  t                    t          t          j                  gk    sJ d S )Nr   rz   r   r   r   r|   )rE   r6   rh   r7   r   r5   r2   r   r.   r   r   r   r)   r*   r4   r   rw   ru   test_rewrite_trigr    sH   Q#a&&!!a"b!B$%77777Q#a&&!!
4Q$q''$q47719}*=*="=a"??$q''!)A+MNNN	$qvQQa] 3 33A55Q	!C
D
DDaQV
q''$q47719}%%
%a
'N(*.q''!)A+N6 I7 I7 G789$qvQ	!@1ggd1tAwwqy=111!3@4 ;5 ;5 95&6 6 6 6 6
 a477"##1R4y0000 3q66CFF"A&&4<<.888888rw   c                  6   ddl m}  t          t          t                     | t                    z             dt          t          dd          t          d          dz  z   t          dt          d          z  dz             dz  z
            z  dt          t          dd          t          d          dz  z   t          dt          d          z  dz             dz  z             z  dt          t          d           dz  t          j	        z
  t          ddt          d          z  z             dz  z             z  dt          t          ddt          d          z  z              dz  t          d          dz  z
  t          j	        z
            z  gk    sJ d S )Nr   sechrz   r   r{   r   )
%sympy.functions.elementary.hyperbolicr  rE   r)   rh   r'   r   r.   r   r   r  s    ru   test_rewrite_trighr    sl    ;:::::a4477"##	%Q$q''!)+d2d1gg:>.B.B1.DD
E
EE	%Q$q''!)+d2d1gg:>.B.B1.DD
E
EE	%a
QV#d1qay=&9&9!&;;
<
<<	%a!DGG)m$$$Q&a2QV;
<
<<	(> > > > > > >rw   c            
      d   t           t          t                    z
  t          t          t          dt          dz  t          dz  z  z   z  z            z   } t	          | t          d          t          t          t          t          t                     z
  z             t          t          t          t          t                     z
  z            gk    sJ t	          t          t          dz             t          ddt          z  z             z   dz
            dt          dt          d          z             t          t          dd                    z  dz  z   t          d          dz  z   t          dt          d          z              t          t          dd                    z  dz  dz
  t          d          dz  z   gdt          d	t          d           d
z   dz  z             dz  z   t          d          dz  z   dt          d	t          d           d
z   dz  z             dz  z
  t          d          dz  z   gfv sJ t	          t          t          dt          z            dz             t          t          t                     dz             z   t          d          z
            g k    sJ d S )Nr   rz   T)forcer|   r   r   iir   )	rj   r&   rh   ri   rE   r.   r%   r   r*   r9  s    ru   test_uselogcombiner  #  s5   	
SVVc!QQT!Q$Y/011	1BQd###aSVVn)=)=(=tAq3q66zN?S?S'TTTTTQUc!ac'll*Q.//	d3Q<  Xa^^!4!44Q6	6Q	A	cCFFl		CA///1A5Aq@	B	d33q66'A+))**1,	,s1vvax	7
T##a&&1q(())!++c!ffQh6	84
 
 
 
 
 S1XX\""S$q''A%6%66Q?@@BFFFFFFrw   c                      t          t          t          d          t          dz  z
  t                    dt	          d          z  gk    sJ d S r  )rE   r3   rh   r   r.   r   rw   ru   
test_atan2r  /  s@    q!r!t#Q''Ad1ggI;666666rw   c                  F   t          t          t                    t          z
  t                    t	          t                    gk    sJ t          t	          t                    t          z
  t                    t          t                    gk    sJ t          t          t                    t          z
  t                    t          t                    gk    sJ t          t          t                    t          z
  t                    t          t                    gk    sJ d S r   )rE   r8   rh   ri   r;   r9   r:   r   rw   ru   test_errorinversesr  3  s    Q!QF1II;....Q""s1vvh....a1a  WQZZL0000a##Qy000000rw   c            
         t          d          } t          d          | z  t          d| dz   z            z  | dz   t          d          t          d| dz   z            z  dz
  z  z   }t          || d          d         }|t          dd          t          dd          t          d          t          z  dz  z
  t          d	d
          t          d          t          z  dz  z   t          dd          z  z  z   ddt          dd          t          d          t          z  dz  z
  t          d	d
          t          d          t          z  dz  z   t          dd          z  z  z  z  z   ft          dd          ddt          d	d
          t          d          t          z  dz  z   t          dd          z  z  z  z   t          d	d
          t          d          t          z  dz  z   t          dd          z  z   fhk    sJ d S )Nrn   rz   r   Tr   r{   r|   r      r   o   rf  r-  )r   r.   rE   r   r   )rn   r   r   s      ru   test_issue_2725r  :  s   sA	a41q5	??	"a!ed1ggd1a!e9oo.E.I%J	JB
A4
 
 
 
#CHQNNhr1ooQ	!&ChsTVFWFWS		!AG AF' &' ')+Q"a47719Q;1NQYZ]_aQbQbS		!AR AQ' 1' .( *)) +-5a^^b!XcSUEVEVS		!AF AE' C' ?( .(+3C+<+<tCyy{1}+LxXY[\~~*].^ -`a a a a a a arw   c                     t          d          \  } }}}}}}}}}	}
}}}}}}t          | ||z  z
  ||z  z   g|d|z  d|z  z   d|z  z   z  ||z  z
  ||z  z
  g| |z  |d|z  d|z  z   d|z  z   z  z   ||z  z
  g| |z  |d|z  d|
z  z   d|z  z   z  z   |	|z  z
  g| |z  |	d|z  d|z  z   d|z  z   z  z   ||z  z
  g|	 |z  |d|z  d|z  z   z  z   gg          }t          |||	|| |g          }t          t          |          t          |          d          }t	          d |                                D                       dk    sJ d S )Nzb:rr   Fr  c              3   >   K   | ]}|                                 V  d S r   )	count_ops)r   r   s     ru   r   z'test_issue_5114_6611.<locals>.<genexpr>R  s*      33q{{}}333333rw   i  )r   r?   rE   r   r  r  )ra   rb   rc   rd   r   r   rf   r   rJ  re   rK  rm   rs   r  rg   rl   r   r   rV  r   s                       ru   test_issue_5114_6611r  D  s   
 9@5Aq!Q1aAq!Q1aA
	
QqS1Q3!QqS1Q3Y1_-!3ac9:
A1Q319qs?#	#ac	)*aRTAqsQqSy1Q34G-G!A#-M,N
A1Q319qs?#	#ac	)*aRTAqsQqSyM-A,BD E EC 	1aAq!""A
S		477U
3
3
3C 33cjjll33333t;;;;;;rw   c            	      
   t          ddt          d                    }  | j                    t          |           k    sJ d| d<    | j                    t          |           k    sJ t          ddt	          t          d                              }  | j                    t          |           k    sJ t          ddd          }t          |          t          |          cxk    r|                                k    sn J d S )Nr|   za:9r   r  rf  rz   )r   rz   r   r   )	r?   r   detrS   r   r  r@   rT   rU   )rm   r   s     ru   test_det_quickr  U  s    q!WU^^$$A1577ill""""AdG1577ill""""q!T%((^^$$A1577ill""""Q<((AA;;)A,,1111!%%''11111111rw   c                  h   t          dd          \  } }t          t          | dz  |dz  z             dz
  |           t          |dz   dz              t          |dz   dz             gk    sJ t          dd          \  } }t          t          | dz  |dz  z             dz
  |           g k    sJ d S )Nza bTr  rz   r|   rf  r  r  r  s     ru   test_real_imag_splittingr  a  s    5t$$$DAqadQTk""Q&**
1uqy//	4A	??+, , , ,5D)))DAqadQTk""Q&**b000000rw   c                      dt           dz  z  dt           dz  z  z   dt           z  z
  dz   } t          d t          |           D                       sJ d S )Nr   r|   r   rz   r{   c              3   X   K   | ]%}t          t          j        |                    V  &d S r   )r   r   r  r   s     ru   r   z"test_issue_7110.<locals>.<genexpr>k  s0      00!s16!99~~000000rw   )rh   r5  rE   r   s    ru   test_issue_7110r
  i  sY    
1a4!AqD&1Q3"A00uQxx0000000000rw   c                  n    t          dt          z  ddt          z  z  z
            dt          z  gk    sJ d S r  )rE   rh   rX   r   rw   ru   
test_unitsr  n  s7    1q!B$x  QrTF******rw   c            	         t          d          \  } }}t          d|dz
  z  |z  |dz   z  | z
  |z   d          }t          |d|dz
  z            }t          | d|z  |dz   z            }t          t          t	          |||          | ||gd                    }t          |          t          t          d	gd
gdgg                    k    sJ d S )NzA,B,VgGz@g     C@r*  r   g    d6Ag    0!A)r   r   r   z4442890172.68209z4289299466.1432z70.5389666628177)r   r   r?   rD   r   r  )r  r  r  eq1eq2eq3r   s          ru   test_issue_7547r  r  s    gGAq!
VQXq !b&)A-11
5
5C
Q
AF#
$
$C
Q
1a$h'
(
(C
c3,,q!QiCC
D
DCs88s6
	
	
		    ! ! ! ! ! ! ! !rw   c                  t    t          dd          } t          t          |           dz
            dgk    sJ d S )Nr   Tr  rz   r   r  )r   s    ru   test_issue_7895r  ~  s?    $Aa1!$$$$$$rw   c                     t          dd          \  } }t          | dz  |dz  z             dz
  t          |dz  |  dz   dz  z             dz
  }}t          dd          dt          d	          z  dz  }}|| f||fg}t          ||f| |f          |k    sJ t          ||| |z
  z  f| |f          g k    sJ |d
z  }t          ||f| |f          g k    sJ t          ||f| |fd          |k    sJ d S )Nr  Tr  rz   r   r|      r   i  r   Fr   )r   r.   r   rE   )rh   ri   r  r  r`   ra   r   s          ru   test_issue_2777r    s8   5t$$$DAq!Q$A+#T!Q$1"r'A*=%>%>%BBCaS		k"nqAr7QF
C"bAq6""c))))"b!a%j!Aq6**b0000!GB"bAq6""b(((("bAq6///3666666rw   c                  \    d} t          t          | z
  t                    d         | k    sJ d S )Ng{[Rs8r   r   )numbers    ru   test_issue_7322r    s1    FVQ"f,,,,,,rw   c                      t          t          d            t          t          d            t          t          d            t          t          d            d S )Nc                  0    t          t          dd          S )N)r   r   bisect)methodrD   rh   r   rw   ru   r   ztest_nsolve.<locals>.<lambda>  s    vaBBB rw   c                      t          t          t          z
  dz   t          t          z   t          t          z
  ft          t          t          fd          S )Nr|   )ir+  )rD   rh   ri   rj   r   rw   ru   r   ztest_nsolve.<locals>.<lambda>  s/    fa!eaiAa!e%<a!WXNN rw   c                  Z    t          t          t          z   t          t          z
  fd          S )Nr  )rD   rh   ri   r   rw   ru   r   ztest_nsolve.<locals>.<lambda>  s    fa!eQU^V<< rw   c                  @    t          t          dk     t          d          S )Nr  r   r  r   rw   ru   r   ztest_nsolve.<locals>.<lambda>  s    fQWa33 rw   )r^   r   r   r   rw   ru   test_nsolver"    sX    
:BBCCC
9NNOOO
9<<===
93344444rw   c                      t          t          t          t          dz  z  t          z
  dz   t                              dk    sJ t          t          t          t          dz  z  t          z
  dz   t                              dk    sJ t          t          t          dz  z  t          z
  dz   t                    g k    sJ t	          t
          d            t          dz  t          z
  dz    t           dd z  z   z             fdt          d          D             k    sJ t          dz
   t           dd z  z   z            t          j        gk    sJ d S )Nr|   r   r   r{   c                  f    t          t          t          dz  z  t          z
  dz   t          d          S )Nr{   r   F)
incomplete)rE   r`   rh   r   rw   ru   r   z.test_high_order_multivariate.<locals>.<lambda>  s)    a1fqj1naE222 rw   c                 6    g | ]}t          d z   |          S rz  rY   )r   r   rc   s     ru   rT  z0test_high_order_multivariate.<locals>.<listcomp>  s'    !F!F!F'!a%"3"3!F!F!Frw   rz   )	r   rE   r`   rh   r^   r   r  r   r   )rc   s   @ru   test_high_order_multivariater'    s>   uQq!tVaZ!^Q''((A----uQq!tVaZ!^Q''((A----1a4!a##r))))
 !3 !3 4 4 4
 	
1q1AA!G!F!F!F!FU1XX!F!F!FFFFF	AAA!G!&))))))rw   c                      t          dt          z  dz
            dgk    sJ t          dt          dz
  z  dz
            dgk    sJ t          t          dd                    ddgk    sJ d S )Nr   r   rz   zx*(1/x**0 - x)Fevaluate)rE   rh   r   r   rw   ru   test_base_0_exp_0r+    s    A??qc!!!!QUa  QC''''#e44455	
A     rw   c                  P   t          dt          dz  z  t          g          t                      k    sJ t          dt          t          z  z  t          g          t          t          z  hk    sJ t          dt	          t          d          z  t          g          t          hk    sJ d S )Nr   r   r|   )rV   rh   r   ri   r-   r   rw   ru   test__simple_densr-    s    !Q$$$----!Q$$$A....$q!**qc**qc111111rw   c                     t          t          t          t                    t          z  t          dz  z   dz
  t                              dk    sJ t          t          dt          dz  z  dt          dz   t          dd          z  z  t          dz  z  z   dt          dz   t          dd          z  z  t          z  z
  dt          z  z
  dz   t          d	
                    dk    sJ d S )Nr|   r   r'  r(  rz   r)  r  r*  Fr+  )r   rE   r.   ri   rh   r   r   rw   ru   test_issue_8755r/    s     uT!WWQYA%)1--..!3333uT!Q$Yq1ux1~~&=!=ad!BBa!ehq!nn$$Q&'),Q/14567G G G H HKLM M M M M Mrw   c                     d} d}d}d}d}d}d}d}t           t          t          f}t           | z
  d	z  t          |z
  d	z  z   |t          z
  d	z  z
  }	t           |z
  d	z  t          |z
  d	z  z   t          d	z  z
  }
t           |z
  d	z  t          |z
  d	z  z   |t          z
  d	z  z
  }|	|
|f}t          t           | z
  d	z  t          |z
  d	z  z             t          z   |z
  }|
}t          t           |z
  d	z  t          |z
  d	z  z             t          z   |z
  }|||f}t	          ||          }t	          ||          }t	          ||d
          }d |||fD             \  }}}||cxk    r|k    sn J d S )Nr   ii  ~   r%  rm     h   rz   Tr  c                 &    g | ]}d  |D             S )c                 @    h | ]}t          d  |D                       S )c              3   @   K   | ]}|                     d           V  dS )rz   N)rr   r   s     ru   r   z7test_issue_8828.<locals>.<listcomp>.<setcomp>.<genexpr>  s,      ,,Qaggajj,,,,,,rw   rU  )r   rJ  s     ru   	<setcomp>z-test_issue_8828.<locals>.<listcomp>.<setcomp>  s/    888,,!,,,,,888rw   r   )r   rn   s     ru   rT  z#test_issue_8828.<locals>.<listcomp>  s'    LLLQ88a888LLLrw   )rh   ri   rj   r.   rE   )r!  y1r1r|  y2r}  y3r3rV  f1f2f3r  g1g2g3rs  r  r  r  rg   rl   r   s                          ru   test_issue_8828rC    s   	
B	B	B	B	B	B	B	B	1aA
b&1B{	"b1fq[	0B
b&1B{	"QT	)B
b&1B{	"b1fq[	0B
2bA	q2vkQVaK'	(	(1	,r	1B	B	q2vkQVaK'	(	(1	,r	1B
2bAaAaAa4   ALL1a)LLLGAq!;;;;Q;;;;;;;;rw   c                     t          t          dt          z            t          dt          z            z             ddt          z  dz  dt          z  dz  gk    sJ t          t          dt          z            t          dt          z            z             dt           d	z  t          d	z  gk    sJ t          dt          t                    z  dt          dt          z            z  z
            dt           dz  t          dz  gk    sJ d S )
Nr|   r   r   r   rf  rz   i,  r  i  )rE   r6   rh   r   r   rw   ru   test_issue_2840_8155rE    s     QqSC!HH$%%!RU1Wad1f)=====SUc#a%jj())a"S"S&-AAAAA3q66Ac!A#hhJ&''As1ubd+;;;;;;;rw   c                  N    t          ddt          dz
  z  z             dgk    sJ d S r  r   r   rw   ru   test_issue_9567rG    s/    QAYA3&&&&&&rw   c                  <   t          t          t          z             t           gk    sJ t          t          dz  t          z             t           t	          t                    z  t          t	          t                    z  gk    sJ t          t          dz  dt          z  z             t          dt          z             t          d          t          t                    z  dz  t          d          t	          d          z  t          z  t          t                    z  dz  z
  t          d          t          t                    z  dz  t          d          t	          d          z  t          z  t          t                    z  dz  z   gk    sJ t          t          dz   t          t          z   gt          t                    t          dt          t           ik    sJ t          t          dz  dz   t          t          z   gt          t                    dt          z  t           fdt          z  t           fgk    sJ t          t          dz  z
  dz   } t          t          z   dz   dt          z  z   }t          t          | |gt          t                              dk    sJ d S )Nrz   r|   r   r  r   )rE   rh   r   r   r.   r,   ri   r   r  s     ru   test_issue_11538rI    s   Q<<QB4A??r$q''z1T!WW955555A!	a!eQQDGGDGGOA-d1gg5a77QQDGGDGGOA-d1gg5a77!9 9 9 9 9 !a%QA&&1b!aR.8888!Q$(AE"Aq))	Ar
QqS1"I.     
QTAB	
QQU	Bub"Xq!$$%%******rw   c                     t          d          \  } }}}}}}d| |z  z   ||z  z   d| |z  z   ||z  z   d||z  z   ||z  z   || dz  z
  |dz  z
  ||dz  z
  |dz  z
  ||dz  z
  |dz  z
  g}t          || ||||||gd          }t          |dz   dz
            }	t          d|dz  z
            }
t          dd|dz  z  z
            }t          d          |z  }t          d          |
z  }|| |	 ||	 ||	 |||||di| |	||	||	|||||di| | dz  |
dz  z
  ||dz  |
dz  z
  ||
|| dz  |dz  z   || dz  |dz  z
  |di| | dz  |
dz  z   ||dz  |
dz  z   ||
 || dz  |dz  z
  || dz  |dz  z   |di| |dz  |
dz  z
  || dz  |
dz  z
  ||
|| dz  |dz  z
  || dz  |dz  z   |di| |dz  |
dz  z   || dz  |
dz  z   ||
 || dz  |dz  z   || dz  |dz  z
  |digk    sJ d S )	Nza,b,c,d,e,f,gr   rz   Tr}   r   r|   r   r  )r`   ra   rb   rc   rd   r   r   termsr   r   s2s3s4s5s                 ru   test_issue_12114rP    s   !/22Aq!Q1a1Wqs]A!GacM1qs7QqS=AX1_a!Q$hAoq1a4x!Q$@E
1aAq!,4
8
8
8CadUQYA	a!Q$hB	a!AqD&j		B	aB	aB	
QBA2q1"aAq!R0	
Aq!Q1aAq"-	
RCEBqDL!RTBqD[!Rr!tbd{Ar!tbd{Aq	2	
RCEBqDL!RTBqD[!bSr!tbd{Ar!tbd{Aq	2	
BqD2a4KRCEBqDL!Rr!tbd{Ar!tbd{Aq	2	
BqD2a4KRCEBqDL!bSr!tbd{Ar!tbd{Aq	2
3 
3 
3 
3 
3 
3 
3rw   c                      t          dt          t          z  z
            g k    sJ t          t          t          z  t                    g k    sJ t          t          t          z  t          z
  t                    g k    sJ d S r  )rE   r   rh   r   rw   ru   test_infrR  	  sg    RT??b    Aq>>RAA"$$$$$$rw   c                    	 t          d          fdt          d          D             } t          d          }t          t	          | |                    }|d d         |dd          c\  	t          	fdt          d          D             	f          }| d d         | dd          c\  	t          	fdt          d          D             	f          }|| d                                      |                                          ||d                                                  k    sJ d S )	Nr   c                 &    g | ]} |          S r   r   )r   r   r   s     ru   rT  z$test_issue_12448.<locals>.<listcomp>	  s!    
#
#
#A11Q44
#
#
#rw   ro   zx:15r|   c                     g | ]C}d |z           z  d |z  dz            z  z   d |z  dz            z  z   d |z  dz            z   DS r   r   rz   r|   r   r   r   rb   rh   ri   rj   s     ru   rT  z$test_issue_12448.<locals>.<listcomp>"	  p        AaC&(QqsQwZ\)AacAgJqL81QqS1W:E   rw   c                     g | ]C}d |z           z  d |z  dz            z  z   d |z  dz            z  z   d |z  dz            z   DS rV  r   rW  s     ru   rT  z$test_issue_12448.<locals>.<listcomp>&	  rX  rw   r   )r   r  r   r~   r  rE   xreplacer  )
funr  r  ssymsfunrb   r   rh   ri   rj   s
        @@@@@ru   test_issue_12448r^  	  s   A
#
#
#
#r
#
#
#C
&//CCDrr7CGLIQ1q       q  1I' 'D rr7CGLIQ1q       q  1I' 'D A<  &&0022SV  ! ! ! ! ! !rw   c                     t          t          dz  dt          z  z             dt          hk    sJ t          t          dz  dt          z  z   t                    t          hk    sJ t          t          dz  dt          z  z   t          g          t          hk    sJ t          dt          z  dt          z  z   dt          z  z   t          t          g          t          t          hk    sJ t          dt          z  dt          z  z   dt          z  z   t          t                    t          t          hk    sJ t          dt          z  dt          z  z   dt          z  z   t          t          h          t          t          hk    sJ d S Nrz   r   )rW   rh   ri   rj   r   rw   ru   test_denomsra  -	  s(   !A#!)A&&&&!A#!)QA3&&&&!A#!)aS!!aS((((!A#!)ac/Aq6**q!f4444!A#!)ac/1a((QF2222!A#!)ac/Aq6**q!f444444rw   c                     t          d          \  } }}}}}g | dz  | z
  | |z  |z
  | |z  |z
  | |z  |z
  | |z  |z
  | |z  |z
  | |z  |z
  |  dz  |dz  z   d|z  dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  ||z  d|z  dz  z
  |dz  z
  ||z  |z
  | |z  |z
  ||z  |dz  z
  |dz  z
  |dz  z
  |  dz  |dz  z
  |dz  z   |dz  z
  |dz  z
  |dz  z
  | dz  ||z  z   |dz  z
  |dz  z
  |dz  z
  |dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  ||z  |z
  | |z  |z
  ||z  |dz  z
  |dz  z
  |dz  z
  | dz  ||z  z   |dz  z
  |dz  z
  |dz  z
  |dz  z
  |  dz  |dz  z
  |dz  z
  |dz  z   |dz  z
  |dz  z
  | dz  |dz  z
  ||z  z   |dz  z
  | ||z  z   | |z  |z
  ||z  d|z  dz  z
  |dz  z
  ||z  |dz  z
  |dz  z
  |dz  z
  | dz  |dz  z
  ||z  z   |dz  z
  |  dz  d|z  dz  z
  |dz  z   | ||z  z   | |z  |z
  ||z  |z
  ||z  |z
  | ||z  z   | ||z  z   |  |dz  z   | dz
  }| d|t          dd          |t          dd          |t          dd          |t          dd          |di| d|t          j        |t          dd          |d|d|di| d|t          dd          |t          dd          |t          dd          |t          dd          |di| d|d|d|d|d|di| d|t          dd          |t          dd          |t	          d	          dz  |t	          d	           dz  |di| d|t          dd          |t          dd          |t	          d	           dz  |t	          d	          dz  |dig}t          |          |k    sJ d S )
Nzx0 x1 x2 x3 x4 x5rz   r|   r   r   r   r   r   r{   )r   r   r   r   r.   rE   )r   r!  r|  r}  r~  r  r  solss           ru   test_issue_12476rd  6	  s	   $%899BBB
SBEBJ 
S2
 
SBrEBJ 
S2
 
SBrEBJ 
S2PR
 
SrEBJ
SAA"Q.
S0221r!t0Cbd0J
SrEBqDL2a4"Q$&
S(*2"QA(=
S?A"urz
SKMb5SU:
S rEBqDL2a4"Q$&
S *,A1r1u(<r!t(Cbd(JRPQT(Q
S CEBrEMBqD 2a4'"Q$.A5	
S 8:"ur!t|bd7JRPQT7Q	
S
 rEBJ
S
 2

S
 %'rEBqDL2a4$7"Q$$>
S CEBrEMBqD 2a4'"Q$.A5
S CEBqDL2a4"a%'"Q$.A5
S 9;s1ur!t|be7KbQRd7R
S C"R%K
S B
S &(UQrT!V^bd%:
S =?rEBqDL2a4<ORTUVRV<V
S CEBqDL2b5 2a4'
S +-Q2a"a%)?
S CEr"u
S OQQSeVXj
S rEBJ
S 2

S &(C"R%K
S 35r"u
S @BcBEk
S LNPQ6
SD BAHQNNBQQSU]^`bcUdUdfhjklBHROORB2rJBQXb!__b(1a..RTV^_`bcVdVdfhjklB2q"aQA6BQXa^^RaBQUVWQXQXPXYZPZ\^`bcBQXa^^R$q''!RQUVWQXQXYZQZ\^`bceD ;;$rw   c                      t          d          } t          | t          d          t          d          z   z  t          d          z
  | f|           g k    sJ d S )Nrk   r{   rz   r  )rk   s    ru   test_issue_13849rf  M	  sT    A!T!WWtAww&'$q''115q99R??????rw   c                      ddl m} m} t          d|z  | z  t          z   t
          z   t                    d| z  t
          z
  gk    sJ d S )Nr   newtonkilor  i)sympy.physics.unitsri  rj  rE   rh   ri   rh  s     ru   test_issue_14860rl  R	  sY    000000004"Q&**uV|a/?.@@@@@@@rw   c            
         t          d          \  } }}}t          d|  dz   dz  |dz  z  z   | dz
  dz  |dz  z  z   d|  dz   dz  |dz  z  z   | dz   dz  |dz  z  z   || dz   g|| ||          dd| t          d|dz  dz
  z            z  |fdd|t          d|dz  dz
  z            z  |fgk    sJ t          |||z  d|dz  z  z   dz
  | dz  d|dz  z  z   dz
  g|||          |dt          d           dz  f|dt          d          dz  fgk    sJ t          ||dz  z   dz
  ||dz  z   dz
  f          g k    sJ d S )Nz:4r   r   rz   r   r   rf  r  )re   rf   r`   ra   s       ru   test_issue_14721rn  W	  s   JAq!Q
qb1fq[A!a!AqD 00
qb1fq[A!a!AqD 00	1q5 aA  
B41a4!8%%%q)	
B$q!Q$(|$$$a(#** * * * 	1Q31a4<!aRTAadF]Q.012Aq: :	
AQxzQ47719->// / / / !ad(Q,AqD1-.."444444rw   c            	         t          dd          } t          t          | dz  d| dz  z  z
  dz             t          | dz  d| dz  z  z
  dz             z   d	t          |           z  | z  z
  |           t          d          gk    sJ d S )
Nrh   Tr  r      rz   iA  i  r/  )r   rE   r.   r   r   s    ru   test_issue_14779rq  e	  s    $AadSAXo,--QTC1H_6 1 1 c!ff9Q;''(* *.23ii[9 9 9 9 9 9rw   c                     t          t          dz
  t          t          dz   t          dz
  d          f          t          dt          dit          dt          digk    sJ t          t          dz
  t          dt          dz
  d          f          t          dt          dik    sJ t          t          dz
  t	          t          dz   t          dz
  d          f          t          dt          dik    sJ t          dt          z  dt          z  z   d	z
  d
t          z  t          z
            } t          dt          z  dz   dt          z  dz
            }t          | |g          t          dt          dik    sJ d S )Nrz   r|   Fr)  r   r   r   i0  iW ir   r  r-  r   rj  )rE   ri   r   rh   r   r   )r  r  s     ru   test_issue_15307rs  k	  s[   !a%QU1q55999:;;
RAAq!%& & & &!a%QA666788	
Aq!   !a%QUAEE:::;<<	
B1   
U1Wqs]V#U1Wq[
1
1C
RTAXqsRx
 
 C#s2q,,,,,,rw   c                     t          t          dz
  t                    dgk    sJ t          t          dz
  gt                    t          dik    sJ t          t          t          dt          dz  z  dz  z   t          dt          z  z             t                    g k    sJ t          t          t          dt          dz  z  dz  z   t          dt          z  z             gt                    g k    sJ t          t          t          dt          dz  z  dz  z   t          dt          z  z             t          t          d          gt                    g k    sJ d S )Nr|   rz   r   )rE   rh   r   ri   r   rw   ru   test_issue_15415ru  w	  s   Q??qc!!!!!a%!1%%%%A!Q$qL!ac'**A.."4444"Q1a4\1qs7++,a00B6666"Q1a4\1qs7++R1XX6::b@@@@@@rw   c            
         t          t          t          dz  dt          z  z
  dz   t          dz  dt          z  z
  dz   z  d                    g dk    sJ t          t          t          dz   z  dz
            d	gk    sJ t          t           t           dz   z  dz
            dgk    sJ t          t          dz  d
z
  t          dz  dz
  z  dz
            d	dgk    sJ t          t          dz  dt          z  z
  dz
  t          dz  dz
  z  dddt          d          z  z
  z  z
            t          d          gk    sJ t          t          t          t          j        z   z  dt          d          z  z
            t	          d          gk    sJ t          t          dz  dz   t          z  dz
            dgk    sJ t          t          dt          z  z  dz
            ddgk    sJ t          t          dz  dt          z  z  t          d          z
            ddgk    sJ t          t          t          t          j        z   z  t          dd          z
            t          dd          gk    sJ t          t          t          d                     t          z  dz
            dt          d          t          dt          dd          z            t          t          z  z   z  gk    sJ t          t          d          t          z  t          t          d                    z
            t          j        gk    sJ t          t          d           t          z  dt          d          z  z             ddt          d          dz  z  dt          dz  z  z   dt          z  t          z  t          d          z  z
  t          d          dz  dt          dz  z  z   z  gk    sJ t          t          d          t          z  dt          d          z  z
            dgk    sJ t          t          t          z  dz             dgk    sJ t          dt          z   t          z  dt          z  z
            dgk    sJ t          t          d          t          d          z   t          z  dt          d
          z  dz   t          dd          z  z
            t          dd          gk    sJ t          d          } t          | t          z  | dz  z
  t                    dgk    sJ t          | t          z  d| z  z
  t                    dgk    sJ t          | t          z  | z
  t                    dgk    sJ t          dd          } t          | t          z  | dz  z
  t                    dgk    sJ t          | t          z  d| z  z
  t                    dgk    sJ d S )Nrz   r   r2  rG  r   r   )rz   r|   r   r{   r   r   r   r   r   r|   rU  r  rf  r{   ra   r   Tr  )rE   r   rh   r.   r   r   r   r&   r   r   r   )ra   s    ru   test_issue_15731rw  	  s-    QTAaCZ"_1r!tb(891==>>BTBTBTTTTT!q1u!""rd****1"Q!#$$++++!Q$(adQh'!+,,Q7777!Q$1*q.AqD1H-1qay=0AABBtAwwiOOOOQZ1T!WW9,--!A$$7777!Q$(Q#$$++++QqSA1a&((((!A#1Q'((QF2222QZ8Aq>>122x1~~6FFFFF4Q==.1$q())aQQA=N9O9ORSTVRV9V1W-XXXXX$q''AT!WW-..16(::::477(QDGG,--!s1vvqy[1RU7"QqSVCFF]2SVVQY2q55HI2K K K K K$q''A477+,,3333A??qc!!!!!a%!ac!""qc))))$q''DGG#a'1T!WW9q=8Aq>>*IIJJxXY[\~~N^^^^^sAA1a  QC''''A!QB4''''A1!$$$$sT"""AA1a  QC''''A!QB4''''''rw   c                      t          t          dz  t          t          dz   z  z   t                    sJ t          t          t          dz  z  t          dz  z   t          dz  z   dz             sJ d S )Nr   rv  r|   rz   r  )rE   rh   ri   r   r   rw   ru   test_issue_10933ry  	  sa    A1s7#Q'''''1a4!Q$A%*+++++++rw   c                      t          dd          } t          t          | t          z            |           dgk    sJ d S )Nrh   Tr  r   )r   rE   r  ri   r   s    ru   test_Abs_handlingr{  	  sA    $AQqS1!$$$$$$rw   c                     t          d          } t          d| dz  z  d| z  z   dz   dk    | dk    g|           t          j        u sJ t          | dz  d| dz  z  z
  d	| z  dz  z
  d
z
  dk    | dz
  dk    g| g          t          j        u sJ d S )Nrh   rz   r{   r   r   g      ?r|   g)\( @g=
ףp=L@j   r   )r   rE   r   falser   s    ru   test_issue_7982r  	  s    sA!AqD&1Q3,#q(!s(3Q7717BBBB!Q$ad"U1WQY.491q5A:FLLPQPWWWWWWWrw   c                      t          d          \  } }t          | |z  | z
  |z
  | |z  | z
  |z
  g| |g          ||dz
  z  |fgk    sJ d S )Nr  r   rZ  r  s     ru   test_issue_14645r  	  sb    5>>DAq!A#'A+qsQw{+aV44!QU)Q8HHHHHHHrw   c                      t          d          \  } }t          t          d| dk     f| | dk    f          |z
            |t          d| dk     f| df          igk    sJ d S )Nr  r   rv  T)r   rE   r/   r  s     ru   test_issue_12024r  	  sz    5>>DAqCS>AqCx=99A=>>
YQW~4y11	234 4 4 4 4 4rw   c            
         t          dt          z  t          z  t          z   t                    t          t	          t                    t
          t          z  z              t          t	          d                    z  t          t	          t                    t
          t          z  z             t          t	          d                    z  gk    sJ t          t          t          dz  z  t          dz  z   t                    t          t          dt	          d          z  dt	          t                    z  z   dt
          z  t          z  z                       gk    sJ d S )Nr   r2  i)rE   rh   r   r.   r&   r   r%   r$   r   rw   ru   test_issue_17452r  	  s    !Q$R##c"gg"n)=)=(=d3q66ll(J(,SWWqt^(<(<T#a&&\\(I(K K K K KQrTRU"A&&3xCGGbRj8PSUVWSWXZSZ8Z/[/[+\+\*]]]]]]]rw   c                      t          t          t          t          d          dz  z            t          z   t
          z   t                    g k    sJ d S r  )rE   r8   rh   r   r   r   r   rw   ru   test_issue_17799r  	  sF    #a!A$$q&k""B&&*A.."444444rw   c                      t          dd          } t          t          t          | dz  dz
            | z
            | z
            ddt          d          z   dt          d          z   gk    sJ d S )Nrh   Tr  rz   r   r   )r   rE   r  r.   r   s    ru   test_issue_17650r  	  sn    sASA]]Q&''!+,,BaL!d1gg+0NNNNNNNrw   c                      dt           dz  z  dt           dz  dz
  t          d          dz  z  z  z  ddt           dz  dz
  t          d          dz  z  z  z  z   } t          |           J d S )Nrz   rf  r   r   r|   )rh   r   rO   r9  s    ru   test_issue_17882r  	  sn    	AqD!QTAX1a((	)Aq!Q$(add1f1E/E,F	FB99rw   c                     t          t          t          
 t          dz  z             t                    g k    sJ t          t          t           t          dz  z             t                    g k    sJ t          t          t          
 t          dz  z
            t                    g k    sJ t          t          t           t          dz  z
            t                    g k    sJ d S r  )rE   r%   rh   r   rw   ru   test_issue_17949r  	  s    aR1Wq!!R''''aR1Wq!!R''''aR1Wq!!R''''aR1Wq!!R''''''rw   c            	         t          t          t          t          d          d                    ddgk    sJ t          t          t	          t          d          t          t          d          z   t                              g dk    sJ t          t          t          t          d          d                    ddgk    sJ t          t
          t          t          d          z   t
                    t          t          d           gk    sJ t          t          t          t
          d          z
  t          t          d          z   t          t
                    z   t                    t          t
                     t          t
          d          z   t          t          d          z
  gk    sJ t          t          dz   t          t          dz   d          z
  t                    g dk    sJ d S )Nrz   r|   r   )r  r   r   r   r   )r   r   r|   )rE   r   r   rh   powr`   ri   r6   r   rw   ru   test_issue_10993r  	  sy   HQNNA&&''B72222C1IIA.2233zzzAAAAHQNNA&&''Aq611118Aq>>!1%%8Aq>>/):::::8Aq>>!HQNN2SVV;Q??SVVGhWXZ[nnD\_ghikl_m_mDmCnnnnn!A#x!Q'''++{{{::::::rw   c                  l   t           t          z   dz   } t           t          z   }t          | |gt           t                    t           t           t          dt          z   ik    sJ t           dz   t          z   }t          | |gt           t                    t           dt          z
  t          dt          z   ik    sJ d S )Nr   r   rz   r   )rh   ri   r   rE   r   )r  r  r  s      ru   test_issue_11553r  	  s    
a%!)C
k/C#sQ""q;,2;K&LLLLL
a%$
$C#sQ""q"/A*A1aJ\F\&]]]]]]]rw   c                     t          d          dz  } t          t          t                    dz  t	          t                    dz  z
             t          dt          t                    dz  z  dt	          t                    dz  z  z
            t          d| z            t          d| z  dt          d          t          z  z
  z  dz             t          d| z  dt          d          t          z  z   z  dz             gk    sJ t           j        }t          t          t                    dz  t	          t                    z             dt          | t          d          dz  z   t          d          t          dt          d          z
            z  dz  z             z  dt          |t          d          dz  z   t          d          t          dt          d          z             z  dz  z             z  dt          t          d           dz  |z   t          d          t          dt          d          z
            z  dz  z             z  dt          t          d           t          dt          d          z             z  dz  |z   t          d          dz  z             z  gk    sJ t          dt          t                    z  t	          t                    z
            t          d          gk    sJ d S )Nr   r|   r{   r   rz   r   )	r   rE   r4   rh   r6   r2   r.   r   r   )rk   rf   s     ru   test_issue_19113_19102r  	  sx   	!QA	#a&&!)CFFAI
3q6619qQ{*++QVtAFAQ	M214555	a!fa$q''!)m$Q&	'	''0) ) ) ) ) 	
AQSVV#$$	$rDGGAI~QQa[(9(9 9! ;;
<
<<
4DGGAIQQa[(9(9 9! ;;<<<
4a
Qaa$q''k):):!:1!<<===
4aa$q''k***1,q047719<===	)? ? ? ? ?
 3q66CFF"##Qy000000rw   c            
         t          d          dz  } t          d          dz  }t          d          dz  }t          d          dz  }t          dt          dz
  dz  z  dz
            d| | z   t          | |z             z
  | | z   t          | |z             z   || z   t          | |z
            z
  || z   t          | |z
            z   gk    sJ d S )Nr|   r   r{   r  r   rz   )r   r.   rE   rh   r`   ra   rb   rc   s       ru   test_issue_19509r  	  s    	!QA	!QAQ	AQ	AAqD19q!!a	
Qqb1f	
Qqb1f	AaR!V	AaR!V	&      rw   c            	         t          d          \	  } }}}}}}}}||z  | |z  z   |z   }	d|dz
  | dz
  z  |z  dt          ||	z            z
  z  z
  }
||||	t          |
          z  z
  z  z
  }dt          ||z  |z
  |||z  | |z  z   |z   z  z            z
  dt          |||z  | |z  z   |z   z            z
  z  }| |d|z  z  z  |d|z  z  z
  dz   g}t          ||          |k    sJ d S )NzTHT HT DBH dib c0 c1 c2 c3 c4r   )r   r%   r&   rE   )THTHTDBHdibc0c1c2c3c4r   rhsr   termr   s                 ru   test_issue_20747r  
  s+   -45T-U-U)CS#r2r2rBR"A
Qq!B&C1II6
6C	sB3s88O$	$Bc"fslS#b&3r6/B*>%?@AAA3r3r6CF?R/01113Dtad|dQrTl*Q.
/CR==Crw   c                     t           dt           z   dz  z  } t          |                     t           dt          z  dz   i                              t                    dk    t                    t          d          t          k     t          t          d          dz  k     z  k    sJ t          |                     t           dt          z  dz   i                              t                    dk    t                    t          d          dz  t          k     t          t          d          dz  k     z  k    sJ t          |                     t           dt          z  dz   i                              t                    dk    t                    t          d	          dz  t          k     t          t          d          k     z  k    sJ t          |                     t           dt          z  dz   i                              t                    dk    t                    t          d          t          k     t          t          d          dz  k     z  k    sJ d S )
Nr   rz   r|   r   r   r  r   r   r  )rk   rE   r   rh   r	   r   r  s    ru   test_issue_20902r  
  s   	
q1ul	AAEAI'',,Q//!3Q77AbEEAI!aPReeTUg+;VVVVVAEAI'',,Q//!3Q77AbEE!GaKAPQRTPUPUVWPWK;XXXXXAEAI'',,Q//!3Q77AbEE!GaKAPQRTPUPUI;VVVVVAEAI'',,Q//!3Q77AbEEAI!aPReeTUg+;VVVVVVVrw   c            
      *   t          dd          } t          t          t          d                    z
  t          t          t          |                     z
  t          t          t                    z
  g}t          |t          t          t                    t          t          d                    t          t          |                     t          t          t          d                              fgk    sJ t          t                    t          t                     z
  t          t                    t          t                    t          t                     z   z  z
  t          z   dz
  g}t          |t                    t          dik    sJ d S )Nr`   Tr  r   r{   )
r   rh   r(   r4   ri   r)   rj   r*   rE   r%   )r`   r  	newsystems      ru   test_issue_21034r  
  s   $A$s1vv,,DQLL 0!d1gg+>FAq!!tCFF||T#a&&\\4SQRVVCUCU&V%WWWWW a&&3r77"d1ggs1vvQB/?&@@1DqHIIA1a&((((((rw   c                  j   t           t          t          dz  t           dz  z  t          dz  t          dz  z  z   t          dz  z
            z  t           dz  t          dz  z   z  } t          t          z  t           dz  t          dz  z   z  }t          || z
  z  t          z
  t            z  || z
  ft          || z   z  t          z
  t            z  || z   fg}t          t          dz  t          dz  z   t          dz  z
  t           t          z  t          t          z  z   t          z
  gt          t                    |k    sJ d S r  )r`   r.   rn   ra   rb   rE   rh   ri   )rj   rk   r   s      ru   test_issue_4886r   
  s    	$q!tAqDy1a419$q!t+
,
,,adQTk:A	!QTAqD[AAY]aR !a%(Aq1uIMQB+?Q*G
HC!Q$A+1$acAaCi!m4a;;sBBBBBBrw   c                      t          dd          \  } }}}t          | |t          z  z  ||t          z  z  z
  t                    t          || z            t          ||z            z  gk    sJ d S )Nr  Tr  )r   rE   rh   r&   r  s       ru   test_issue_6819r  '
  sm    T222JAq!Q1a4!AqD&!$$QqS#ac(():(;;;;;;;rw   c                  ~    t          d          } t          d| z
  t          z
  dz  |           dt          z
  gk    sJ d S )Nrh   r   r   )r   rE   r   r   s    ru   test_issue_17454r  ,
  s@    sA!a%!)a##Aw......rw   c                      ddt          d          z  dz  z
  g} t          dt          z  t          dt          dz  z            z   dz
            | k    sJ d S )NrZ  rz   )r.   rE   rh   )r   s    ru   test_issue_21852r  1
  sX    RQZ\!"H1tAadF||#b())X555555rw   c                     t            t          t          dt          z
  z  z  t          dt          z
  z  dt          z
  z  z   ddt          z
  z  z  z   } t          | t          dd          }|t          t          dt          z
  z  z  t          dt          z
  z  z
  t           dt          z
  z  z   t          z  ddt          z
  z  z  gk    sJ d S )Nr   Fr.  )rc   r`   rb   rd   ra   rE   r  s     ru   test_issue_21942r  6
  s    
qQU|a!a%j!a%00Aq1uI>	>B
AU
3
3
3CQq1q5z\AAJ.	AE
AE$ % % % % % % %rw   c                      t          t          dz  t          dz  z   t          z
  dz
  d          } t          t          dz  t          dz  z   t          z
  dz
  d          }| |k    sJ d S )Nr{   rz   r   F)cubicsTr   )r-   rads     ru   test_solver_flagsr  =
  sa    A1q1$U333D
1q!ta!#D
1
1
1C3;;;;;;rw   c                     dt           dz  z  dt          dz
  dz  z  t          dz  z  z
  } t          |                                 t           d          dt          z  t          dz
  dz  z  t          dt          d          t          z  z   z  t          dz
  dz  z  t           dt          d          t          z  z   z  t          dz
  dz  z  gk    sJ d S )	Nrz   r|   r   r   r   Fr  r   )rh   ri   rj   rE   r  r.   r   r9  s    ru   test_issue_22768r  C
  s    	
1a4"a!eaZ-1$	$Ba% 
 
 
c1q51*nad1ggai0!a%!;	
AQ	MAEA:%'' ' ' ' ' 'rw   c                  "   t          t          dz   t          t          dz  t          z            z   dz   dt          z  t          z  dt          z  t          z  z   f          t          dt          t          it          dt          t          igk    sJ d S )Nrz   r   r   r   )rE   ri   r&   rh   r   r   rw   ru   test_issue_22717r  J
  s}    1a4%#ad1f++%)2a46AaCE>:;;	
B11a|@% % % % % % %rw   c                      t           dz
  dz  dz
  t                    } t          fd| D                       rJ d S )Nr{   r  r|   c              3   N   K   | ]}                     t          |          V   d S r   )r   rh   )r   r   r   s     ru   r   z#test_issue_25176.<locals>.<genexpr>R
  s/      ..Q2771a==......rw   )rh   rE   r5  )r   r   s    @ru   test_issue_25176r  O
  sN    
a%"qB
))C....#..........rw   c                  <   t          dt          z  t          dz  t          t          z   t          z   t
          z   z  z
  t          dz  dt          z  dt          dd          z  t          z  z
  dt          z  z   t          z   dt          dd          z  t
          z  z   dt
          z  z   t          z   z  z
  t          dz  ddt          dd          z  z  t          z  t          d          t          z  z   dt          dd          z  t          z  z
  dt          z  z   t          d          t
          z  z   ddt          dd          z  z  t
          z  z   dt          dd          z  t          z  z   dt          z  z   z  z
  t          dz  dt          d          z  t          z  ddt          dd          z  z  t          z  z
  t          d          t          z  z   dt          d          z  t
          z  z   t          d          t          z  z   ddt          dd          z  z  t          z  z   z  z
  t          dt          z  dt          z  z   dt          d          z  t          z  z   dt          d          z  t          z  z   z  z
  dz             } t          | t          t          t          t          t
          t          gt                    t          t          dd          t          t          dd	          t          t          d
d          ddt          dd          z  z  dz  z
  ddt          dd          z  z  d	z  z   t          ddt          dd          z  z  dz  dt          d          z  dz  z
  ddt          dd          z  z  dz  z
  t
          t          d
d          ddt          dd          z  z  d	z  z
  ddt          dd          z  z  dz  z   t          dt          d          z  dz  ddt          dd          z  z  dz  z   ddt          dd          z  z  dz  z   ik    sJ d S )Nr  r{   r   rz   r|   r  r  r  i  i   r   ir   i  ir   )r   r`   rh   ra   rb   rd   r   rc   re   r.   rJ   r9  s    ru   test_issue_10169r  U
  s   	
2a4!Q$A	A&&AqsQ15Ea5G/G!A#/M	0
x!}}Q0!"10%'(0) ** *,-qD"Q15E2Ea2G$q''RS)2S	8Aa==3qS3!#'77193-/0HQqMM1A/A!/C3DFGRSTUFVWXFX3Y[\]^[^3_ -`` 	
1aQikAa!A..q0047719<qay{JQ	a!A&&q() 	** -.qsQqSy1T!WW9Q;/F	$q''	!0 -	
  
 
B %R!Q1a);Q??	8Aa==	8Bt	8CqHQqMM!11#55!Xa]]:J8J48OO	3q(1Q--#bajn4qHQqMM9I7I#7MM	8CqHQqMM!11$661hqmm;K9KC9OO	3tAww;s?Qq(1Q--//33bHQqMM9I6I#6MMD      rw   c                  .   t          d          \  } }}}t          | t          t                    z  |t	          t                    z  z   |t          t          |z
            z            }|j        |j        z
                      d          }t          |||ft                    }||dt          | t          | dz  |dz  z             z
  |z            z  || dz   | t          | dz  |dz  z             z  z   |dz  z
  | t          | dz  |dz  z             z
  z  i|dt          | t          | dz  |dz  z             z   |z            z  || dz  | t          | dz  |dz  z             z  z   |dz  z   | t          | dz  |dz  z             z   z  dz  igk    sJ d S )NzA, B, r, phiT)trigrz   r   )r   r   r6   rk   r4   lhsr  r  rJ   r2   r.   )r  r  r   r  rd   r   r  s          ru   *test_solve_undetermined_coeffs_issue_23927r  f
  s   >**LAq!S
1SVV8aAh#a#g,,//A
%!%-		T		*	*B$R!S155DQtQadQTk***A-...	QTEAd1a4!Q$;''''!Q$.T!Q$A+5F5F1FG
 	QtQadQTk***A-...	AqD1T!Q$A+&&&&A-DA14E4E0EFrI
      rw   c                       t          t          d            t          ddd          t          dz  t	          d          dz  z
             t          t           fd           d S )Nc                  X    t          t          t          dz  d          t                    S )Nrz   rp  )rE   r
   rh   r   rw   ru   r   z"test_issue_24368.<locals>.<lambda>v
  s    c!Q$mmQ(?(? rw   rL  Tr  rz   r   c            	          t          t           dz   dz   z  d z   dz   z  z   d dz   z  z   d           z  t           dz   dz   z  d z   dz   z  z   d dz   z  z   d          z             S r`  )rE   r
   r   rL  s   ru   r   z"test_issue_24368.<locals>.<lambda>y
  s    s1a4Q<!A#q1u+3MPQSTWXSXPY3Y[\/]/]_`.`cfghjkgkmnqrmrgsvwxyvy{|  @A  |A  wB  hB  EF  HI  LM  HM  EN  hN  PQ  dR  dR  /R  TV  )W  )W rw   )r^   r   r   r+   r   r  s   @@ru   test_issue_24368r  s
  s      ? ?@@@	dT	2	2	2BbdQqTT!VmA
  !W  !W  !W  !W  !W  X  X  X  X  Xrw   c                     t          d          dz  gt          dt          t           j        t          dk    fdt          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk    z  t          dk    z  t          dk    z  t          dk     z  fd	d
t          z  z
  t          dk    t          dk    z  t          dk    z  t          dk     z  fdt          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk    z  t          dk    z  t          dk     z  fd	dt          z  z
  t          dk    t          dk    z  t          dk     z  fdt          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk    z  t          dk    z  t          dk     z  fddt          z  z
  t          dk    t          dk    z  t          dk     z  fd
t          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk    z  t          dk     z  fddt          z  z
  t          dk    t          dk     z  fdt          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk    z  t          dk    z  t          dk     z  fddt          z  z
  t          dk    t          dk    z  t          dk     z  fdt          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk    z  t          dk     z  fddt          z  z
  t          dk    t          dk     z  fdt          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk    z  t          dk     z  fdt          z  t          dk    t          dk     z  fdt          z  dt          dz
  dz  z  dz  z
  dz
  t          dk    t          dk     z  fdt          dk     ft           j        df          z            k    sJ d S )Nr   r|   r   r   r   rz      r   r  ro  r   r]     rq  r-     rN  r+  r%  rV  T)r   rE   r/   NaNrh   r   rw   ru   test_solve_Piecewiser  |
  sj   bEE!G9a		
Q	A1q51*Q		$qAv!q&&9QU&CqAv&NRSVXRX&YZ	r!ta1fa(AF3q2v>?	A1q51*Q		$qAv!q&&9Q!V&DB&OP	r!ta1fa(AF34	A1q51*Q		$q1ua&8AF&Cq2v&NO	bdQ!VQ'1r623	A1q51*Q		$qAv!q&&9QV&DE	bdQ!VB'(	A1q51*Q		$qAv!q&&9Q!V&DB&OP	acAFqAv&!b&12	A1q51*Q		$qAv!q&&9QV&DE	bdQ!VB'(	A1q51*Q		$qAv!q&&9QV&DE	
1qAv!b&!"	A1q51*Q		$qAv!b&&9:	
AF	
t%! !         rw   N)ro   (&  sympy.assumptions.askr   r   sympy.core.addr   sympy.core.containersr   sympy.core.functionr   r   r	   sympy.core.modr
   sympy.core.mulr   
sympy.corer   r   sympy.core.numbersr   r   r   r   r   r   sympy.core.relationalr   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   r   r   sympy.core.sympifyr   (sympy.functions.combinatorial.factorialsr   $sympy.functions.elementary.complexesr   r    r!   r"   r#   &sympy.functions.elementary.exponentialr$   r%   r&   r  r'   r(   r)   r*   #sympy.functions.elementary.integersr+   (sympy.functions.elementary.miscellaneousr,   r-   r.   $sympy.functions.elementary.piecewiser/   (sympy.functions.elementary.trigonometricr0   r1   r2   r3   r4   r5   r6   r7   'sympy.functions.special.error_functionsr8   r9   r:   r;   sympy.integrals.integralsr<   sympy.logic.boolalgr=   r>   sympy.matrices.denser?   sympy.matricesr@   sympy.polys.polytoolsrA   sympy.printing.strrB   sympy.simplify.radsimprC   sympy.solvers.solversrD   rE   rF   rG   sympy.solversrH   rI   rJ   sympy.solvers.bivariaterK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rk  rX   sympy.polys.rootoftoolsrZ   sympy.testing.pytestr[   r\   r]   r^   sympy.core.randomr_   r   r  r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   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  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r7  r:  r<  rD  rF  rH  rL  rg  ri  ro  rt  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/  rC  rE  rG  rI  rP  rR  r^  ra  rd  rf  rl  rn  rq  rs  ru  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   rw   ru   <module>r     s   * * * * * * * *       ' ' ' ' ' ' < < < < < < < < < <             8 8 8 8 8 8 8 8 > > > > > > > > > > > > > > > > 2 2 2 2 2 2 2 2 2 2 2 2 " " " " " " < < < < < < < < < < < < & & & & & & = = = = = = N N N N N N N N N N N N N N G G G G G G G G G G K K K K K K K K K K K K 5 5 5 5 5 5 G G G G G G G G G G : : : : : : b b b b b b b b b b b b b b b b b b b b P P P P P P P P P P P P . . . . . . ) ) ) ) ) ) ) ) ' ' ' ' ' ' ' ' ' ' ' ' & & & & & & # # # # # # ( ( ( ( ( ( ? ? ? ? ? ? ? ? ? ? & & & & & &          L L L L L L L L L L9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 # " " " " " + + + + + + : : : : : : : : : : : : 6 6 6 6 6 6 A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A@ @ @ @E E E  - - - 2 2 2V V V	/ 	/ 	/eB eB eBP!4 !4 !4H  	L 	L 	L@ @ @
8 8 8* * *.4 4 4(' ' '
F F FG G G
1 1 1
O O O, , ,J J J7 7 7" " "  H H H( I I IV V V  :4# 4# 4#nH H H 3 3 3D0> 0> 0>fI I IS S S&: : ::%L %L %LP$> $> $>NB B B0*+ *+ *+ZX X X$$ $ $* * *:)' )' )'X
% 
% 
% g	5 	5 	5, , ,

 
 
1 1 1 + + +(, , , r r rj	 ! ! ! J J J3 3 3:# # #> > > P P P(I (I (IV> > >6' ' '4A A AH; ; ;K K K4" " "
I I I7 7 7% % %PD D D
)> )> )>X, , ,3 3 3K K K1 1 1    D D D
= = =:/ :/ :/xZ Z ZE E E:7 7 7& * * * X+ X+ X+v
9 
9 
9 > > >	G 	G 	G7 7 71 1 1a a a< < <"	2 	2 	21 1 11 1 1
+ + +	! 	! 	!% % %
7 7 7- - -
5 5 5 * * *  2 2 2M M M   :< < <' ' '+ + +  3 3 3.% % %! ! !$5 5 5  .@ @ @
A A A
5 5 59 9 9	- 	- 	-A A A ( ( (>, , ,
% % %
X X XI I I
4 4 4^ ^ ^5 5 5O O O
  
( ( (; ; ;^ ^ ^1 1 1	 	 	     W W W) ) )C C C< < <
/ / /
6 6 6
% % %  ' ' '% % %
/ / /  "  X X X    rw   