
    oVh>6                     H   d dl mZ d dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZ d dlmZ d dl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 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) d Z*d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d Z4d Z5d Z6d Z7d Z8d  Z9y!)"    )	unchanged)Mul)IRationalpi)Pow)S)Symbol)	factorial)explog)sqrt)cossin)O)expand_numer)expandexpand_multinomialexpand_power_base
expand_log)raises)verify_numerically)xyzc                     dt        t        dz        z   dz  j                  d      ddt        t        dz        z  z   t        t        dz        dz  z   k(  sJ dt        t        dz        z   dt        t        dz        z   z  j                  d      dt        t        dz        z   t        t        dz        z   t        t        dz        t        t        dz        z  z   k(  sJ y )N         F)r      )r   r   r        L/home/dcms/DCMS/lib/python3.12/site-packages/sympy/core/tests/test_expand.pytest_expand_no_logr$      s    	
SAYFFuF-Qs1a4y[3q!t9a<1OP P PQT]QQT]+33 4 #ad)mc!Q$i/#ad)C1I2EEF F Fr"   c                      dt         z   ddt         z   dz  z   z  j                  d      dt         z   dt         z   dz  z   t         dt         z   dz  z  z   k(  sJ y )Nr   r   Fmultinomial)r   r   r!   r"   r#   test_expand_no_multinomialr(      s\    UQ!a%!^$,,,?	AQ
QAz\)* * *r"   c                     t         t        z   dz  } | j                         ddt         z  t        z  t         dz  z   t        dz  z   z  k(  sJ | j                  d      t         t        z   dz  k(  sJ t         t        z   dz  } | j                         ddt         z  t         z  t        z  dt         z  t        z  t        z  z   t         dz  z   t        dz  z   z  k(  sJ | j                  d      t         t        z   dz  k(  sJ t         t        z   dz  t         t        z   dz  z  } | j                         ddt         z  t        z  t         dz  z   t        dz  z   z  k(  sJ | j                  d      t         t        z   dz  k(  sJ y )	Nr   r   Fr&   r    r   r   r   )exprs    r#   #test_expand_negative_integer_powersr/   "   sE   ER=D;;=A1QA1!45555;;5;)a!er]:::ER=D;;=A1Qq1Q3q57!2QT!9AqD!@AAAA;;5;)a!er]:::EQ<1q5B-'D;;=A1QA1!45555;;5;)a!er]:::r"   c            	      `   t        dd      } t        dd      }t        dd      }t        d      }t        d      }t        dd	
      }t        dd	      }t        dd	      }t        dd	      }t        dd      }	|| |z   z  j                         || z  ||z  z   k(  sJ || |z   z  j                         | |z  ||z  z   k7  sJ | |z   dz  j                         | dz  | |z  z   || z  z   |dz  z   k(  sJ | |z   dz  j                         | dz  |z  |dz  | z  z   | |dz  z  z   || dz  z  z   | dz  z   |dz  z   | |z  | z  z   || z  |z  z   k(  sJ || z  |z  | dz  z  dz  j                         |dz  | z  |dz  z  | z  k(  sJ || z  |z  | dz  z  dz  j                  d      |dz  | |z  | dz  z  dz  z  k(  sJ || z  |z  | dz  z  dz  j                         |dz  | |dz  z  | dz  z  z  k(  sJ || z  |z  | dz  z  dz  j                  d	      |dz  | z  |dz  z  | dz  z  k(  sJ || z  |z  dz  j                         |dz  | z  |z  | z  |z  k(  sJ || z  dz  j                         |dz  | dz  z  k(  sJ || z  |z  |z  j                         ||z  | |z  |z  z  k(  sJ || z  || |z  | z  dz  z  z  |z  j                         ||z  | |z  | z  |dz  z  | z  |z  z  k(  sJ | |z  | |z  dz  z  j                         dk(  sJ || z  |z  j                         ||z  | |z  z  k(  sJ || z  |z  | dz  z  dz  j                         |dz  | z  |dz  z  | z  k(  sJ || z  |z  | z  |z  | z  dz  j                         |dz  | z  |z  | |dz  z  z  | |dz  z  z  | z  |z  | dz  z  k(  sJ || z  |z  | z  |z  | z  dz  j                         | |dz  z  | dz  z  |dz  z  | dz  z  |dz  z  | dz  z  |dz  z  k(  sJ ||z  | z  |z  | dz  z  |z  j                         ||z  ||z  z  | |z  | z  |z  z  k(  sJ |||z  |z  z  |z  j                         ||z  ||dz  z  z  ||dz  z  z  k(  sJ t        t        |d|z  | |d      t	        d      d      }
|
j                         | |z  | z  |z  k(  sJ t        || |z  |z  z        j                         t        |||z  z  | |z  z        k(  sJ t        |       |z  j                         t        |       |z  k(  sJ t        d|z  |dz  z        d|dz  z  | |dz  z  z  k(  sJ t        d|z  |z  ||z  z        d||z  z  | ||z  z  z  | ||z  z  z  k(  sJ t        d|z  |z  |z        d|z  ||z  z  | |z  z  k(  sJ t        d|z  |	z  |z        d|z  | |	z  |z  z  k(  sJ t        t        | |z              t        | |z        k(  sJ t        t        d|z  |z              t        d      t        | |z        z  k(  sJ y )NAFcommutativeBCabiT)integernnegativemp)polarr   r    deepforcer   r*   evaluate)r
   r   r   r   r	   r   )r1   r4   r5   r6   r7   r8   r:   r=   r>   npes              r#   test_expand_non_commutativerI   .   s   s&As&As&AsAsAsD!AsT"AsT"As$A	5	!Bq1uI1Q319,,,q1uI1Q319,,,UQJ AqD1Q3J1$4q!t$;;;;UQJ QT!Vad1f_qAv%=!Q$%F%&T&*,-qD&134Q3q5&9;<Q3q5&A B B B qSU1b5[1$$&!Q$q&A+a-777qSU1b5[1$$%$0AqD!A#ae)a4GGGGqSU1b5[1$$&!Q$!Q$q"u*====qSU1b5[1$$4$0AqDF1a4KB4GGGGqSUQJ AqDF1HQJqL000qS1H!Q$q!t)+++qSUQJ AqD!A#M111qS!QqSUQJ,!#++-Aqs1uQTz!|a6G1GGGGaC1r	M!!#q(((qS1H!Q$q!t)+++qSU1b5[1$$&!Q$q&A+a-777qSU1WQYq[1$$&	1Qq!AqD&1QT6"1$Q&q2w./ / /qSU1WQYq[2%%'	!R%2aeArE!!R%'2-ad23 3 3qSU1WQU]Q&&(AqDAIqs1uqj,@@@@!axZ!O##%Aa!Q$iAqD	)AAAAC1Q31u-qteDA88:1Qq   1Q3(
""$Qq!tVAqD[(9999!HaK!T1"Xq[0002a41Q3- A!HqbAaC[$88882a46QqS/"rQqSkA21+&=rQqSk&IIII2a46A+!Q$q!t)aR!G"33332a47Q,1a4!B
?222$qs)QqS	)))$r!tAv,4741:#5555r"   c                  <   t         t        z   t        dd      z  } | dz  j                         | k(  sJ | dz  j                         t         | z  t        | z  z   k(  sJ | dz  j                         t         dz  | z  dt         z  t        z  | z  z   t        dz  | z  z   k(  sJ d| dz  z  j                         d| z  k(  sJ d| dz  z  j                         dt         | z  t        | z  z   z  k(  sJ d| dz  z  j                         dt         dz  | z  dt         z  t        z  | z  z   t        dz  | z  z   z  k(  sJ t         t        z   t        dd      z  } | dz  j                         | k(  sJ | dz  j                         | dz  k(  sJ | dz  j                         t         | z  t        | z  z   k(  sJ | dz  j                         t         | dz  z  t        | dz  z  z   k(  sJ | dz  j                         t         dz  | z  dt         z  t        z  | z  z   t        dz  | z  z   k(  sJ y )Nr   r   r       r      )r   r   Rr   )r6   s    r#   test_expand_radicalsrN   _   s   	
Q1aAqD==?aqD==?acAaCi'''qD==?ad1fqs1uQw.Aa7777adF??!###adF??1Q319---adF??1a46AaCE!G#3ad1f#< ====	
Q1aAqD==?aqD==?ad"""qD==?acAaCi'''qD==?a1fqAvo---qD==?ad1fqs1uQw.Aa7777r"   c                     t         t        z   dz  j                  d      t         dz  t        dz  z   k(  sJ t         t        d      t        z  z   dz  j                  d      t         dz  dt        d      z  t        dz  z  z   k(  sJ t         t        dz  z   j                  d      t        dz  k(  sJ t	        t
        d        t	        t
        d        y )N   modulusr   
   r   c                  B    t         t        z   dz  j                  d      S )NrP   r   rQ   r-   r!   r"   r#   <lambda>z%test_expand_modulus.<locals>.<lambda>x   s    Q33A3> r"   c                  J    t         t        z   dz  j                  t               S )NrP   rQ   r-   r!   r"   r#   rU   z%test_expand_modulus.<locals>.<lambda>y   s    Q33A3> r"   )r   r   r   r   r   
ValueErrorr!   r"   r#   test_expand_modulusrX   s   s    URK+q"uq"u}<<<a]R'''3q"ur$q'z!R%?O7OOOO!GA&!A#---
:>?
:>?r"   c                     t         t        t         t        z         z  dt        t         t        z         z   z  j                         t         dz  t         t        z  z   t         t        t         t        z         z  z   k(  sJ t         t        t         t        z         z  dt         t        t         t        z         z  z   z  j                         t         dz  t         dz  t        z  z   t         t        t         t        z         z  z   k(  sJ y )Nr   r   r    )r   r   r   r   r!   r"   r#   test_issue_5743rZ   |   s    d	A DQK!"(&(adQqSj1T!a%[=.HI I Id	A Ad1q5kM!#$*FH1q!tAv$q1u+0MN N Nr"   c                      t        t        t        z   t        z  t        z  t        dz   z  d      t        t        z  t        dz  z   t        dz  t        z   z  k(  sJ t        t        t        z   t        z  t        z  t        dz   z  d      t        t        z  t        dz  z   t        t        dz   z  z  k(  sJ t        t        t        z   t        z  t        z  t        dz   z  d      t        t        t        z   z  t        dz  t        z   z  k(  sJ t        dz   dz  t        z  } t        | d      | k(  sJ t	        t        t
        z        t	        t        t
        z        z
  t	        t
        t        t        z   z        z  } t	        t         t
        z        t	        t         t
        z        z
  }| j                  d      |k7  sJ | j                  dd	      |k(  sJ t        |       |k7  sJ t        | d
      |k(  sJ y )Nr   T)fracr   )numer)denomFr&   )r]   exact)r_   )r   r   r   r   r   r   )eqanss     r#   test_expand_fracrb      s   1q5!)A+q1u%D1	
1q!tadQh     1q5!)A+q1u%T2	
1q!taQi ! ! !1q5!)A+q1u%T2	1q5	1a4!8  
a%!AB."444
ac(S1X
s1a!e9~	-B
qbd)c1"Q$i
C9949 C'''994t9,333s"""$'3...r"   c                     t          t        dt         z  t        z  dz        z  dt        t        d      dz  z  z  t	        t
              z  z  } | j                  d      sJ t          t        dt         z  t        z  dz        z  dt        t        dd      z  z  t	        t
              z  z  } | j                  d      sJ y )Nr+   r   r    r   T)complex)r   r   r   r	   r   r   r   rM   )r`   s    r#   test_issue_6121re      s    
C1R	N	Ab1Q46lN472	3B99T9"""
C1R	N	Ab1Q7mODG3	4B99T9"""r"   c                     t        t        t        z  t        z  dz        t        dz  t        dz  z  t        dz  z  k(  sJ t        t        t        z  t        z  t        z        j                  sJ t        t        t        z  t        z  t        z  d      t        t        z  t        t        z  z  t        t        z  z  k(  sJ t        t        t        t        z  dz  z  dz        t        dz  t        dz  z  t        dz  z  k(  sJ t        t        t        t        z  dz        t        z  t        z        j                  sJ t        t        t        t        z  dz        t        z  t        z  d      t        t        t        z  dz        t        z  t        t        z  z  k(  sJ t        t        t        t        z  dz        t        z  t        z  d      t        t        dz  t        dz  z        t        z  t        z  k(  sJ t        t        t              dz        t        dt        z        k(  sJ t        t        t              t        t              z  dz        t        dt        z        t        dt        z        z  k(  sJ t        t        t        t        z  t        z        t        t              z  dz        t        dt        t        z  t        z  z        t        dt        z        z  k(  sJ t        t        t        t        z  t        z        t        t              z  dz  dd      t        dt        t        z  z  t        t        z  z        t        dt        z        z  k(  sJ t        t        t              t        t              z  t        z        j                  sJ t        t        t              t        t              z  t        z  d      t        t              t        z  t        t              t        z  z  k(  sJ y )	Nr   TrC   r   r       rA   )rB   rD   )r   r   r   r   is_Powr   r   r!   r"   r#   test_expand_power_baseri      s   ac!eaZ(AqDAIadN:::ac!eaZ(////ac!eaZt41QT	!Q$FFFa1qj1_-Aad1a4???c1Q3(mAo129999	acAXq1D*-0!A#]A-=ad-BC C C	acAXq14)-0Aad^A-=,AB B B SVQY'3qs8333c!fSVma/0C!HS1X4EEEE	acAXs1v	!#&)!QqS1H*oc!A#h&>? ? ?c1Q3(mC	- '*-a1fQTk*:3qs8*CD D D c!fSVma/07777	QA$(+.q619SVQY+>? ? ?r"   c                     t        d      } t        dd      }t        d      }t        d      }| |z   |z  }||| |z   z  k(  sJ |j                         | |z  z
  ||z  z
  t        d      k(  sJ | |z   | |z   z  }|| |z   dz  k(  sJ |j                         d| z  |z  | dz  z   |dz  z   k(  sJ | |z   | |z   t        d      z  z  }|| |z   d	z  k(  sJ |j                         d	|z  | dz  z  d	| z  |dz  z  z   | d	z  z   |d	z  z   k(  sJ |j                         d	|z  | dz  z  d	| z  |dz  z  z   | d	z  z   |d	z  z   k(  sJ | |z   | |z   z  ||z   z  }|| |z   | |z   z  ||z   z  k(  sJ |j                         d| z  |z  |z  || dz  z  z   || dz  z  z   ||dz  z  z   | |dz  z  z   ||dz  z  z   | |dz  z  z   k(  sJ | t        d
      z   |z  }|d
| z   dz  k(  sJ |j                         d
d| z  z   d| dz  z  z   d| d	z  z  z   d| dz  z  z   | dz  z   k(  sJ | |z   |z   | |z   |z   z  }|d| z   |z   | |z   |z   z  k(  sJ |j                         d| z  d|z  z   d|z  z   d| z  |z  z   ||z  z   | |z  z   | dz  z   |dz  z   k(  sJ t        d      }t        ||z        d
z
  }|j	                  |dd      |dz  z  }|j                         d
|dz  dz  z   t        |dz        z   k(  sJ |t        t        z   z  |t        t        z   z  z  |t        z   z  }|j                  dd      ||t        z  |t        z  z   |t        z  |t        z  z   z  z  t        |t        z  |t        z  z   |t        z  |t        z  z   z  z  z   k(  sJ |j                  ddd      ||t        t        z   z  |t        t        z   z  z  z  t        |t        t        z   z  |t        t        z   z  z  z  z   k(  sJ ||t        d
z   dz  z   z  }|j                  d      |dz  |t        d
z   dz  z  z   k(  sJ |t        t        z   z  t        z  }|j                  ddd      |t        z  t        t        z   t        z  z  |t        z  |t        z  z   t        z  fv sJ dt        z  t        z  j                         dt        z  t        t        z  z  k(  sJ t        dd      }t        |       j                         j                  sJ t        |       j                  d      t        t        |      z  k(  sJ dt        z  |z  t        z  j                         dt        z  |t        z  z  t        t        z  z  k(  sJ dt        z  |z  |z  t        z  j                         dt        z  |t        z  z  |t        z  t        z  z  k(  sJ dt        z  |z  |z  t        z  j                  d      dt        z  |t        z  z  |t        z  z  t        t        z  z  k(  sJ dt        z  |z  t         z  t        z  j                         dt        z  t        t        z  z  |t        z  z  t         t        z  z  k(  sJ dt        z  |z  t         z  |z  t        z  j                         dt        z  t        t        z  z  |t        z  z  | t        z  t        z  z  k(  sJ t        dd      }t        dd      }d|z  t        z  |z  t        z  j                         dt        z  | t        z  z  |t        z  t        z  z  k(  sJ d|z  t        z  |z  |z  t        z  j                         dt        z  | t        z  z  | t        z  z  | t        z  t        z  z  k(  sJ t        d|z  |z        t        d      t        |       z  t        |      z  k(  sJ t        |t        z         dz  j                  d      t        |       t        t              z  t        |      t        t              z  z   dz  t        |      dz  t        t              dz  z  dt        |      z  t        t              z  t        |      z  t        t              z  z
  t        |      dz  t        t              dz  z  z   fv sJ t        d      }d
}	t        d
d      D ]
  }
|	||
z
  z  }	 |	j                         }	|	j                  d|dz  z        sJ y )Nr6   r7   TpositivecrK   r   r   r    r   rS   r   r   rg   F)	power_exp
power_base)rn   ro   rB   rA   )ro   mulrB   r>   rC   r:   r;   r=   r*   )trig   iS   )r
   rM   r   r   nseriesr   r   r   r   rh   r   r   r   r   rangehas)r6   r7   rm   r>   rH   r   sr:   r=   Wr8   s              r#   test_expand_aritry      s	   sAsT"AsA	!A	
Q	A1q5	>>HHJ1qs"qt+++	
QQAQ
??88:1QA1,,,,	
QQ1AQ
??88:1QTAaC1H,q!t3ad::::88:1QTAaC1H,q!t3ad::::	
QQQAQQQ''''88:1Qq1QT6)AadF2Qq!tV;a1fDqAvMPQRSUVRVPVVVVV	
QqTAAQ
??88:QqS2ad7*R1W4qAv=1DDDD	
QQUQYAQQUQY''''88:1qsQqS1Q3q501Q361<q!tCadJJJJsAAaC1A			!Q1a4A88:QT!Va1g----	
AEaQi !a%(A88e86!QqS1D >1qs=$ ;$&'1qsacAaCi(@&@;A A A A88eE8Ba	
AEaQi G!#$aQi1a!e9%=#=G> > > >	Q!a%!^A8881a4!QUQJ,#6666	
AEQA88tD89adAED ?aC!A#I>>+ + + +qS1H!Q$q!t)+++sT"A8??####8???&!DG)333qSUQJ AqDAIadN222qSU1WqL  "ad1a4i1q&8888qSU1WqL  t ,1QT	!Q$q!t0CCCCqSUB3YN""$1RU
1a4!a(????qSUB3Yq[1$$&!Q$r1u*QT/A2a4!)*CCCCsT"AsT"AT!VAXM!!#q!taR!G|QqS1H'<<<<T!VAXaZ!O##%ArAgrAg)=r!tai)GGGG1Q<4748+DG3333AJM!!t!,
a&Q#a&Q-	'!+A	#a&!)aAhs1voc!f4SV;;c!faiAPQ	>QQ1    	sA	A1b\ QK	
A55QU"###r"   c                     t        ddd      } | j                         dk(  sJ t        dddt        z  d      } | j                         dt        z  k(  sJ t        dt        dd      d      } | j                         t        dd      k(  sJ y )Nr   r    FrE   rg   r   )r   r   r   rM   )rH   s    r#   test_expand_mulr{      s|    Aq5!A88:??Aq!A#&A88:1AqAw'A88:1a   r"   c                     t        d      } t        d      }| |z   dz  }|j                         | dz  |dz  z   d| z  |z  z   k(  sJ ddd| z   z  z   dz  }|j                         dd| dz  z  z   d| z  z   k(  sJ d| |z   z  }|j                         d| z  d|z  z  k(  sJ t        dd	
      }t        dd	
      }d||z   z  j                         d||z   z  k(  sJ || |z   z  j                         || |z   z  k7  sJ y)zTest for Pow.expand()r6   r7   r   r   	   r      r1   Fr2   r4   N)r
   r   )r6   r7   r>   r1   r4   s        r#   test_power_expandr     s    sAsA	
Q
A88:A1qs1u,,,,	
QAYA88:Q1X1,,,,	AE
A88:Aad"""s&As&AAJ AAJ...AJ AAJ...r"   c                  
   ddt         z  z   } | t         z  |  dz  z  d| z  t         z  z
  }t        |      dt         dz  dt         z  z
  dz   z  dt         dz
  dt         z  z   z  z
  dt          dz   z  z
  k(  sJ dt         z   dz  }t        dt         |z  z   dz        t         dz  t         dz  dt         dz  z  z   dt         dz  z  z   dt         z  z   dz   z  dt         z  t         dz  dt         z  z   dz   z  z   dz   k(  sJ t        dt        t         z   |z  z   dz        dt         t        z   t         dz  dt         z  z   dz   z  z  t         dz  dt         z  t        z  z   t        dz  z   t         dz  dt         dz  z  z   dt         dz  z  z   dt         z  z   dz   z  z   dz   k(  sJ t	        dd	      }d|z   dz  }t        dt         |z  z   dz        t         dz  dd|z  z   d|dz  z  z   d|dz  z  z   |dz  z   z  dt         z  dd|z  z   |dz  z   z  z   dz   k(  sJ t        dt        t         z   |z  z   dz        t         t        z   dd|z  z   |dz  z   z  dz  t         dz  dt         z  t        z  z   t        dz  z   dd|z  z   d|dz  z  z   d|dz  z  z   |dz  z   z  z   dz   k(  sJ t        dt        t         z   |z  z   dz        t         t        z   dd|z  z   |dz  z   z  dz  t         dz  dt         z  t        z  z   t        dz  z   dd|z  z   d|dz  z  z   d|dz  z  z   |dz  z   z  dz  z   t         dz  dt         dz  z  t        z  z   dt         z  t        dz  z  z   t        dz  z   dd|z  z   d
|dz  z  z   d|dz  z  z   d
|dz  z  z   d|dz  z  z   |dz  z   z  z   dz   k(  sJ t        t         dz   |dz   dz  z  dd      }t        |      t         dz  dt         z  z   dz   dd|z  z   d|dz  z  z   d|dz  z  z   |dz  z   z  k(  sJ t        |dz   dz  dd      }t        |      dd|z  z   d|dz  z  z   d|dz  z  z   |dz  z   k(  sJ d }dt        j                  fD ]2  }dt        dd      fD ]  }t        dd      D ]  }  ||||       rJ  ! 4 t        t         dz   t        |      z   dz        ddt         z  z   t         dz  z   t        |      z   k(  sJ t        t         dz   t        |      z   dz        ddt         z  z   dt         dz  z  z   t         dz  z   t        |      z   k(  sJ t        dt         t        z   dz   z        ddt         t        z   z  z  k(  sJ y )Nr@   r   r   r   r    rg   r1   Fr2   rs      rK   rE   c                 J    | t         |z  z   |z  }t        |t        |            S )N)r   r   r   )r6   r7   r:   rH   s       r#   okz!test_issues_5919_6830.<locals>.ok:  s&    1WqL!!%7%:;;r"      )r   r   r   r   r
   r   r	   HalfrM   ru   r   )r:   r   r>   r1   r`   r   r6   r7   s           r#   test_issues_5919_6830r     s,   
QqSA	!aR!Gac!eA!91a4!A#:>*QA!_<q1"q&zIIII 
Q
Aq1Q3wl+	1adQq!tVma1f$qs*Q./!A#q!taczA~2FFJL L LqAE19}q01	AEAqD1Q3JN#$1qs1uq!t(;	
A!Q$1a4	!A#	%	)(+ 	+-.	/0 0 0 	s&A	
Q
Aq1Q3wl+	1a!A#g!Q$1a4'!Q$./!A#q1Q3wA~2FFJL L LqAE19}q01	
QQqS1a4 "adQqSUlQT&9	
QqS1QT6	AadF	"QT	)&+ 	+-.	/0 0 0 qAE19}q01	
QQqS1a4 "adQqSUlQT&9A!G	!Q$=1a4=Q$= &  !&" 	"%&TAadF1H_qs1a4x%?!Q$%FQqS
QT'Jq!tGJ AgJ&()!Q$J/12AJ6 %7	79:	;< < <
 q1uAz"A
6B b!	
A!a!ac'AadF*Qq!tV3ad:;< < < AzA
.Bb!Q1WqAv%5!Q$%>A%EEEE< [ #Qq!W 	#A1a[ #!Q{"{#	##
 q1uqt|a/0	AaC!Q$1  q1uqt|a/0	AaC!AqD&1a4!A$&' ' ' a!a%!)n-AAJ>>>r"   c                     t        dd      } t        t        | dz        t        | dz  dz        z
  dt        d      z  z
        dk(  sJ t        t        d      t        d      z        d	t        d
      t        d      z  z   k(  sJ t	        d      }t        t        d
|dz  z        t        |      z        dt        d
      t        |      z  z   k(  sJ y )NtTrk   r   r   r   *   rg   r   rL   rS   )r
   r   r   r   r   )r   r7   s     r#   test_expand_logr   J  s    sT"A#ad)c!Q$q&k)Ac!fH45:::c#hs1vo&!c!fSVm*;;;;"Ac!AqD&k#a&( 
QA  r"   c                     t         t        t        z   z  j                  d      t         t        z  t         t        z  z  k(  sJ t	        ddddd      } t	        dddd      }|| z
  }dt         fD ]  }t        t        ||      sJ t        t        ||       sJ t        t        |t        t         z
        sJ t        t        |dt         z
        sJ ||z  j                         j                  sJ || z  j                         j                  sJ |t        t         z
  z  j                         j                  sJ |dt         z
  z  j                         j                  rJ  t	        d	d
      }t	        dd
      }t	        dd
      }t         ||z   z  j                         t         |z  t         |z  z  k(  sJ t         | |z
  z  j                         t         | z  t         | z  z  k(  sJ t        t        t         ||z   |z
        sJ t        t        t         d|z   |z
        sJ t        t        t         ||z
        sJ t        t        t         d|z
        sJ t        t        t         d|z         sJ y )NTrC   1)r9   primeoddrl   2)r9   r   evenr   r    nn1)nonnegativenn2nn3r   r@   )r   r   r   r   r
   r   r   rh   )onetworH   r7   r   r   r   s          r#   test_issue_23952r   T  s/   AJT*ad1a4i777
d$D4
HC
d$T
:Cc	AV 	,a###a!$$$aQ'''aQ'''1}}%%%%A2~~&&&&AE
""$++++AE
""$++++	, D
)C
D
)C
D
)Cc	N""$3q#v555s
O##%SDSD888S!S3Y_---S!QWs]+++S!S3Y'''S!QW%%%S!R#X&&&r"   N):sympy.core.exprr   sympy.core.mulr   sympy.core.numbersr   r   rM   r   sympy.core.powerr   sympy.core.singletonr	   sympy.core.symbolr
   (sympy.functions.combinatorial.factorialsr   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   sympy.series.orderr   sympy.simplify.radsimpr   sympy.core.functionr   r   r   r   sympy.testing.pytestr   sympy.core.randomr   	sympy.abcr   r   r   r$   r(   r/   rI   rN   rX   rZ   rb   re   ri   ry   r{   r   r   r   r   r!   r"   r#   <module>r      s    %  5 5   " $ > = 9 ?   /# # ( 0  F*
	;.6b8(@N/$#?2C$J!/&1?f'r"   