
    sg6                    	   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mZmZ 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 Zd Zd 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˄ Z.d̄ Z/d̈́ Z0d΄ Z1dτ Z2dЄ Z3dф Z4d҄ Z5dӄ Z6dԄ Z7dՄ Z8edք        Z9dׄ Z:d؄ Z;dل Z<dڄ Z=dۄ Z>d܄ Z?d݄ Z@dބ ZAd߄ ZBd ZCd ZDd ZEd ZFd ZGed        ZHed        ZId ZJd ZKd ZLd ZMd ZNd ZOd ZPd ZQd ZRd ZSd ZTd ZUd ZVd ZWd ZXd ZYd ZZd Z[ed        Z\d Z]d Z^d Z_y)    N)Sum	summation)Add)Tuple)Expr)
DerivativeFunctionLambdadiff)
EulerGamma)EIRationalnanoopizoo	all_close)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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)era   optionss      W/var/www/html/venv/lib/python3.12/site-packages/sympy/integrals/tests/test_integrals.pyNSrk   3   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^   r_   rX   ps    rj   test_poly_deprecatedrv   7   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   rs   principal_valuegs   rj   <lambda>z&test_principal_value.<locals>.<lambda>F   s    xA/??A rl   c                  6    t               j                         S rz   )rX   r{   r|   s   rj   r~   z&test_principal_value.<locals>.<lambda>G   s    x{::< rl      c                  P    t         t        t         df      j                         S Nrx   )rX   rs   r   r{   )ls   rj   r~   z&test_principal_value.<locals>.<lambda>K   s    xAsA;7GGI rl   rn      )rs   rX   r   r{   yr   r[   
ValueErrortogetherr.   r   r#   r2   )dvsrd   r}   r   s       @@rj   test_principal_valuer   A   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Mrl   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      rj   	diff_testr   ^   s]     >>D Cq	 1668==#33;;=BBBCKrl   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   rx   r   rn   )rI   r#   rs   r   r!    rl   rj   test_improper_integralr   h   sk    SVaAY'2---QWq!Rj)Q...QCF
^aBZ0CF:::rl   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 )Nrx   rn   
      )	rX   ra   limitsr   r   rs   r   rP   r   )s1s2s3s4s5s6s7s          rj   test_constructorr   n   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))))rl   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   rx   rn      r   ra   Fcommutative)rX   rs   r   r   NaNr   r   trI   r   r   aatomsrd   ZeroOner   r!   is_commutativer   rh   ra   s     rj   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5rl   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   rl   rj   Testr      s    	rl   r   rx   rn   r   r   c                  6    t        t        dz   t        dz         S r   rI   rs   r   rl   rj   r~   ztest_diff_wrt.<locals>.<lambda>   s    yQA6 rl   c                  <    t        t        dz   t        dz   ddf      S )Nrx   r   r   r   rl   rj   r~   ztest_diff_wrt.<locals>.<lambda>   s    yQQ1> rl   )r   rI   r   r[   r   )r   r   s     rj   test_diff_wrtr      sw    t  	AQUA!Q$q&1*,,,QUQ1I&(1a.888
:67
:>?rl   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   rn   rx   )r   rX   rs   r   r   rl   rj   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Erl   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   rs   T)complexreal)r   r   rX   adjointr   	conjugate	transpose)ABrs   ru   s       rj   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7rl   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   rn   rx   r   r         bcr   )rI   r   rs   r#   r   r   )r   r   s     rj   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Nrl   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 )	Nrn   r   rx   r   	   r   r   r   )rI   rs   r   r   r#   r4   r   rl   rj   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Erl   c                  X    t        t        t               t        dt        f      dk(  sJ y Nr   rx   )rI   r!   rs   r   r   rl   rj   test_issue_3532r      s#    S!Wq!Rj)Q...rl   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   rn   r   rx   r   )rI   r.   rs   r   rl   rj   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3rl   c                  &    t        t        d        y )Nc                  ,    t        t        t        f      S rz   r   r   rl   rj   r~   z"test_issue_18038.<locals>.<lambda>   s    9aV#4 rl   )r[   AttributeErrorr   rl   rj   test_issue_18038r      s    
>45rl   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)Nrn   r   Frq   Tr   )rL   rs   r   r]   rX   r^   r_   rI   
isinstancegensas_expr)ru   qxqys      rj   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)	Nrn   r   r   rx   Frq   Tr   )rL   rs   r   r]   rX   r^   r_   rI   r   r   r   r   r   Half)ru   QxQys      rj   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   rn   c                      t        d      S Nrn   rH   r   rl   rj   r~   z)test_integrate_omit_var.<locals>.<lambda>0  s
    y| rl   c                  (    t        t         z        S rz   r   r   s   rj   r~   z)test_integrate_omit_var.<locals>.<lambda>1  s    y1~ rl   )r   rI   rs   r[   r   r   s   @rj   test_integrate_omit_varr   +  s<    sAQ<1a46!!!
:+,
:-.rl   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   rn   i  i  )r   rI   rs   r4   r   s    rj   test_integrate_poly_accuratelyr   4  sl    sAQs1vXq!QT#a&[]222 QWSV^Q'1d73q6>$+>>>>rl   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   rn   r   rx   )r   rI   rs   r   s    rj   test_issue_3635r   =  sS    sAQT1Aa'''QTAr1:&!AqD&000rl   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condsrx   rn   )r   rI   rs   r!   r4   r   s    rj   test_integrate_linearterm_powr   E  s    sT"AQT1F+q1q5z1q5/AAAAc!fQh1nCF
3QfEQBQAaC1s1v:..!c!f*=> > >rl   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 )Nrn   r   r   )rI   r   r.   rs   r   r   rl   rj   test_issue_3618r   N  s    RQZ#qtDGQJq'8888RQZ!DGQJ,.2	"T!WaZAaCa!OA--. . .rl   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 )Nrx   r   T)rI   r3   ra   rs   r/   r4   r   r   rl   rj   test_issue_3623r   T  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rl   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 )
Nra   T)rc   nonzerog      rn   r   r          @r   )r   rI   rs   r4   r   r3   r   ra   s    rj   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  rl   c                  t    t        t        dt        dz  dt        z  z
  dz   z  t        ddf            dk(  sJ y )Nrx   rn   r      r   z1.10714871779409)rk   rX   rs   r   rl   rj   test_issue_3679r  f  s8    hq!Q$1*r/*Q1I67;MMMMrl   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)fresnelsrn   )	sympy.core.functionr  'sympy.functions.special.error_functionsr  rI   r4   rs   r.   r   )r  r  s     rj   test_issue_3686r
  k  s^    /@yQTA./QR$q'!)DH"455a78 8 8rl   c                      t         j                  } t         j                  }t        t        | z  |z  t        d|z  d|z  f      d| z  |z  k(  sJ y )Nrx   r      )rZ   mr   rI   rs   )r  r   s     rj   test_integrate_unitsr  r  sG    AAQU1Wq!A#qsm,1Q666rl   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    rs   r   rl   rj   test_transcendental_functionsr  x  sJ    Xac]A&	
Qx!}_q!A#./ / /rl   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 )Nrx   r   rn   r   r   )rI   r#   rs   r   r   rl   rj   test_log_polylogr  }  si    SQZ\Aq!9-"a%999SVQUbM)Aq!95"a%AAArl   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   rn   *   g|=)r#   rs   r   rI   abssubsrg   )rd   fids     rj   test_issue_3740r    sp    	#a&1SVQY;A
yA
"Cqvva}""$sxx2'<'<'>>?%GGGrl   c                  b    t        ddt        dz  z   z  t              t        t              k(  sJ y Nrx   rn   )rI   rs   r2   r   rl   rj   test_issue_3788r    s'    QAqD\1%a000rl   c                       t        t               t         t              t        t               k(  sJ t	        t
         fd       y )Nc                  *    t         dt        z        S r   r   rd   s   rj   r~   z!test_issue_3952.<locals>.<lambda>  s    yAaC0 rl   )r4   rs   rI   r3   r[   r   r  s   @rj   test_issue_3952r    s1    AAQ?s1vg%%%
:01rl   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   rs   r#   r   rl   rj   test_issue_4516r"    s8    QTAaCZ#q!tCF{QT'9999rl   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 )Nrx   r   r   rn   )
rI   r!   r   rs   r   r   r   r   r   r   )anss    rj   test_issue_7450r%    sL    
C!a%
OaBZ
0Cc7affCHRO!;;;!;rl   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 )Nrx   rn   r   r   r   rI   r3   rs   r   r.   r2   r6   rW   r   rl   rj   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# :# # # #rl   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 Nrx   rn   r   r   r'  r   rl   rj   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hrl   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   rn   r   )
r   r!   zr   r.   r   rI   rs   r   r=   )r   pzpzgxs      rj   test_issue_13733r0    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+' ' ' 'rl   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   rl   rj   test_issue_13749r2    s    Q!c!f*%1bz2baj@@@QCF
^$$q'	4QAaC8H8J3KbQVXYZ[X[^`ab^bXbdfWfQgNg3g(hij(jjjjrl   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!   rs   rY   r   rl   rj   test_issue_18133r4    sD    SVQUQJ&*.CCFAPQETU:DUWX.YYYYrl   c                     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        t        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        |t              |      sJ y )Ng    NAgƐ>r   Tr   gƠ>)r/   r   r!   r   r   r   rs   r-  r   r   r   rI   )r   r   rfuns       rj   test_issue_21741r8    s    AA1Q3sA2a4719Q;''QBqDGAIaK(88"Q$?AqJS!Ab1%%t,	.A
r!tBw!AaC <0
1CYsA&***rl   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 )Nrn   c                 D    | |z   dz   t        | |z   dz   t        z        z  S r   )r4   rs   )r   js     rj   r~   ztest_matrices.<locals>.<lambda>  s$    1q519c1q519a-.@"@ rl   r   )rK   rI   rs   r3   )Ms    rj   test_matricesr=    si    q!@AAQ?f
a&3qs8)
ac(S1XI&    rl   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   rx   rn   )rI   rd   rs   rX   r   r#   r   rl   rj   test_integrate_functionsr@    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:::rl   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   rd   rs   r   rX   r   rl   rj   test_integrate_derivativesrB    s    Z!a(!,!444Z!a(!,*QqT12E0EEEEZ!a(!+Q/AaD!$a'+, , ,rl   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 )Nrn   rx   r   r   r   r   c                  0     j                  t        d      S r   )	transformrs   r   s   rj   r~   z test_transform.<locals>.<lambda>  s    q{{1a0 rl   c                  F     j                  t        t        t        z        S rz   rG  rs   r   r   rH  s   rj   r~   z test_transform.<locals>.<lambda>  s    q{{1ac2 rl   c                  :     j                  t        t               S rz   rG  rs   r   rH  s   rj   r~   z test_transform.<locals>.<lambda>  s    q{{1qb1 rl   c                  D     j                  t        t        t        f      S rz   rJ  rH  s   rj   r~   z test_transform.<locals>.<lambda>  s    q{{1q!f5 rl   c                  D     j                  dt        z  dt        z        S r   rL  rH  s   rj   r~   z test_transform.<locals>.<lambda>  s    q{{1Q3!4 rl   c                  >     j                  t        dz  t              S r   rL  rH  s   rj   r~   z test_transform.<locals>.<lambda>  s    q{{1a43 rl   r   T)negativer   r   )rX   rs   r   r   rG  r4   r   r!   r   r-  r   r   r[   r   r   )r   fxfy_3ambpr   s         @rj   test_transformrV    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9rl   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   rs   r.   rI   r3   r4   r0   r  s    rj   test_issue_4052rX    sh    	tAw4AqD>)!++ASa\1%***Sa\1%***rl   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 ).Nrn   r      z10.5000000000000z1.77245385090552rx   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)   )maxnre  )z0.00)ri  g\(\?gRQ?osc)quadz0.504067061906928r   z0.276374705640365zIntegral(x, x)zIntegral(x, (x, y)))rk   rX   rs   r!   r   r   r   r   r   r.   r2   r#   r4   r3   rg   r   )gaussr   r   r   r   r   rd   s          rj   test_evalf_integralsrn    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&!"&;;;;rl   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 )	Nrx   r   r   Trd  )z-0.000976138910649103z0.965906660135753z1.93278945918216rn   z0.0144361088886740)rk   rI   rs   r  rX   r   rl   rj   test_evalf_issue_939rp  C  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rl   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 )	Nrx   rn   r   rZ  z2.43790283299492rD  r   r   )	rI   r.   rs   r   rk   r   r4   r   r   ress    rj   (test_double_previously_failing_integralsrt  R  s    
DGacMAq!9q"aj
9Cc2;,,,,(2q/Ad1gIaK////SQqS\Ar1:2qz:affDDDrl   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   rx   rn   rD  r   r   )
rF   rs   r   rI   r   rV   rX   r   r   rd   )	in_1out_1in_2out_2in_3out_3_1out_3_2in_4out_4s	            rj   "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Prl   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   rn   r   rx   r   e   )	rI   r8   rs   rd   r   r   r!   r   r.   rt   s    rj   test_integrate_DiracDeltar  z  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,	    rl   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 )Nrx   r   Tr   rn   r   T)rI   rs   r   r/   r   r#   r!   ra   r3   r4   r-  r   r   r.   r   rl   rj    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" " " "rl   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 )Nrs   Tr   rn   r   r   r   ra  r  rx   r   r   )extended_real)r   rI   r-   r,   r   r!   r/   r   r.   r   r=   )rs   r   int1int2int3s        rj   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!|#$ $ $ $ $ $rl   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   rx   r   rn   r   r   r   rZ  i  r   r\  zt sTr   r      r  )rI   r   rs   r   r   r   r   r4   r   r   r/   r  r-   r!   )r   r   s     rj   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/.< < < <rl   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   rx   rn   r   )rX   r!   rs   r   r  r
   r   rh   rd   convs      rj   
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Drl   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!   rs   r   r   r  r
   r   r  s      rj   
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Orl   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   rx   r   rn   r   r  r  s      rj   
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Orl   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      rj   
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Orl   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 )Nrn   r   rx   r   )rX   r!   rs   r   r  r   r   is_zerorh   s    rj   
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
$&  rl   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 brx   )r   rX   rs   r   rd   r  )r   r   rh   s      rj   
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Jrl   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   rs   r   r  r4   r  s    rj   
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 4rl   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 )Nrn   rx   T)force)rX   rd   rs   r   r   r   r  s    rj   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($) ) ) )rl   c                  H    t        t        d        t        t        d        y )Nc                  <    t        t        t        dz         d      S Nrn   r   )rX   r!   rs   r   rl   rj   r~   z+test_integration_variable.<locals>.<lambda>,  s    xQTE
A6 rl   c                  T    t        t        t        dz         dt         t        f      S r  )rX   r!   rs   r   r   rl   rj   r~   z+test_integration_variable.<locals>.<lambda>-  s    xQTE
QRLA rl   )r[   r   r   rl   rj   test_integration_variabler  +  s    
:67
:ABrl   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 )Nrn   rx   r   )rX   r3   rs   r4   r   r   rl   rj   test_expand_integralr  0  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	  rl   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   rx   rn   r   midpointmethodr      r   r_  r  9   i	     iI  i  r   V   r      g      ?r   c                  &     j                  d      S )Nr   as_sumr  s   rj   r~   z'test_as_sum_midpoint1.<locals>.<lambda>D  s     rl   )	rX   r.   rs   r  r  ra   r   r[   NotImplementedErrorr  s   @rj   test_as_sum_midpoint1r  9  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4rl   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 )Nrn   r   rx   ra   Tr   rc   r  r  r   r   r[  r   #   l      @   r  )rX   rs   r   r   r  r   r   r   s     rj   test_as_sum_midpoint2r  G  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 0rl   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 )Nrn   r   rx   leftr  r   r   r   r  r   r       r   r   F)r  evaluate)	rX   rs   r   r  r   r   ra   hasr   r  s    rj   test_as_sum_leftr  R  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???rl   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 )Nrn   r   rx   rightr  r   r   r   r  r  r   rZ  r  r   )rX   rs   r   r  r   r   ra   r  s    rj   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>? ? ?rl   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 )Nrn   r   rx   	trapezoidr  r   r      r^  r   r\  r  r   )
rX   rs   r   r  r   r   r   r   ra   r   r  s    rj   test_as_sum_trapezoidr  g  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Hrl   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 )	Nrn   r   rx   c                  &     j                  d      S )Nr   r  r  s   rj   r~   z$test_as_sum_raises.<locals>.<lambda>t  s    qxx| rl   c                  &     j                  d      S Nr   r  r  s   rj   r~   z$test_as_sum_raises.<locals>.<lambda>u  s    qxx{ rl   c                  >    t        t              j                  d      S )Nr   )rX   rs   r  r   rl   rj   r~   z$test_as_sum_raises.<locals>.<lambda>v  s    x{11!4 rl   c                  .     j                  t              S rz   )r  r   r  s   rj   r~   z$test_as_sum_raises.<locals>.<lambda>w  s    qxx| rl   c                  *     j                  dd      S )Nr   xxxx2r  r  r  s   rj   r~   z$test_as_sum_raises.<locals>.<lambda>x  s    qxx'x: rl   )rX   rs   r   r[   r   r  s   @rj   test_as_sum_raisesr  r  sT    !a%!aAY'A
:+,
:*+
:45
:+,
::;rl   c                      t        t        t        t              t              } t        t        t        t              }| j                         |j                         k(  sJ y rz   )rX   rs   r   rh   rd   s     rj   test_nested_doitr  {  s<    !Q#AAqA668qvvxrl   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 )Nrn   rx   r   r   zx**2)rs   1N)rX   rs   r   r   r   r  r   rI   r  s     rj   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Arl   c                  f    t        t        dz  t        ddf      } | t        | j                   k(  sJ y )Nrn   r   rx   )rX   rs   argsr  s    rj   test_integral_reconstructr    s/    A2qz"A!&&!!!!rl   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 )	Nrn   r   rx   r   Fdeeprd   r   )	rX   rs   r   r   r	   r   r!   listreversed)rh   rd   r   s      rj   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!;;;rl   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 )Nrx   rn   r   rZ  r   T)rI   r.   rs   r/   r   r   r#   r   rl   rj   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///rl   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 )Nrn   rx   r   T)rI   rs   ra   r#   r/   r   r   rl   rj   test_issue_18153r    s    QT#a&[#	
1QT#a&!Q$1*q.	)adF3q6M1a4!A#:>"
#%&q!tVQTAaCZ!^%<
=Bi	q619Q;%  rl   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   rs   r   r-  Frx   Trn   r   r   )	sympy.abcrs   r   r-  rX   	is_numberra   r   r4   r3   rd   )rs   r   r-  r   s       rj   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6rl   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  rx   rn   )r  rs   r   r-  rX   r   setrd   r  s      rj   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;;;rl   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   )rs   r  rx   rn   FT)
r  rs   r  rX   r  r   r!   r   r4   r   )rs   r  r   s      rj   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9rl   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   rs   r   r   r   )
r  rs   rX   r3   lseriesnseriesremoveOr   rangenext)rs   r   rh   r;  s       rj   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 )Nrs   rx   rn   )r   rI   r4   r#   r<   r3   r  r:   r  s    rj   !test_trig_nonelementary_integralsr   
  sa    sAa#a&j!^Q'3q6BqE>999 c!fqj!^Q'++B///rl   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 )
Nrs   r   r-  Tr   rn   r   rx   z3/2)r   rI   r.   r%   r#   r   r  s      rj   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[!!"# # #rl   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 )Nrn   r   r   rD  )rI   r.   rs   r2   r   rl   rj   test_issue_4403_2r  #  sb    T1a4%!)_a(
4$rAqDy/!""QtBAI%6q%889 9 9rl   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   rn   r   r   )r   rI   r.   rs   r   )r  s    rj   test_issue_4100r  (  sF    sT"AT!Q$A+&Aq	2bAgai???rl   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   )wrs   r   r-  rd   rn   rx   )r  r	  rs   r   r-  r	   rX   r  r   rI   r   )r	  rs   r   r-  rd   s        rj   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rl   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   rn   rx   r   r   )r   rI   r!   r#   rs   r.   r   r   r=   r   r   r?   r-  s    rj   test_issue_4890r  D  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rl   c            	          t        dt        t        dt        dz  z
        z  z  t              j                  t              rJ y r  )rI   rs   r.   r  rX   r   rl   rj   test_issue_4551r  N  s6    Ad1q!t8n,-q155h????rl   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 )Nra   Trc   r   rx   r   rn   )r   rR   rI   rs   r   r   r   s    rj   test_issue_4376r  R  s    sD40AIaQqSA.Aqvv?AAaCA%!ac(
2QQqS\Aa!aPQc'lN5RST UXYZ Z Zrl   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   rx   r   r   r\  )rI   r.   rs   r   r   rl   rj   test_issue_4517r  X  si    d1g1na!Q&77;	!Xa^
A!Xb!_"4 4R 778 8 8rl   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 mTrb   r   rn   r  )
r   rI   r4   rs   r   rR   r/   r   rJ   r3   )kr  s     rj   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 3rl   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   rn   r   r   )r   rI   r!   r   r   rs   r   rX   )yposs    rj   test_issue_4199r  r  s{    #%DS!Aba(*QRLGaRT"WT\!^$Q&RC56 6 6rl   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        ||dz  d| z  z  z
        z  t        d| z  t        z  |z   dt        |       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   rn   r   r   )
expand_mul)r  za d)r   rI   r!   rs   r   r.   r   r=   r?   r  r  r  r  r   )r   r   r   r   r  r  s         rj   test_issue_3940r  y  s   .JAq!QS!Q$1Q'+	b	#q!teAg,s1Q3q519~-a/0 0 0S1a4!A#)*A.RQAqs^$$T1Q3q519qay*A%BBAd1gINO O O /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$% % %rl   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   rs   r   r#   r   rl   rj   test_issue_5413r    s^     aRA1%q)QsA2a4!8}_Q->3qsQw<PQAQ-QQQQrl   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   rn   rx   )
r   r   r!   r   r4   rs   r3   r   rI   r#   )r   r-  r   P1P2h1h2s          rj   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/)   rl   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   rn   r  r   )r4   r   rs   r3   rS   rM   rI   r   )exprs    rj   test_issue_4892br(    sk     F1a4K!CF(1a4-'",q!tax8DF9T1-2215<=>!CCCrl   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   rn   )rI   r4   rs   rd   r   r-  r   rX   r   rl   rj   test_issue_5178r+    sb    SVAaG^aBZ!QaBZH	(1Q7Q2JAr

334 4 4rl   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   rn   r      r   i  r   i  i _7 r\  r   )r4   rs   seriesrO   rI   r   rd   r}   s     rj   test_integrate_seriesr0    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+++rl   c            	      R    ddl m}   | t        g g dgg t              t              J y )Nr   heurischrx   )sympy.integrals.heurischr3  rE   rs   r2  s    rj   test_atom_bugr5    s'    1GBQCQ/3;;;rl   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   rn   )
r   rI   r4   rs   r   r   r   r#   r:   r   r  s    rj   test_limit_bugr9    sy    sAS1QZ!QaBZ8AAC	Q"RU1W+	
	*Qs2wY	69: : :rl   c                      t        d      } t        t        t               | t              z  t              j	                  t
              sJ y )Nr}   )r	   rI   r!   rs   r  rX   r|   s    rj   test_issue_4703r;    s2    ASVAaD[!$((222rl   c                      t        d      } t         | t              j                  t              dz  t              j	                  t
              sJ y )Nrd   rn   )r	   rI   rs   r   r  rX   r  s    rj   test_issue_1888r=    s6    AQqTYYq\1_a(,,X666rl   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 )Nrn   r   )rI   r3   rs   r   r   r<   r   rl   rj   test_issue_3558r?    sH    S1XB3q5"Q$/!Q<"RU1W+MMMrl   c            	          t        dt        ddt        dz  z  z         z  t              t        t        dz        dz  k(  sJ y )Nrx   r[  r   rn   )rI   r.   rs   r%   r   rl   rj   test_issue_4422rA    s9    QtB1a4K((!,ac
Q>>>rl   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 )Nrx   rn   r   rZ  )rR   rI   rs   r.   r   rl   rj   test_issue_4493rC    sY    IaQ1Woq12QqS1WqAvzA~&r)* * *rl   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   rs   r   r   r<   r   rl   rj   test_issue_4737rE    so    SVAXB3|,222SVAX1bz*bd222SVAXq!RU***rl   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   rx   )r  r  r   rR   rI   r!   rs   r#   r   rC   rB   )r  r   s     rj   test_issue_4992rG    sm    /sT"AK	#qb'#a&.A*=1bz JKL	
9Q?	Q	a() ) )rl   c                      ddl m}  t        t        t	        t
               t
        t        z  z  t
                     | t        dz   t
              k(  sJ y )Nr   
lowergammarx   )'sympy.functions.special.gamma_functionsrJ  rR   rI   r!   rs   r   rI  s    rj   test_issue_4487rL    s8    BIc1"gadlA./:a!eQ3GGGGrl   c                  T    t        d      } t        d| dz  z  | ddf      t        u sJ y )Nrs   rx   rn   r   )r   rI   r   r  s    rj   test_issue_4215rN    s.    sAQ1X2qz*b000rl   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 )Nra   Tr  rn   rx   )r   rI   rs   r#   r   s    rj   test_issue_4400rP    s    sD40AadCF]A&	!AqDQA!a(1QT6#a&=!Q$1*q.+II	!Q$1qs
Q	      rl   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 )Nrx   rn   TrE   )rI   r.   rs   rX   r   rl   rj   test_issue_6253rS    si     d1q5kDQK/!3A5q$G$rAv,a!e,q02A67 7 7rl   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 )Nrx   r   ir   r   rn   r   r   r   r   r  rg  /   rI   rs   r   r-  r#   r   rl   rj   test_issue_4153rW  
  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/ / / /rl   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 hrn   )r   rI   rs   r.   r  r   rX   )r  r   hrh   s       rj   test_issue_4326rZ    st    gGAq! 	Aq1uqyM1$d1a4!Q$;&77!QUAGAuuSz>uuXrl   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   rl   rj   test_powersr\    s@    QTAqD[!$1SVad3q6k(AAAArl   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 )Nrx   T)manualrE   r   r   rl   rj   r~   z$test_manual_option.<locals>.<lambda>   s    y1adK rl   rx   r   Tr_  )r[   r   rI   r#   rs   r  rX   r   rl   rj   test_manual_optionra    s<    
:KLS1XaZ!Q48<<XFFFrl   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 )Nrx   T)rE   rischr   r   rl   rj   r~   z%test_meijerg_option.<locals>.<lambda>&  s    y1aTJ rl   TrR  )r[   r   rI   r6   rs   rX   r   rl   rj   test_meijerg_optionre  %  s3    
:JKSVQ-#a&!1DDDDrl   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 )Nrx   r   Trd  )rI   r#   rs   r   r   rl   rj   r~   z#test_risch_option.<locals>.<lambda>-  s    y3q6Aq":TJ rl   rn   Trh  rx   )
r[   r   rI   r!   rs   rY   r#   r   r=   rX   r   rl   rj   test_risch_optionri  +  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Brl   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 )Nrx   T)rd  r3  r   r   rl   rj   r~   z&test_heurisch_option.<locals>.<lambda>6  s    y1atdK rl   rn   Tr2  r   r   Firx   i!     r[  r  )r[   r   rI   r!   rs   r.   r   r?   rX   r#   r3   r   r4   r   rl   rj   test_heurisch_optionrm  4  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[ [ [rl   c                      ddt         dz  z  dz
  z  } t        | t               j                  t               }t        | |d      sJ y )Nrx   gHzG?rn   g333333@g-q=)tol)rs   rI   r   r`   r/  s     rj   test_issue_6828rp  A  s@    	419s?A!QQAa...rl   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!   rs   r3   r   )rr  s    rj   test_issue_4803rs  G  si    7OEQrT#	l3q6122A6	#q5y#a& 
!!#a&(+, , ,rl   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   rs   r   rl   rj   test_issue_4234ru  M  sE    QtAA	M**+s1vd1s1vqy=6I/IIIIrl   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 )
Nrn   r   Tr  rZ  r      r   i)	rR   rI   rs   r.   rM   r/   r   r$   r1   r   rl   rj   test_issue_4492rx  Q  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
!"&	()) ) )rl   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 )Nrx   rn   r   g333333?r   g333333)r   r-  r#   rY   rX   r   rI   r!   ra   r   r   rs   )rd   
integral_fs     rj   test_issue_2708r{  Z  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)	-- - -rl   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)rs   r   r!   rI   str)rd   rh   s     rj   test_issue_2884r~  h  sM    		N1,	,~	=s46{JA!ac]#Aq6<<<<rl   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   rn   rx   r   )r   r   )r   Tr   )$sympy.functions.elementary.complexesr  r   rI   r!   r   rs   r&   r   r/   r   rE   r   r   r   rX   r)   rJ   r  s     rj   test_issue_8368ir  n  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		 	 	rl   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 )N      ?rx   )rI   r)   rs   r&   r*   r#   r   rl   rj   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5rl   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   rx   r   rn   )rI   r4   rs   r<   r   r   r3   r   rl   rj   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Nrl   c                      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i L a brn   r   )r   r3   r   rs   rewriter!   rI   r   )r   Lr   r   	integrands        rj   test_issue_7130r    sg    #JAq!QRT!VAX!Q1W-66s;IIi!Q3@@@@@rl   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 trn   )r   rK   rI   rX   r   )r   r   r   r   vts        rj   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Arl   c                  ~    t        t        t        dz   dt        z  z   dz         t        ddf      dt        z  k(  sJ y )Nrn   r   0   r   r  r[  )rI   r.   rs   r   r   rl   rj   test_issue_11742r    s9    T1a4%!A#+*+aBZ8BrEAAArl   c                      t        d      } t        t        t        | z        |       t	        t        | z        t        z  k(  sJ y )Nr   )r   rI   r5   r   r<   )r   s    rj   test_issue_11856r    s4    AT"Q$Z#r"Q$x{222rl   c                      t        t        t        dt        z              t        ddf      t        t              dz  k(  sJ y Nrx   r   rn   )rI   r.   r#   rs   r   r   rl   rj   test_issue_11876r    s1    T#ac(^aAY/48A:===rl   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!   rs   r   rl   rj   test_issue_4950r    sa    c#a&j4AaC=0#ac(:A>S1XS1X%& & &rl   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 )Nrn   r   )rI   r4   r#   rs   r3   r   rl   rj   test_issue_4968r    sW    SQT^$#c!Q$i.(8(:QqSSAY=OPQ=Q(QQQQrl   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 )Nrx   rn   r   r   )rI   rs   r   r   rl   rj   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5rl   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   rn   )r   rI   r4   r.   r   rX   )rs   r   s     rj   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 6rl   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   rx   )rI   r4   rs   r3   r   r   r   rl   rj   test_issue_12677r    s8    SVs1vqy)Aq"Q$<8HQNJJJrl   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   rs   r   r#   r   rl   rj   test_issue_14078r    s8    c!A#hs1voq(1a*5#a&@@@rl   c                  j    t        dt        t              z  t        dt        f      t        dz  k(  sJ y r  )rI   r&   rs   r   r   r   rl   rj   test_issue_14064r    s)    QtAwYAr
+r!t333rl   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!   rs   r   r   r#   r   r   rl   rj   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rl   c                  v    t        t        t              t        dt        dz  f      t        j
                  u sJ y r*  )rI   r6   rs   r   r   Infinityr   rl   rj   test_issue_8170r    s)    SVaBqD\*ajj888rl   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 )Nrx   r   r   r   )rI   rs   r   r   r   rl   rj   test_issue_8440_14040r    sL    QqS1b!*%...QAYB
+quu444rl   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 )
Nrx   rn   r   r   rD  r   r   r   r   rV  r   rl   rj   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'( ( (rl   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 )Nrx   r   r   gQdVo?gư>g) ?)r   rI   r.   rs   ra   r   rl   rj   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Jrl   c                      t        t        t        t        z        t	        t              z  t              j                  t              sJ y rz   )rI   r!   r   rs   r#   r  r;   r   rl   rj   test_issue_14375r    s/     S1Xc!f_a(,,R000rl   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 )Nrd   r   rx   rn   r   )r	   rs   r   r-  rI   rX   r  s    rj   test_issue_14437r    se    aAAQAq	Aq!9q!Qi8Q1I1ay1a)<= = =rl   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!   rs   r#   r   rl   rj   test_issue_14470r    sb    QtCFQJ''+s4A
3Ca3G/H3tTWXYTZ]^T^O_bcOcKd/ddddrl   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 Nrx   rn   r   )r!   rs   rI   r  s    rj   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rl   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 )Nrn   rx   r   r   )r.   rs   rI   r   r  s    rj   test_issue_14782r    sE    adUQY!Q$#AQB
#tax///rl   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 )Nrn   rx   r   r   r[  )r.   rs   rI   r   r   r   r  s    rj   test_issue_14782_slowr    sP    adUQY!Q$#AQAq	"aeeai"r'&9999rl   c                      t         t        dd      z  t        t                z  } t        | t         dt        g      t        u sJ y )NrE  rn   r   )rs   r   r!   rI   r   r  s    rj   test_issue_12081r    s8    	HROS!W$AQAr
#r)))rl   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 )Nrx   r   r   rn   r   )rs   r!   rI   )r   rd   s     rj   test_issue_15285r    sH    	!aA	!C1IadAQAq	"a'''rl   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   rx   T)rI   rs   ra   r!   r#   r   rQ   r/   rB   rC   r   rX   r   rl   rj   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; ; ; ;rl   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!   rs   r   )r  r  ru   s      rj   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rl   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)Nrn   Frq   r   rx   )r]   rX   r   rs   r   r   r^   r_   rI   r   r   r   rl   rj   test_issue_15218r  1  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 )Nrn   r   r   )rI   r!   rs   r3   r   r4   r   r   r/   rQ   r.   r   r  rr  s    rj   test_issue_15292r  B  s    
CAc!A#h'#ad3qs8m*<<q!Rj
ICc9%%%cDHQJQ//55aA>?1DDDrl   c                      t        t        dt        z        t        t              z  t              dt        t              z  k(  sJ y r   )rI   r4   rs   r   rl   rj   test_issue_4514r  H  s/    S1Xc!f_a(Ac!fH444rl   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   rn   rx   r   r   rE  r   r   )r   rI   r!   r   r  r   )rs   r   r   definite
indefinites        rj   test_issue_15457r  L  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Nrl   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 rz   )rI   rs   r!   r#   r;   r   rl   rj   test_issue_15431r  V  sZ    Qs1vXc!f_a(	
3q6CF	CF"SV+be34 4 4rl   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 )Nrn   r   r   )rs   r#   r;   rI   r   r.   r   r>   )rd   Fs     rj   "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2Nrl   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NTr2  )sympy.vectorr  rs   rI   r3   r   r   x_1x_2r/   r4   r   r   )r  r  rs   s      rj   test_issue_15509r  g  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. . . .rl   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 )
Nrs   Tr   r   rn   r   rE  Q   r   )r   rI   r  r/   r   r  s    rj   test_issue_4311_fastr  p  s    $AQs1QT6{]A&)	
Aa!AqD&(	AG$
Q$q1QT6!8	hr1o	-qAv6	
Aa!AqD&(	D!+# # # #rl   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         |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  t	        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   rs   r   r  r   rn   r   r   rx   r   )	r   rI   r!   r   r.   r   r?   r#   r=   )r  rs   r  r   s       rj   %test_integrate_with_complex_constantsr  x  s,   sT"AsAsAsAS!Aad1Q3'+tBxQBq!tGc= 9 0 "Q$q&(Q,47481C!DE0FGHayQUWXVXQYGY0[ [ [ [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;;;rl   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 )Nrs   ra   Tr  rx   rn   )r   rI   rG   r"   r   r   rB   )rs   ra   s     rj   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rl   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 )Nrn   r   r   r   )rI   r4   r   r3   r   r   rl   rj   test_issue_13112r    s>    SVQY!aAh,/!Q">"q&HHHrl   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 )	NrY  Tr   rx   rn   r   r   r[  )r   rI   rs   r0   r   )rY  r   s     rj   test_issue_14709br    sS    sT"A!DQqSUO#aAY/A!Q$r	"rl   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 )Nrs   r   r   r   rn   )r   rI   r!   r   r;   r#   )rs   r   s     rj   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Crl   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   rn   g?rx   gRt?,eg:0yE>r   r   i   r   )r   r!   rI   r   r   r  r  )r   r  solutions      rj   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Vrl   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   rn   r   r   r  )
r   rX   rA   rs   r   r/   r;   r#   r.   r   r   s    rj   test_li_integralr    s    sABqAvJ"'')Y"QT!V*	"Qs1a46{]1_
d1a46l*9+
1a8.   rl   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 )	Nrs   ra   rx   r   rn   r   Fr7  )	r   r   r   rB   rD   rI   r4   xreplacer   )rs   ra   rY  r$  got_xrepss          rj   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Crl   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 )Nrn   rx   r   r   r   )rI   r#   rs   r   r   r   rl   rj   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Qrl   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   rx   rn   r   r   )r   rI   r   r.   )r	  r  r   s      rj   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brl   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  Trb   rx   rn   r   r   r  c                  F    t        t        t         f      t              S rz   rI   r   r   ra   rs   s   rj   r~   z!test_issue_7827.<locals>.<lambda>  s    yQAq	):A> rl   c                  6    t        t        d f             S r   )rI   r   r  s   rj   r~   z!test_issue_7827.<locals>.<lambda>  s    yQAq	):A> rl   c                  >    t        t          dt        f             S r   r  r  s   rj   r~   z!test_issue_7827.<locals>.<lambda>  s    yQAq	):A> rl   )r   r   rI   r   r4   r   r/   r3   r   r   r[   r   )r<  r  ra   rs   s     @@rj   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
:>?
:>?
:>?rl   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  )rs   r.   r#   rI   r  s    rj   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Nrl   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   rs   r   rI   r  s    rj   test_issue_17841r	    sC    Q1Qq\1AQ?aAA....rl   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 )Nrs   Tr   r   r   r   rx   r  r   rn   r   )
r   r1   r)   r#   r&   r3   rI   r   r.   r2   )rs   f1f2s      rj   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rl   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#   rs   r!   r;   r   r   r   rl   rj   test_issue_4187r    si    SVCG^Q'2qb6CGCFN+BBBBSVCG^aBZ0ZK???rl   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R0rn   r   r   Tr[  r   )r   rI   r3   r4   r/   r   r   r   r.   r@   rB   r   r   )r  r-  r  r  r	  sols         rj   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>>>rl   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 )Nrx   rn   r   r   )rI   rs   r   r   r   rl   rj   test_issue_15810r    s8    QAaCE
Q'!Q4AFFFrl   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 )Nrs   Tr  r   r   rn   rx   r   r   r   r   r   rZ  rf  rw  iLZ   r  rD  )r   r#   r!   rI   r*   r)   r   r2   r   r&   r   r4   )rs   rd   r  F_trues       rj   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!_$$$rl   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   rx   rn   r   )r   rI   r   rs   r   r   r9   r   r   s    rj   test_issue_21721r  n  ss    sAQAqsQhJ(!RC4;;=r!uqy!yAA667 7 7rl   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   rn   r  r   )r   rI   r3   r   )r!  r  s     rj   test_issue_21831r"  t  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9rl   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 )Nrn   rx   r   r   r  )rI   rs   r   r.   r   r   rl   rj   test_issue_22033_integralr$  {  sI    adXa^+a/$q1a4x.@1b!*MQSTVQVVVVrl   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 )Nrx   rn   r   rD  r   )rI   r-  rs   r   r.   r   r   r   rl   rj   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arl   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   rn   r`  )r   r3   rs   r4   rI   r  rX   )r(  r'  res_reals      rj   test_issue_18527r*    sy     
D	!BFAs1vkM"D1b)2d;@@QGHT1T*hK(4:KKKKKKrl   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 )Nrx   rn   r   Tza, br   )r   r3   rs   r   r4   r#   r6   r.   r/   r   r   r   rI   r   r  )rd   Fposr  aprU  reps         rj   test_issue_23718r/    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6rl   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 )Nrx   rn   r   r   r   gCqB?)rI   r.   rs   r#   mathisclosera   rH  s    rj   test_issue_23566r3    s]    !DAaL.1b"+.AQa[!!!!!<</000rl   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 )Nrx   rn   T)rI   r.   rs   r   r/   r$   r   r1   r   rl   rj   test_pr_23583r5    so    QtQUQJqL))*iq1usAPQETU:YZGZ8[_`^`aefgjkfkal^lnr]s.ttttrl   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!   rs   r.   r%   r   rl   rj   test_issue_7264r7    sf    SVDS1X../4AaC13Ec!f3LQ3NQVWZ[\W]Q^_`Q`3````rl   c                      t        t        t              t        ddf      dt        t	        t
        j                              z  k(  sJ y r?  )rI   r+   rs   r2   r*   r   r   r   rl   rj   test_issue_11254ar9    s3    T!Wq!Qi(Ad4<.@,@@@@rl   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 )Nrn   r   rx   )rI   r(   rs   r#   r*   r   r   rl   rj   test_issue_11254br;    sF    T!Wa CQqS	N222T!Wq!Qi(B...rl   c                  H   t        dt        t        t        t        z  dz  z   d      dz  z  t              dt        dt        z        dz   z  k(  sJ t        t        t              dz  t              dt        t        dz        z  t        t        dz        dz  dz   z  k(  sJ y )Nr   rn   Fr  r   rx   )rI   r)   rs   r   r   r!   r&   r*   r   rl   rj   test_issue_11254dr>    s    RQ2aZ%8!;;Q?2s1Q3xRS|CTTTTT!Wr]A&!D1I+tAaCy!|a7G*HHHHrl   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   rn   r   r   rx   ir      r[  g2{)rI   rs   r.   r#   r1  r2  ra   rH  s    rj   test_issue_22863rA    s    1QT6!Q$;qs?1$d1a4!8A:&66Aq	BAT!WQSQtAwY%7!7!:::::<<0111rl   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 )Nrn   r  r   rx   r   r   r   r   r   r\  (   rI   r.   rs   r   r#   r   rl   rj   test_issue_9723rE    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rl   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 )Nrn   Trh  r   r   )rI   r#   rs   r   r   r   rY   r   rl   rj   test_issue_23704rG    s{     c!fQTk1QT6!A#:a<0$? Q1a4!AqD&1QT6)A!BAFG H Grl   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   rl   rj   test_exp_substitutionrI    sz    QtAc!A#hJ''(CQQqS\0BQ0F,G,ICPTUVY\]^_`]`YaUaPbefPfLghiLi,iiiirl   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'   rs   r#   r*   r+   r2   r(   r   rl   rj   test_hyperbolicrK    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///rl   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 )Nrn   r   r   r   r\  rx   rD  rD  r   rl   rj   test_nested_powrM    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&)@@@@rl   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 )Nrx   r   rn   r   r   r\  rE  r  r   r   Tr   r   ir  r  r  r   r@  r[  i  i iY  i+A  iiQ  iC)  ir+  i  i:C)rI   r.   rs   r%   r   r1   r#   r   r   r   r   r/   r   r   rh   r   rl   rj   test_sqrt_quadraticrO    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rl   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 )Nrn   r   r   r   )rI   rs   r7   r6   r#   r3   r   rd   r   rl   rj   test_mul_pow_derivativerQ    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rl   c                  \   t        dt        dk  fd      } t        dt        dk  fd       }| |z   }t        t        d       df}t        | |      dk(  sJ t        ||      dk(  sJ t        |  |      dk(  sJ t        | |      dk(  sJ t        ||      dk(  sJ t        | |      dk(  sJ y )	Nr   g        )rx   Tr  Infrx   r   g      )r/   rs   floatrI   )fun1fun2fun_sumr  s       rj   test_issue_20782rX    s    aS\9-Dq!c'lI..DTkG	
U5\M1AT1"""T1"""dUA"$$$dUA"$$$Wa B&&&gXq!S(((rl   c            
      n   d fd} t         t        d       t         f}t         | d      |      }|dt         z  t        dt               z
  t        t         t	        ddd            z
  k(  sJ t         | d	      t         t        d       t         f      dt         z  dt        d	t               z  z
  k(  sJ y )
Nc                 >    t        dt        | k  fdt        | k\  f      S r   )r/   rs   r  s    rj   r~   z"test_issue_20781.<locals>.<lambda>)  s    )QAJAF4 rl   c                 J     t        |              t        |             z   S rz   )intrT  )r   Ps    rj   r~   z"test_issue_20781.<locals>.<lambda>*  s    !CF)aak) rl   rS  rx   rn   r  Fr=  r   )rs   rT  rI   r-   r,   )rd   r  r  r]  s      @rj   test_issue_20781r^  (  s    4A)A	
U5\M1A	1Q4	B1s3{"SCQ,G%HHHHH QqTAe}a0 
qS1SAY;  rl   c                     t        d      } t        | dz  t        d| dz  z
        z  | ddf      t        dz  k(  sJ t        d| dz  z  t        d| dz  z
        z  | ddf      t         dz  k(  sJ t        dt        d| dz  z
        z  | ddf      t        dz  k(  sJ t        | dz  d| dz  z  z
  dz   t        d| dz  z
        z  | ddf      dt        z  dz  k(  sJ y )	Nrs   r   rx   rn   r   r[  r   r   )r   rI   r.   r   r  s    rj   test_issue_19427r`  4  s    	sA a1fQaZ 001b!*=bHHHb16kT!a1f*%552qzBrcAgMMMa4AF
++aQZ8BFBBB a1fq16z)A-a!q&j1AAAr1:NRSVXRX[]R]]]]rl   c            
         t        dt        t        dt        z   dz  z  dt        z   dz  z         z  t        dt        f      } | j                  t        dd      t        dt        t        dz  dt        dz  z  z   dt        z  z   dz         z  t        dt        f      t        t        dz
  t        df      z   k(  sJ t        dt        t        dt        z
  dz  z  dt        z   dz  z         z  t        dt        f      }|j                  t        dd      t        dt        dt        dz  z  dt        dz  z  z
  d	t        dz  z  z   d
t        z  z
  dz         z  t        dt        f      t        t        dz
  t        df      z   k(  sJ y )Nrx   r   rn   r   r   r   r   r     i  i  )rX   r.   r   rs   r-  r.  rO   )I1I2s     rj   test_issue_23942re  B  sb   	!DAEA:Q
233aAY	?B99QQ98Ad1a4!AqD&=1Q33F3J.K,KaQRTUY#WZ[\]`a\adeghciZj#jjjj	!DAEA:Q
233aAY	?B99QQ98Ad1QT6Bq!tG3Cc!Q$h3NQTUVQV3VY\3\.],]`acdfg_h#ilmnorsnsvwyzu{l|#||||rl   c                  N   dt         z
  t        dt         z        z  } ddt        z  t        z  dz   dt        z  z   z  t        dt        z  t        z        z  dt        dt        z        z  z
  }t	        | t         t        df      }|j                  |t        j                        sJ y )Nrx   y        >T?r  gzg	
T8?gz?g>T?)rs   r!   r   r   rI   is_samer1  r2  )rd   F_expr  s      rj   test_issue_25886ri  I  s    	
1c,q.!!A"1$Q& q ! ""%k!mAo"67 s;q=112E 	!aC[!A99UDLL)))rl   c                      t        t        t        t        dz              t        z        } | t	        t        t        dz              dz  k(  sJ t        dt        dz  t
        dz  z   t        dd      z  z  t              }|t        t
        dz  t        t        dz  t
        dz  z  dz         z  z  k(  sJ t        dt        t              dz   z  t        ddt        z  f      }|dt        d      z  t        z  dz  k(  sJ y )Nrn   rx   r   r   )	rI   r3   r#   rs   r4   r   r   r.   r   )rc  rd  I3s      rj   test_old_issuesrl  T  s    	3s1a4y>!#	$BSAY!!!!	1ad1a4i8Aa=11!	4BAqDad1a4i!m,,----	1c!fQh<1QrT
	+B472arl   )rZ  (`  r1  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   rK  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^   sympy.utilities.exceptionsr_   sympy.core.randomr`   rs   r   r-  r   r   r   r   rh   r   r   r  r  ra   rd   rk   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r  r  r  r  r"  r%  r(  r+  r0  r2  r4  r8  r=  r@  rB  rV  rX  rn  rp  rt  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r
  r  r  r  r  r  r  r  r  r%  r(  r+  r0  r5  r9  r;  r=  r?  rA  rC  rE  rG  rL  rN  rP  rS  rW  rZ  r\  ra  re  ri  rm  rp  rs  ru  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  r  r  r  r  r  r	  r  r  r  r  r  r  r"  r$  r&  r*  r/  r3  r5  r7  r9  r;  r>  rA  rE  rG  rI  rK  rM  rO  rQ  rX  r^  r`  re  ri  rl  r   rl   rj   <module>r     s    6  '   D D ! L L L * " / & P P R R d d d E E : a a a I _ _ _ F : M ; / # ' 0 #   $ . , , 3 % 5 . 7  L L > 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/
I2bHj0A'TTn)	 
^ 
^}*	 rl   