
    MZdB-                       d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZ d d	lmZmZ d d
lmZ d dlm Z m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+m,Z,m-Z-m.Z. d dl/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z; d dl<m=Z= d dl>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZF d dlGmHZHmIZI d dlJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZR d dlSmTZTmUZU d dlVmWZWmXZX d dlYmZZZ d dl[m\Z\ d dl]m^Z^ d dl_m`Z` d dlambZb d dlcmdZdmeZe d dlfmgZg d dlhmiZi d dljmkZk d d llmmZm d d!lnmoZo d d"lpmqZq d d#lrmsZsmtZt d d$lmuZu d d%lvmwZw d d&l]mxZx d d'lymzZz d d(l{m|Z| d d)l}m~Z~mZmZmZmZmZ d d*lmZ d d+lmZ  e!d,      \  ZZZZZZZZZZZZ e d-d./      Z ed0      Zdd1Zd2 Zed3        Zd4 Zd5 Zd6 Zd7 Zd8 Zd9 Zd: Zd; Zd< Zd= Zd> Zd? Zd@ ZdA ZdB ZdC ZdD ZdE ZdF ZdG ZdH ZdI ZdJ ZdK ZdL ZdM ZdN ZdO ZdP ZdQ ZdR ZdS ZdT ZdU ZdV ZdW ZdX ZdY ZdZ Zd[ Zd\ Zd] Zed^        Zd_ Zd` Zda Zdb Zdc Zdd Zde Zdf Zdg Zdh Zdi Zdj Zdk Zdl Zdm Zdn Zdo Zdp Zdq Zdr Zds Zdt Zdu Zdv Zdw Zdx Zdy Zdz Zd{ Zd| Zd} Zd~ Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Zd Zd Zd Zd Zd Zd Zd Zed        Z	d Z
d Zd Zd Zd Zd Zd Zd Zed        Zed        Zd Zd Zd Ze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(edĄ        Z)dń Z*dƄ Z+dǄ Z,dȄ Z-dɄ Z.dʄ Z/d˄ Z0d̄ Z1d̈́ Z2d΄ Z3dτ Z4dЄ Z5dф Z6d҄ Z7dӄ Z8dԄ Z9dՄ Z:edք        Z;dׄ Z<d؄ Z=dل Z>dڄ Z?dۄ Z@d܄ ZAd݄ ZBdބ ZCd߄ ZDd ZEd ZFd ZGd ZHd ZIed        ZJed        ZKd ZLd ZMd ZNd ZOd ZPd ZQd ZRd ZSd ZTd ZUd ZVd ZWd ZXd ZYd ZZd Z[y)    N)Sum	summation)Add)Tuple)Expr)
DerivativeFunctionLambdadiff)
EulerGamma)EFloatIRationalnanoopizoo)EqNe)S)Symbolsymbols)sympify)Absim
polar_liftresign)LambertWexp	exp_polarlog)acoshasinhcoshcothcschsinhtanhsech)MaxMinsqrt)	Piecewise)acosasinatancossinsinctansec)
DiracDelta	Heaviside)CiEiSierferfcerfifresnelcli)gamma	polygamma)hypermeijerg)SingularityFunction)lerchphi	integrate)And)Matrix)Polyfactor)sstr)O)Interval)	gammasimp)simplify)trigsimp)IdxIndexedBase)	unchanged)floor)Integral)NonElementaryIntegral)units)raisesslowskipON_CIwarns_deprecated_sympywarns)SymPyDeprecationWarning)verify_numericallyzx y z a b c d e s t x_1 x_2nTintegerfc                 P    t         t        |       j                  |fi |d      S )NT)	full_prec)rN   r   evalf)erc   optionss      F/usr/lib/python3/dist-packages/sympy/integrals/tests/test_integrals.pyNSrm   4   s&     
  .g.$??    c                  n   t        dt        z  t              } | j                  t              t        t        dz  t        d      k(  sJ t        t        d      5  t        | t               d d d        t        t        d      5  t        | t        f       d d d        y # 1 sw Y   5xY w# 1 sw Y   y xY w)N   QQ)domainFtest_stacklevel)rL   xrI   r`   ra   rX   ps    rl   test_poly_deprecatedrx   8   s    QqS!A;;q>T!Q$$7777	&	> !Q	&	> QD   s   BB+B(+B4c                     dt         z  t        t         t         t        f      j                         dk(  sJ t        t        t         t        f      j                         t        t        dt         z        z  k(  sJ t        t        fd       t        t        fd       dt         dz  dz
  z  t        t         t         t        f      j                         j                         t        d       t        z  dz  k(  sJ t        t        fd       dt         dz  dz
  z  } t        | t         t         t        f      j                         dk(  sJ t        | t         ddf      j                         t        d       k(  sJ t         t         dz  dz
  z  }t        |t         t         t        f      j                         dk(  sJ t        |t         ddf      j                         dk(  sJ t         dz  t         dz  dz
  z  }t        |t         t         t        f      j                         t        u sJ t        |t         ddf      j                         t        d       d	z   k(  sJ dt         dz  dz
  dt         dz  z   z  z  }t        |t         t         t        f      j                         t         dz  k(  sJ t        |t         ddf      j                         t        d       t        d      dz  z
  k(  sJ y )
N   r   c                  @    t         t              j                         S N)rX   ru   principal_valuegs   rl   <lambda>z&test_principal_value.<locals>.<lambda>G   s    xA/??A rn   c                  6    t               j                         S r|   )rX   r}   r~   s   rl   r   z&test_principal_value.<locals>.<lambda>H   s    x{::< rn      c                  P    t         t        t         df      j                         S Nrz   )rX   ru   r   r}   )ls   rl   r   z&test_principal_value.<locals>.<lambda>L   s    xAsA;7GGI rn   rp      )ru   rX   r   r}   yr   r[   
ValueErrortogetherr.   r   r#   r2   )dvsrf   r   r   s       @@rl   test_principal_valuer   B   s   	AAAB3|$446!;;;AB3|$446"tAE{:JJJJ
:AB
:<=	a1f\AAB3|$446??Ad1gXb[QR]RRR
:IJ	Q!VaZAAB3|$446!;;;A2qz"224Q???	Q!VaZAAB3|$446!;;;A2qz"224999	Q!q&1*AAB3|$446"<<<A2qz"224Q!CCC	a1fqjQaZ()AAB3|$4462#'AAAA2qz"224a3q6A:8MMMMrn   c                     | j                   }|D ]T  }| j                  |      j                         | j                         j                  |      z
  j                         dk(  rTJ  |S )zReturn the set of symbols, s, which were used in testing that
    i.diff(s) agrees with i.doit().diff(s). If there is an error then
    the assertion will fail, causing the test to fail.r   )free_symbolsr   doitexpand)isymsr   s      rl   	diff_testr   _   s]     >>D Cq	 1668==#33;;=BBBCKrn   c                     t        t        t              t        ddf      dk(  sJ t        t        dz  t        dt        f      dk(  sJ t        ddt	        t              z   z  t        dt        f      t        d      k(  sJ y )Nr   rz   r   rp   )rI   r#   ru   r   r!    rn   rl   test_improper_integralr   i   sk    SVaAY'2---QWq!Rj)Q...QCF
^aBZ0CF:::rn   c                  N   t        t        t              } | j                  t        t              fk(  sJ t        t        t        f      }|j                  t        t              fk(  sJ t        t	        t
        t
        dt        f            }|j                  t        t              fk(  sJ t        t        t        t                    }|j                  t        t              fk(  sJ t        t        t        t        dd      f      }|j                  t        t        dd      fk(  sJ t        t        t        dkD        }|j                  t        t        dt              fk(  sJ t        t        t        dkD  t        dk  z        }|j                  t        t        dd      fk(  sJ y )Nrz   rp   
      )	rX   rc   limitsr   r   ru   r   rP   r   )s1s2s3s4s5s6s7s          rl   test_constructorr   o   s>    
!QB99q###	!aT	B99q###	#a!Q#	$B99q###	!U1Y	B99q###	!a!Q(	)B99q!Q)))) 
!QV	B99q"b)++++	!a!eA&	'B99q!Q))))rn   c            	         t        dt              dk7  sJ t        t        t        ddf      dk7  sJ t        t        t              t        k7  sJ t        t        j                  t              t        j                  u sJ t        t        t        t              t              dk(  sJ t        t        t        t        ddf      t              dk(  sJ t        t        t        t              t              t        k(  sJ t        t        t        t        dt        f      t              t        k(  sJ t        dz   dz  } t        t        | t        dt        f      t              t        t        | t        dt        f      t              j                         j                         cxk(  rdt        z   dz  j                         k(  sJ  J t        t        | t        dt        f      t              t        t        | t        dt        f      t              cxk(  rdk(  sJ  J t        t        | t        dt        f      t              t        t        | t        dt        f      t              cxk(  rdk(  sJ  J t        t        | t              t              t        t        | t              t              cxk(  rdk(  sJ  J t        | t        t        t        f      j                  t              t        | t        t        t        f      j                  t              j                         j                         k(  sJ t        | t        t        t        f      j                  t              j                         dt        z   dz  k(  sJ t        | t        t        t        f      j                  t              j                         dt        z   dz   j                         k(  sJ t        t        dz  t        t        dt        z  f      j                  t              dt        dz  z  k(  sJ t        t        t              j                         t        hk(  sJ t        t        t              t        ddf      j                         t        j                  t        j                  t        hk(  sJ t!        t        t        t        dt        z  f            t        hk(  sJ t!        t        t        t        dt        z  f            t        t        hk(  sJ t        t        t        t        t        f      dk(  sJ t        t        t        t         t         f      dk(  sJ t        t        t        z   t#        t              z   t              t        t        z  t        dz  dz  z   t#        t              z   k(  sJ t        t              j$                  sJ t'        dd      }t        |t        z   t              j$                  du sJ y )	Nr   rz   rp      r   rc   Fcommutative)rX   ru   r   r   NaNr   r   trI   r   r   aatomsrf   ZeroOner   r!   is_commutativer   rj   rc   s     rl   test_basicsr      s   Aq>QA1ay!Q&&&B?b   AEE1&&&A"a'''Q1I&*a///A"a'''Q1I&*a///	
Q
A	!aAY'+Xa!Q#Q',,.557
a%!     	!aAY'+Xa!Q#Q'-+,- - - - -	!aAY'+Xa!Q#Q'-+,- - - - -	!Q#tHQNA'>C!CCCCCQAq	"''*Q1I##A&++-4467 7 7A1ay!&&q)..0a!eaZ@@@QAq	"''*//1Azk5I5I5KKKKQTAq!A#;',,Q/1QT6999Aq>!aS(((AaD1a)$**,0BBBBXa!QqS*+s222Xa!QqS*+1v555QB$)))QRC"&!+++ QUSV^Q'1Q3Aa<#a&+@@@@A;%%%%s&AAE1,,555rn   c                       G d dt               }  |        }t        |dz   |      |dz  dz  |z   k(  sJ t        |dz   |ddf      t        dd      k(  sJ t        t        d        t        t        d        y )	Nc                       e Zd ZdZdZy)test_diff_wrt.<locals>.TestTN)__name__
__module____qualname__	_diff_wrtr   r   rn   rl   Testr      s    	rn   r   rz   rp   r   r   c                  6    t        t        dz   t        dz         S r   rI   ru   r   rn   rl   r   ztest_diff_wrt.<locals>.<lambda>   s    yQA6 rn   c                  <    t        t        dz   t        dz   ddf      S )Nrz   r   r   r   rn   rl   r   ztest_diff_wrt.<locals>.<lambda>   s    yQQ1> rn   )r   rI   r   r[   r   )r   r   s     rl   test_diff_wrtr      sw    t  	AQUA!Q$q&1*,,,QUQ1I&(1a.888
:67
:>?rn   c            
         t        t        t        t        dt        z  dt        z  ft        t        dt        z  f            t        hk(  sJ t        t        t        t        dt        z  ft        t        dt        z  f            t        hk(  sJ t        t        t        t        dt        z  ft        t        dt        z  f            t        t        hk(  sJ t        t        t        t        t                    t        t        hk(  sJ t        t        t        t        z  t        t                    t        t        hk(  sJ t        t        t        t        z   t        t        dt        f            t        hk(  sJ t        t        t        t        z   t        t        t        ft        t        t        f            t        t        hk(  sJ y )Nr   r   rp   rz   )r   rX   ru   r   r   rn   rl   test_basics_multipler      s6   Xa!QqS!A#Aqs<=!DDDXa!QqSAq!A#;78QC???Xa!QqSAq!A#;78QFBBBXaA&'Aq6111Xac1a()aV333Xa!eQAq	23s:::Xa!eaAYAq	:;1vEEErn   c                     t        dd      \  } }t        dd      }t        | |z  |f      }|j                         j	                         |j	                         j                         k(  sJ |j                         j	                         |j	                         j                         k(  sJ |j                         j	                         |j	                         j                         k(  sJ t        dd      }t        | |z  |f      }|j                         j	                         |j	                         j                         k(  sJ |j                         j	                         |j	                         j                         k(  sJ |j                         j	                         |j	                         j                         k(  sJ y )NzA BFr   ru   T)complexreal)r   r   rX   adjointr   	conjugate	transpose)ABru   rw   s       rl   test_conjugate_transposer      sV   5e,DAqsD!A1qdA99;!1!1!3333;;=1668#5#5#7777;;=1668#5#5#7777sA1qdA99;!1!1!3333;;=1668#5#5#7777;;=1668#5#5#7777rn   c                     t        dt        dt        f      dk(  sJ t        dt        dt        f      dt        z  k(  sJ t        t        t        dt        f      t        dz  dz  k(  sJ t        dt        z  t        dt        f      dt        dz  z  dz  k(  sJ t        dt        dz  z  t        dt        f      t        dz  k(  sJ t        dt        z  t        dt        f      t        t              k(  sJ t        dt        dz  z  t        dt        f      dt        z  dz
  k(  sJ t        t        dz  dt        z  z   dz
  t        dt        f      t        dz  dz  dt        dz  z  dz  z   dt        z  z
  k(  sJ t        t        dz  t              t        dz  dz  k(  sJ t        dt        z  t        z  dz  t              dt        z  dz  t        dz  z  dz  k(  sJ t	        d	      } t	        d
      }t        t
        t        z  t        dt        f      t
        t        dz  z  dz  k(  sJ t        t
        t        dz  z  t        dt        f      t
        t        dz  z  dz  k(  sJ t        t
        t        dz  z  | t        z  z   |z   t        dt        f      t
        t        dz  z  dz  | t        dz  z  dz  z   |t        z  z   k(  sJ y )Nr   r   rp   rz   r   r         bcr   )rI   r   ru   r#   r   r   )r   r   s     rl   test_integrationr      se   QAq	"a'''QAq	"ac)))QAq	"ad1f,,,QqS1a)$!Q$q000Qq!tVaAY'1a4///QqS1a)$A...R1Wq!Qi(AaC!G333QTAaCZ!^aAY/1a46AadF1H3Dqs3JJJJQT1Aa'''ac!eaZ#!ax!Q$'::::sAsAQqS1a)$!Q$q000Qq!tVaAY'1QT6!8333Qq!tVac\A%1ay1Qq!tVAX!Q$q5H1Q35NNNNrn   c                     t        t        dz  t        dz  z  t        ddft        ddf      t        d      k(  sJ t        t        dz  t        dz  z  t        t              t        dd      t        dz  z  t        dz  z  k(  sJ t        dt        dz   z  dt        z   dz  z  t              t	        dt        z         t        dd      z  t	        dt        z         t        dd      z  z   t        ddt        z  z   dt        dz  z  z   z  z   k(  sJ t        t        t        t        z        t        z  t        ddft        ddf      t        d       dz   k(  sJ y )	Nrp   r   rz   r   	   r   r   r   )rI   ru   r   r   r#   r4   r   rn   rl   test_multiple_integrationr      s*   adQT]Q1I2qz:hqkIIIadQT]Aq)Xa^QT-BAqD-IIIIQAYAz)1-AE
8B?"SQZA%>>A!GaPQSTPTfDTAUUV V VS1XaZ!QQ1I63q6'A+EEErn   c                  X    t        t        t               t        dt        f      dk(  sJ y )Nr   rz   )rI   r!   ru   r   r   rn   rl   test_issue_3532r      s#    S!Wq!Rj)Q...rn   c                  Z   t        t        t              dz  t              dt        t              dz  z  dz  k(  sJ t        t        t              t              dt        t              dz  z  dz  k(  sJ t        dt        t              dz  z  t              dt        t              z  k(  sJ y )Nr   rp   r   rz   r   )rI   r.   ru   r   rn   rl   test_issue_3560r      s    T!WaZ#qa!|A~555T!Wa Ad1gqjLN222QtAwz\1%DG333rn   c                  &    t        t        d        y )Nc                  ,    t        t        t        f      S r|   r   r   rn   rl   r   z"test_issue_18038.<locals>.<lambda>   s    9aV#4 rn   )r[   AttributeErrorr   rn   rl   test_issue_18038r      s    
>45rn   c                  t   t        t        t        dz  t        z  z   t        dz  z   t        t              } t               5  t	        | t              }d d d        t        t        d      5  t        | t              }d d d        t        t        d      5  t        | t              }d d d        t        t               du sJ t        t               du sJ |j                  t        t        fk(  sJ |j                  t        t        fk(  sJ |j                         t        dz  dz  t        dz  t        z  dz  z   t        t        dz  z  z   k(  sJ |j                         t        t        z  t        dz  t        dz  z  dz  z   t        dz  dz  z   k(  sJ y # 1 sw Y   ExY w# 1 sw Y   (xY w# 1 sw Y   xY w)Nrp   r   Frs   Tr   )rL   ru   r   r_   rX   r`   ra   rI   
isinstancegensas_expr)rw   qxqys      rl   test_integrate_polyr     so   QAaZ!Q$1%A 
 	! a^	&	> q!_	&	> q!_ b$4'''b$4'''77q!f77q!f::<1a46AqDF1H,qAv5555::<1Q3Aad1,q!tAv5555   s#   F)F F-F F*-F7c                  ^   t        t        t        dz  t        z  z   t        dz  z   t        t              } t               5  t	        | t        ddf      }d d d        t        t        d      5  t        | t        ddf      }d d d        t        t        d      5  t        | t        dt        f      }d d d        t        t               du sJ t        t               du sJ |j                  t        fk(  sJ |j                  t        fk(  sJ |j                         t        j                  t        dz  z   t        dz  z   k(  sJ |j                         t        dz  dz  t        t        z  z   t        dz  t        dz  z  dz  z   k(  sJ y # 1 sw Y   8xY w# 1 sw Y   xY w# 1 sw Y   xY w)	Nrp   r   r   rz   Frs   Tr   )rL   ru   r   r_   rX   r`   ra   rI   r   r   r   r   r   Half)rw   QxQys      rl   test_integrate_poly_definiter     sh   QAaZ!Q$1%A		! $a!Q#$	&	> %q1a)$%	&	> &q1a*%& b$4'''b$4'''77qd??77qd??::<166AaC<!Q$....::<2q57RT>BE!Q$JqL8888$ $% %& &s#   F	,FF#	FF #F,c                       t        d       t        t              t        dz  dz  k(  sJ t        t        d        t        t         fd       y )Nr   rp   c                      t        d      S Nrp   rH   r   rn   rl   r   z)test_integrate_omit_var.<locals>.<lambda>1  s
    y| rn   c                  (    t        t         z        S r|   r   r   s   rl   r   z)test_integrate_omit_var.<locals>.<lambda>2  s    y1~ rn   )r   rI   ru   r[   r   r   s   @rl   test_integrate_omit_varr   ,  s<    sAQ<1a46!!!
:+,
:-.rn   c                     t        d      } t        t        t        |       z  t              t        dz  t        |       z  dz  k(  sJ t        t        dz  t        |       z  t              t        dz  t        |       z  dz  k(  sJ y )Nr   rp   i  i  )r   rI   ru   r4   r   s    rl   test_integrate_poly_accuratelyr   5  sl    sAQs1vXq!QT#a&[]222 QWSV^Q'1d73q6>$+>>>>rn   c                      t        d      } t        t        dz  |       t        dz  | z  k(  sJ t        t        dz  | ddf      dt        dz  z  k(  sJ y )Nr   rp   r   rz   )r   rI   ru   r   s    rl   test_issue_3635r   >  sS    sAQT1Aa'''QTAr1:&!AqD&000rn   c                  t   t        dd      } t        t        | z  t        d      t        | dz   z  | dz   z  k(  sJ t        t        |       t        z  d| z  z   dt	        |       z   z  t        d      t        |        t        |       t        z  d| z  z   dt	        |       z   z  z  dt	        |       z   z  k(  sJ y )Nr   Tpositivenonecondsrz   rp   )r   rI   ru   r!   r4   r   s    rl   test_integrate_linearterm_powr   F  s    sT"AQT1F+q1q5z1q5/AAAAc!fQh1nCF
3QfEQBQAaC1s1v:..!c!f*=> > >rn   c                     t        t        t        t              z  t              dt        z  t        t              dz  z  dz  k(  sJ t        t        t        t              z  t        t        t              dz  z  z   t              dt        z  t        t              dz  z  dz  dt        z  t        t              dz  z  dz  z   k(  sJ y )Nrp   r   r   )rI   r   r.   ru   r   r   rn   rl   test_issue_3618r   O  s    RQZ#qtDGQJq'8888RQZ!DGQJ,.2	"T!WaZAaCa!OA--. . .rn   c            	      f   t        t        t        dz   t        z        t              t	        t        t        t        dz   z        t        dz   z  t        t        dz   d      ft        df      k(  sJ t        t        t        dz
  t        z        t              t	        t        t        t        dz
  z        t        dz
  z  t        t        dz
  d      ft        df      k(  sJ t        t        t        dz   t        z        t        t        dz
  t        z        z   t              t	        t        t        t        dz
  z        t        dz
  z  t        t        dz
  d      ft        df      t	        t        t        t        dz   z        t        dz   z  t        t        dz   d      ft        df      z   k(  sJ y )Nrz   r   T)rI   r3   rc   ru   r/   r4   r   r   rn   rl   test_issue_3623r   U  sW   S!a%^Q'9	QAYQ	AE1.D	,; ; ; ;S!a%^Q'9	QAYQ	AE1.D	,; ; ; ;S!a%^c1q5!)n4a83q!a%y>1q5)2a!eQ<81d)D3q!a%y>1q5)2a!eQ<81d)D	EE E Ern   c                     t        ddd      } t        dt        z  t        | t        z  t        z  dz        z  t        ddg      dt        t        | z        z  t        | z  z  k(  sJ t        t        t        | t        z  t        z  dz        z  t        d	d      z  t        ddg      dt        t        | z        z  t        | z  z  k(  sJ y )
Nrc   T)re   nonzerog      rp   r   r          @r   )r   rI   ru   r4   r   r3   r   rc   s    rl   test_issue_3664r  _  s    sD$/AUQYQVaZ\!22QAJ?C1Ir!t  QQVaZ\**Xb!_<q"ajI	#bd)RT  rn   c                  t    t        t        dt        dz  dt        z  z
  dz   z  t        ddf            dk(  sJ y )Nrz   rp   r      r   z1.10714871779409)rm   rX   ru   r   rn   rl   test_issue_3679r  g  s8    hq!Q$1*r/*Q1I67;MMMMrn   c                      ddl m}  ddlm}  | t	        t        t        dz        t                    t        d      t        t              z   |t        d      t        z  t        t              z        z  dz  k(  sJ y )Nr   expand_func)fresnelsrp   )	sympy.core.functionr  'sympy.functions.special.error_functionsr  rI   r4   ru   r.   r   )r  r  s     rl   test_issue_3686r  l  s^    /@yQTA./QR$q'!)DH"455a78 8 8rn   c                      t         j                  } t         j                  }t        t        | z  |z  t        d|z  d|z  f      d| z  |z  k(  sJ y )Nrz   r      )rZ   mr   rI   ru   )r  r   s     rl   test_integrate_unitsr  s  sG    AAQU1Wq!A#qsm,1Q666rn   c                      t        t        dt        z        t              t         t        t        dt        z        z  z   t        t        dt        z        z  z   k(  sJ y r   )rI   r    ru   r   rn   rl   test_transcendental_functionsr  y  sJ    Xac]A&	
Qx!}_q!A#./ / /rn   c                      t        t        dt        z
        t        z  t        ddf      t        dz   dz  k(  sJ t        t        t              dt        z
  dz  z  t        ddf      t        dz   dz  k(  sJ y )Nrz   r   rp   r   r   )rI   r#   ru   r   r   rn   rl   test_log_polylogr  ~  si    SQZ\Aq!9-"a%999SVQUbM)Aq!95"a%AAArn   c                  >   dt        t              z  dt        t              dz  z  z
  } t        t        | t              t              }t	        | j                  t        d      j                         |j                  t        d      j                         z
        dk  sJ y )Nr   rp   *   g|=)r#   ru   r   rI   abssubsri   )rf   fids     rl   test_issue_3740r    sp    	#a&1SVQY;A
yA
"Cqvva}""$sxx2'<'<'>>?%GGGrn   c                  b    t        ddt        dz  z   z  t              t        t              k(  sJ y Nrz   rp   )rI   ru   r2   r   rn   rl   test_issue_3788r    s'    QAqD\1%a000rn   c                       t        t               t         t              t        t               k(  sJ t	        t
         fd       y )Nc                  *    t         dt        z        S r   r   rf   s   rl   r   z!test_issue_3952.<locals>.<lambda>  s    yAaC0 rn   )r4   ru   rI   r3   r[   r   r  s   @rl   test_issue_3952r     s1    AAQ?s1vg%%%
:01rn   c                      t        dt        z  dt        z  z
  t              dt        z  t        d      z  t        dz  z
  k(  sJ y r   rI   ru   r#   r   rn   rl   test_issue_4516r#    s8    QTAaCZ#q!tCF{QT'9999rn   c                      t        t        dt        z    t        z        t        dt        f      } t        |       t        j                  k(  rt        |       t        dd      k(  sJ y )Nrz   r   r   rp   )
rI   r!   r   ru   r   r   r   r   r   r   )anss    rl   test_issue_7450r&    sL    
C!a%
OaBZ
0Cc7affCHRO!;;;!;rn   c            
         t        dt        dt        z        z   ddt        dt        z        z  z
  z  t        dt        f      t         dz  t	        d      t        z  dz  z   k(  sJ t        dt        dt        z        z   ddt        dt        z        z  z
  z        t         dz  t	        d      t        t	        d      t        t              z        t        t        t        t        dz  z
  t        z        z  z   z  dz  z   k(  sJ y )Nrz   rp   r   r   r   rI   r3   ru   r   r.   r2   r6   rW   r   rn   rl   test_issue_8623r)    s    a#ac(lq1S1X:~6Ar
Cs1utTUwWYzZ[|G[[[[a#ac(lQ3qs8^45!AQdSTgVYZ[V\nI]
5!bd(BJ  A!!"A# :# # # #rn   c            	         t        ddt        t              z
  z  t        dt        f      t        t	        d      z  k(  sJ t        ddt        t              z
  z        dt	        d      z  t        t	        d      t        t        dz        z        t        t        t        dz  t        dz  z
  t        z        z  z   z  dz  k(  sJ y Nrz   rp   r   r   r(  r   rn   rl   test_issue_9569r,    s    Q!c!f*%1bz2baj@@@QCF
^$$q'	4QAaC8H3IBuVWXYVY\^_`\`V`bdUdOeLe3e(fgh(hhhhrn   c                     t        dd      } t        t        t        z
  dz   d| z  | z  z        t	        dt
        z  | z  | z        z  }t        |t        t        t        f      }t        |t        dt        f      t	        d      | z  t        t        dz   d| dz  z  z        z  dt	        t
              z  z  t        t        t	        d      t        z  d| z  z        z  dz  z   t        dz  z   k(  sJ y )Nr   Tr   rp   r   )
r   r!   zr   r.   r   rI   ru   r   r=   )r   pzpzgxs      rl   test_issue_13733r1    s    sT"A	q1uqj[!A#a% 	!$qtAvax.	0BR!Q$DTAq":&$q'!)CAqAv4G*G4PR8*T	#d1gai1o
q +!#$Q3+' ' ' 'rn   c            	         t        ddt        t              z   z  t        dt        f      t        t	        d      z  k(  sJ t        ddt        t              z   z        dt	        d      z  t        t	        d      t        t        dz        z  dz        t        t        t        dz  t        dz  z
  t        z        z  z   z  dz  k(  sJ y r+  r(  r   rn   rl   test_issue_13749r3    s    Q!c!f*%1bz2baj@@@QCF
^$$q'	4QAaC8H8J3KbQVXYZ[X[^`ab^bXbdfWfQgNg3g(hij(jjjjrn   c                      t        t        t              dt        z   dz  z  t              t        t        t              t        dz   dz  z  t              k(  sJ y r  )rI   r!   ru   rY   r   rn   rl   test_issue_18133r5    sD    SVQUQJ&*.CCFAPQETU:DUWX.YYYYrn   c            
         t        dd      } t        dd      }t        |t        z  t        |  t        z  t        z  t
        z  t        z        z  t        |  t        z  t        z  t        z  t        z        z  t        t        z  z  t        dt        z  t        z  t        | t        z  t        z  t
        z  t        z        z  d      ft        t        |  t        z  t        z  t
        z  t        z        z  df      }t        dt        z  t        z  t        t        z  t
        t        z  z   z  d	z  z  }t        |t              |k(  sJ y )
Nz3999999.99999999955   )	precisionz2.5000000000000004e-7      ?r   Tr   gƠ>)r   r/   r   r!   r   r   r   ru   r.  r   r   rI   )r   r   rfuns       rl   test_issue_21741r<    s    "b1A%4A1Q3sA2a4719Q;''QBqDGAIaK(88"Q$?c"fQhs1Q3r6!8A:.24S!Ab1%%t,	.A r!tBw!AaC <0
1CS!!!!rn   c            	          t        ddd       } t        | t              t        t        t               t        dt        z         gt        dt        z         t        dt        z         gg      k(  sJ y )Nrp   c                 D    | |z   dz   t        | |z   dz   t        z        z  S r   )r4   ru   )r   js     rl   r   ztest_matrices.<locals>.<lambda>  s$    1q519c1q519a-.@"@ rn   r   )rK   rI   ru   r3   )Ms    rl   test_matricesrA    si    q!@AAQ?f
a&3qs8)
ac(S1XI&    rn   c                  V   t        t        t              t              t        t        t              t              k(  sJ t        t        t              t        ddf      t        t        t              t        ddf      k(  sJ t        t        t              t	        t        t              t              z  t              t        t              dz  dz  k(  sJ t        t	        t        t              t              t        t              z  t              t        t        t                    k(  sJ y Nr   rz   rp   )rI   rf   ru   rX   r   r#   r   rn   rl   test_integrate_functionsrD    s    QqT1!A$!2222QqTAq!9%!A$Aq	)BBBBQqT$qtQ-'+qtQwqy888T!A$]QqT)1-QqT:::rn   c                     t        t        t        t              t              t              t        t              k(  sJ t        t        t        t              t              t              t        t        t        t              t              z  k(  sJ t        t        t        t              t              dz  t              t        t        t        t              t              dz  t              k(  sJ y r   )rI   r   rf   ru   r   rX   r   rn   rl   test_integrate_derivativesrF    s    Z!a(!,!444Z!a(!,*QqT12E0EEEEZ!a(!+Q/AaD!$a'+, , ,rn   c            	      >   t        t        dz  dz   t        ddf      } t        }dt        z  dz   }| j                         | j	                  ||      j                         k(  sJ | j	                  ||      j	                  ||      | k(  sJ dt        z  dz   }t        }| j	                  ||      j	                  ||      | k(  sJ t        t        dt        z        t        ddf      } | j	                  t        dt        z        t        t        t              t        dz  z  t        dt        f      k(  sJ | j	                  t        dt        z        j	                  t        dt        z        | k(  sJ t        t        t        dz         t        t         t        f      } | j	                  t        dt        z        t        dt        dt        dz  z        z  t        t         t        f      k(  sJ t        t        t              j	                  t        | t        z        j                         t        t        | dz  z  t              j                         k(  sJ t        d      }t        t        t        d| f      j	                  t        dt        z        j                         t        dt        dz  z  t        t         d|z  f      j                         k(  sJ t        t        t        d|f      j	                  t        dt        z        t        t        dz  t        d|z  t        f      k(  sJ t        t        t        z   t        ddft        ddf      j	                  t        t        dt        z  z   t        f      j                         j	                  t        t        dt        z  z   t        f      j                         cxk(  rdk(  sJ  J t        t        t        | t        f      j	                  t        dt        z        t        dt        z  t        | dz  t        dz  f      k(  sJ t        t        fd	       t        t        fd
       t        t        fd       t        t        fd       t        t        fd       t        t        dz  t        ddf      t        t        fd       t        dd      }t        dd      }t        t        t        ||f      j	                  t        dt        z         j	                  t        dt        z        t        dt        z  t        |dz  |dz  f      k(  sJ t        t        t        | f      j	                  t        dt        z        t        dt        z  t        | dz  f      k(  sJ y )Nrp   rz   r   r   r   r   c                  0     j                  t        d      S r   )	transformru   r   s   rl   r   z test_transform.<locals>.<lambda>  s    q{{1a0 rn   c                  F     j                  t        t        t        z        S r|   rK  ru   r   r   rL  s   rl   r   z test_transform.<locals>.<lambda>  s    q{{1ac2 rn   c                  :     j                  t        t               S r|   rK  ru   r   rL  s   rl   r   z test_transform.<locals>.<lambda>  s    q{{1qb1 rn   c                  D     j                  t        t        t        f      S r|   rN  rL  s   rl   r   z test_transform.<locals>.<lambda>  s    q{{1q!f5 rn   c                  D     j                  dt        z  dt        z        S r   rP  rL  s   rl   r   z test_transform.<locals>.<lambda>  s    q{{1Q3!4 rn   c                  >     j                  t        dz  t              S r   rP  rL  s   rl   r   z test_transform.<locals>.<lambda>  s    q{{1a43 rn   r   T)negativer   r   )rX   ru   r   r   rK  r4   r   r!   r   r.  r   r   r[   r   r   )r   fxfy_3ambpr   s         @rl   test_transformrZ    sh   AAr1:&A	
B	
1qB668q{{2r*//1111;;r2((R0A555	
1qB	
B;;r2((R0A555QqSAq!9%A;;q!A#(3q6!Q$;Ar
"CCCC;;q!A#((AaC0A555adUa"b\*A;;q!A#(1SAqD\>AsB<"HHHHAq>##Aqs+0021a4  "# # #	
1BA1rc{#--a15::<AqD1rc2b5/*//12 2 2A1bz",,Q!4R1adB-() ) ) 	QAq	Aq!9-A;;q1qs7A,',,.	AAaC|$))+1/01 1 1 1 1 	Q1IA;;q!A#(1Q3AaC1">>>>
:01
:23
:12
:56
:45A1ay!A
:34	d	#B	d	#BQBK AKK1Q3;;q!A#(2a4!RT2a4"AAAAQFA;;q!A#(1Q3AaC"9999rn   c                  0   t         j                  t        t              z  t        t	        dt        dz  z
        z  dz  z   } t        t        t        t                    t              | k(  sJ t        t        t        t                    t              | k(  sJ y r  )	r   r   r1   ru   r.   rI   r3   r4   r0   r  s    rl   test_issue_4052r\  
  sh    	tAw4AqD>)!++ASa\1%***Sa\1%***rn   c                  2   t        t        t        t        ddf      d      dk(  sJ t        t        t        dz         t        t         t        f      } t        | d      dk(  sJ t        | dz  t
        z
  t        t        dd      z  z   d      dv sJ t        d	      }d
t        d      z  dd|dz  z  z   z  }dt        d      z  d|z  dz   z  t        d|dz  z  |z   dz         dz  z  }d|dz  z  dz   d|dz  z  d|z  z   dz   dz  z  }t        d      d|dz  z  d|z  z   dz   z  d|dz  z  d|z  z   dz   dz  z  }|||z  z
  |z
  }t        t        ||ddf      d      t        dt        d      z  dt
        z  z
  dt        t        d            z  z   dz  d      k(  sJ t        t        t        t        dt        z              dt        z   t        dz  z   z  t        ddf      d      t        dd      k(  sJ t        t        t        t        t        dz  dz               t        t        dz  dz         t        dz  dz   z  z  t        ddf      d      t        dt
        dz  z  dz  d      k(  sJ t        t        t        t        t
        t        z        t        t
         t        z        z
  t        dz  dz   z  z  t        dt        f      d      t        dd      k(  sJ t        t        t        t        t        t              t        t              z              t        t
        dz  t
        dz  f      dd      t        dd      k(  sJ t        dt        t        dt        t        dz        z        t        t
         t
        f      z   dd      t        dd      k(  sJ t        dt        t        dt        t        dz        z        t        t
         t
        f      z   dd      t        dd      k(  sJ t        dt        t        dt        t        dz        z        t        t
         t
        f      z   dd      t        dd      k(  sJ t        t
        dt        d t        ddf      z  z
  dd!d"      d#v sJ t        t        t              t        dz  z  t        dt        f      j                  d$      }d%|cxk  rd&k  sJ  J t        t        t        t              t        dz  z  t        dt        f      d'(      d)k(  sJ t        t        t        t
        t        z  dz         t        z  t        t         d*f      d'(      d+k(  sJ t        t        t        t                    d,k(  sJ t        t        t        t        t        f            d-k(  sJ y ).Nrp   r      z10.5000000000000z1.77245385090552rz   l      Fx:^V )z2.71828182845904e-20z2.71828182845905e-20r   r   r      r         6   A   r   2   1      r  z*pi/sqrt(3) * log(2*pi**(5/6) / gamma(1/6))`   zlog(2)/2-1/4Tchopzpi/4*log(4*pi**3/gamma(1/4)**4)r        zsqrt(1-x**2)   )maxnri  )z0.00)rm  g\(\?gRQ?osc)quadz0.504067061906928r   z0.276374705640365zIntegral(x, x)zIntegral(x, (x, y)))rm   rX   ru   r!   r   r   r   r   r   r.   r2   r#   r4   r3   ri   r   )gaussr   r   r   r   r   rf   s          rl   test_evalf_integralsrr    s   hq1a)$b)-????S!Q$Z!bS".EeR=....eQhma	6!  KL L L 	sA	$q'	1qAv:A
47
AaC!GT!AqD&1*q.1144A	
1a4!bAg!ma'!++AQQTBqD2%&1a4!A#(9A'==A	AaC!Ahq1a)$b)
Ad1gI2DaM 1125r:; ; ; hs3qs8}a!eadl3aAY?D
7<= = = htDAN+T!Q$(^QTAX-FG!J "a%
B/0 0 0 hq3r!t9s	A( A BZ)*,.13NB1GH H H hs3s1vc!f}-.BqD"Q$@"4P
,b12 2 2 	HS3qs8_q2#rl33RdDGI!RyQ Q Q	HS3qs8_q2#rl33RdDGI!RyQ Q Q	HS3qs8_q2#rl33RdDGI!RyQ Q Q b1XAq	# # #$&Rd<?KL L L 	Q1q!Rj)//R/8A!?d???Q1q!Rj)7:MN N NhBqD1Ha!bS"'-247JK K K hq!n!1111hq1a&!"&;;;;rn   c                  @   t        t        dt        dz  dz   z  t              j                  t        d      d      dv sJ t        t	        dt        dz  dz   z  t        ddf            dk(  sJ t        t        dt        dz  dz   z  t        ddf      d      dk(  sJ y )	Nrz   r   r   Trh  )z-0.000976138910649103z0.965906660135753z1.93278945918216rp   z0.0144361088886740)rm   rI   ru   r  rX   r   rn   rl   test_evalf_issue_939rt  E  s     i1a4!8a(--a3$?JK K K hq!Q$(|aAY/04HHHH!QTAX,Aq	*7:NO O Orn   c                  h   t        t        t              t        t        z  z   t        ddft        ddf      } t	        | d      dk(  sJ | t        dd      dt        d      z  dz  z   k(  sJ t        t        t        t        t        z  z         t        ddft        ddf      t        j                  u sJ y )	Nrz   rp   r   r^  z2.43790283299492rH  r   r   )	rI   r.   ru   r   rm   r   r4   r   r   ress    rl   (test_double_previously_failing_integralsrx  T  s    
DGacMAq!9q"aj
9Cc2;,,,,(2q/Ad1gIaK////SQqS\Ar1:2qz:affDDDrn   c                     t        t        t        d      t        t        dd      z   } t        t        t        d      dz  t        t        dd      z   }t        | t              |k(  sJ dt        t        dd      z  dt        t        dd      z  z
  }dt        t        dd	      z  dt        t        dd      z  z
  }t        |t              |k(  sJ d
t        d
z  z  t        z  dt        t        dd      z  z
  d
t        t        dd      z  z
  }d
t        dz  z  t        z  dz  d
t        z  t        t        dd      z  z
  dt        t        dd      z  dz  z
  }t        d
z  t        d
z  z  dt        z  t        t        dd      z  z
  d
t        t        dd      z  z
  }t        |t              |k(  sJ t        |t              |k(  sJ t        t        |t        f      sJ t        |t              t        |t        f      k(  sJ t        |t              j                         |k(  sJ dt        t        dd      z  d
t        t        dd      z  z
  }dt        t        dd      z  dz  d
t        t        dd      z  z
  }t        |t        t         t        f      |k(  sJ t        t        t        dd      t              t        t        dd      k(  sJ t        t        t        dd      t        t         t        f      d	k(  sJ t        dt        t        dd      z  t        t         t        f      dk(  sJ t        t        t        dd      t        t              z  t        t         t        f      t        d      k(  sJ y )Nr   r   r   r   r   r   ir   rz   rp   rH  r   r   )
rF   ru   r   rI   r   rV   rX   r   r   rf   )	in_1out_1in_2out_2in_3out_3_1out_3_2in_4out_4s	            rl   "test_integrate_SingularityFunctionr  _  s   q!Q'*=aB*GGD1a(*-@Aq-IIET1&&&!!Q**Q/B1b"/M-MMD"1a++a0CAr20N.NNET1&&&QT6!8R+Ar1555:MaQSUW:X8XXD1fQhqj1Q321b"===BUVWY[]^B_@_`a@aaGd1a4i"Q$21b!<<<qATUVXZ\^A_?__GT1(((T1(((XtaT***D!t 4444D!!!#w...!!R++a0CAr20N.NND!!R++A-2EaR2P0PPETAsA;'5000(Ar2A6:MaQRTU:VVVV(Ar2QRLAQFFFQ*1a44q2#rlCqHHH(Ar2QqT9AsB<HAaDPPPrn   c            	         t        t        t              t        t              z  t        t         t        f      t        d      k(  sJ t        t        t              dz  t        t         t        f      t        d      k(  sJ t        t        ddt        z  z
  t        t
        z  z   dt
        z  z
  t        t              z  t        t
        dz
        z  t        ddf      t
        ddf      dk(  sJ t        t        dz  t
        dz  z          t        z  } t        | t        t        dt
        z  z
        z  t        t         t        ft
        t         t        f      t        | t        t        dt
        z  z
        z  t
        t         t        ft        t         t        f      cxk(  rt        | t        dt        z  t
        z
        z  t        t         t        ft
        t         t        f      cxk(  rdt        | t        dt        z  t
        z
        z  t
        t         t        ft        t         t        f      cxk(  rdt        dt        z        z  k(  sJ  J y )Nr   rp   r   rz   r   e   )	rI   r8   ru   rf   r   r   r!   r   r.   rv   s    rl   test_integrate_DiracDeltar  |  s    Z]QqT)AsB<8AaD@@@Z]A%B3|4
1EEEYAaC!A#! 31  Q' (*+Q467AY@CDE E E 	adQTkNBAQz!bd(++a"b\AsB<H!Jq2a4x((1rc2,RCE!Jr!tax((1rc2,RCE 	!Jr!tax((1rc2,RCE 	
$s2v,	    rn   c                  \   t        t        t        z  t              t        t        t        dz   z  t        dz   z  t	        t        d      ft        t              df      k(  sJ t        t        t        z  t              t        t        t        z  t        t              z  t	        t        t              d      ft        df      k(  sJ t        t        t        t        z        t              t        t        t        t        z        t        z  t	        t        d      ft        df      k(  sJ t        t        t        t        t        z        z  t              t        t        t        z  dz
  t        t        t        z        z  t        dz  z  t	        t        dz  d      ft        dz  dz  df      k(  sJ t        t        t        t        z  z  t              t        t        t        t        z  dz   z  t        t        z  dz   z  t	        t        t        z  d      ft        t              df      k(  sJ t        t        t        t        z  z  t              t        t        t        t        z  z  t        t        t              z  z  t	        t        t        t              z  d      ft        df      k(  sJ t        t        t        t        z        t              t        t        t        t        z        t        z  t	        t        d      ft        df      k(  sJ t        t        t        t        z        dz  t              t        t        t        z  dz  t        t        t        z        t        t        t        z        z  dz  z   t        z  t	        t        d      ft        df      k(  sJ t        t        t        t        t        z        z  t              t        t        t        t        t        z        z  t        z  t        t        t        z        t        dz  z  z   t	        t        d      ft        dz  dz  df      k(  sJ t        t        t        t        z        t              t        t        t        t        z         t        z  t	        t        d      fd      k(  sJ t        t        t        t        z        dz  t              t        t        t        z  dz  t        t        t        z        t        t        t        z        z  dz  z
  t        z  t	        t        d      fd      k(  sJ t        t        t        t        t        z        z  t              t        t         t        t        t        z        z  t        z  t        t        t        z        t        dz  z  z   t	        t        d      fd      k(  sJ t        t        t        t        z        t        dt        f      t        t        t        t        z        t        z  dt        z  z
  t        t         kD  t        t        k  z  t	        t        d      z  ft        df      k(  sJ t        t        t              t        t         t        t        t        z
        z        z  t              t        t        t               t        t        t        z
        t        t        t        t        t        z
        z        z  t        t        t        t        t        z
        z        z
  z  t	        t        t        dz         ft        df      k(  sJ y )Nrz   r   Tr   rp   r   T)rI   ru   r   r/   r   r#   r!   rc   r3   r4   r.  r   r   r.   r   rn   rl    test_integrate_returns_piecewiser    sI   QT1	
QUQU	R2Y'#a&$"9 9 9 9QT1	
Ac!fbQm$q$i"1 1 1 1S1Xq!Y	QqS!R1XD	&+ + + +Qs1Q3xZ#y
A#'3qs8	AqD	 "QT1+.Aa(@ @ @ @Q1Xq!Y	
QqS1WqsQw	AaC-A~&? ? ? ?Q1Xq!Y	
QqS1SV8	b3q61o.D	&; ; ; ;S1Xq!Y	QqS!R1XD	&+ + + +S1Xq[!$	
A#a%#ac(3qs8#A%
%q	("Q(3aY)@ @ @ @Qs1Q3xZ#y	
3qs8AAaCA	%r!Qx01a464.(B B B BS1Xq!Y
ac(1bAh&, , , ,S1Xq[!$	
A#a%#ac(3qs8#A%
%q	("Q(3Y)@ @ @ @Qs1Q3xZ#y
C!HQQqS!Q$	&1a19(> > > >S1X1ay)Y	QqS!ac	AGB/"Q(:;aY.H H H H SVC4A;//3y
a&$q1u+c!DQK-003qa!e}3EE	F
1a!e	4y8" " " "rn   c            	      >   t        dd      } t        t        | d      | ddf      dk(  sJ t        t        | dz  | dz        | ddf      t	        dd	      k(  sJ t        t        t        |       t        |              dz  |       t        t        d| z        dz  | dk  fd
t        d| z        dz  z
  df      k(  sJ t        dd      }t        t        ||       t        | dz         z  | t         t        f      }t        |t        | dz         z  | t         |f      }t        | t        | dz         z  | |t        f      }|||z   cxk(  rNt        t              |z  t        |      z  dz  t        t              |z  dz  z   t        |dz         dz  z   k(  sJ  J y )Nru   Tr   rp   r   r   r   re  r  rz   r   r   )extended_real)r   rI   r-   r,   r   r!   r/   r   r.   r   r=   )ru   r   int1int2int3s        rl   test_integrate_max_minr    s   $ASAYAq	*a///SAq!t_q!Qi0HR4DDDDSQaR)1,a0I	QqS!Q!Vq3r!t9Q;557 7 7 7 	4(ASAYsAqD5z)AsB<8DQsAqD5z\AsA;/DQsAqD5z\Aq":.D4$; $$r(1*SV"3A"5R
1#AqD5z!|#$ $ $ $ $ $rn   c                     t        t        t              t        ddf      t        dd      k(  sJ t        t        t              t        ddf      t        j
                  k(  sJ t        t        t        dz         t        ddf      t        dd      k(  sJ t        t        t        dz  dz
        t        ddf      dk(  sJ t        t        t        dz  dt        z  z
        t        dd	f      d
k(  sJ t        t        t              t        ddf      dk(  sJ t        t        t              t        t              z  t        t         t        f      dk(  sJ t        t        t        dz
        t        dz  z  t        ddf      t        dd      k(  sJ t        dd      \  } }t        t        |       |       t        | dz   dz  | dk  f| dz  dz  df      k(  sJ t        t        d| z  dz
        |       t        | dz   d| z  z   | dk  f| dz  d| z  z
  dz   df      k(  sJ t        t        | |dz  z
        | ddf      d|dz  z  t        d|dz        z  d|dz  z  z
  t        d|dz        dz  z
  dz   k(  sJ t        t        t        |              |       t        t        |       | dk  fdt        |        z
  df      k(  sJ t        t        d| z  dz
        |       t        |  | dk  f| dz
  df      k(  sJ t        d| z  t        | dz  dz
        z  |       t        | dz  | dk  f| dz   dz   | dk  f| dz  df      k(  sJ t        t        |       | |dz   f      t        |dz   |dz   dkD  f| dz
  |dz   dk  fd      k(  sJ y )Nr   rz   r   rp   r   r   r   r^  i  r   r`  zt sTr   r      r  )rI   r   ru   r   r   r   r   r4   r   r   r/   r  r-   r!   )r   r   s     rl   test_integrate_Abs_signr    s   SVaQZ(HQN:::SVaAY'166111SQZ!Q+x1~===SA]QAJ/1444SA!_q#rl3t;;;T!Wq"aj)Q...T!WSV^a"b\2a777T!a%[1a4'!Q3xAFFF5t$DAqSVQ9
Q$q!q&AqDFD>$+ + + +S1q\1%
Q$1a1f1qs
R6*8 8 8 8c!ad(maAY/	!Q$s1ad|a1f$s1ad|Q6:; < ;S#a&\1%	Qa1sA2w;-*/ / / /T!A#']A&)
QUa!eT]+$ $ $ $QqSadQh'+y	
Aq2v!Q$AE*QT4L0: : : :T!Wq!a%j)Y	
QA	aR!VQUQY/.< < < <rn   c                     t        t        t        t        z
        t              } | j	                  t        d      t        t        t        dz
        t              k(  sJ t        t        t        t        z
        t        ddf      } | j	                  t        d      t        t        t        dz
        t        ddf      k(  sJ t        t        t        t        dz               }t         |t        t        z
         |t              z  t        t         t        f      }|j	                  t        di      t        t        dt        dz  z        t        t         t        f      k(  sJ y Nr   r   rz   rp   r   )rX   r!   ru   r   r  r
   r   rj   rf   convs      rl   
test_subs1r    s    QUQA66!Q<8CAJ2222QUaAY'A66!Q<8CAJAq	::::q#q!te*AAa!eHQqTMAsB<0D99aVR1WB3| DDDDrn   c                      t        t        t        t        z
        t        t              } | j                  t        d      t        t        t        dz
        t        t              k(  sJ t        t        t        t        z
        t        ddft        ddf      } | j                  t        d      t        t        t        dz
        t        ddft        ddf      k(  sJ t        t        t        t        dz               }t         |t        t        z
         |t              z  t        t         t        ft        ddf      }|j                  t        di      t        t        dt        dz  z        t        t         t        ft        ddf      k(  sJ y r  rX   r!   ru   r   r   r  r
   r   r  s      rl   
test_subs2r    s   QUQ"A66!Q<8CAJ15555QUaAYAq	2A66!Q<8CAJAq	Aq!9EEEEq#q!te*AAa!eHQqTMAsB<!Q;D99aVR1WB3|aAY OOOOrn   c                  j   t        t        t        t        z
        t        dt        ft        t        df      } | j                  t        d      t        t        t        dz
        t        ddft        ddf      k(  sJ t        t        t        t        dz               }t         |t        t        z
         |t              z  t        t         t        ft        t        df      }|j                  t        di      t        t        dt        dz  z        t        t         t        ft        ddf      k(  sJ y Nr   rz   r   rp   r   r  r  s      rl   
test_subs3r    s    QUaAYAq	2A66!Q<8CAJAq	Aq!9EEEEq#q!te*AAa!eHQqTMAsB<!Q;D99aVR1WB3|aAY OOOOrn   c                  H   t        t        t              t        dt        ft        t        df      } | j                  t        d      t        t        t              t        ddft        ddf      k(  sJ t        t        t        t        dz               }t         |t               |t              z  t        t         t        ft        t        df      }|j                  t        di      t        t        dt        dz  z        t        t         t        ft        ddf      k(  sJ y r  r  r  s      rl   
test_subs4r    s    Q!QQ1I.A66!Q<8CFQ1I1ayAAAAq#q!te*AAaD1IB3|aAY7D99aVR1WB3|aAY OOOOrn   c                  ~   t        t        t        dz         t        t         t        f      } | j	                  t        d      | k(  sJ t        t        t        dz   t
        z         t              } | j	                  t
        d      t        t        t        dz   dz         t              k(  sJ t        t        t        dz   t
        z         t        t        f      } | j	                  t        d      t        t        t
        t        dz  z
        t        df      k(  sJ | j	                  t
        d      t        t        t        dz   dz         t              k(  sJ t        t        t        dz   t
        z         t
        t         t        ft        t         t        f      } | j	                  t        d      | k(  sJ | j	                  t
        d      | k(  sJ t        t        t        dz         t        t        f      } | j	                  t        d      t        t        t        dz         t        df      k(  sJ t        t        t              t              } | j	                  t        d      | j	                  t        d      z
  t        t        t              t        ddf      z
  j                         j                  sJ y )Nrp   r   rz   r   )rX   r!   ru   r   r  r   r   is_zerorj   s    rl   
test_subs5r    s   adUa"b\*A66!Q<1adUQY#A66!Q<8CA	NA6666adUQY!Q(A66!Q<8CAqDMAq6::::66!Q<8CA	NA6666adUQY!bS"B3|<A66!Q<166!Q<1adUaV$A66!Q<8CAJA7777QAFF1QK!&&1+%Q!Q(CC
$&  rn   c            
         t        d      \  } }t        t        t        z  t        t	        t              t	        t              f      }|j                  t        d      t        t        t        z  t        t	        d      t	        t              f      k(  sJ |j                  t        d      t        t        t        t	        t              t	        d      f      k(  sJ t        t        t        z  t        t	        t              t	        t              ft        t	        t              t	        t              f      }|j                  t        d      t        t        t        z  t        t	        d      t	        t              ft        t	        d      t	        t              f      k(  sJ |j                  t        d      t        t        t        z  t        t	        t              t	        t              ft        t	        t              t	        d      f      k(  sJ t        t        t        z  t        t	        t              t	        |       ft        t	        t              t	        |       f      }|j                  | d      t        t        t        z  t        t	        t              t	        d      ft        t	        t              t	        d      f      k(  sJ y )Nza brz   )r   rX   ru   r   rf   r  )r   r   rj   s      rl   
test_subs6r    s   5>DAq1q!A$!o&A66!Q<8AaC!QqT1Q4999966!Q<8A1Q4177771q!A$!o1Q417A66!Q<8AaC!QqT1Q41adAaD/JJJJ66!Q<8AaC!QqT1Q41adAaD/JJJJ1q!A$!o1Q417A66!Q<8AaC!QqT1Q41adAaD/JJJJrn   c            	      H   t        t        t        dt        ft        ddf      } | j                  t        dt        di      | k(  sJ t        t	        t              t	        t              z   t        t	        t              t	        t              ft        ddf      } | j                  t	        t              d      | k(  sJ | j                  t	        t              d      t        t	        t              t	        t              z   t        dt	        t              ft        ddf      k(  sJ y r  )rX   ru   r   r  r4   r  s    rl   
test_subs7r    s    Q1I1ay)A661aA,1$$$Q#a&1c!fc!f"5#$a)	-A66#a&!!!!66#a&!Q#a&1aQ.*+Q!4 4 4 4rn   c                     t        t        t              t        t        dz        z   t        dt        f      } | j	                         t        t        t              t        dt        f      t        t        t        dz        t        dt        f      z   k(  sJ t        t        t              t        t        dz        z   t        dt
        f      } | j	                         | k(  sJ | j	                  d      t        t        t              t        dt
        f      t        t        t        dz        t        dt
        f      z   k(  sJ y )Nrp   rz   T)force)rX   rf   ru   r   r   r   r  s    rl   test_expandr  $  s    1a1g1ay)A88:!A$Aq	2Xa1g1ay5QQQQQ1a1g1bz*A88:??88$88AaD1a*#=AadGaBZ($) ) ) )rn   c                  H    t        t        d        t        t        d        y )Nc                  <    t        t        t        dz         d      S Nrp   r   )rX   r!   ru   r   rn   rl   r   z+test_integration_variable.<locals>.<lambda>.  s    xQTE
A6 rn   c                  T    t        t        t        dz         dt         t        f      S r  )rX   r!   ru   r   r   rn   rl   r   z+test_integration_variable.<locals>.<lambda>/  s    xQTE
QRLA rn   )r[   r   r   rn   rl   test_integration_variabler  -  s    
:67
:ABrn   c                     t        t        t        dz        t        t        dz        dz   z  t        ddf      j	                         t        t        t        dz        t        t        dz        z  t        ddf      t        t        t        dz        t        ddf      z   k(  sJ t        t        t        dz        t        t        dz        dz   z  t              j	                         t        t        t        dz        t        t        dz        z  t              t        t        t        dz        t              z   k(  sJ y )Nrp   rz   r   )rX   r3   ru   r4   r   r   rn   rl   test_expand_integralr  2  s    C1Is1a4y1}-1ay9@@BQT3q!t9$q!Qi0QTQ1I&	'' ' ' C1Is1a4y1}-q188:QT3q!t9$a(QTA	  rn   c                  H    t        t        t        dz  dz         t        ddf        j                  dd      dt        d      z  k(  sJ  j                  dd      d	t        d
      z  dt        d      z  z   k(  sJ  j                  dd      dt        d      z  dz  dt        d      z  dz  z   dt        d      z  dz  z   k(  sJ  j                  d	d      dt        d      z  d	t        d      z  z   d	t        d      z  z   dt        d      z  z   k(  sJ t	         j                  d	d      j                          j                         z
        dk  sJ t        t        t        dz  t        dz  z         t        ddft        ddf       t        t         fd       y )Nr   rz   rp   r   midpointmethodr      r   rc  r  9   i	     iI  i  r   V   r      g      ?r   c                  &     j                  d      S )Nr   as_sumr  s   rl   r   z'test_as_sum_midpoint1.<locals>.<lambda>F  s     rn   )	rX   r.   ru   r  r  rc   r   r[   NotImplementedErrorr  s   @rl   test_as_sum_midpoint1r  ;  s   adQh!Q,A88Aj8)QtCy[88888Aj8)QtBxZ"T"X+-EEEE88Aj8)QtCy[]	$t*R.DK-*.+ + + +88Aj8)QtCy[	$q'	.d2hJ.!"48., , , ,qxx*x-//1ACCE9:S@@@adQTk"Q2JAr
;A
 34rn   c                     t        t        t        z   dz  t        ddf      } t        ddd      }| j	                  dd      j                         t        dd	      t        z   t        dz  z   k(  sJ | j	                  dd      j                         t        d
d      t        z   t        dz  z   k(  sJ | j	                  dd      j                         t        dd      t        z   t        dz  z   k(  sJ | j	                  d	d      j                         t        dd      t        z   t        dz  z   k(  sJ | j	                  |d      j                         t        dz  t        z   t        dd      z   dd|dz  z  z  z
  k(  sJ y )Nrp   r   rz   rc   Tr   re   r  r  r   r   r_  r   #   l      @   r  )rX   ru   r   r   r  r   r   r   s     rl   test_as_sum_midpoint2r  I  s]   !a%!aAY'AsT40A88Aj8)002hq!nq6H1a46OOOO88Aj8)002hq"o6IAqD6PPPP88Aj8)002hr36G!6KaQRd6RRRR88Aj8)002hr26F6JQPQT6QQQQ88Aj8)002	1q8Aq>!Ar!Q$wK/0 0 0rn   c                     t        t        t        z   dz  t        ddf      } | j                  dd      j	                         t        dz  k(  sJ | j                  dd      j	                         t        dd      t        dz  z   t        dz  z   k(  sJ | j                  dd      j	                         t        dd	      t        t        dd      z  z   t        dz  z   k(  sJ | j                  d
d      j	                         t        dd      t        t        dd
      z  z   t        dz  z   k(  sJ | j                  t        d      j	                         t        dz  t        z   t        dd      z   t        t        z  z
  ddt        z  z  z
  ddt        dz  z  z  z   k(  sJ | j                  ddd      j                  t              sJ y )Nrp   r   rz   leftr  r   r   r   r  r   r       r   r   F)r  evaluate)	rX   ru   r   r  r   r   rc   hasr   r  s    rl   test_as_sum_leftr  T  s   !a%!aAY'A88Af8%,,.!Q$66688Af8%,,.(1a.1Q32FA2MMMM88Af8%,,.(1b/AhqRSnDT2TWXZ[W[2[[[[88Af8%,,.(1b/AhqRSnDT2TWXZ[W[2[[[[88Af8%,,.	1q8Aq>!AaC'!QqS'1AqAvJ>? ? ?88Bv86::3???rn   c                  n   t        t        t        z   dz  t        ddf      } | j                  dd      j	                         ddt        z  z   t        dz  z   k(  sJ | j                  dd      j	                         t        dd      t        t        dd      z  z   t        dz  z   k(  sJ | j                  dd      j	                         t        d	d
      t        t        dd      z  z   t        dz  z   k(  sJ | j                  dd      j	                         t        dd      t        t        dd      z  z   t        dz  z   k(  sJ | j                  t        d      j	                         t        dz  t        z   t        dd      z   t        t        z  z   ddt        z  z  z   ddt        dz  z  z  z   k(  sJ y )Nrp   r   rz   rightr  r   r   r   r  r  r   r^  r  r   )rX   ru   r   r  r   r   rc   r  s    rl   test_as_sum_rightr  _  s   !a%!aAY'A88Ag8&--/1qs7QT>AAA88Ag8&--/8Aq>AhqRSnDT3TWXZ[W[3[[[[88Ag8&--/8B3CaQRTUFV3VYZ\]Y]3]]]]88Ag8&--/8B3CaQRTUFV3VYZ\]Y]3]]]]88Ag8&--/	1q8Aq>!AaC'!QqS'1AqAvJ>? ? ?rn   c                     t        t        t        z   dz  t        ddf      } | j                  dd      j	                         t        dz  t        z   t
        j                  z   k(  sJ | j                  dd      j	                         t        dz  t        z   t        dd      z   k(  sJ | j                  dd      j	                         t        dz  t        z   t        dd	      z   k(  sJ | j                  d
d      j	                         t        dz  t        z   t        dd      z   k(  sJ | j                  t        d      j	                         t        dz  t        z   t        dd      z   ddt        dz  z  z  z   k(  sJ t        t        t              t        ddf      j                  dd      t
        j                  k(  sJ y )Nrp   r   rz   	trapezoidr  r   r      rb  r   r`  r  r   )
rX   ru   r   r  r   r   r   r   rc   r   r  s    rl   test_as_sum_trapezoidr  i  sw   !a%!aAY'A88Ak8*113q!tax!&&7HHHH88Ak8*113q!tax(1a.7PPPP88Ak8*113q!tax(2rBR7RRRR88Ak8*113q!tax(2rBR7RRRR88Ak8*113	1q8Aq>!AqAvJ./ / /DGaAY'..q+>!&&HHHrn   c                      t        t        t        z   dz  t        ddf       t        t         fd       t        t         fd       t        t        d        t        t         fd       t        t         fd       y )	Nrp   r   rz   c                  &     j                  d      S )Nr   r  r  s   rl   r   z$test_as_sum_raises.<locals>.<lambda>v  s    qxx| rn   c                  &     j                  d      S Nr   r  r  s   rl   r   z$test_as_sum_raises.<locals>.<lambda>w  s    qxx{ rn   c                  >    t        t              j                  d      S )Nr   )rX   ru   r  r   rn   rl   r   z$test_as_sum_raises.<locals>.<lambda>x  s    x{11!4 rn   c                  .     j                  t              S r|   )r  r   r  s   rl   r   z$test_as_sum_raises.<locals>.<lambda>y  s    qxx| rn   c                  *     j                  dd      S )Nr   xxxx2r  r  r  s   rl   r   z$test_as_sum_raises.<locals>.<lambda>z  s    qxx'x: rn   )rX   ru   r   r[   r   r  s   @rl   test_as_sum_raisesr  t  sT    !a%!aAY'A
:+,
:*+
:45
:+,
::;rn   c                      t        t        t        t              t              } t        t        t        t              }| j                         |j                         k(  sJ y r|   )rX   ru   r   rj   rf   s     rl   test_nested_doitr  }  s<    !Q#AAqA668qvvxrn   c                  >   t        t        dz  t        d df      } t        t        dz  t        dd f      }| j                         t        dd      k(  sJ |j                         t        dd      k(  sJ t        t        t        z  t        d t        f      j                  t        t              t        t        t        z  t        d t        f      k(  sJ t        t        t        z  t        t        d f      j                  t        t              t        t        t        z  t        t        d f      k(  sJ t        t        dz  t        d df      t        dd      k(  sJ t        t        dz  t        dd f      t        dd      k(  sJ t        dd      t        dd      k(  sJ y )Nrp   rz   r   r   zx**2)ru   1N)rX   ru   r   r   r   r  r   rI   r  s     rl   test_issue_4665r    sB   A4|$AA1d|$A668x1~%%%668xA&&&AaC!T1&++Aq1XacAtQ<5PPPPAaC!Q&++Aq1XacAq$<5PPPPQTAtQ<(HQN:::QTAq$<(HRO;;;V-.(2q/AAArn   c                  f    t        t        dz  t        ddf      } | t        | j                   k(  sJ y )Nrp   r   rz   )rX   ru   argsr  s    rl   test_integral_reconstructr    s/    A2qz"A!&&!!!!rn   c            
         t        t        dt        z        t        ddf      } | j                         t        dd      k(  sJ | j                  d      t        dd      k(  sJ t	        d      }t         |t              t        ddf      j                         dk(  sJ t        dt        dt         |t              t              f      j                         dk(  sJ t        t        t
        df      j                         dk(  sJ t
        dt        t              ft        dff}t        t
        g| j                         t        dd      k(  sJ t        t
        gt        t        |             j                         dk(  sJ y )	Nrp   r   rz   r   Fdeeprf   r   )	rX   ru   r   r   r	   r   r!   listreversed)rj   rf   r   s      rl   test_doit_integralsr    sB   !A#Aq	*A668x1~%%%66u6!Q///AAaD1a)$))+q000A1hqtQ/01668A===A1v##%***!SVnq!f%FA$$&(1a.888A/Xf-./446!;;;rn   c            	         t        t        t              dt        z   z        t        dt        t              z  t        dz   dz  z  dz  dt        t              z  t        dz   z  dz  z
  dt        t              z  dz  z
  t	        t        dz         dkD  fdt
        z  t        t               z  t        dz   dz  z  dz  dt
        z  t        t               z  t        dz   z  dz  z
  dt
        z  t        t               z  dz  z
  df      k(  sJ t        t        t        z  dt        t              z   z        t        t        z  k(  sJ y )Nrz   rp   r   r^  r   T)rI   r.   ru   r/   r   r   r#   r   rn   rl   test_issue_4884r    s   T!Wa!e_%tAwYAz!!#aQiQ&7&::QtAwYr\IAJNqSqb\1q51*$Q&1T1"Xq1u)=b)@@aCaRLO!#	$$ $ $ QT1s1v:&'1a4///rn   c                     t        t        t        z  t        t              z  t              t	        t        t        z  t        t        z  z  t        t              z  t        dz  dt        z  z   dz   z  t        t        t        z  z  t        t              z  t        dz  dt        z  z   dz   z  z   t        t        t        z  z  t        dz  dt        z  z   dz   z  z
  t        t        d      ft        t              dz  dz  df      k(  sJ y )Nrp   rz   r   T)rI   ru   rc   r#   r/   r   r   rn   rl   test_issue_18153r    s    QT#a&[#	
1QT#a&!Q$1*q.	)adF3q6M1a4!A#:>"
#%&q!tVQTAaCZ!^%<
=Bi	q619Q;%  rn   c                     ddl m} m}m} t	        |       j
                  du sJ t	        d|       j
                  du sJ t	        d| df      j
                  du sJ t	        d| ddf      j
                  du sJ t	        d| d|f      j
                  du sJ t	        d| |f      j
                  du sJ t	        | |      j
                  du sJ t	        | |d| f      j
                  du sJ t	        | |ddf      j
                  du sJ t	        | | ddf      j
                  du sJ t	        | |ddf      }|j
                  du r|j                         dk(  sJ t	        | |||f      }|j
                  du r|j                         dk(  sJ t	        d|||dz   f      }|j
                  du r|j                         dk(  sJ t	        | |z  | ddf|ddf      j
                  du sJ t	        | |z  | ddf|d|f      j
                  du sJ t	        | | df      j
                  du sJ t	        | | dt	        ||ddf      f      j
                  du sJ t	        t        ||ddf      | ddf      j
                  du sJ t	        t        |       dz  t        |       dz  z   dz
  |       j
                  du sJ t	        t        |       | ddf      j
                  du sJ y )	Nr   ru   r   r.  Frz   Trp   r   r   )	sympy.abcru   r   r.  rX   	is_numberrc   r   r4   r3   rf   )ru   r   r.  r   s       rl   test_is_numberr    s   !!A;  E)))Aq>##u,,,A1v((D000A1ay!++t333A1ay!++u444A1v((E111Aq>##u,,,A1ay!++u444A1ay!++u444A1ay!++t333 	Q1IA;;%ACCEQJ..Q1IA;;%ACCEQJ..Q1q5M"A;;%ACCESL00AaC!QQ1I.88D@@@AaC!QQ1I.88EAAAA1v((D000A1hq1a)456@@DHHHCAq!9%1ay1;;tCCC CFAIA	)A-q1;;uDDDAaD1a)$..$666rn   c                     ddl m} m}m} t	        d|       j
                  | hk(  sJ t	        |       j
                  | hk(  sJ t	        | | d |f      j
                  |hk(  sJ t	        | | |d f      j
                  |hk(  sJ t	        | | d|f      j
                  |hk(  sJ t	        | | |df      j
                  |hk(  sJ t	        | | | |f      j
                  | |hk(  sJ t	        | | |      j
                  | |hk(  sJ t	        | | ddf      j
                  t               k(  sJ t	        | |ddf      j
                  | hk(  sJ t	        | |||f      j
                  | |hk(  sJ t	        | |ddf|d d f      j
                  | |hk(  sJ t	        | |ddf| d|f      j
                  |hk(  sJ t	        d|ddf|d| f| ddf      j
                  t               k(  sJ t	        d|| df|d| f| ddf      j
                  t               k(  sJ t	        d| ddf|| df|ddf      j
                  | hk(  sJ t	        t        |       t        |       d|f      j
                  |hk(  sJ t	        t        |       t        |       d| f      j
                  | hk(  sJ y )Nr   r  rz   rp   )r  ru   r   r.  rX   r   setrf   r  s      rl   test_free_symbolsr    s   !!Aq>&&1#---A;##s***A4|$11aS888A1d|$11aS888A1ay!..1#555A1ay!..1#555A1ay!..1a&888Aq!))aV333A1ay!..#%777A1ay!..1#555A1ay!..1a&888A1ay1dD/ 

,1a&! ! !A1ay1a) 

,1#  A1ay1a)aAY 

,#%     A1ay1a)aAY 

,#%     A1ay1a)aAY 

,1#  AaD1Q4A,'44;;;AaD1Q4A,'44;;;rn   c            	         ddl m} m} t        d| d| f      j                  sJ t        d| ddf      j                  sJ t        d| ddft
        df      j                  du sJ t        | |df      j                  sJ t        | |z   |df      j                  J t        ||dt        |       f| df      }|j                  J t        || df|dt        |       f      j                  du sJ t        | | t        t        f      j                  sJ t        | | t         t         f      j                  sJ t        t        |       | ddt        z  f      j                  J y )Nr   )ru   r  rz   rp   FT)
r  ru   r  rX   r  r   r!   r   r4   r   )ru   r  r   s      rl   test_is_zeror    s[   A1ay!))))A1ay!))))A1ay1a&)11U:::A1v&&&&AEAq6"**222Q3q6NQF+A99A1v1c!f~.66$>>>A2r{#++++AB3}%---- CFQ1R4L)11999rn   c            	         ddl m}  t        t        |       | | f      }|j	                  |       }|j                  | d      j                         t        t        d      D cg c]  }t        |       c} k(  sJ y c c}w )Nr   ru   r   r   r   )
r  ru   rX   r3   lseriesnseriesremoveOr   rangenext)ru   r   rj   r?  s       rl   test_seriesr    se    Q!Q A			!A99Q!9$$&#q/JAQ/J*KKKK/Js   !A<
c                      t        d      } t        dt        |       z   | z  |       t        |       t	        |       z   k(  sJ t        t        |       dz   | z  |       j                  t              sJ y )Nru   rz   rp   )r   rI   r4   r#   r<   r3   r  r:   r  s    rl   !test_trig_nonelementary_integralsr    sa    sAa#a&j!^Q'3q6BqE>999 c!fqj!^Q'++B///rn   c                  v   t        d      } t        d      }t        dd      }t        t        | dz  |dz  z         |       |dz  t        | |z        z  dz  | t        | dz  |dz  z         z  dz  z   k(  sJ t        t        | dz  |dz  z
        |       | t        | dz  |dz  z
        z  dz  |dz  t	        | t        | dz  |dz  z
        z         z  dz  z
  k(  sJ t        dd      } t        dd      }t        d| dz  |dz  z   t        d	      z  z  |       | |dz  t        | dz  |dz  z         z  z  k(  sJ y )
Nru   r   r.  Tr   rp   r   rz   z3/2)r   rI   r.   r%   r#   r   r  s      rl   test_issue_4403r    sj   sAsAsT"AT!Q$A+&*	1U1Q3ZAd1a4!Q$;//112 2 2T!Q$A+&*	$q!tad{
A1ST!Q$A+->)>%? ? AAB B B 	sAsT"AQ1q!tah..2	1a4QTAqD[!!"# # #rn   c            
          t        t        t        dz   dz
        t              dt        t        t        dt        dz  z
        z        z  t        t        dt        dz  z
        z  dz  z   k(  sJ y )Nrp   r   r   rH  )rI   r.   ru   r2   r   rn   rl   test_issue_4403_2r  %  sb    T1a4%!)_a(
4$rAqDy/!""QtBAI%6q%889 9 9rn   c                      t        dd      } t        t        | dz  t        dz  z
        t        d| f      t        | dz  z  dz  k(  sJ y )NRTr   rp   r   r   )r   rI   r.   ru   r   )r
  s    rl   test_issue_4100r  *  sF    sT"AT!Q$A+&Aq	2bAgai???rn   c            	         ddl m} m}m}m} t        d      }t        t         ||      |      |      t         ||      ||      k(  sJ t         ||            j                   ||      t        |      fk(  sJ t        t         ||                  j                   ||      t        |      t        |      fk(  sJ t        t         ||            |      j                   ||      t        |      t        |      fk(  sJ t        t         ||      |      |      j                   ||      t        |      t        |      fk(  sJ t        t        t         ||      |      |      |      j                   ||      t        |      t        |      t        |      fk(  sJ t        t         ||      |      |      t         ||      ||      k(  sJ t        t         ||      |      |      |t         ||      |      z  k(  sJ t        t         ||      |      |      t        | ||      z  |      |t         ||      |      z  fv sJ t        t        d|      |      |dz  k(  sJ t        t        d|      |      d|z  |z  k(  sJ t        d||      j                  t        d||      j                  k7  sJ t         ||      ||||      j                         |dz  t         ||      ||      z  dz  k(  sJ t         ||      |ddf| d|f|d|f      j                         ||dz
  z  t         ||      |ddf      z  |dz
  t         ||      |ddf      z  z
  k(  sJ y )Nr   )wru   r   r.  rf   rp   rz   )r  r  ru   r   r.  r	   rX   r  r   rI   r   )r  ru   r   r.  rf   s        rl   test_issue_5167r  /  s*   $$AHQqT1%q)XadAq-AAAAAaD>1Q4q"2222HQqTN#((QqT58U1X,FFFFHQqTNA&++!eAha/IIIIHQqT1%q)..1Q4q582LLLLHXadA.2A6;;	
1uQxq58,- - -XadA&*hqtQ.BBBBXadA&*a1q0A.AAAAXadA&*x!A$/BAhqQRtUVFWDW.XXXXXa^Q'1a4///Xa^Q'1Q3q5000Aq!!!XaA%6%;%;;;;AaD!Q1%**,1XadAq5I0I!0KKKKAaD1a)aAYAq	:??A	1q5	(1Q4!Q++q1uhqtaAY6O.OOP P Prn   c            
      F   t        dd      } t        t        t        t              dz         t              t        t              t        t        dd            z  t        t        t              t        j                  z
        z  dz  k(  sJ t        t        t        t              dz        t              t        t              t        t        dd            z  t        t        t              t        j                  z         z  dz  k(  sJ t        t        |  t        t              dz  z        t              t        t              t        dd| z  z        z  t        t        |       t        t              z  ddt        |       z  z  z
        z  dt        |       z  z  k(  sJ y )Nr.  Tr   rp   rz   r   r   )r   rI   r!   r#   ru   r.   r   r   r=   r   r   r?   r.  s    rl   test_issue_4890r  F  s9   sT"AS#a&!)_a(RXa^$$SQ!&&%99!;< < <SQ^Q'RXb!_%%d3q6!&&=&99!;< < <S!CFAI&*RQ!Wc$q'#a&.1aQi="@AA1T!W9MN N Nrn   c            	          t        dt        t        dt        dz  z
        z  z  t              j                  t              rJ y r  )rI   ru   r.   r  rX   r   rn   rl   test_issue_4551r  P  s6    Ad1q!t8n,-q155h????rn   c            
         t        ddd      } t        t        | t        d| z  z  dz
  z  t        dt        j
                  f      | dz  dd| z  z  | dz  z  z
  | dd| z  z  z  z
  ddd| z  z   z  | ddd| z  z   z  z  z   z  z
        dk(  sJ y )Nrc   Tre   r   rz   r   rp   )r   rR   rI   ru   r   r   r   s    rl   test_issue_4376r  T  s    sD40AIaQqSA.Aqvv?AAaCA%!ac(
2QQqS\Aa!aPQc'lN5RST UXYZ Z Zrn   c                      t        t        t              t        dz  z
  t        t        dd      z  z  t              dt        t        dd      z  z  dz  dt        t        dd      z  z  dz  z
  k(  sJ y )Nr   rz   r   r   r`  )rI   r.   ru   r   r   rn   rl   test_issue_4517r  Z  si    d1g1na!Q&77;	!Xa^
A!Xb!_"4 4R 778 8 8rn   c                  4   t        dd      \  } }t        t        | t        z        t        |t        z        z  t        dt        f      j                         t        dt        | d      t        |d      z  ft         dz  t        | |       t        | d      t        |d      z  z  ft        dz  t        | |      t        | d      t        |d      z  z  fd      k(  sJ t        t        | t        z        t        |t        z        z  t        f      t        dt        t        | d      t        |d            ft         t        |t        z        dz  z  dz  t        t        |t        z        dz  z  dz  z
  t        |t        z        t        |t        z        z  d|z  z  z   t        | |       ft        t        |t        z        dz  z  dz  t        t        |t        z        dz  z  dz  z   t        |t        z        t        |t        z        z  d|z  z  z
  t        | |      f|t        | t        z        z  t        |t        z        z  | dz  |dz  z
  z  | t        |t        z        z  t        | t        z        z  | dz  |dz  z
  z  z
  df      k(  sJ y )Nzk mTrd   r   rp   r  )
r   rI   r4   ru   r   rR   r/   r   rJ   r3   )kr  s     rl   test_issue_4527r  _  sB   5$'DAqS1Xc!A#h&Ar
3<<>1bAhAq)*3q5"Q)r!Qx"Q(':;<a4AqR1X1a%89:	   S1Xc!A#h&-	
C1a"Q(#$
C!HaK	Ac!A#hkM!O	+c!A#hs1Q3x.?1.E	Er!aRyQ	
3qs8Q;q1S1Xq[=?	*S1Xc!A#h->!-D	DbAhO	
3qs8C!H	adQTk	*	
3qs8C!H	adQTk	*
+,0	2	23 3 3 3rn   c                  <   t        dd      } t        t        t         dz  t        z  | z  t
        z        t
        z  t
        t         t        fd      t        t        t         dz  t        z  | z  t
        z        t
        z  t
        t         t        f      k(  sJ y )Nr   Tr   rp   r   r   )r   rI   r!   r   r   ru   r   rX   )yposs    rl   test_issue_4199r  t  s{    #%DS!Aba(*QRLGaRT"WT\!^$Q&RC56 6 6rn   c            
      \   t        dd      \  } }}}t        t        t        dz   t        |z  t        z  z         t              t        t               t        |dz   dz        z  t        t        |z  dz  t        z
        z  dz  k(  sJ t        t        | t        dz  z  |t        z  z   |z         t              t        t              t        |      z  t        |dz   d| z  z        z  t        t        |       t        z  |dt        |       z  z  z         z  dt        |       z  z  k(  sJ ddl	m
} ddlm}  |t        t        t        dz         t        t        |z  t        z        z  t        t         t        f            t        t              t        |dz   dz        z  k(  sJ t        d	d      \  } } |t        t        |  t        dz  z  d|z  t        z  z         t        t         t        f            t        t              t        |dz  | z        z  t        |       z  k(  sJ y )
Nza:dTr   rp   r   r   )
expand_mul)r  za d)r   rI   r!   ru   r   r.   r   r=   r?   r	  r   r  r  r   )r   r   r   r   r   r  s         rl   test_issue_3940r!  {  s   .JAq!QS!Q$1Q'+	b	#q!teAg,s1Q3q519~-a/0 0 0S1a4!A#)*A.RQQTE1Q3K((d1gai!QtAwY-.G)HH!DQRG)TU U U /iQTE
3qs1u: 5B3|DERadU1W  54(DAqiQBq!tGac!eO 4q2#rlCDRQT!VT!W$% % %rn   c                      t        t         t        dz  t        dz  z   z  t              t        t	        t         t        z  t        z         z  dz  t        t	        t        t        z  t        z         z  dz  z
  k(  sJ y r   )rI   r   ru   r   r#   r   rn   rl   test_issue_5413r#    s^     aRA1%q)QsA2a4!8}_Q->3qsQw<PQAQ-QQQQrn   c                  &   t        d      \  } }t        dd      }|  t        |       z  }|  |t        z  z  t	        t
              dz  t        t              dz  z   z  }t	        t
              dz   t        t              dz  z
  }t	        t
              dz   t	        t              dz  z   dz
  }t        |||z
  z  t              ||  | z  t        |t        z        z  |z  | t        z  t        |       z  z   z  ||  | z  t        |t        z        z  |z  | t        z  t        |       z  z   z  || |z  t        |t        z        z  |z  | t        z  t        |       z  z   z  || |z  t        |t        z        z  |z  | t        z  t        |       z  z   z  | |z  t        z  | | z  t        t              z  t        |      z  z
  t        |       z  | |z  t        z  | | z  t        t              z  t        |      z  z
  t        |       z  fv sJ y )NzA zr   T)r   rp   rz   )
r   r   r!   r   r4   ru   r3   r   rI   r#   )r   r.  r   P1P2h1h2s          rl   test_issue_4892ar)    s   5>DAqsD!A
CGB
QqS3q619s1vqy(	)B
a&!)c!fai	B
a&!)c!fai	!	#B QR[!$	A2s8C!HQ1S!W,-	A2s8C!HQ1S!W,-	ArE3qs8OA!CG+,	ArE3qs8OA!CG+,	
1QRCQA&	&QB/	
1QRCQA&	&QB/)   rn   c                  
   t        t              t        dz  z  dt        t              z  t        dz  z  z   dz   t        dz  dz   z  } t	        t        t        | t              j                  t              | z
              dk(  sJ y )Nr   rp   r  r   )r4   r   ru   r3   rS   rM   rI   r   )exprs    rl   test_issue_4892br,    sk     F1a4K!CF(1a4-'",q!tax8DF9T1-2215<=>!CCCrn   c            	         t        t        t              t        t        t
              z  t        dt        ft        dt        ft
        dt        f      dt        t        t        t
              t        dt        ft
        dt        f      z  k(  sJ y Nr   rp   )rI   r4   ru   rf   r   r.  r   rX   r   rn   rl   test_issue_5178r/    sb    SVAaG^aBZ!QaBZH	(1Q7Q2JAr

334 4 4rn   c                     t        t              j                  t        dd      } t        dz  dz  t        dz  dz  z
  t        dz  dz  z   t        dz  d	z  z
  t        dz  d
z  z   t        t        dz        z   }t	        | t              |k(  sJ t        t	        | t              t              | k(  sJ t	        t        t        dz        t              t        t        dz        k(  sJ y )Nr   r   rp   r      r   i  r   i  i _7 r`  r   )r4   ru   seriesrO   rI   r   rf   r   s     rl   test_integrate_seriesr4    s    AaBA	1QAb1a48#ad5j01b5=@1QU8KAQ?a	!Q#q(((Qq!tWa AadG+++rn   c            	      R    ddl m}   | t        g g dgg t              t              J y )Nr   heurischrz   )sympy.integrals.heurischr7  rE   ru   r6  s    rl   test_atom_bugr9    s'    1GBQCQ/3;;;rn   c                  0   t        dd      } t        t        t        t        z  | z        t        dt
        ft        dt
        f      j                         t        |       t        t
        dz  | z        z
  t        z   dt        t
              z  z   | z  k(  sJ y )Nr.  Fzeror   rp   )
r   rI   r4   ru   r   r   r   r#   r:   r   r  s    rl   test_limit_bugr=    sy    sAS1QZ!QaBZ8AAC	Q"RU1W+	
	*Qs2wY	69: : :rn   c                      t        d      } t        t        t               | t              z  t              j	                  t
              sJ y )Nr   )r	   rI   r!   ru   r  rX   r~   s    rl   test_issue_4703r?    s2    ASVAaD[!$((222rn   c                      t        d      } t         | t              j                  t              dz  t              j	                  t
              sJ y )Nrf   rp   )r	   rI   ru   r   r  rX   r  s    rl   test_issue_1888rA    s6    AQqTYYq\1_a(,,X666rn   c                      t        t        t        t        z        t        t         dz  t        dz  ft        dt        f      dt        t        dz  dz        z  k(  sJ y )Nrp   r   )rI   r3   ru   r   r   r<   r   rn   rl   test_issue_3558rC    sH    S1XB3q5"Q$/!Q<"RU1W+MMMrn   c            	          t        dt        ddt        dz  z  z         z  t              t        t        dz        dz  k(  sJ y )Nrz   r_  r   rp   )rI   r.   ru   r%   r   rn   rl   test_issue_4422rE    s9    QtB1a4K((!,ac
Q>>>rn   c            
          t        t        t        t        ddt        z  z         z  t                    t        dt        z  dz         dt        dz  z  t        z   dz
  z  dz  k(  sJ y )Nrz   rp   r   r^  )rR   rI   ru   r.   r   rn   rl   test_issue_4493rG    sY    IaQ1Woq12QqS1WqAvzA~&r)* * *rn   c                  P   t        t        t              t        z  t        t         t        f      t        k(  sJ t        t        t              t        z  t        dt        f      t        dz  k(  sJ t        t        t              t        z  t              t        t              k(  sJ y r.  )rI   r4   ru   r   r   r<   r   rn   rl   test_issue_4737rI    so    SVAXB3|,222SVAX1bz*bd222SVAXq!RU***rn   c            
         ddl m}  t        dd      }t         | t	        t        t               t        t              z  t        |z  z  t        dt        f                  |t        d|      z  dz   t        |      z  k(  sJ y )Nr   r  r   Tr   rz   )r	  r  r   rR   rI   r!   ru   r#   r   rC   rB   )r  r   s     rl   test_issue_4992rK    sm    /sT"AK	#qb'#a&.A*=1bz JKL	
9Q?	Q	a() ) )rn   c                      ddl m}  t        t        t	        t
               t
        t        z  z  t
                     | t        dz   t
              k(  sJ y )Nr   
lowergammarz   )'sympy.functions.special.gamma_functionsrN  rR   rI   r!   ru   r   rM  s    rl   test_issue_4487rP    s8    BIc1"gadlA./:a!eQ3GGGGrn   c                  T    t        d      } t        d| dz  z  | ddf      t        u sJ y )Nru   rz   rp   r   )r   rI   r   r  s    rl   test_issue_4215rR    s.    sAQ1X2qz*b000rn   c                  x   t        ddd      } t        t        | z  t        t              z  t              | t        z  t        | z  z  t        t              z  | dz  d| z  z   dz   z  t        t        | z  z  t        t              z  | dz  d| z  z   dz   z  z   t        t        | z  z  | dz  d| z  z   dz   z  z
  k(  sJ y )Nrc   Tr  rp   rz   )r   rI   ru   r#   r   s    rl   test_issue_4400rT    s    sD40AadCF]A&	!AqDQA!a(1QT6#a&=!Q$1*q.+II	!Q$1qs
Q	      rn   c                     t        t        dt        z
        t        dt        z         z   dz  t        z  t        d      t        t        t         dz         t        t        dz         z   dz  t        z  t              k(  sJ y )Nrz   rp   TrE   )rI   r.   ru   rX   r   rn   rl   test_issue_6253rW    si     d1q5kDQK/!3A5q$G$rAv,a!e,q02A67 7 7rn   c            	         t        ddt        z   t        z   t        z   z  t        ddft        ddft        ddf      dt	        d      z  dt	        d      z  dz  z
  dt	        d      z  dz  z   dt	        d      z  z   d	t	        d
      z  z   dt	        d      z  dt	        d
      z  z   dt	        d      z  dz  z
  dt	        d      z  dt	        d      z  dz  z
  dt	        d      z  dt	        d      z  dz  z
  dt	        d      z  dz  z   fv sJ y )Nrz   r   ir   r   rp   r   r   r   r   r  rk  /   rI   ru   r   r.  r#   r   rn   rl   test_issue_4153r[    s    QA	A&Aq	Aq!9q!QiHCF
Qs1vXaZ!CF(1*,qQx7!CF(B	#a&1SV8bQik)2c!f9r#a&y{+BCF
Qs1vXaZ"SV)A+-M/ / / /rn   c                      t        d      \  } }}t        |t        | z
  |z   z  |z  t        | dz  t        dz  z
        z  t        | |z
  | f      }|j	                  t
              rJ |j	                  t              rJ y )NzR b hrp   )r   rI   ru   r.   r  r   rX   )r
  r   hrj   s       rl   test_issue_4326r^    st    gGAq! 	Aq1uqyM1$d1a4!Q$;&77!QUAGAuuSz>uuXrn   c                      t        dt        z  dt        z  z   t              dt        z  t        d      z  dt        z  t        d      z  z   k(  sJ y r  r"  r   rn   rl   test_powersr`    s@    QTAqD[!$1SVad3q6k(AAAArn   c                      t        t        d        t        t        dt        z         t        z  t        ddfd      j                  t              sJ y )Nc                  6    t        dt        z  t        dd      S )Nrz   T)manualrE   r   r   rn   rl   r   z$test_manual_option.<locals>.<lambda>"  s    y1adK rn   rz   r   Trc  )r[   r   rI   r#   ru   r  rX   r   rn   rl   test_manual_optionre  !  s<    
:KLS1XaZ!Q48<<XFFFrn   c                      t        t        d        t        t        t              t        d      t        t        t              t              k(  sJ y )Nc                  6    t        dt        z  t        dd      S )Nrz   T)rE   rischr   r   rn   rl   r   z%test_meijerg_option.<locals>.<lambda>(  s    y1aTJ rn   TrV  )r[   r   rI   r6   ru   rX   r   rn   rl   test_meijerg_optionri  '  s3    
:JKSVQ-#a&!1DDDDrn   c                     t        t        d        t        t        t        dz         t        d      t        t        t        dz         t              k(  sJ t        t        dt        z        t        z  t        t        d      t        dz  t        t        dt        z        z  dz  t        dz  z   z  k(  sJ t        t        t              t        d      t        t        t              t              k(  sJ y )Nc                  T    t        dt        t              z  t        dt        fd      S )Nrz   r   Trh  )rI   r#   ru   r   r   rn   rl   r   z#test_risch_option.<locals>.<lambda>/  s    y3q6Aq":TJ rn   rp   Trl  rz   )
r[   r   rI   r!   ru   rY   r#   r   r=   rX   r   rn   rl   test_risch_optionrm  -  s    
:JKS!Q$Z$/3HaQRdUUV3WWWWS1XaZAT2adAc!A#hJqL1Q3<N6OOOOSVQd+xA/BBBBrn   c            	         t        t        d        t        t        t        dz        t        d      t        t              t        t              z  dz  k(  sJ t        t        t              t        z  t        d      t        t        t              t        z  t              k(  sJ t        t        t              t        t        t                    z  t        t        dd      z  z  t        d      dt        t        d	d      z  z  t        t        t                    z  d
z  dt        t        d	d      z  z  t        t        t                    z  d
z  z   dt        t        d	d      z  z  t        t        t                    z  dz  dt        t        d	d      z  z  t        t        t                    z  dz  z   t        t              z  z   k(  sJ y )Nc                  6    t        dt        z  t        dd      S )Nrz   T)rh  r7  r   r   rn   rl   r   z&test_heurisch_option.<locals>.<lambda>8  s    y1atdK rn   rp   Tr6  r   r   Firz   i!     r_  r  )r[   r   rI   r!   ru   r.   r   r?   rX   r#   r3   r   r4   r   rn   rl   test_heurisch_optionrq  6  sV   
:KLSAYD1T"Xd1g5Ea5GGGGSVAXq40HSVAXq4IIIISVCAK'8Aq>(991uMQAs3q6{*3.QA5F1Fs3q6{1RSV1VV	Ax1~	c#a&k	)"	,qHQN1B/B3s1v;/Nr/Q	QSVWXSYY	Z[ [ [rn   c                      ddt         dz  z  dz
  z  } t        | t               j                  t               }t        | |d      sJ y )Nrz   gHzG?rp   g333333@g-q=)tol)ru   rI   r   rb   r3  s     rl   test_issue_6828rt  C  s@    	419s?A!QQAa...rn   c            	         t        d      } t        t        t        z  t	        | t
        z
   t        t              z        z  t
              t        t	        t
        | z
  t        t              z        z  t        t              z  t        z  k(  sJ y )Nx_max)r   rI   r   r   r!   ru   r3   r   )rv  s    rl   test_issue_4803rw  I  si    7OEQrT#	l3q6122A6	#q5y#a& 
!!#a&(+, , ,rn   c            	          t        dt        dt        t              dz  z         z        t        t              t        dt        t              dz  z         z  k(  sJ y r  )rI   r.   r6   ru   r   rn   rl   test_issue_4234ry  O  sE    QtAA	M**+s1vd1s1vqy=6I/IIIIrn   c                     t        t        t        dz  t        dt        dz  z
        z  t                    j	                  d      t        t        dt        dz  z  dt        dz  z  z
  dt        z  z   dt        t        dz  dz
        z  t        t        d      t        z  dz        z  z
  z  dt        t        dz  dz
        z  z  t        t        d      kD  t        t        d       k  z  fdt        dz  z  dt        dz  z  z
  dt        z  z   dt        dt        dz  z
        z  t        t        d      t        z  dz        z  z
  d	t        t        dz   dz         z  z  df      k(  sJ y )
Nrp   r   Tr  r^  r      r   i)	rR   rI   ru   r.   rM   r/   r   r$   r1   r   rn   rl   test_issue_4492r|  S  sL   IadT!ad(^3Q78?? @ 	
AadFR1Wr!t#badQh&7d1gaik8J&JJ	KtAqD1H~
!"T!Wd1gX >	@
AqD&2ad7
RT
!BtA1H~$5d4719Q;6G$G
GadUQY
!"&	()) ) )rn   c            	         dt         t        z   t        t              z   z  } t        | t        ddf      }t	        | t        ddf      j                         |k(  sJ t        | t        t              z   t        ddf      |t        d      z
  t        d      z   k(  sJ t        d| z  t        t              z   t        ddf      d|z  t        d      z
  t        d      z   k(  sJ t        t        dt        z  t        z  t        z  t         t        z   z  t        z        t        dt        f      t        t        dt        z  t        z  t        z        t        dt        z  t        z  t        dz  z  t        z        z  t        dt        f      k(  sJ y )Nrz   rp   r   g333333?r   g333333)r   r.  r#   rY   rX   r   rI   r!   rc   r   r   ru   )rf   
integral_fs     rl   test_issue_2708r  \  sJ    	
1q53q6>A&q1a)4JA1ay!&&(J666QQZ!Q+zCF/BSV/KKKKQqS3q6\Aq!9-	*s1vA&' ' 'SQqQBF+A-.Aq	:c$q&(1*oc#a%'!Q$,q..AA#$a)	-- - -rn   c                      dt         z  dt        z  z   dz   t        dt         z        z  } t        | t         ddf      }t	        |      dk(  sJ y )NgJ  @gD @g      $@g?g?z%1.86831064982608*y + 2.16387491480008)ru   r   r!   rI   str)rf   rj   s     rl   test_issue_2884r  j  sM    		N1,	,~	=s46{JA!ac]#Aq6<<<<rn   c                  |   ddl m} m} t        t	        t
         t        z        t        t              z  t        dt        f      t        t        t        t
         t        t
        dz   dz   z  z   |t
        dz        dk  fdt        t
        z  ddt
        dz  z  z
  z  z   |t
        dz        dk  ft        t        j                  fdfdt        j                  fdft        t
              dz        df      z  t
        dz  dkD  ft        t	        t
         t        z        t        t              z  t        dt        f      df      k(  sJ t        t	        t
         t        z        t!        t              z  t        dt        f      t        d	t
        dz   z  dz  dt
         dz   z  dz  z
  t#         |t
              dkD   | | t
                    t        dz  k   | | t
                    t        dz  k        ft        t	        t
         t        z        t!        t              z  t        dt        f      df      k(  sJ y )
Nr   argr   rp   rz   r   )r   r   )r   Tr   )$sympy.functions.elementary.complexesr  r   rI   r!   r   ru   r&   r   r/   r   rE   r   r   r   rX   r)   rJ   r  s     rl   test_issue_8368ir  p  s   =S!AYtAw&Ar
39BA	N+AqD	A'2a4Qq!tV,-AGq(*ffY/[$/&qM1,. 	
 
 1q aRT47*Q2J7	  $ S!AYtAw&Ar
3AE
1q1"q&z!|+FQJAK"Q$&AK2a4' aRT47*Q2J7		 	 	rn   c            	      v   t        t        dt        z              dt        dt        z        z  k(  sJ t        t	        dt        z              dt        z  dt        t	        dt        z        dz         z  z
  k(  sJ t        t	        t                    t        t        t	        t              dz         z
  k(  sJ y )Nr9  rz   )rI   r)   ru   r&   r*   r#   r   rn   rl   test_issue_8901r    s    T#a%[!Sc!e_444T#a%[!SUST#a%[1_1E-E%EEEET!WSa1%5!5555rn   c                     t        t        t              dz  t        z  t        ddf      t        d       dz  dt        d      z  dz  z   k(  sJ t        t        t              dz  t        z  t        dt        f      t
        dz  k(  sJ t        t        t              dz  t        dz  z  t              t        dt        z         t        dt        z        dt        z  z  z
  ddt        z  z  z
  k(  sJ y )Nr   r   rz   r   rp   )rI   r4   ru   r<   r   r   r3   r   rn   rl   test_issue_8945r    s    SVQYq[1a),Aq1RU7190DDDDSVQYq[1a*-A555SVQYq!t^Q'BqsG8c!A#h!n+Dq!A#w+NNNNrn   c                     t         rt        d       t        d      \  } }}}t        t        | z  t
        z  |z        dz  ||t
        z  z   z  j                  t              }t
        t        |t
        d|f      j                  vsJ y )NzToo slow for CI.zi L a brp   r   )
r^   r]   r   r3   r   ru   rewriter!   rI   r   )r   Lr   r   	integrands        rl   test_issue_7130r    ss     #JAq!QRT!VAX!Q1W-66s;IIi!Q3@@@@@rn   c                      t        d      \  } }}}t        | |z  ||g      }t        ||      t        ||      j	                         k(  sJ t        ||      t        | |dz  z  dz  g||z  g||z  gg      k(  sJ y )Nza b c trp   )r   rK   rI   rX   r   )r   r   r   r   vts        rl   test_issue_10567r    s    #JAq!Q	1a	BRxA335555Rv!Q$qzAaC51Q3%&@AAAArn   c                  ~    t        t        t        dz   dt        z  z   dz         t        ddf      dt        z  k(  sJ y )Nrp   r   0   r   r  r_  )rI   r.   ru   r   r   rn   rl   test_issue_11742r    s9    T1a4%!A#+*+aBZ8BrEAAArn   c                      t        d      } t        t        t        | z        |       t	        t        | z        t        z  k(  sJ y )Nr   )r   rI   r5   r   r<   )r   s    rl   test_issue_11856r    s4    AT"Q$Z#r"Q$x{222rn   c                      t        t        t        dt        z              t        ddf      t        t              dz  k(  sJ y Nrz   r   rp   )rI   r.   r#   ru   r   r   rn   rl   test_issue_11876r    s1    T#ac(^aAY/48A:===rn   c                      t        dt        t              z  dt        dt        z        z  z
  t        dt        z        z  t              dt        dt        z        z  dt        dt        z        z  z
  k(  sJ y )Nig3333333@r   g333333r   g      (@r   )rI   r!   ru   r   rn   rl   test_issue_4950r    sa    c#a&j4AaC=0#ac(:A>S1XS1X%& & &rn   c            	          t        t        t        t        dz                    t        t        t        t        dz              z  dz  dt        z  t	        t        t        dz              z  dz  z
  k(  sJ y )Nrp   r   )rI   r4   r#   ru   r3   r   rn   rl   test_issue_4968r    sW    SQT^$#c!Q$i.(8(:QqSSAY=OPQ=Q(QQQQrn   c                     t        dt        dz  z  t        t         t        f      t        u sJ t        dt        dz  z  t        ddf      t        u sJ t        dt        dz
  dz  z  t        ddf      t        u sJ t        dt        dz  z  t        ddf      t         u sJ t        dt        dz
  dz  z  t        ddf      t         u sJ y )Nrz   rp   r   r   )rI   ru   r   r   rn   rl   test_singularitiesr    s    Qq!tVa"b\*b000Qq!tVaQZ(B...QAz\Ar1:."444Qq!tVaBZ(RC///QAz\Aq":.2#555rn   c            
         t        dd      \  } }t        t        | | z  | z  ||z  z         | t        t        ||z  z
         t        t        ||z  z
        f|t        t               t        t              f      t        t        | dz  |dz  z         | t        |dz   t        z          t        |dz   t        z         f|t        t               t        t              f      k(  sJ y )Nzx yTr   r   rp   )r   rI   r4   r.   r   rX   )ru   r   s     rl   test_issue_12645r    s    5t$DAqc!A#a%!A#+&4QqS>/4QqS>:48)T"X.0 C1q!t,q!tebj!1 14A
3CDb	48466 7 6rn   c                      t        t        t              t        t              dz  z  t        dt        dz  f      t        dd      k(  sJ y )Nr   r   r   rz   )rI   r4   ru   r3   r   r   r   rn   rl   test_issue_12677r    s8    SVs1vqy)Aq"Q$<8HQNJJJrn   c                      t        t        dt        z        t        t              z
  t        z  t        dt        f      t	        d       k(  sJ y )Nr   r   )rI   r3   ru   r   r#   r   rn   rl   test_issue_14078r    s8    c!A#hs1voq(1a*5#a&@@@rn   c                  j    t        dt        t              z  t        dt        f      t        dz  k(  sJ y r  )rI   r&   ru   r   r   r   rn   rl   test_issue_14064r    s)    QtAwYAr
+r!t333rn   c                     t        ddt        t        t        j                  z
        dt        t              z   z  z   z  t              t        t        t        j                        t        t        t              t        t        j                        dt        t        j                        z   z  z         z  t        t        j                        t        z   z  z
  k(  sJ y r   )rI   r!   ru   r   r   r#   r   r   rn   rl   test_issue_14027r    s    QCAFF
OQQZ8891=	CKCFS[!c!&&k/%BBCCS[ST_UUV V Vrn   c                  v    t        t        t              t        dt        dz  f      t        j
                  u sJ y r.  )rI   r6   ru   r   r   Infinityr   rn   rl   test_issue_8170r    s)    SVaBqD\*ajj888rn   c                      t        dt        z  t        ddf      t        j                  u sJ t        dt        dz   z  t        ddf      t        j                  u sJ y )Nrz   r   r   r   )rI   ru   r   r   r   rn   rl   test_issue_8440_14040r    sL    QqS1b!*%...QAYB
+quu444rn   c                  X   t        dt        t        z   dz  z  t        ddf      dt        dz   z  dt        z  z   k(  sJ t        ddt        z   t        z   t        z   dz  z  t        ddft        ddft        ddf      dt	        d      z  dt	        d      z  z
  dt	        d	      z  z   k(  sJ y )
Nrz   rp   r   r   rH  r   r   r   r   rZ  r   rn   rl   test_issue_14096r    s    QAz\Aq!9-QUac1AAAAQA	A))Aq!9q!Qi!QK
3q6	Ac!fHqQx'( ( (rn   c            
         t        t        dt        dt        dz  z
        z  t        ddf      j	                         dz
        dk  sJ t        t        t        dt        dz  z
        t        ddf      j	                         dz
        dk  sJ y )Nrz   r   r   gQdVo?gư>g) ?)r   rI   r.   ru   rc   r   rn   rl   test_issue_14144r    s{    y4AqD>)Aq!95779HDELLLya!Q$h!Q3557(BCdJJJrn   c                      t        t        t        t        z        t	        t              z  t              j                  t              sJ y r|   )rI   r!   r   ru   r#   r  r;   r   rn   rl   test_issue_14375r    s/     S1Xc!f_a(,,R000rn   c            	           t        d      t        t        t              } t	        | t        ddft        ddft        ddf      t        | t        ddft        ddft        ddf      k(  sJ y )Nrf   r   rz   rp   r   )r	   ru   r   r.  rI   rX   r  s    rl   test_issue_14437r    se    aAAQAq	Aq!9q!Qi8Q1I1ay1a)<= = =rn   c            	          t        dt        t        t              dz         z  t              t	        t        t        t              dz         dz
        t	        t        t        t              dz         dz         z
  k(  sJ y r   rI   r.   r!   ru   r#   r   rn   rl   test_issue_14470r    sb    QtCFQJ''+s4A
3Ca3G/H3tTWXYTZ]^T^O_bcOcKd/ddddrn   c            	         t        dt        t        dz        t        z  z
  dt        dz  z  z         dt        dz  z  t        z   z  dt        t        dz        t        z  z
  dz  z  } t        | t              t        dt        dz  z  t        t        t        dz        z  z
  dz          t        t        dt        dz  z        z  t        dt        dz  z        z
  z  k(  sJ y Nrz   rp   r   )r!   ru   rI   r  s    rl   test_issue_14877r    s    AAqD	!Oa1f$%qAvz2AAqD	!Oa3GGAQ?	Qq!tVaAqD	k!A%	&&#a1f+AadF(CDE E Ern   c                      t        t        dz   dz         t        dz   t        z   z  } t        | t        ddg      t         dz  k(  sJ y )Nrp   rz   r   r   )r.   ru   rI   r   r  s    rl   test_issue_14782r    sE    adUQY!Q$#AQB
#tax///rn   c                      t        t        dz   dz         t        dz   t        z   z  } t        | t        ddg      t        j                  dz  t
        dz  z
  k(  sJ y )Nrp   rz   r   r   r_  )r.   ru   rI   r   r   r   r  s    rl   test_issue_14782_slowr    sP    adUQY!Q$#AQAq	"aeeai"r'&9999rn   c                      t         t        dd      z  t        t                z  } t        | t         dt        g      t        u sJ y )NrI  rp   r   )ru   r   r!   rI   r   r  s    rl   test_issue_12081r    s8    	HROS!W$AQAr
#r)))rn   c                      dt         z  dz
  } d| z  t        d| z        z  t         dz  z  }t        |t         ddg      dk(  sJ y )Nrz   r   r   rp   r   )ru   r!   rI   )r   rf   s     rl   test_issue_15285r  "  sH    	!aA	!C1IadAQAq	"a'''rn   c            
         t        t        t        z  t        t               z  t	        t              z  t        dt
        f      j                         t        t        t        dz         t        dt              z  t        t        dz         t        z  z   t        t              dz   dkD  ft        t        t        z  t        t               z  t	        t              z  t        dt
        f      df      k(  sJ y )Nr   rz   T)rI   ru   rc   r!   r#   r   rQ   r/   rB   rC   r   rX   r   rn   rl   test_issue_15432r  (  s    QTCG^c!f,q!Rj9CCE	q1ui1o	%a!eQ	61	AF	!Q$sA2w,s1v%1bz	2D9J; ; ; ;rn   c                  F   t        d      } t        dt              \  }}t        t	        t
        t        z  | |   | |   z   z        t
        d      t         t	        t        t
        z  | |   z        z  t	        t        t
        z  | |   z        z  | |   | |   z   z  k(  sJ y )Nomegazm p)clsr   r   )rU   r   rT   rI   r!   ru   r   )r  r  rw   s      rl   test_issue_15124r  .  s     E5c"DAqS1eAhq123QfE	
3qs58|S1U1X..a580CDE E Ern   c            	      Z   t               5  t        t        t        t                     d d d        t               5  t        t        t        t              t              t        t        t        t              t        t        t                    k(  sJ 	 d d d        t               5  t        t        t        t              t              j                         t        t        dz  dz  t        t        z        k(  sJ 	 d d d        t        t        d      5  t        t        t              j                  t              t        t        dz  dz  t        t        z        k(  sJ 	 d d d        t        t        t        t              t        ddf      t        t        j                  t              k(  sJ t        t        t              j                  t        ddf      t        t        j                  t              k(  sJ y # 1 sw Y   xY w# 1 sw Y   wxY w# 1 sw Y   xY w# 1 sw Y   xY w)Nrp   Frs   r   rz   )r_   rX   r   ru   r   r   r`   ra   rI   r   r   r   rn   rl   test_issue_15218r  5  sx   		! Aq		! K1a!$8Aq>8Aq>(JJJJK		! ?1a!$))+r!Q$q&!A#>>>?	&	> 8 !Qx!!!$1a461Q37778 R1X1ay)R]:::a8q!Qi(BqvvqM999 K K? ?8 8s1   G:AH$AHAH!:HHH!H*c            
         t        t        t        dz   t        dt        z        z        t        t        dz  t        dt        z        z        z  t        dt        f      } t        | t              sJ t        | t        t              dz  t        t              z  z
  j                  t        t        dz              dk(  sJ y )Nrp   r   r   )rI   r!   ru   r3   r   r4   r   r   r/   rQ   r.   r   r  rv  s    rl   test_issue_15292r  F  s    
CAc!A#h'#ad3qs8m*<<q!Rj
ICc9%%%cDHQJQ//55aA>?1DDDrn   c                      t        t        dt        z        t        t              z  t              dt        t              z  k(  sJ y r   )rI   r4   ru   r   rn   rl   test_issue_4514r  L  s/    S1Xc!f_a(Ac!fH444rn   c                  @   t        dd      \  } }}t        t        t        | dz
              | ||f      }t        t        t        | dz
              |       }|j	                  |d|di      ddt
        z  z   k(  sJ |j	                  | d      |j	                  | d      z
  ddt
        z  z   k(  sJ |j	                  |d|d	i      t        d       t        d
      z   k(  sJ |j	                  | d	      |j	                  | d      z
  t        d       t        d
      z   k(  sJ y )Nzx a bTr   rp   rz   r   r   rI  r   r   )r   rI   r!   r   r  r   )ru   r   r   definite
indefinites        rl   test_issue_15457r  P  s   gD)GAq!S1XAq	2H3s1Q3x=!,J==!Q1&"qs(222??1a :??1a#88B1HDDD==!RB(SVGc!f,<<<<??1b!JOOAr$::s1vgA>NNNNrn   c                     t        t        t        t              z  t        t              z  t              t        t        t              z  t        t              z
  t        t              z  t        t              z
  t	        t              z   k(  sJ y r|   )rI   ru   r!   r#   r;   r   rn   rl   test_issue_15431r  Z  sZ    Qs1vXc!f_a(	
3q6CF	CF"SV+be34 4 4rn   c                     t         t        t               z  } t        dt        t               z        }t        | t               |k(  r|j	                  t               | k(  sJ t         dz  t        t               dz  z  } t         dz   t        t               z  dt        dt        t               z        z  z   }t        | t               |k(  r|j	                  t               | k(  sJ t        t        t                     t         dz  z  } t        t               t        t        t        t                           z  dz  t        t        t                     t         z  z
  }t        | t               |k(  r|j	                  t               | k(  sJ y )Nrp   r   r   )ru   r#   r;   rI   r   r.   r   r>   )rf   Fs     rl   "test_issue_15640_log_substitutionsr  _  s   	#a&A
1SV8AQ?aAFF1IN22	1SVQYA	
Ac!fqAc!fH~%AQ?aAFF1IN22SVQTA	b	$tCF|$$Q&c!fa7AQ?aAFF1IN22Nrn   c            	         ddl m}   | d      }|j                  }t        t	        t
        |z  t        z         |t        t        fd      t        t        t
        t        z  t        z          t
        z  t        t
        t        z  t        z         t
        z  z   t
        t         kD  t
        t        k  z  t        t
        d      z  ft         t	        t              z  t        t	        t              z  z   df      k(  sJ y )Nr   )
CoordSys3DNTr6  )sympy.vectorr  ru   rI   r3   r   r   x_1x_2r/   r4   r   r   )r  r  ru   s      rl   test_issue_15509r  k  s    '3A	AS1q\AsC=4@I
aeai.	S3^A-	-RCAF/CbAh/NOT#a&[3s1v:%t,E. . . .rn   c            	         t        dd      } t        | t        d| dz  z
        z  |       t        | dz  dz  d| dz  z  dz  z
  | dk  f| dz   dz  d| dz  z  dz  z   t	        dd      z
  | d	k  f| dz  dz  d| dz  z  dz  z
  df      k(  sJ y )
Nru   Tr   r   rp   r   rI  Q   r   )r   rI   r  r/   r   r  s    rl   test_issue_4311_fastr  t  s    $AQs1QT6{]A&)	
Aa!AqD&(	AG$
Q$q1QT6!8	hr1o	-qAv6	
Aa!AqD&(	D!+# # # #rn   c                     t        dd      } t        dd      }t        dd      }t        dd      }t        t        t         | z  |dz  z  ||z  z         |      t	        t              t	        t
              z  t        t         |dz  z  d	| z  z        z  t        d
t        z  | z  |z  |z   dt	        |       z  t	        t               z  z        z  dt	        |       z  z  k(  sJ t        ddt        |dz  z  z   z  |      t         t	        t               t        |t        t	        t               z  z
        z  dz  t	        t               t        |t        t	        t               z  z         z  dz  z
  z  k(  sJ t        t        t         |dz  z        |      t	        t
              t        t	        t              |z        z  dt	        t              z  z  k(  sJ t        dt        t        |z        dz
  z  |      | dz  t        t        t        t        |z        dz
        z  dz  z
  k(  sJ t        dt        t        |z        dz
  z  |ddt
        z  f      t
         k(  sJ y )NKTr   ru   r   r  r   rp   r   r   rz   r   )	r   rI   r!   r   r.   r   r?   r#   r=   )r  ru   r  r   s       rl   %test_integrate_with_complex_constantsr  |  s(   sT"AsAsAsAS!Aad1Q3'+tAwtBx/?QBq!tGcE A 0 "Q$q&(Q,47481C!DE0FGHay0R R R RQAadF
^Q'QBaRQ48^9L0LQ0NA2hs1qqbz>**1,1- -. / / /S!AqD\1%b#d1gai.)@!DG))LLLLaQqS!nq)aRTAc#ac(Q,6G4G4I-IIIIaQqS!n1ad|4;;;rn   c            	         t        d      } t        ddd      }t        || |dz
  z  z  | dz   z  |       |dz  | |z  z  t        | t        t        t
        z        z  d|      z  t        |      z  t        |dz         z  k(  sJ y )Nru   rc   Tr  rz   rp   )r   rI   rG   r"   r   r   rB   )ru   rc   s     rl   test_issue_14241r    s    sAsT40AQq1u%Q/3a419Xa	!B$/A66uQx?a!eLM M Mrn   c                      t        t        t              dz  ddt        t              z  z
  z  t        ddt        z  g      t        dz  k(  sJ y )Nrp   r   r   r   )rI   r4   r   r3   r   r   rn   rl   test_issue_13112r    s>    SVQY!aAh,/!Q">"q&HHHrn   c                      t        dd      } t        t        t        ddt        z  | z  z
        z  t        d| f      }|d| dz  z  t        z  dz  k(  sJ y )	Nr]  Tr   rz   rp   r   r   r_  )r   rI   ru   r0   r   )r]  r   s     rl   test_issue_14709br    sS    sT"A!DQqSUO#aAY/A!Q$r	"rn   c                     t        d      } t        d      }t        t        |      |z  |t         | f      t	        |       k(  sJ t        t        |        t        d| z        z
  | z  | dt        f      t        d      k(  sJ y )Nru   r   r   r   rp   )r   rI   r!   r   r;   r#   )ru   r   s     rl   test_issue_8614r    st    sAsASVAXB3{+r!u444c1"gBqD	)1,q!Rj9SVCCCrn   c                  >   t        dd      } t        | dz        dt        d| z        z  z
  t        |       z   t        |       z  }t        ||       }|t        j                  k7  sJ t        |j                  | d      dz
        dk  sJ t        | dz        dt        t        d	      d
z  | z        z  z
  t        |       z   t        |       z  }t        ||       dt        d| z  d
z        z  dz  dt        d| z  dz        z  dz  z   t        d| z        dz  z   k(  sJ y )Nr   Tr   rp   g?rz   gRt?,eg:0yE>r   r   i   r   )r   r!   rI   r   r   r  r  )r   r  solutions      rl   test_issue_15494r    s   d#AQqSAc#a%jL(3q613q69IA&Hquu x}}Q"&789TAAAQqSAc!A$q&(mO+c!f4c!f<IY"c#bd1f+ob&81S1QZ<>&ICPQRSPSHUVJ&VVVVrn   c                  j   t        d      } t        t        | t        dz  z        t              j	                         t        t        t        t        dz  | z        z  t        t        dt        t        dz  | z        z  dz        z  t        t        dz  | z        z  z
  t        | d      fd      k(  sJ y )Nr   rp   r   r   r  )
r   rX   rA   ru   r   r/   r;   r#   r.   r   r   s    rl   test_li_integralr    s    sABqAvJ"'')Y"QT!V*	"Qs1a46{]1_
d1a46l*9+
1a8.   rn   c                     t        d      } t        d      }t        j                  }| |dz   z  t        |||z  z         z  t	        |||z  z   fd|z  d|z  ||z  z   f| d|z  z   dz        z  d|z  t        d|z  ||z  z         z  z  }t        t        | |z        |       }||k(  sJ t        dd      }| |i}t        t        ||z        |      |j                  |      j                         k(  sJ y )	Nru   rc   rz   r   rp   r   Fr;  )	r   r   r   rB   rD   rI   r4   xreplacer   )ru   rc   r]  r%  got_xrepss          rl   test_issue_17473r    s   sAsA	A
a!e*U1qs7^
#E1qs7*	
1acAaCi1qs8)A+%' '()!E!A#!),<(<>C
C1Iq
!C#::	%	 Br7DSQZ$T(:(A(A(CCCCrn   c                     t        t        t        t                    t        dz  z  t        dt        g      t         k(  sJ t        t        t        t                    t        dz  z  t        dt        g      t        d       dz  t        dz  z
  k(  sJ t        t        t        t                    t        dz  z  t        dt        g      t        d       dz  t        dz  z
  k(  sJ y )Nrp   rz   r   r   r   )rI   r#   ru   r   r   r   rn   rl   test_issue_17671r    s    SQ[1a4'!Q4CCCSQ[1a4'!Q4Q	JqL8PPPPSQ[1b5(1a*5#a&ZPQ\9QQQQrn   c            	          t        d      } t        d      }t        d      }t        d|dz  |z   t        d      dz  z  z  ||  dz  | dz  f      | |t        d      dz  z  t        d| dz  d|z  z  z         z  z  k(  sJ y )Nr  Cr   rz   rp   r   r   )r   rI   r   r.   )r  r   r   s      rl   test_issue_2975r    s    sAsAsAQ1Q!A$q&))Ar!tQqS>:aQqT!VTRSVWYZVZ\]^_\_V`R`MaAa>bbbbrn   c                     t        d      \  } t        dd      }t        t        z  d|f            dz  |dz  dz  |dz  z   z  k(  sJ t        t        t	              z  d|f            t        dz  t	              z  dz  d|f      k(  sJ t        t        t	        z        d|f            t        t        t        z         z  t        d      fd	      d|f      k(  sJ t        t        t        t	        z        d|f                  t        t        t        t	        z         dz  z  t        d      f z  df      d|f      t         kD  t        k  z  t        d      z  fd	      k(  sJ t        t        d| f            | dz  z  dz  k(  sJ t        t        fd
       t        t        fd       t        t        fd       y )Nzx n Mr  Trd   rz   rp   r   r   r  c                  F    t        t        t         f      t              S r|   rI   r   r   rc   ru   s   rl   r   z!test_issue_7827.<locals>.<lambda>  s    yQAq	):A> rn   c                  6    t        t        d f             S r   )rI   r   r  s   rl   r   z!test_issue_7827.<locals>.<lambda>  s    yQAq	):A> rn   c                  >    t        t          dt        f             S r   r  r  s   rl   r   z!test_issue_7827.<locals>.<lambda>  s    yQAq	):A> rn   )r   r   rI   r   r4   r   r/   r3   r   r   r[   r   )r@  r  rc   ru   s     @@rl   test_issue_7827r    s   gGAq!sD!AYqsQ1I.2adAqDFQqSL6IIIIYqQx!Aa115AqDQKMAq!9%& & &Ys1Q3x!Aa115IAaCy{Bq!H-y9Aq!9EF F FYyQqSAa7;Q?C3y3qs8)AqD."Q(!;qbdD\J	
Aq	"WR(2a8356?	AA A A SQ1I&*a1fQh666
:>?
:>?
:>?rn   c                     ddt         z  z   t        t         t        t               z         ddt         z  z   z  z   t         dz  z   t         t         t        t         t        t               z         z   z  t        t         t        t               z         z  z  } t        | t               dt        t         t        t               z         z  dt        t         t        t         t        t               z         z         z  z   k(  sJ y r  )ru   r.   r#   rI   r  s    rl   test_issue_4231r
    s    	
QqS4CF
#Q1W-	-1	4q!d1s1v:>N:N7OPTUVY\]^Y_U_P`7`aAQ?aQQZ 001ST!c!f*=M9M5N3NNNNNrn   c                      t        dt        dz  t        z   t        z   z  t              } t        | t              dt        dz  t        z   t        z   z  k(  sJ y r  )r   ru   r   rI   r  s    rl   test_issue_17841r    sC    Q1Qq\1AQ?aAA....rn   c                     t        ddd      } | | dz   t        d      dz  z  | t        | t        t        d            z         z  z
  dz   z  }| t	        t        d            z   | | dd| z  z  z   z  z  }t        ||       | dz   dt        d      dz  z  z  | d	z  t	        | t        t        d            z         z  z
  d| d	z  z  d	z  z   d	| z  t        | t        t        d            z         z  z   d	t	        | t        t        d            z         z  z
  k(  sJ t        ||       t        | d	z  t        d      dz  z         d	z  d	t        d
      z  t	        t        d            z  t        d	t        d
      z  | z        z  z   k(  sJ y )Nru   Tr   r   r   r   rz   r  r   rp   r   )
r   r1   r)   r#   r&   r3   rI   r   r.   r2   )ru   f1f2s      rl   test_issue_21034r    s   st,A	
QTE$q'1*qa#d1g,&6!777!;	<B
d3q6l
QAr!tH-	.BR	
Aqa!|q!tDSa\)9$:::Qq!tVAXE!DQRUXY]^_Y`UaQaLbHbbefgklmpstxyzt{p|l|g}e}}~ ~ ~ RAqD1Q47NA$q'	$s1v, 6tAd1gIaK7H HHI I Irn   c                  F   t        t        t              t        t               z  t              t	        t               t        t               t        t              z  z
  k(  sJ t        t        t              t        t               z  t        dt
        f      t         k(  sJ y r  )rI   r#   ru   r!   r;   r   r   r   rn   rl   test_issue_4187r    si    SVCG^Q'2qb6CGCFN+BBBBSVCG^aBZ0ZK???rn   c                     t        d      } t        d      }t        d      }t        d      }t        |dz  t        |      dz  z  ||  dz  | dz  f      |dz   |  dz  t        | dz        t        | dz        z  dz  z
  z  |dz  | dz  t        | dz        t        | dz        z  dz  z   z  z   k(  sJ t        |dz  t        ||z        dz  z  ||  dz  | dz  f      t	        |dz   |  |z  dz  t        | |z  dz        t        | |z  dz        z  dz  z
  z  |z  |dz  | |z  dz  t        | |z  dz        t        | |z  dz        z  dz  z   z  |z  z   |t
         kD  |t
        k  z  t        |d      z  f| |dz  z  df      k(  sJ dt        z  |z  | z  }t        d      t        |       z  |dz  z  t        t        d      t        |       z        z  t        t        j                  dz        z  d	t        t        d
      dz        z  z  | |dz  z  dz  z   }t        |dz  t        ||z        dz  z  ||  dz  | dz  f      |k(  sJ y )Nr  r.  r0R0rp   r   r   Tr_  r   )r   rI   r3   r4   r/   r   r   r   r.   r@   rB   r   r   )r  r.  r  r  r  sols         rl   test_issue_5547r     s   sAsA	B	BRU3q619_q1"Q$!n5"a%!A!HS1X%a'B( :)+-q5!A#AaCQqS8I!8K2K+L:M M M M RU3r!t9a<'!aRT1Q38I
a%!Bq3qtAv;s1R46{2144	5b	8	Q"QQrT!VS2a[022	3B	6
79;rcb2g8NQSTVXYQZ8Z	\	
2q5$=   
 	
"QqA
q'$q'/"a%
aa 9
9%a.
H"USTUVSWXYSY]JZ
[^_`bde`e^efg^g
gCRU3qs8Q;&QBqD!A#73>>>rn   c                  v    t        dddt        z  dz  z  dz   z  t        dt        f      t        dd      k(  sJ y )Nrz   rp   r   r   )rI   ru   r   r   r   rn   rl   test_issue_15810r    s8    QAaCE
Q'!Q4AFFFrn   c                  8   t        ddd      } t        |       t        d| z        z  t        d| z  t        d      z         z   }| t        |       dz  z  | ddt        d      z  z
  z  z   d| z  d| z  t        d      z  z   t        |       z  z   | t        d      d	z  z   t        d| z  t        d      z         z  z   t        d      t        d| z  t        d      z         z  d	z  z   }|t        ||       k(  sJ | t        d      z   | dz  z  }t        |       t        d      | z  z
  }|t        ||       k(  sJ | dz  t        d
      z   | z  }| dz  dz  t        d
      t        |       z  z   }|t        ||       k(  sJ | d| z  t	        d      z   z  }| dz  t        d| z  t	        d      z         t	        d      z  dz  z
  }|t        ||       k(  sJ | t        d      | z  z
  }| dz  dz  t        |       t        d      z  z
  }|t        ||       k(  sJ t        | t        d
      | z  z         }| t        | t        d
      | z  z         z  | z
  dt        t        d
d            z  t        | t        t        dd            z        z  z   }|t        ||       k(  sJ | d
z  | t        z   z  }| d
z  d
z  t        | dz  z  dz  z
  | dz  t        d      z  dz  z   | dz  t        d      z  dz  z
  | t        d      z  z   t        d
      t        | t        z         z  z
  }|t        ||       k(  sJ d| z  | t        d
      z   z  }d| z  dt        | t        d
      z         z  t        d
      z  z
  }|t        ||       k(  sJ | dz  d| z  t        d      z   z  }| dz  dz  | t        d      z  dz  z
  t        d| z  t        d      z         t        d      dz  z  dz  z   }|t        ||       k(  sJ | dz   | t        z   z  }| dz   dz  t        | z  z   t        d      t        | t        z         z  z
  }|t        ||       k(  sJ d| z  dz   t        d
      z  | z  }d| z  t        d
      z  dt        d
      z  t        |       z  z   }|t        ||       k(  sJ | dz   t        d      | z  z   }| dz  dz  d| z  z   t        |       t        d      z  z   }|t        ||       k(  sJ | t	        d      | dz  z  z
  }| dz  dz  t	        d      d| dz  z  z  z   }|t        ||       k(  sJ d| z  t        d	      z
  | z  }d| z  t        d	      t        |       z  z
  }|t        ||       k(  sJ | dz  | t        d
      z   dz  z  | z   }| dz  dz  | dz  t        dd      t        d
      z
  z  z   d| z  t        d      z  z   dt        d      z  t        | t        d
      z         z  z
  t        d      | t        d
      z   z  z
  }|t        ||       k(  sJ | | t        d      | dz  z  z   z  | z   }| dz  dz  | dz  dz  z   t        d      t        |       z  z   }|t        ||       k(  sJ | | d
| z  t        d      z   z  z   }| dz  dz  | d
z  z   t        d
| z  t        d      z         t        d      z  dz  z
  }|t        ||       k(  sJ | t        d      z   d| dz  z  d| z  z   z  }t        d      t        |       z  dz  t        d      t        | dz         z  dz  z
  t        | dz         dz  z   }|t        ||       j                         k(  sJ t        | dt        d      z  z         }| t        | dt        d      z  z         z  | z
  dt        | dt        d      z  z         z  t        d      z  z   }|t        ||       k(  sJ |  dt        d      t        d      | z  z
  dz  z  t        d      z  | z  z   }| dz   t        d      z  dz  dt        |       z  t        d      z  z   d| dz  z  t        d
      z  t        d      z  t        d      z  d| z  t        d      z  t        d      z  t        d      dz  z  z   dt        d      z  t        d      z  t        d      dz  z  z
  d| dz  z  z  z
  t        d      z  }|t        ||       k(  sJ d| dz  z  t        d      z  d	| z  z   }d| dz  z  dz  d	t        d      z  t        |       z  z   t        d      z  }|t        ||       k(  sJ y )Nru   Tr  r   r   rp   rz   r   r   r   r   r   r^  rj  r{  iLZ   r  rH  )r   r#   r!   rI   r*   r)   r   r2   r   r&   r   r4   )ru   rf   r  F_trues       rl   test_issue_21024r    sE	   st,AAs1Q3x#acCFl++A	#a&!)aQs1vX&&"Q$1SV*;SV)CC	
SVAXs1Q3Q<((	)+.q6#acCFl2C+CA+E	FA	!Q	
SVQTAAQA	!Q	
AAA	1QQAA	!Q	1Q3a=A	!c!A#Q- a(**A	!Q	DGAIA	1QQQA	!QAAqLA	#a#a&(l
a!CA$7"7Qs8BPQ??S=S8T"TTA	!Q	1a!eA	1Q1a4AqDQKM)AqDQKM9Ac!fHDs1vcRSVWRWjGXXA	!Q	!Qa[A	!aAQK  a((A	!Q	1acDGmA	1Q471s1Q3a=1$q'1*<Q>>A	!Q	
Aq1uA	
Aa!A#As1q5z))A	!Q	
1q#a&A	!CF
Qs1vXc!f_$A	!Q	AQ	A	1Q1s1vd1g~%A	!Q	DGAqDLA	1Qa!AqD&!!A	!Q	
1s1vqA	!c!fSVmA	!Q	1a#a&j1_q A	1QAx1~A.//!A#c"g+=#b'	#aRUVWRXj/@YY\_`b\cefilmnioeo\ppA	!Q	1s2wq!t|q A	1QAa#b'#a&.(A	!Q	AqsT!W}A	1Q1s1Q3a=)$q'1"44A	!Q	
SVa1fqsl#AAs1va#a&QU+A--AE
1<A	!Q&&((((A$q'	MA	#a!DG)m
q 1SQtAwY%7#7Q#??A	!Q	
RR4719$q((Q/11A
Q$s2wq2c!f9SV+	+tAqDyQ/?A/FtAw/NQSTUQUVYZ\V]Q]^abc^dQdeijkelnoeoQo/o
3r7
3q6$q'1*$0%'(Av// 
/03C	9A	!Q	!Q$s2w1A1fQh3q6#a&(#b'1FYq!_$$$rn   c                     t        d      } t        dt        dt        | z
  dz  z   z  z  t        t         t        f      j                         t        t        |       dz
  d       t        t        |       dz   d      z   k(  sJ y )Nr   rz   rp   r   )r   rI   r   ru   r   r   r9   r   )r   s    rl   test_issue_21721r!  r  ss    sAQAqsQhJ(!RC4;;=r!uqy!yAA667 7 7rn   c                     t        d      } t        t        d| z        ddt        |       z  z
  z  | ddt        z  f      t        dz  k(  sJ t        d| z        ddt        |       z  z
  z  }t        || ddt        z  f      t        dz  k(  sJ y )	Nthetar   r   r   r   rp   r  r   )r   rI   r3   r   )r#  r  s     rl   test_issue_21831r$  x  s    GES5\1Qs5z\>2UAqt4DEBNNNAeGa!CJ,./IY1R4 01RT999rn   c                      t        t        dz  t        dd      z
  dz  t        dt        dz  z
        z  t        ddf      t        dz  k(  sJ y )Nrp   rz   r   r   r  )rI   ru   r   r.   r   r   rn   rl   test_issue_22033_integralr&    sI    adXa^+a/$q1a4x.@1b!*MQSTVQVVVVrn   c                     t        dt        t        dz  t        dz  z   dt        dz  z
  t        dz  z
  ft        t	        dt        dz  z
         t	        dt        dz  z
        ft        ddf      t
        k(  sJ t        ddt        dz  z
  t        d      dz  z  z  dz  dt	        dt        dz  z
        z  ddt        dz  z  z
  z  z   t        ddf      t
        k(  sJ y )Nrz   rp   r   rH  r   )rI   r.  ru   r   r.   r   r   r   rn   rl   test_issue_21671r(    s    Q!Q$q!t)AadF1a4K0!T!AqD&\M$qAv,1OQRSUVWPXY]____RQTQqT!V,,Q.4AqD>1A1qAv:1NNQRTVXYPZ[_aaaarn   c                  0   t        dd      } t        t              dt        t              dz  z   z  }t	        |j                  t        |       | d      j                  | t              }t	        |t        d      |cxk(  rt        |t              k(  sJ  J y )NxrTr   r   rp   rd  )r   r3   ru   r4   rI   r  rX   )r*  r+  res_reals      rl   test_issue_18527r,    sy     
D	!BFAs1vkM"D1b)2d;@@QGHT1T*hK(4:KKKKKKrn   c                     dt         t        t              z  t        t	        t              z  z   z  } t        t         t         z  t        t        dz        z   t        t        dz  t         dz  z         t         z  z
         t        t        dz  t         dz  z         z  t        t         t         z  t        t        dz        z   t        t        dz  t         dz  z         t         z  z         t        t        dz  t         dz  z         z  z   }t        t        t        t        t        dz        dz
         t        t        t        dz        dz         z   z  t        t        d      t        t         d      z  ft        t        t        dz              t        z  t        t         d      ft         t         t         z  t	        t              z  t         t        t              z  z   z  t        t        t         t         z        ft        t        t         z  t	        t              z  t         t        t              z  z   z  t        t        t        t         z        f|df      }t        | t              |k(  sJ t        dd      \  }}t        |t         |i}t        | j                  |      t              |j                  |      k(  sJ y )Nrz   rp   r   Tza, br   )r   r3   ru   r   r4   r#   r6   r.   r/   r   r   r   rI   r   r  )rf   Fposr  aprY  reps         rl   test_issue_23718r1    s   	1SV8aAhA!AAaC41q!t#4Q#6677QTAqD[8II!AAaC41q!t#4Q#667QTAqD[8IIJD 
s3qs8a<  3s1Q3x!|#44	51a2a88KL	S1Xq1aA
aRT#a&[1SV8#	$1qbdD	
AaCAJ3q6!	"1qsD	=		A Q?aVd+FBb!R.CQVVC[!$		#666rn   c                      t        dt        t        dz  dz
        z  t        ddf      } | t        dt        d      z
         k(  sJ t	        j
                  | j                         d      sJ y )Nrz   rp   r   r   r   gCqB?)rI   r.   ru   r#   mathiscloserc   rL  s    rl   test_issue_23566r5    s]    !DAaL.1b"+.AQa[!!!!!<</000rn   c            	         t        dt        t        t        z
  dz  dz
        z        t	        t        t        t        z
        t        t        t        z
  dz        dkD  ft         t        t        t        z
        z  df      k(  sJ y )Nrz   rp   T)rI   r.   ru   r   r/   r$   r   r1   r   rn   rl   test_pr_23583r7    so    QtQUQJqL))*iq1usAPQETU:YZGZ8[_`^`aefgjkfkal^lnr]s.ttttrn   c            
         t        t        t              t        dt        dt        z        z         z        t        t        dt        z        dz         t        t              z  dz  t	        t        t                    dz  z   k(  sJ y r  )rI   r!   ru   r.   r%   r   rn   rl   test_issue_7264r9    sf    SVDS1X../4AaC13Ec!f3LQ3NQVWZ[\W]Q^_`Q`3````rn   c                      t        t        t              t        ddf      dt        t	        t
        j                              z  k(  sJ y rC  )rI   r+   ru   r2   r*   r   r   r   rn   rl   test_issue_11254ar;    s3    T!Wq!Qi(Ad4<.@,@@@@rn   c                      t        t        t              t              t        t	        t        dz              k(  sJ t        t        t              t        ddf      t
        k(  sJ y )Nrp   r   rz   )rI   r(   ru   r#   r*   r   r   rn   rl   test_issue_11254br=    sF    T!Wa CQqS	N222T!Wq!Qi(B...rn   c                      t        t        t              dz  j                  t              t              dt        t        dz        z  t        t        dz        dz  dz   z  k(  sJ y )Nrp   rz   )rI   r+   ru   r  r)   r*   r   rn   rl   test_issue_11254dr?    sM    d1gqj))$/3qac{D1IqLSTDT7UUUUrn   c            
      f   t        dt        dz  z  t        dz  z
  dt        z  z   dz
  t        t        dz  dt        z  z
  dz         z  t        ddf      } | dt        d      z  dz  dt        ddt        d      z  z
        z  d	z  z
  k(  sJ t	        j
                  | j                         d
      sJ y )Nr   rp   r   r   rz   ir      r_  g2{)rI   ru   r.   r#   r3  r4  rc   rL  s    rl   test_issue_22863rB    s    1QT6!Q$;qs?1$d1a4!8A:&66Aq	BAT!WQSQtAwY%7!7!:::::<<0111rn   c                  $   t        t        t        t        t              z               dt        t        t              t        z         z  t        t              dz  t        dz  z   t        d      dz  z
  z  t	        dt        t              z  dt        t        t              t        z         z  z   dz         dz  z   k(  sJ t        t        dt        z  dz   t        dt        z  dz         z         dz        t        dt        z  t        dt        z  dz         z   dz         dt        z  d	z  d
dt        z  dz   t        d      dz  z  z  dz  z   t        dt        z  dz         dz  z   dt        z  dz   dz  d	z  z   t        d
      d	z  z   z  dz  k(  sJ y )Nrp   r  r   rz   r   r   r   r   r   r`  (   rI   r.   ru   r   r#   r   rn   rl   test_issue_9723rF    sv   T!d1g+&'	$tAw{
T!WRZ!A#-!Q67#aQi!DQUVWQX[\Q\L]J]>]`a>a:bcd:dde e eT!A#a%QqSU+,a/0QqS4!a= 1$%aCFR1qAaDF++B..acAgr1AAQqS1WqLQSOSVWXZV[\^V^^	``a	bb b brn   c                  H   t        t        t              t        dz  z  t        t        dz  z  t        t        z  z   t
        z   z  t        d      t        t        t              t
        t        dz  z  t        t        dz  z  z   t        t        dz  z  z   z  t              k(  sJ y )Nrp   Trl  r   r   )rI   r#   ru   r   r   r   rY   r   rn   rl   test_issue_23704rH    s{     c!fQTk1QT6!A#:a<0$? Q1a4!AqD&1QT6)A!BAFG H Grn   c                     t        dt        dt        dt        z        z
        z        t	        t        dt        dt        z        z
        dz
        dz  t	        t        dt        dt        z        z
        dz         dz  z
  k(  sJ y r  r  r   rn   rl   test_exp_substitutionrJ    sz    QtAc!A#hJ''(CQQqS\0BQ0F,G,ICPTUVY\]^_`]`YaUaPbefPfLghiLi,iiiirn   c                     t        t        t                    t        t        t	        t              dz         z
  t        t	        t                    z   k(  sJ t        t        t                    dt        t	        t        dz              z  k(  sJ t        t        t                    t        t	        t        dz              k(  sJ y r  )rI   r'   ru   r#   r*   r+   r2   r(   r   rn   rl   test_hyperbolicrL    s    T!WSa1%5!5DG!DDDDT!W4QqS	?!2222T!WT!A#Y///rn   c                  X   t        t        t        dz              t        t        t        dz        z  dz  k(  sJ t        t        t        t        d      dz  z              dt        z  t        t        t        d      dz  z        z  dz  k(  sJ t        dt        t        dz        z        t        t	        t              z  t        t        dz        z  k(  sJ t        t        t        t        dz        z        t        dz  t        t        dz        z  t	        t              z  k(  sJ y )Nrp   r   r   r   r`  rz   rH  rE  r   rn   rl   test_nested_powrN    s    T!Q$Z Ad1a4jLN222T!ad1f+&'1Q3tA!QK/@+@+CCCCQtAqDz\"aAhtAqDz&9999QtAG}_%Ad1b5k)9#a&)@@@@rn   c                     t        dt        dt        dz  z  dt        z  z   dz         z        t        d      t        dt        d      z  t        t	        d      dz  z   z  dz        z  dz  k(  sJ t        dt        dt        dz  z  dt        z  z   dz         z        t        d      t        dt        d      z  t        t	        d      dz  z
  z  dz        z  dz  k(  sJ t        dt        dt        dz  z  dt        z  z   dz
        z        t        d      t        d	t        z  dt        d      z  t        dt        dz  z  dt        z  z   dz
        z  z   dz         z  dz  k(  sJ t        dt        dt        dz  z  dt        z  z
  dz         z        t        t        j                  z
  t        t        t        j                  z
        z  dt        t        t        j                  z
  dz        z  z  k(  sJ t        dt        t        t        t        z  z   t        t        dz  z  z         z  t              t        t        t        dt        t              z  t        t        t        t        z  z   t        t        dz  z  z         z  z   dt        z  t        z  z         t        t              z  t        t        d
      t        t        t        dz  dt        z  z  z
  d
      z  ft        dt        z  z  t        z   t        t        dt        z  z  t        z         z  t        t        t        dt        z  z  t        z   dz  z        z  t        t        d
      fdt        t        t        t        z  z         z  t        z  t        t        d
      ft        t        t              z  df      k(  sJ t        dt        z  d	z   t        dt        dz  z  dt        z  z   dz         z        dt        dt        dz  z  dt        z  z   dz         z  dz  dt        d      z  t        dt        d      z  t        t	        d      dz  z   z  dz        z  dz  z   k(  sJ t        dt        z  d	z   t        dt        dz  z  dt        z  z   dz         z        dt        dt        dz  z  dt        z  z   dz         z  dz  dt        d      z  t        dt        d      z  t        t	        d      dz  z
  z  dz        z  dz  z   k(  sJ t        dt        z  d	z   t        dt        dz  z  dt        z  z   dz
        z        dt        dt        dz  z  dt        z  z   dz
        z  dz  dt        d      z  t        d	t        z  dt        d      z  t        dt        dz  z  dt        z  z   dz
        z  z   dz         z  dz  z   k(  sJ t        t        t        t        z  z   t        t        t        t        z  z   t        t        dz  z  z         z  t              t        t         t        z  dt        z  z  t        z   t        t        t        dt        t              z  t        t        t        t        z  z   t        t        dz  z  z         z  z   dt        z  t        z  z         t        t              z  t        t        t        dz  dt        z  z  z
  d
      ft        dt        z  z  t        z   t        t        dt        z  z  t        z         z  t        t        t        dt        z  z  t        z   dz  z        z  df      z  t        t        t        t        t        z  z   t        t        dz  z  z         z  t        z  z   t        t        d
      fdt        z  t        t        t        t        z  z         z  dt        z  t         t        t        t        t        z  z         z  t        t        t        z  z   t	        d      dz  z  dz  z   z  t        z  z   t        z  t        t        d
      ft        t        z  t        t        dz  z  dz  z   t        t              z  df      k(  sJ t        dt        dz  z  t        dz  z
  dt        z  z   dz
  t        t        dz  dt        z  z
  dz         z        t        t        dz  dt        z  z
  dz         t        dz  dt        z  dz  z   t	        d      dz  z   z  dt        dt        z  dt        t        dz  dt        z  z
  dz         z  z   dz
        z  dz  z   k(  sJ t        t        dt        dz  z  dt        z  z
  dz               t        dz  t	        d      dz  z
  t        dt        dz  z  dt        z  z
  dz         z  dt        d      z  t        dt        z  dz  t	        d      dz  z
        z  dz  z   k(  sJ t        t        t        t        t        z  z   t        t        dz  z  z         t              t        t        dz  t        dz  dt        z  z  z
  t        t        t        dt        t              z  t        t        t        t        z  z   t        t        dz  z  z         z  z   dt        z  t        z  z         t        t              z  t        t        t        dz  dt        z  z  z
  d
      ft        dt        z  z  t        z   t        t        dt        z  z  t        z         z  t        t        t        dt        z  z  t        z   dz  z        z  df      z  t        dt        z  z  t        dz  z   t        t        t        t        z  z   t        t        dz  z  z         z  z   t        t        d
      fdt        t        t        z  z   t	        d      dz  z  z  dt        z  z  t        t        d
      ft        t              t        z  df      k(  sJ t        t        t        t        dz  dt        z  z   dz         z        t        dz  dz  t        d	z  z   t	        d      d	z  z   t        t        dz  dt        z  z   dz         z  dt        t        d      t        dz   z  dz        z  dz  z
  k(  sJ y )Nrz   r   rp   r   r   r`  rI  r  r   r   Tr   r   ir  r  r  r   rA  r_  i  i iY  i+A  iiQ  iC)  ir+  i  i:C)rI   r.   ru   r%   r   r1   r#   r   r   r   r   r/   r   r   rj   r   rn   rl   test_sqrt_quadraticrP    s
   QtAadF1Q3JqL))*d1geAd2hJAaDQRF
<STV<V6W.WXY.YYYYQtBq!tGAaCKM**+tAwtAd2hJAaDQRF
<STV<V7W/WXY/YYYYQtAadF1Q3JqL))*d1gc!A#$q'	$qQRTUQUvXYZ[X[|^_O_J`@`:`cd:d6e.efg.ggggQtAadF1Q3JqL))*q166z3q166z?.JAdTUXYX^X^T^abSbNcLc.ddddQtAacE!AqD&L))1-3q1T!W9T!ac'AadF*:%;;;ac!eCDT!WLbQRTUhY[\]`acd`dfghifi`j\jlmYnNnoqsGaKQ!Wq[!11$q!QqS'A+9I7I2JJBqRSHUT!ac']?1$bAh/!DG)T1B	DD D D
 ac!eT!AqD&1*Q,//0T!AqD&1Q3,"##A%$q'	%$r(
A!QJ8OPR8R2S(STU(UUV V Vac!eT"QT'!A#+a-001d2ad7QqS=1$%%a'"T!W*T!DH*a!A$q&j:QRT:T5U*UVW*WWX X Xac!eT!AqD&1*Q,//0T!AqD&1Q3,"##A%$q'	#acAd1gId1QPQT6TUVWTW<Z[K[F\<\6\_`6`2a(abc(ccd d da!eT!AaC%!Q$,//3QBqD!A#JNc!aQiQ1WqAv5E0F&F"F1Q"NOPTUVPWWY[\]`acd`dfghifi`j\jlmYno !A#w{C1Q3!,<<T!Q!Wq[STDTBT=UUW[\^^ T!ac'AadF*++A-. 02!Qx9 aCQ1W%!aRQ1W-=QqSAaDQRF@STU@U-U(VWX(XXZ[[]_`acd]efaC!AqD&(NDG+T2	44 4 4 a1fQTk!A#oa'ad1Q3hqj)99:1qs
QA1Q3!9:SQqS1TRSUVRVYZ[\Y\R\_`R`MaKaEadeEeAf=fgi=iij j j T%1*U1W,U234aC!E(5. $uQTzE!G';e'C"DDT$ZeAgemahtm&C DDZOPP P P T!AaC%!Q$,'+AaC!Q$!*$c!aQiQ1WqAv5E0F&F"F1Q"NOPTUVPWWY[\]`acd`dfghifi`j\jlmYno !A#w{C1Q3!,<<T!Q!Wq[STDTBT=UUW[\^^ qsGacM4AaC!AqD&(8#99: <>a8E a!A#g1a((!A#.1a9719d#	%% % % QtAqD1HQJ''(	
Aa!A#!Q	QTAaCZ!^ 44qtAwAq?P9Q7QRS7SST T Trn   c                  $   t        t        t        t              z  t        t              z        t        t        t              z  t	        t        t              t        t              z         z
  k(  sJ t        t        t        t              dz  z  t              t        t        t              z  t	        t        t                    z   k(  sJ t        t        dz  t        t        t              t        df      z        t        dz  t        t        t              t        df      z  dt        dz  z  t        t        t              t        df      z  z
  dt        z  t        t        t              t              z  z   dt        t              z  z
  k(  sJ y )Nrp   r   r   r   )rI   ru   r7   r6   r#   r3   r   rf   r   rn   rl   test_mul_pow_derivativerR    s   Qs1vXc!f_%3q6CAQ4H)HHHHQs1vqy[!$#a&3s1v;(>>>>QT*QqTAq6223a4
1Q4!Q((1QT6*QqTAq62J+JJQqSQ[\]^_\`bcQdMddghijklimgmmn n nrn   )r^  (\  r3  sympy.concrete.summationsr   r   sympy.core.addr   sympy.core.containersr   sympy.core.exprr   r	  r   r	   r
   r   
sympy.corer   sympy.core.numbersr   r   r   r   r   r   r   r   sympy.core.relationalr   r   sympy.core.singletonr   sympy.core.symbolr   r   sympy.core.sympifyr   r  r   r   r   r   r   &sympy.functions.elementary.exponentialr    r!   r"   r#   %sympy.functions.elementary.hyperbolicr$   r%   r&   r'   r(   r)   r*   r+   (sympy.functions.elementary.miscellaneousr,   r-   r.   $sympy.functions.elementary.piecewiser/   (sympy.functions.elementary.trigonometricr0   r1   r2   r3   r4   r5   r6   r7   'sympy.functions.special.delta_functionsr8   r9   r
  r:   r;   r<   r=   r>   r?   r@   rA   rO  rB   rC   sympy.functions.special.hyperrD   rE   -sympy.functions.special.singularity_functionsrF   &sympy.functions.special.zeta_functionsrG   sympy.integrals.integralsrI   sympy.logic.boolalgrJ   sympy.matrices.denserK   sympy.polys.polytoolsrL   rM   sympy.printing.strrN   sympy.series.orderrO   sympy.sets.setsrP   sympy.simplify.gammasimprQ   sympy.simplify.simplifyrR   sympy.simplify.trigsimprS   sympy.tensor.indexedrT   rU   rV   #sympy.functions.elementary.integersrW   rX   sympy.integrals.rischrY   sympy.physicsrZ   sympy.testing.pytestr[   r\   r]   r^   r_   r`   sympy.utilities.exceptionsra   sympy.core.randomrb   ru   r   r.  r   r   r   r   rj   r   r   r  r  rc   rf   rm   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r   r#  r&  r)  r,  r1  r3  r5  r<  rA  rD  rF  rZ  r\  rr  rt  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r#  r)  r,  r/  r4  r9  r=  r?  rA  rC  rE  rG  rI  rK  rP  rR  rT  rW  r[  r^  r`  re  ri  rm  rq  rt  rw  ry  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r!  r$  r&  r(  r,  r1  r5  r7  r9  r;  r=  r?  rB  rF  rH  rJ  rL  rN  rP  rR  r   rn   rl   <module>rw     s    6  '   D D ! H H H * " / & P P R R d d d E E : a a a I _ _ _ F : M ; / # ' 0 #   $ . , , 3 % 5 . 7 # # > 0 *11N)O &1aAq!Q1c3
3SM@ N N8;*,+6\
@F8 O&F/466*9(/?1>.EN
87/
B
H12:<
#i
'k
Z";,-:`+ 0< 0<fOEQ:""B$<6EPPP&	K4)C
50@?I< 
B"
<07@<8:&L0#"9
@
P.N@Z8
3*6% R*
D4
,<
:3
7N?*
+)H
1
 7/BGEC 	[ 	[/,J)-=@6 O O A ABB3
 > >&
R67KA4V
95
(K
1=eE0
 : :
*
(;E:"E5O4
	3.#<MID W W
DRc@"O
/
	I@
?*GV%r7: W W b b
L7*1u
aA/
V2bHj0A'TTnrn   