
    g,                        d dl mZmZmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZ d dlmZmZmZ d dl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 d dl m!Z!m"Z"m#Z# d dl$m%Z%m&Z&  ed          Z' edd          \  Z(Z) ed          \  Z*Z+Z,d Z-d Z.d Z/e#d             Z0d Z1d Z2d Z3d Z4d Z5d Z6d Z7d Z8e"d             Z9d  Z:d! Z;d" Z<d# Z=d$S )%    )FunctionLambdaexpand)IRational)Eq)S)Symbolsymbols)rfbinomial	factorial)Abs)sqrt)cossin)factor)rsolversolve_hyperrsolve_polyrsolve_ratio)raisesslowXFAIL)abyzn,kT)integerzC0,C1,C2c                  .   t          g ddt                    dk    sJ t          g ddt                    dk    sJ t          dt          dz   gt          t                    dk    sJ t          ddgt          t                    t          t          dz  t          z
  dz  z   k    sJ t          t           dz
  t          gdt                    t          t          z  dz
  k    sJ t          dt          z  dz
  dgdt          z  dz   t                    dk    sJ t          ddgt          dz  t          d	z  z   t                    t          t          d	z  dz  z
  t          dz  dz  z
  t          dz  d
z  z   t          d
z  d
z  z   dt          dz  z  d	z  z   k    sJ d S )Nr!      r   r"   r!                  )r   nC0     [/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/solvers/tests/test_recurr.pytest_rsolve_polyr.      s   {{{Aq))Q....{{{Aq))R////AE{Aq))Q....Aw1%%q!taxl):::::Q{Aq))RTAX55551q!}acAgq11R7777Aw1q!tQ//
QTAX1q 1a4!8+adQh61a4!CD D D D D Dr,   c            	         t          dt          dz  z  t          dz  z   dt          z  z   dz
  dt          dz  z  t          dz  z   dt          z  z
  dt          dz  z  dt          dz  z  z
  dt          z  z
  dz
  dt          dz  z  d	t          dz  z  z   d
t          z  z   dz   gdt                    } | t          dt          z  dz
  z  t          dz  dz
  z  dz  k    sJ d S )Nr'   r#   r"   r(         	            r   )r   r)   r*   )solutions    r-   test_rsolve_ratior8   !   s    R1Wq!t^ac1A5qAv1}qs7J
1a4"QT'BqD 1$a1fr!Q$w&6A&=&ACDEqJ JHr1Q37|QTAX.q0000000r,   c            	         t          g ddt                    t          t          j        t          j        t          d          z  z
  t          z  z  t          t          j        t          j        t          d          z  z   t          z  z  z   t          t          j        t          j        t          d          z  z
  t          z  z  t          t          j        t          j        t          d          z  z   t          z  z  z   fv sJ t          t          dz  dz
  dt          z  dz
  dgdt                    t          t          t          d          t                    z  t          t          t          d           t                    z  z   t          t          t          d          t                    z  t          t          t          d           t                    z  z   fv sJ t          t          dz  t          z
  dt          z  dz
  dgdt                    t          t          t          t                    t                    z  t          t          t          t                     t                    z  z   t          t          t          t                    t                    z  t          t          t          t                     t                    z  z   fv sJ t          dt          z  t          dz   z  t          dz   dt          z  z
  dz   t          dz
  gdt                    t          t          t                    z  t          dt          z  z  z   k    sJ t          t          dz   dt          z  dz    dt          dz  z  d	t          z  z   d
z   z  t          dz   gdt                    dk    sJ t          t           dz
  ddgdt                    dk    sJ t          ddgt          t                    
                                t          t          dz  dz  z   t          dz  z
  k    sJ t          ddgdt          z   t                    
                                t          t          dz  dz  z   t          dz  z   k    sJ t          ddgdt          t          dz  z   z  t                    
                                t          t          dz  z   t          z
  k    sJ t          t           dgdt                    
                                t          t          t          z  z  k    sJ t          t           ddgdt                    
                                dt          z  t          z  t          t          dz  z  z  t          t          t          dz  z  z  z   k    sJ t          g ddt                    
                                t          t          dd          t          d          t          z  dz  z
  t          z  z  t          t          dd          t          d          t          z  dz  z   t          z  z  z   k    sJ t          ddt          z  t          z  dt          z  z
  dgdt                    dk    sJ d S )Nr    r   r&   r#   r0   r"   r'      3   '   r!   )r"   r"   r"   )r   r)   r*   r	   Halfr   C1r   kr   r   r   r   r   r+   r,   r-   test_rsolve_hyperr@   '   s   Q**
AFQVDGG^#a''"afqvd1gg~.E-I*II
AFQVDGG^#a''"afqvd1gg~.E-I*II/    
 A2a4!8Q/A66
2d1ggq>>Br477(A..
2d1ggq>>Br477(A..;    
 A2a4!8Q/A66
2d1ggq>>Br477(A..
2d1ggq>>Br477(A..;    
 	
1a!eq!teackAoq1u-q!5 58:9Q<<"QPQT'8QR R R R 	
Q!A#'
Bq!tGbdNR/0!a%8!Q@ @CDE E E E !aQA..!3333QA&&--//21Q;13DDDDDQQ**1133rAqDF{QqS7HHHHHQA1Hq1188::b1a4i!mKKKK!Q!$$++--AqD8888!Q
Aq))0022rAgbjQqS6IBqSTUVSVxK6WWWWW			1a((//11
HROOd1ggaik)A--HROOd1ggaiPQk4QTU3U0UUV V V V BqDFQqSL!,a33q888888r,   c                  `    t          t           t          dz   gt          t                    J d S )Nr#   )r   r)   r+   r,   r-   test_rsolve_ratio_missedrB   O   s,     !QUQ**66666r,   c                 r     t           fdt          t                               D                       S )z9Compute RHS of recurrence in f(n) with coefficients in c.c              3   p   K   | ]0}|                              t          t          |z             z  V  1d S )N)subsr)   ).0icfs     r-   	<genexpr>z"recurrence_term.<locals>.<genexpr>X   s>      <<qtAFF1a!e$$$<<<<<<r,   )sumrangelen)rH   rI   s   ``r-   recurrence_termrN   V   s6    <<<<<eCFFmm<<<<<<r,   c            
         t           t           dz   t           dz  t           dz  t           dz  t           t           dz  z   dt           z  dt           dz  z  z   dt           dz  z  z
  dt           dz  z  z   dt           dz  z  z
  g} d	dgg d
g dt            dgt           dz  t           z
  dz   dgg}| D ]}|D ]}t          ||          }|                    t                     rt          ||t                     |k    sJ |                    t                     rqt          |          dk    r^t          ||t                                         t          t          d          g d                    
                                |k    sJ ԌdS )zSome bulk-generated tests.r"   r#   r'   r%      4      r&   r0   )r0   r!   r"   )r!   r"   r"   r!   r"   zC:3)r   r   r   N)r)   rN   is_polynomialr   is_hypergeometricrM   r   rE   zipr   r   )funcscoeffsprH   qs        r-   test_rsolve_bulkrZ   [   s   Q1adAqD!ad(BqD2ad7NQ	1F 5!Q$w5AqD5! #EAw%6%6%6!Q!Q$	C
CB F ` ` 	` 	`A1%%Aq!! 1"1a++q0000""1%% `#a&&A++#Aq!,,11#genniii2P2PQQXXZZ^_____	`` `r,   c                      t          t          dz  t          z
  dz   dgt          t          dz  t          z
  dz   z  t          z   dz   t                    t          k    sJ d S )Nr#   rR   r"   )r   r)   r+   r,   r-   test_rsolve_0_sol_homogeneousr\   l   sS     AB*Aq!tax"},=,AA,EqIIQNNNNNNr,   c                  >%   t          t          dz             t          t          dz             z
  t          t                    z
  } t          d          t          j        t          j        t          d          z  z   t          z  z  t          d          t          j        t          j        t          d          z  z
  t          z  z  z
  }t          | t          t                              t          t          j        t          j        t          d          z  z
  t          z  z  t          t          j        t          j        t          d          z  z   t          z  z  z   t          t          j        t          j        t          d          z  z
  t          z  z  t          t          j        t          j        t          d          z  z   t          z  z  z   fv sJ t          | t          t                    ddg          |k    sJ t          | t          t                    ddd          |k    sJ t          | t          t                    t          d          dt          d          di          |k    sJ t          t          t                    t          t          dz
            z
  t          t          dz
            z
  t          t                    ddg          |k    sJ t          t          t          t                    t          t          dz
            t          t          dz
            z             t          t                    ddg          |k    sJ | 	                    t           t          t          t          | t          t                              	                    t          t                                                                        dk    sJ t          dz
  t          t          dz             z  t          dz  dt          z  z   dz
  t          t          dz             z  z
  dt          z  t          dz   z  t          t                    z  z   } t          t          t                    z  t          dt          z  z  z   }dt          t                    z  ddt          z  z  z   }t          | t          t                              |k    sJ t          | t          t                    g           |k    sJ t          | t          t                    i           |k    sJ t          | t          t                    ddg          |k    sJ t          | t          t                    ddd          |k    sJ t          | t          t                    t          d          dt          d          di          |k    sJ | 	                    t           t          t          t          | t          t                              	                    t          t                                                                        dk    sJ t          t                    t          t          dz
            z
  dz
  } t          | t          t                    t          d          di          dt          z  k    sJ t          | t          t                    t          d          di          dt          z  dz   k    sJ t          | t          t                    t          d          dt          d          di          J | 	                    t           t          t          t          | t          t                              	                    t          t                                                                        dk    sJ dt          t          dz
            z  t          t                    z
  dz
  } t          | t          t                    t          d          di          dt          z   dz  t          j        z   k    sJ t          | t          t                    t          d          di          dt          z  dz  t          j        z   k    sJ t          | t          t                    t          d          di          ddt          z  z  dz  t          j        z   k    sJ | 	                    t           t          t          t          | t          t                              	                    t          t                                                                        dk    sJ t          t                    dt          z  t          t          dz
            z  z
  } t          | t          t                              t          t          t                    z  k    sJ | 	                    t           t          t          t          | t          t                              	                    t          t                                                                        dk    sJ t          t                    dt          z  t          t          dz
            z  z
  dz
  } t          | t          t                              J dt          t          dz
            z  dt          z
  t          t                    z  t          z  z   } t          | t          t                    t          d          di          dt          dz
  z  t          z  k    sJ t          | t          t                    t          d          di          dt          dz
  z  t          z  dz  k    sJ t          | t          t                    t          d          di          dt          dz
  z  t          z  dz  k    sJ | 	                    t           t          t          t          | t          t                              	                    t          t                                                                        dk    sJ t          dz
  t          dz
  z  t          t          dz             z  t          dz   t          dz   z  t          t                    z  z
  } t          | t          t                    t          d          dt          d	          d
i          t          t          dz
  z  t          dz
  z  k    sJ t          | t          t                    t          d          dt          d	          di          t           t          dz
  z  t          dz
  z  dt          z  z  k    sJ | 	                    t           t          t          t          | t          t                              	                    t          t                                                                        dk    sJ t          t          t          t          dz             t          t          t                    z            t          t                    t          d          t          i                                          t          t          z  k    sJ t          t          t                    t          t          t          dz
            z  z
  t          t                    t          d          t          t                    t          t          z   z  t          d          t          t          t          z
  z  i                                          t          t          dz  dz   z  t          t          t                     t          z  z  z
  k    sJ dt          dz  z  dt          z  z   dz
  t          t          dz
            z  d	t          dz  z  dt          z  z
  dz   t          t                    z  z   } t          | t          t                    t          d          t!          dt          z  dz   d          i          }ddt          z  z  t          z  dt          z  dz
  dz  z  dt          z  dz   z  dz  }t#          t%          |d                    |k    sJ t          t          t                    t          t          t          dz             t          t          dz
            z   z  dz  z   t          t                              }t'          |          dk    sJ t          t          dz   t          t                    z  t          t                              J t          t          dz   t          t                    z  t          dz   t          t          dz             z  z   t          dz   t          t          dz             z  z   t          t                              	 J t          t          t                    t          t          dz             z   dt          z  z   dt          z  z   t          t                              dt          z  t          z  dt          z  dz  z
  dt          z  d	z  z
  k    sJ d S )Nr#   r"   r&   r   )r   r"   r'   r(   r%      ir!   i    rR   r3   T)funcz@C0*((-sqrt(1 - a**2) - 1)/a)**n + C1*((sqrt(1 - a**2) - 1)/a)**n)r   r)   r   r	   r=   r   r*   r>   r   rE   r   r?   simplifyr   r   r   r   r   r   str)rI   hgynsols        r-   test_rsolverh   r   s2   	!a%1QU88add"AQ!&a.(1,,
q''16AF477N*Q.
.	/A !QqTT??
AFQVDGG^#a''"afqvd1gg~.E-I*II
AFQVDGG^#a''"afqvd1gg~.E-I*II    
 !QqTTAq6""a''''!QqTTqQ<<((A----!QqTTAaDD!QqTT1-..!3333!A$$1q5/Aa!eHH,addQF;;q@@@@"QqTT1QU88aAhh.//11v>>!CCCC66!VAva133Aq99::;;DDFF!KKKK	
Q!a%AqD1Q3JNAa!eHH44qsAE{1Q447GGA
9Q<<"QT'!A
9Q<<!AqD& A!QqTT??a!QqTT2!####!QqTT2!####!QqTTAq6""a''''!QqTTqQ<<((A----!QqTTAaDD!QqTT1-..!333366!VAva133Aq99::;;DDFF!KKKK	!qQxx!A!QqTTAaDD!9%%1,,,,!QqTTAaDD!9%%1q0000!QqTTAaDD!QqTT1-..66666!VAva133Aq99::;;DDFF!KKKK	!AE((
QqTTAA!QqTTAaDD!9%%!Q$q16)99999!QqTTAaDD!9%%Aa!&8888!QqTTAaDD!9%%1a4AF):::::66!VAva133Aq99::;;DDFF!KKKK	!qs1QU88|A!QqTT??b1o----66!VAva133Aq99::;;DDFF!KKKK	!qs1QU88|aA!QqTT??"""	!AE((
a!eQqTT\!^#A!QqTTAaDD!9%%QUA5555!QqTTAaDD!9%%QUAa7777!QqTTAaDD!9%%QUAa777766!VAva133Aq99::;;DDFF!KKKK	
QQ!a% AEAE?1Q44#77A!QqTTAaDD!QqTT2.//1a!e9a!e3DDDDD	1Q44!A$$1Q44%' '+,"a!e*a!e*<bAY*FG G G G 66!VAva133Aq99::;;DDFF!KKKK"Qq1uXXq1v&&!qttQi88AACCq!tKKKK!A$$1QqS66/!A$$qTT477AE?AaDD!QU)46 66>hjj!aL1tAwwh]?*+ + + + 
QTBqD2	qQxx'1QT6BqD=1+<add*BBA	1Q44!A$$1q! 4 45	6	6B
ac(1*acAg\
!1Q37
+B
.C&$'''((C////
11QU88aAhh./111Q44
8
8Cs88YYYYY1q5!A$$,!%%---AE1Q44<1q5!AE(("22a!eQq1uXX5EEqttLL   !A$$1q5/AqD(1a4/1662'"*q!tAv:MPQSTPTUVPV:VVVVVVVr,   c                  :    t          d           t          t          d            t          t           fd           t          t           fd           t          t          d            t          t           fd           t          t          d            d S )Nxc                      t          t          t                    t          t          dz             z
  t          t                              S Nr"   )r   r   r)   r?   r+   r,   r-   <lambda>z$test_rsolve_raises.<locals>.<lambda>   s*    vaddQq1uXXoqtt<< r,   c                      t          t          t                    t          t          dz             z
    t                              S rl   r   r   r)   rj   s   r-   rm   z$test_rsolve_raises.<locals>.<lambda>   s-    vaddQq1uXXoqqtt<< r,   c                      t          t          t                      t          dz             z
  t          t                              S rl   ro   rp   s   r-   rm   z$test_rsolve_raises.<locals>.<lambda>   s-    vaddQQq1uXXoqtt<< r,   c                      t          t          t                    t          t                    t          t          dz             z  z
  t          t                              S rl   )r   r   r)   r   r+   r,   r-   rm   z$test_rsolve_raises.<locals>.<lambda>   s6    vaddT!WWQq1uXX-=&=qttDD r,   c                      t          t          t                    t          t          dz             z
  t          t                      d          di          S )Nr"   r   ro   rp   s   r-   rm   z$test_rsolve_raises.<locals>.<lambda>   s9    vaddQq1uXXoqttaaddAYGG r,   c                      t          t          t                    t          t          dz             z   dt          z  z   t          t                    z   t          t                              S )Nr"   r#   )r   r   r)   r   r+   r,   r-   rm   z$test_rsolve_raises.<locals>.<lambda>   s>    vaddQq1uXXo1&<s1vv&EqttLL r,   )r   r   
ValueErrorrp   s   @r-   test_rsolve_raisesrv      s    A
:<<===
:<<<<===
:<<<<===
:DDEEE
:GGGGHHH
:LLMMMMMr,   c            	         t          t          dz             t          t          dz             z
  t          t                    dz  z   } t          | t          t                              dt           dz   z  t          z  t          z  dt           z  t          z  z   k    sJ t          | t          t                    t          d          dt          d          di          ddt          z
  z  t          z  k    sJ d S )Nr#   r"   r%   r   )r   r)   r   r>   r*   rI   s    r-   test_issue_6844ry      s    	!a%1QU88add1f$A!QqTT??a1"q&k"nQ.aR;;;;;!QqTTAaDD!QqTT1-..!a!e*Q,>>>>>>r,   c                  t   t          dd          } t          dd          }t          t                    d| z  t          |          z  t          t          dz
            z  z
  | dz  t          t          dz
            z  z   }t	          |t          t                              t
          | t          |          t          t          t          |                    z  z
  z  t          z  z  t          | t          |          t          t          t          |                    z  z   z  t          z  z  z   k    sJ d S )NrT)positivetheta)realr#   r"   )
r
   r   r)   r   r   r*   r   r   r   r>   )r{   r}   rI   s      r-   test_issue_18751r      s    sT"""A7&&&E	!q1us5zz!Aa!eHH,,q!taAhh>A!QqTT??
As5zzAc#e**oo--.22RCJJ3sSXzz??IZ<Z9[^_8_5__` ` ` ` ` `r,   c                     t          t          t          dz             t          t          dz             z
  t          t          dz             z
  t          t                    z   t          t                              dt          z  t          z  t          z   t
          t          z  z   k    sJ t          t          t          dz             dt          t          dz             z  z   dt          t          dz             z  z   t          t                    z   t          t                                                              dt          z  t          z  dt          z  t          z  t          z  z
  dt          z  t
          z  t          dz  z  z
  k    sJ t          t          t                    dt          t          dz
            z  z
  dt          t          dz
            z  z   dt          t          dz
            z  z
  t          t                    g d          ddt          z  z  t          z
  dz
  k    sJ t          t          t          dz             dt          t          dz             z  z
  dt          t                    z  z   t          t                    t          d          dt          d          d	t          d          d
i          d
t          z  dt          z  z   k    sJ d S )Nr'   r#   r"   r!   r&   r%   )r"   r'   r6   r   r6   r0   )r   r   r)   r>   r*   C2r   r+   r,   r-   test_constant_namingr      s   !AaC&&1QqS66/AacFF*QqTT11Q4488R!GBJObQRd<RRRRR!AaC&&1QqS66/!AacFF(*1Q44/166==??B72:QSVWPWXZPZ[\P\C\`bef_fgi_ijkmnjn_nCnnnnn!A$$1QU88#a!a%j01Qq1uXX:=add777KKqQRTUQUvXYz\]~]]]] !AaC&&1QqsVV8#a!f,addQqTT!QqTT!QqTT"4MNNSUXYRY\]^_\_R_______r,   c                      t          t                    dt          t          dz             z  z   dt          t          dz             z  z
  dt          t          dz             z  z
  dt          t          dz             z  z   dt          t          d	z             z  z   dt          t          d
z             z  z
  dt          t          dz             z  z
  t          t          dz             z   } t          | t          t                              J d S )N   r"   i  r#   iD  r'   i  r%   r&   r(      r6   )r   r)   r   rx   s    r-   test_issue_15751r      s    	!r!AE(({S1q5\)D1q5M9D1q5MIDQRSTWXSXQYQYMY\_`abcfgbg`h`h\hhkmnopqtupunvnvkvvyz{|  @A  |A  zB  zB  	BA!QqTT??&&&&&r,   c            
         dt          t                    z  dt          t          dz             z  z   dt          t          dz             z  z   dt          t          dz             z  z   } t          | t          t                              }t          dd	t	          d          dz  z  z  d
z  ddt          d          t          z  z   ddt          d          z  z   t	          d          dz  z  z  z   dt          d          t          z  z
  z  ddt          d          z  z   t	          d          dz  z  z  dz  z   dt          d          t          z  z
  ddt          d          z  z   t	          d          dz  z  z  z  t          z  z  t          dd	t	          d          dz  z  z  d
z  ddt          d          t          z  z
  ddt          d          z  z   t	          d          dz  z  z  z   dt          d          t          z  z   z  ddt          d          z  z   t	          d          dz  z  z  dz  z   dt          d          t          z  z   ddt          d          z  z   t	          d          dz  z  z  z  t          z  z  z   t          dd	t	          d          dz  z  z  d
ddt          d          z  z   t	          d          dz  z  z  z  t	          d          dz  z
  ddt          d          z  z   t	          d          dz  z  dz  z   t          z  z  z   }||k    sJ |	                    t          dt          dt          dt          di          
                                }t          |dz             dk     sJ d S )Nir%   r"   r(   r#   .   r'   V   r2   E   ir!   iln i  i#  i^     i  i      gYB?gvIh%<=)r   r)   r   r*   r	   r   r   r>   r   rE   evalfabs)rI   rg   expectedes       r-   test_issue_17990r      sG   AaDD1Qq1uXX:!AE((
*R!a%[8A
AaDD//CBrAaDDF|OB&#d1ggai&T$ZZCQ446B# 1# +#%&a]*45:Sd^5K	
1a5** DGGAIDJJ(>!A$$q&'IIK   BrAaDDF|OB&#d1ggai&4	dL CttAvB 1 +!"T!WWQY*016T$ZZ1G	
1a1** DGGAIDJJ(>!A$$q&'IIK   3rAaDDF|#RT$ZZ)?1Q446(J%JK	!RDdO+qttAv6s:;=>? ??H (????"aQAq!,--3355Aq$$%%------r,   c                  "   t          d          }  | t          dz              | t          dz             z
   | t          dz             z
   | t                    z   }t          | | t                              dt          z  t          z  t          z   t
          t          z  z   k    sJ  | t          dz             d | t          dz             z  z   d | t          dz             z  z    | t                    z   }t          | | t                              dt          z  t          z  dt          dz   z  t          z  t          z  z   dt          dz   z  t
          z  t          dz  z  z   k    sJ t           | t                    d | t          dz
            z  z
  d | t          dz
            z  z   d | t          dz
            z  z
   | t                     | d          d | d          d | d          d	i          ddt          z  z  t          z
  dz
  k    sJ t           | t                    d | t          dz
            z  z
  t          z
   | t                     | d          di          ddt          z  z  t          z
  dz
  k    sJ d S )
Nr   r'   r#   r"   r!   r&   r%   r   r6   )r   r)   r   r>   r*   r   )r   eqeq2s      r-   test_issue_8697r     sW   A	
1q5AAa!eHH	qqQxx	'!!A$$	.B"aaddQwrzBA55555
!AE((QqqQxxZ
!AAa!eHH*
,qqtt
3C3!!GBJ"Ar)!++rQUmB.>q!t.CCD D D D !!A$$11QU88#a!a%j01QQq1uXX:=!A$$1q!!A$$11Q4435 589!Q$
QG G G G !!A$$11QU88#a'1!ay99Qq!tVaZ!^KKKKKKr,   c            	      V   t          t                    t          t          dz
            z
  dt          t          dz
            z  z
  dt          z  z
  } t          | t          t                              dt          z  t          z  dt          z  t          z  z   t          z
  t          dd          z
  k    sJ t          | t          t                    t          d          dt          d          di          dt          z   dz  ddt          z  z  z   t          z
  t          dd          z
  k    sJ t          dt          t                    z  t          t          dz             z   t          z   dz
  t          t                              dt          z  t          z  t          z   k    sJ d S )Nr"   r#   r!   r&   r   r0   )r   r)   r   r*   r>   r   rx   s    r-   test_diofantissue_294r     sI   	!qQxx!Aa!eHH*$qs*A!QqTT??rAgbj1a472Q6!QGGGGG!QqTTAaDD"addA.//b1WHQJ1a44G45568@A5G H H H H "QqTT'Aa!eHH$q(1,add33q!tBw{BBBBBBr,   c            
      z   t          d          } t          t           | t                    d | t          dz
            z  t          z              | t                              dt          z  t          z  t          z
  dz
  k    sJ t          t           | t          dz             d | t                    z  t          dz  z   dz              | t                              dt          z  t          z  t          dz  z
  dt          z  z
  dz
  k    sJ t          t           | t          dz             d | t                    z  t          dz  z   dz              | t                     | d          di          ddt          z  z  dz  t          dz  z
  dt          z  z
  dz
  k    sJ t          t           | t                    d | t          dz
            z  dt          dz  z  z              | t                              dt          z  t          z  dt          dz  z  z
  dt          z  z
  d	z
  k    sJ t          t           | t                    d | t          dz
            z  t          dz  z              | t                              dt          z  t          z  t          dz  z
  dt          z  z
  d
z
  k    sJ t          t           | t                    d | t          dz
            z  t          z              | t                     | d          di          ddt          z  z  t          z
  dz
  k    sJ d S )NrI   r#   r"   r%   r   r   r'   rR   r2   r(   )r   r   r   r)   r*   rx   s    r-   test_issue_15553r      s   A"QQqTT1QQq1uXX:>**AAaDD11QT"Wq[1_DDDD"QQq1uXXq1v1}q01111Q4488AqDGadNQqS<PST<TTTTT"QQq1uXXq1v1}q01111Q44!!A$$CCqAvaxRSUVRVYZ[\Y\G\_`G`````"QQqTT1QQq1uXX:!Q$.//166!Q$r'AadF:JRPQT:QTV:VVVVV"QQqTT1QQq1uXX:1,--qqtt441R!Q$18Lq8PPPPP"QQqTT1QQq1uXX:>**AAaDD11Q44)<<!Q$
QNNNNNNr,   N)>sympy.core.functionr   r   r   sympy.core.numbersr   r   sympy.core.relationalr   sympy.core.singletonr	   sympy.core.symbolr
   r   (sympy.functions.combinatorial.factorialsr   r   r   $sympy.functions.elementary.complexesr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   sympy.polys.polytoolsr   sympy.solvers.recurrr   r   r   r   sympy.testing.pytestr   r   r   	sympy.abcr   r   r   r)   r?   r*   r>   r   r.   r8   r@   rB   rN   rZ   r\   rh   rv   ry   r   r   r   r   r   r   r   r+   r,   r-   <module>r      s   : : : : : : : : : : , , , , , , , , $ $ $ $ $ $ " " " " " " / / / / / / / / N N N N N N N N N N 4 4 4 4 4 4 9 9 9 9 9 9 ? ? ? ? ? ? ? ? ( ( ( ( ( ( P P P P P P P P P P P P 4 4 4 4 4 4 4 4 4 4        HSMMwud###1WZ  
B
D 
D 
D1 1 1%9 %9 %9P 7 7 7= = =
` ` `"O O OZW ZW ZWzN N N? ? ?` ` `` ` ` ' ' '
. . . L L LC C CO O O O Or,   