
    Rie0                     j   d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZmZ d dlmZmZmZ d dlmZmZmZmZ d d	lmZ d d
lmZ d dlmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4m5Z5 d dl6m7Z7m8Z8m9Z9m:Z: d dl,m;Z;  ed          \  Z<Z=Z>Z? ed          Z@d ZAd ZBd ZCd ZDd ZEd ZFd ZGd ZHd ZId ZJd  ZKd! ZLd" ZMd# ZNd$ ZOd% ZPe7d&             ZQd' ZRd( ZSd) ZTd* ZUe9d+             ZVd, ZWd- ZXd. ZYe9d/             ZZe9d0             Z[d1 Z\d2 Z]d3S )4    )Sum)Add)
DerivativeFunctiondiff)IRationalpi)Ne)Symbolsymbols)LambertWexplog)asinhcoshsinhtanhsqrt)	Piecewise)acosasinatancossintan)besseljbesselkbesselyjn)erf)Integral)ratsimp)simplify)
componentsheurischheurisch_wrapper)XFAILskipslowON_CI)	integratezx,y,z,nufc            	         t          t          t          z  t                    t          hk    sJ t          dt          t          z   z  t                    t          hk    sJ t          t          t                    t                    t          t                    t          hk    sJ t          t          t                    t	          t          t                              z  t                    t          t                    t          t                    t	          t          t                              t          hk    sJ t          t          t          t          t                    t          z            z  t                    t          t          t          t                    z            t          t          t                    hk    sJ t          t          t          dd          z  t	          t          t                              z  t                    t          t                    t          t          dd          z  t	          t          t                              t          hk    sJ t          t          t                    t                    t          t          t                    hk    sJ t          t          t          t                    t                    t                    t          t          t                    t          t          t                    t                    hk    sJ t          t          t                    t          t          t                    t                    z  t                    t          t          t                    t          t          t                    t                    t          t          t                    t                    hk    sJ d S )N      6   )r&   xyr   r   r   r   r	   r.   r   r        Clib/python3.11/site-packages/sympy/integrals/tests/test_heurisch.pytest_componentsr8      s   ac1!$$$$aQi##s****c!ffa  SVVQK////c!ffT#a&&\\)1--	QQc!ffq)* * * *aCFF1Hoq))	Qs1vvX3q66"# # # #a"b)))$s1vv,,6::	QHQOO#T#a&&\\156 6 6 6 addA	
AaDD	   j1q))1--	
AaDD*QqTT1%%&' ' ' 'add4!a==(!,,	
AaDD*QqTT1%%z!A$$':':;< < < < < <r6   c                      t          t          t          t          t          t          t          t          t                    z            z            z  t                    t                    sJ d S N)
isinstancer-   r3   r   r#   r5   r6   r7   test_issue_10680r<   +   sJ    i3q#aQi..'8#9#9 9!<<hGGGGGGGr6   c            
          t          t          t          t          t	          t                              z            t          ddf          dk    sJ d S )Nr0   r   )r-   r   r3   r   absr5   r6   r7   test_issue_21166r@   /   sA    S4A<<((1b!*55::::::r6   c                  R   t          dt                    t          k    sJ t          t          t                    t          dz  dz  k    sJ t          t          dz  t                    t          dz  dz  k    sJ t          t          t                    t          t          z  k    sJ d S )Nr0      r1      )r'   r3   r(   r4   r5   r6   r7   test_heurisch_polynomialsrD   3   s    Aq>>QAq>>QT!V####ArE1Br))))Aq!!QqS((((((r6   c                  
   t          dt          z  t                    t          t                    k    sJ t          ddt          z   z  t                    t          t          dz             k    sJ t          dt          t          t                    z   z  t                    t          t          t          t                    z             k    sJ t          dt          dz  z  dt          dz  z  dz
  z  t                    dt          dt          dz  z  dz
            z  dz  dt          dt          dz  z  dz             z  dz  fv sJ t          dt          dz  z  dt          dz  z  dz   z  t                    dt          dt          dz  z  dz             z  dz  k    sJ t          dt          dz  z  t                    dt          z  k    sJ t          dt          dz  z  t                    ddt          dz  z  z  k    sJ d S )	Nr0   rB            r>      )r'   r3   r   r   r4   r5   r6   r7   test_heurisch_fractionsrK   ;   s   AaCs1vv%%%%Aq1uIq!!SQZZ////Aq3q66zNA&&#a#a&&j//9999 AadF	!Q$
 c!AqD&1*oo-2Ac"QT'A+6F6F4F4KLM M M MAadFAadFQJ'++qQq!tVaZ/@2/EEEEEAadFA"Q$&&&&Bq!tGQ1a1f:------r6   c                  z   t          t          t                    t                    t          t          t                    z  t          z
  k    sJ t          t          dt          z            t                    t           t          t          d          z  z   t          t          t                    z  z   k    sJ t          t          t          dz            t                    t          t          t          dz            z  dt          z  z
  dt          z  t          t                    z  dt          z  z
  fv sJ d S )N   rB   )r'   r   r3   r5   r6   r7   test_heurisch_logrN   L   s    CFFA!CFF(Q,....C!HHa  QB3q66MAc!ffH$<<<<<C1IIq!!aAqD		kAaC&71SVVac9I%JJJJJJJr6   c            
      P   t          t          t                    t                    t          t                    k    sJ t          t          t                     t                    t          t                      k    sJ t          t          dt          z            t                    t          dt          z            dz  k    sJ t          t          t          t                    z  t                    t          t          t                    z  t          t                    z
  k    sJ t          t          t          t          dz            z  t                    t          t          dz            dz  k    sJ t          t          t          dz             t                    J t          dt          z  t                    dt          z  t          d          z  k    sJ t          t          dt          z  z  t                    t          dt          z  z  t          d          z  dt          z  t          d          dz  z  z
  k    sJ t          t	          t          t
          z  t          z  t          ddft
          ddf          j        t                    t          t          t
          z  z  t          z  t
          dz   z  k    sJ t          t          t          t
          z  t
          ddf          j        t
                    t          t
          z  t          t                    z  k    sJ 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
                    t          t
           t          t          t          z
            z            z  t
                    | k    sJ d S )Nr1   rB   rI   r0   rM   )
r'   r   r3   r   r#   zr4   functionr   r   )antis    r7   test_heurisch_exprS   R   s   CFFA#a&&((((CGGQCGG8++++C1IIq!!SAYY^3333Ac!ffHa  Ac!ffHs1vv$55555Ac!Q$iiK##s1a4yy1}4444CAJJ""***AqD!1SVV++++AadFA!AqD&Q-!Q$s1vv|2C"CCCCCHQT!VaAYAq	::CQGGAaQRdFSTHWXYZWZK[[[[[C1q!Qi((1155Ac!ffDDDD FF7DQKKAd1q5kkM 2 22S4A;;5G5GGHDCFF3r$q1u++~...22d::::::r6   c            	         t          t          t                    t                    t          t                     k    sJ t          t          t          t                    z  dz   t                    t          t          t          t                    z  z
  k    sJ t          t          t                    t                    t          t                    k    sJ t          t          t                    t                    t          dt          t                    dz  z             dz  t          t          t                    t          z             t          t          z  z   t          t          t                    t          z
            t          t          z  z
  fv sJ t          t          t                    t          t                    z  t                    t          t                     t          t                    z  k    sJ t          t          t                    t          t                    z  t                    t          t                     t          t                    z  k    sJ t          t          t                    t          t                    z  t                    t          t                    dz  dz  t          t                    dz   dz  fv sJ t          t          t                    t          t                    z  t                    t          t          t                              k    sJ t          t          t          dt          z            z  t                    t          dt          z            dz  t          t          dt          z            z  dz  z
  k    sJ t          dt          z  dz  t          dz  z  t          t                    z  t                    dt          z  dz  t          dz  t          t                    z  dt          t                    z  z
  dt          z  t          t                    z  z   z  k    sJ t          t          t          dz            t          t          dz            z  t                    dt          z  t          dt          dz  z
            t          t          dz            z  z
  t          dt          dz  z
            t          t          dz            z  z   t          t          t          dz            z  t          t          dz            z  z   k    sJ t          t          t                    t          t                    dz  dz   z  t                    t          t          t                               k    sJ t          dt          t                    dz   z  t                    dt          d          z  t          t          d          t          t          dz            z  dz            z  dz  k    sJ t          dt          t                    z  t          t                    z  t          t                    dz  dz   z  t                    t          t          d          t          t                    z  dz
            t          t          d          t          t                    z  dz             z
  k    sJ t          dt          t                    z  t                    dt          t          t          dz                      z  k    sJ d S )Nr0   rB      1   rJ      rM   )r'   r   r3   r   r
   r   r   r   r4   r   r   r   r   r   r   r5   r6   r7   test_heurisch_trigonometricrX   f   s   CFFA3q66'))))Bs1vvIM1%%RAY6666CFFA#a&&((((CFFAAA	M1CFFQJ!A#CFFQJ!A##     CFF3q66M1%%#a&&Q7777CFF3q66M1%%#a&&Q7777 CFF3q66M1%%#a&&!)a-#a&&!)a)HHHHHCFF3q66M1%%SVV4444Ac!A#hhJ""c!A#hhmaAaCj1n&DDDDDAbDFQTM#a&&(!,,"Q1SVVc!ffH9 s3q66z9* 1+ + + + + D1IIQqS		)1--1R!Q$YaPQc7R1RQT	??D1II
%2&()$qs))D1II(=2> > > > > CFFCFFAIaK(!,,c!ff====As1vvaxL!$$$q''	$tAwws1Q3xx7G7I2J2J(J1(LLLLLAc!ffHSVVOSVVQY]3Q774QA
A < <DGGCFFNQ&''<( ( ( ( ( Ad1ggIq!!QtD1II%6666666r6   c                     t          t          t                    t                    t          t                    k    sJ t          t          t                    t                    t          t                    k    sJ t          t          t          t                    z  t                    t          t          t                    z  t          t                    z
  k    sJ t          t          t          t                    z  t                    t          t          t                    z  t          t                    z
  k    sJ t          t          t	          t          dz            z  t                    t          dz  t	          t          dz            z  dz  t	          t          dz            z   t          t          dt          dz  z             z  dz  z
  k    sJ d S NrB   rJ   )r'   r   r3   r   r   r   r5   r6   r7   test_heurisch_hyperbolicr[      sN   DGGQ477****DGGQ477****Ad1ggIq!!QtAwwYa%88888Ad1ggIq!!QtAwwYa%88888	%!**a qDqsOA-ac

:QtA1H~~=Ma=OOP P P P P Pr6   c            	         t          t          t                    t          t                    z  t                    t          t                    t          t                    z  dz  t          t                    t	          t                    z  dz  z
  k    sJ t          t          t          t          t                     z            t                    dt          z  t	          t          t          t                     z            z  t          t                     z  dt          t          t          t                     z            z  z
  k    sJ d S NrB   )r'   r   r3   r   r   r   r5   r6   r7   test_heurisch_mixedr^      s    CFF3q66M1%%QAq3q66#a&&=?)JJJJJC$r((
OOQ''1Q3s1T1"XX:+>tQBxx+G!CPQRVXYWYRZRZPZOOJ[+[[[[[[[r6   c            
         t          dt          t                    z  t                    dt          t                    z  k    sJ t          dt          t                    dz  z  t                    dt          t                    z  k    sJ t          t          t                    dz  t                    dt          t                    dz  z  dz  k    sJ t          t          t                    t          t	          t                              z  t                    dt          t	          t                              dz  z  dz  k    sJ t          d          } t          t          | t          t                    z            t                    d| dz  z  t          | t          t                    z            z  dt          t                    z  t	          | t          t                    z            z  | z  z
  k    sJ t          t          | t          t                    z            t                    t          dt          t                    z  t	          t          t                    | z            z  | z  dt          t          t                    | z            z  | dz  z  z   t          | d          fd          k    sJ t          dd	
          } t          t          | t          t                    z            t                    d| dz  z  t          | t          t                    z            z  dt          t                    z  t	          | t          t                    z            z  | z  z
  k    sJ d S )Nr0   rB   rM   rI   rF   r4   r   )r   TTpositive)	r'   r   r3   r   r   r   r(   r   r   r4   s    r7   test_heurisch_radicalsrc      s   Ad1ggIq!!QtAwwY....Ad1ggqjL!$$477
2222DGGQJ""aQ
l1n4444CFF4A<<'++r$s1vv,,//A!/CCCCCsAC$q''	NNA&&!AqD&QtAwwY*?	$q''	#aQi.. "+# # # # #C$q''	NNA..)	DGGCQ	NN	"1	$qT!WWQY'71'<	<bAhhG3 3     	sT"""AC$q''	NNA..!AqD&QtAwwY2G	$q''	#aQi.. "3# # # # # # #r6   c                     t          t          t                    t                    t          t          t                    z  t          t          dz             t	          t
                    z  z   k    sJ t          t          t          dz             t          t                    z  t                    t	          t
                    t          t                    dz  z  dz  k    sJ d S rZ   )r'   r"   r3   r   r   r
   r5   r6   r7   test_heurisch_specialre      s    CFFA!CFF(S!Q$ZZR-@"@@@@@CAJJs1vv%q))T"XXc!ffai-?!-CCCCCCCr6   c            
      8   t          dt          t          z   z  t                    t          t          t          z             k    sJ t          dt          t	          d          z   z  t                    t          t          t	          d          z             k    sJ t          t          t          t          t          t          z   t          z             t                    t                              t          t          t          z   t          z             k    sJ d S Nr0   rB   )r'   r3   r4   r   r   r%   r   rP   r5   r6   r7   test_heurisch_symbolic_coeffsrh      s    Aq1uIq!!SQZZ////Aq477{OQ''3q477{+;+;;;;;D#a!eai..!44a8899SQ^^KKKKKKr6   c            
         t          d          } t          dt          dz  | z   z  t                    t          t	          t          t          |            z
            dt          |            z  z  t	          t          t          |            z             dt          |            z  z  z
  t          | d          fdt          z  df          k    sJ t          dd          } t          dt          dz  | z   z  t                    t          t          t          |           z            t          |           z  k    sJ d S )Nr4   r0   rB   r   r>   Tr`   )r   r(   r3   r   r   r   r   r   rb   s    r7   "test_heurisch_symbolic_coeffs_1130rj      s   sAAq!taxL!,,	T1"XX$r((
#c!dA2hh,&7&7488&DDq!HH1d|1 1     	sT"""AAq!taxL!,,aQia1HIIIIIIr6   c                     t          t          ddt          dz  z  z             t          g           t          t          ddt          dz  z  z             z  dz  t          d          t          t          d          t          z            z  dz  z   k    sJ t          t          ddt          dz  z  z
            t          g           t          t          ddt          dz  z  z
            z  dz  t          d          t	          t          d          t          z            z  dz  z   k    sJ t          dt          ddt          dz  z  z             z  t          g           t          d          t          t          d          t          z            z  dz  k    sJ t          dt          ddt          dz  z  z
            z  t          g           t          d          t	          t          d          t          z            z  dz  k    sJ t          t          dt          dz  z            t          g           t          dt          z            t          t          d          t          z            z  dz  k    sJ t          dt          ddt          dz  z  z
            z  t          g           t	          t          t          dd	          z            dz  k    sJ t          dt          ddt          dz  z  z             z  t          g           t          t          t          dd	          z            dz  k    sJ t          dt          d	t          dz  z  dz
            z  t          g           t          d	          t          d	t          z  t          d	          t          d	t          dz  z  dz
            z  z             z  d	z  k    sJ d S )
Nr0   rU   rB   hints   i	   rJ   rM   )
r'   r   r3   r   r   r   r
   r"   r	   r   r5   r6   r7   test_heurisch_hackingrp      sq   DQq!tV$$ar222	$q1QT6z

1tAwwuT!WWQY'7'77::; ; ; ;DQq!tV$$ar222	$q1QT6z

1tAwwtDGGAI6r99: : : : Ad1qAv:&&&444Qd1ggai   "# # # #Ad1qAv:&&&444QT!WWQY!" " " " C1a4LL!2...QrT

3tAwwqy>>!"$% % % % Ad1qAv:&&&444Qx1~~q ! ! ! ! Ad1qAv:&&&444aA!" " " " Ad1QT6!8nn$ar222773qsT!WWT!AqD&1*%5%555666q89 9 9 9 9 9r6   c                  X    t          t          t                    t                    J d S r:   )r'   r.   r3   r5   r6   r7   test_heurisch_functionrr      s$    AaDD!$$$$$r6   c                     t          t          t                    t                    } t          t          t                    | z  t                    t          t                    dz  dz  k    sJ t          t          t                    dz  | z  t                    t          t                    dz  dz  k    sJ t          | t          t                    z  t                    t	          t          t                              k    sJ d S )NrB   rM   )r   r.   r3   r'   r   )dfs    r7   !test_heurisch_function_derivativeru      s     
addABAaDDGQ1Q44719,,,,AaDD!GBJ""addAgai////BqttGQ3qtt99,,,,,,r6   c            	      $   dt           t          z   z  } t          | t                    t          t          t           z             k    sJ dt           t          z
  z  } t          | t                    t          t          t           z
             k    sJ dt           t          z
  t           t          z   z  z  } t          | t                    t	          t          t          t           z
             dt           z  z  t          t          t           z             dt           z  z  z   t          t           d          fdt          z  df          k    sJ t          t          dz  t           t          z
  t           t          z   z  z            } t          | t                    t          t          t          dz   t          dz  t           dz  z
  z            z  t           dz  t          t          dz   t          dz  t           dz  z
  z            z  t          z  z
  k    sJ d S )Nr0   rB   r   T)r4   r3   r(   r   r   r   r   )r.   s    r7   test_heurisch_wrapperrw      s   	1q5	AAq!!SQZZ////	1q5	AAq!!c!a%jj[0000	AEAE?AAq!!Y
a!e**ac	SQZZ1-	-r!Qxx81Q3+&G &G G G G G 	QTAEAE?#$$AAq!!QtQTE1a4!Q$;,?'@'@%@d4Aq!tad{#$$$Q&&' ' ' ' ' ' 'r6   c                      t          dt          dt          t                    dz  z   z  z  t                    t          t          t                              k    sJ d S rg   )r'   r3   r   r   r5   r6   r7   test_issue_3609ry      sG    AqAA	M*+Q//4A<<??????r6   c                     d } t           dz  dt           dz  z  z
  dt           dz  z  z
  dt           z  z   dz
  t           dz  dt           dz  z  z   dt           dz  z  z   dt           dz  z  z   z  }ddt           dz  z  z   dt           z  z   d	t           d	z  z  z   t           d
z  dt           d	z  z  z   dt           z  z   z  t          t                     z   } | t          t          |t                               t                     |k    sJ d S )Nc                 J    | j         rt          fd| j        D              S | S )Nc                 >    g | ]}|                               |S r5   )has).0argr3   s     r7   
<listcomp>z6test_pmint_rat.<locals>.drop_const.<locals>.<listcomp>   s(    BBB#cggajjB#BBBr6   )is_Addr   args)exprr3   s    `r7   
drop_constz"test_pmint_rat.<locals>.drop_const   s4    ; 	BBBBBBBCCKr6   rU      rJ   rB      rG   rH   rM   rF   )r3   r   r$   r'   )r   r.   gs      r7   test_pmint_ratr      s       
A1a4!AqD&	 1Q3	&	*QTAadF]R1W-DqAv-MNA	
Qq!tVac	AadF	"QTAadF]QqS%89CFFBA:ghq!nn--q11Q666666r6   c                  z   t           t          t                     z
  t          t                     dz  z  t          t                     z   } t           dz   dz  t           t          t                     z  z
  t          t          t                     dz  dz             dz  z   }t          | t                     |k    sJ d S )NrB   r0   )r3   r   r   r'   r.   r   s     r7   test_pmint_trigr   	  s    	
SVVs1vvqy 3q66)A	
Aa!CFF(SQQ//11AAq>>Qr6   c                     t           rt          d           dt          z   t          t          t                    z  z   t          t	          t                    z   t          t                    z   dz
  z  t          t	          t                    z   t          t                    z   dz  z  t          z  } t	          t          t          t                    z   t	          t                    z             dt          t          t                    z   t	          t                    z   z  z   }t          t          | t                              |k    sJ d S )NToo slow for CI.r0   rB   )r,   r*   r3   r   r   r$   r'   r   s     r7   test_pmint_logexpr     s     !   	
Q3q66	AAJQ/!34a#a&&j3q666IA5MMaOAAAJQ  1a#a&&j3q66&9#::A8Aq>>""a''''''r6   c                     t          t          dz             t          t                    z  t          t                    dz  t          t                    dz  z
  t          t                    z
  dz   z  } t          t                    t          t          t                    dz
            z  dz  t          t                    t          t          t                    dz             z  dz  z
  t          t                    dt          t                    z  dz
  z  z
  }t          t          | t                              |k    sJ d S )NrB   rM   r0   r   rJ   )r   r3   r"   r   r
   r   r$   r'   r   s     r7   test_pmint_erfr     s    QTE

3q663q6619s1vvqy03q669A=>ARSVVaZ "T"XXc#a&&1*oo%=a%??$r((AcRSffHWXLBYYA8Aq>>""a''''''r6   c                      t          t                    } t          t          t                    z  t          z
  t          t          t                    z  z   }t          | t                    |k    sJ d S r:   )r   r3   r'   r   s     r7   test_pmint_LambertWr   "  sO    A	(1++AhqkkM)AAq>>Qr6   c                  l   t          t          dz   t                    t          t          t                    z  } t          t          t                    z  t          t          t          t                              z
  }t	          | t                    |k    sJ t          t          t          t                    z  t          t          t          dz   t                    z  z
  t          z  } t          t          t                    }t	          | t                    |k    sJ t          t          dz   t                    t          t          t                    z  } t          t          t                    z  t          t          t          t                              z
  }t	          | t                    |k    sJ d S )Nr0   )r   nur3   r   r'   r!   r   s     r7   test_pmint_besseljr   )  s   Q72q>>)A
3q66	CA'''AAq>>Q	GBNN	QwrAvq111	114AAAAq>>Q
261bQiiA
3q66	C2q		NN"AAq>>Qr6   c                     t           rt          d           t          t          t          t                    z  t          t          dt          z            z  } dt          z  t          t          t                    z  t          t          dz
  dt          z            z  dz  t          t          t          dz
  t                    z  t          t          dt          z            z  dz  z   }t          | t                    |k    sJ t          t          t          t                    z  t          t          dt          z            z  } dt          z  t          t          t                    z  t          t          dz
  dt          z            z  dz  t          t          t          dz
  t                    z  t          t          dt          z            z  dz  z
  }t          | t                    |k    sJ d S )Nr   rB   rI   r0   rM   rF   )r,   r*   r3   r   r   r    r'   r   r   s     r7   test_pmint_bessel_productsr   9  sk     !   	'"a..QqS)))A
1WR^^GBFAaC0002QwrAvq7I7I5I'RTVWXYVYJZJZ5Z[\5\\AAq>>Q	'"a..QqS)))A
1WR^^GBFAaC0002QwrAvq7I7I5I'RTVWXYVYJZJZ5Z[\5\\AAq>>Qr6   c                  ,   t           rt          d           d } d | t                    dt           | t                              t           | t                    z   z  z   z  z   d | t                    z   z  t           | t                    z   z  }t	          t          t          t          t                              z             t          t          t          t                                        z   }t          |t                    |k    sJ d S )Nr   c                 :    t          t          |                     S r:   )r   r   )r3   s    r7   omegaz%test_pmint_WrightOmega.<locals>.omegaN  s    Ar6   r0   rB   )	r,   r*   r3   r   r   r   r   r   r'   )r   r.   r   s      r7   test_pmint_WrightOmegar   J  s     !         
UU1XXSq]]a%%((l;;<	<q5588|LaRWRWXYRZRZl[AAQ   !!CQ(8(8$9$99AAq>>Qr6   c                      t          t          ddt          dz  z  z             t          g           dt          z  t          dt          dz  z  dz             z  dt          dt          z            z  z   k    sJ d S )Nr0   g      ?rB   rl   g      ?g      ?)r'   r   r3   r   r5   r6   r7   test_RRr   W  s|     DT!Q$Y''"555Ad419q=!!!Cc!e$445 5 5 5 5 5r6   c                     t          d          \  }  t          d          |           }fd}t           ||          |          }t           ||           |           }||                    ||           k    sJ d S )Nzt RrP   c                 :    | t          dz  | dz  z
            z  S r]   r   )r3   Rs    r7   r.   ztest_issue_22527.<locals>.fk  s"    tAqD1a4K    r6   )r   r   r-   subs)trP   r.   UzUtr   s        @r7   test_issue_22527r   h  s    6??DAqaA! ! ! ! !	11Q44		B	11Q44		BAr6   N)^sympy.concrete.summationsr   sympy.core.addr   sympy.core.functionr   r   r   sympy.core.numbersr   r	   r
   sympy.core.relationalr   sympy.core.symbolr   r   &sympy.functions.elementary.exponentialr   r   r   %sympy.functions.elementary.hyperbolicr   r   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   r   r   sympy.functions.special.besselr   r   r    r!   'sympy.functions.special.error_functionsr"   sympy.integrals.integralsr#   sympy.simplify.ratsimpr$   sympy.simplify.simplifyr%   sympy.integrals.heurischr&   r'   r(   sympy.testing.pytestr)   r*   r+   r,   r-   r3   r4   rP   r   r.   r8   r<   r@   rD   rK   rN   rS   rX   r[   r^   rc   re   rh   rj   rp   rr   ru   rw   ry   r   r   r   r   r   r   r   r   r   r   r5   r6   r7   <module>r      s   ) ) ) ) ) )       < < < < < < < < < < 0 0 0 0 0 0 0 0 0 0 $ $ $ $ $ $ / / / / / / / / G G G G G G G G G G K K K K K K K K K K K K 9 9 9 9 9 9 : : : : : : V V V V V V V V V V V V V V V V J J J J J J J J J J J J 7 7 7 7 7 7 . . . . . . * * * * * * , , , , , , K K K K K K K K K K 9 9 9 9 9 9 9 9 9 9 9 9 / / / / / /gj!!1aHSMM< < <&H H H; ; ;) ) ). . ."K K K; ; ;(7 7 7BP P P\ \ \
# # #"D D D
L L LJ J J9 9 90% % % 	- 	- 	-' ' '@ @ @7 7 7    ( ( (( ( (          	 	 	5 5 5"    r6   