
    g7                     ^   d dl mZ d dlmZ d dlmZmZmZmZm	Z	 d dl
mZ d dlmZmZmZ d dl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 d dlmZ d dlmZm Z  d dl!m"Z"m#Z# d dlm$Z$ d dl%m&Z&m'Z'm(Z(m)Z)m*Z* d Z+d Z,d Z-d Z.d Z/d Z0d Z1d Z2d Z3d Z4d Z5d Z6d Z7d Z8d Z9d Z:d  Z;d! Z<d"S )#    )Function)Mul)EIRationaloopi)S)DummySymbolsymbols)explog)rootsqrt)sin)gamma)hyper)MatrixSymbol)	powdenestpowsimp)signsimpsimplify)Str)xyzabc                      t          d          \  } }}}t          d          }t          d| z  d|  z  z  d|  z  z            dk    sJ t          d| z  d|  z  z  d|  z  z            dk    sJ t           |d| z  d|  z  z  d|  z  z                       |d| z  d|  z  z  d|  z  z            k    sJ t           |d| z  d|  z  z  d|  z  z            d	           |d          k    sJ t          |           t          |          z  t          |           t          |          z  k    sJ t          t          |           t          |          z            t          | |z             k    sJ t          t          |           t          |          z  d| z  z  d|z  z            dt          z  | |z   z  k    sJ t          t          |           t          |          z  d| z  z  d|z  z  d
          t          | |z             d| |z   z  z  k    sJ t          t          |           t          |          z  t          d          z  t          |           z  t          |          z   d| z  d|z  z  z             t          d| z   |z             t          |           z  t          |          z   d| |z   z  z   k    sJ t          t          t          |           t          |          z                      t          t          |           t          |          z            k    sJ t          t          t          |           t          |          z            d	          t          t          | |z                       k    sJ t          | dz  | |z  z            | d|z   z  k    sJ t          dt          t          t                    z  z   t          t                     z  d
d          dt          dt          z             z   t          t                     z  k    sJ t          dt          t          t                    z  z   t          t                     z  d	          dt          dt          z             z   t          t                     z  k    sJ t          dt          t          t                    z  z   t          t                     z            dt          dt          z             z   t          t                     z  k    sJ t          dt          t          t                    z  z   t          t                     z  d
          dt          dt          z             z   t          t                     z  k    sJ t          dt          t          t                    z  z   t          t                     z  d          dt          t          t                    z  z   t          t                     z  k    sJ t          dd          \  } }t          dd          }t          ||z  || z  | z  z            | |z  k    sJ t          | | | |z  z  || |z  z  z  z  || | |z  z  || |z  z  z  z  z  d	          | |z  | |z  | |z  z  z  k    sJ t          ddd| z  z  | z  z  d	          ddd| z  z  | z  z  k    sJ t          ddd| z  z  | z  z  d	          d| d| z  z  z  k    sJ t          t          |  t          |            t          |  t          |           z            z  z             dd
          t          |  t          |            t          |  t          |           z            z  z             k    sJ t          t          |  t          |            t          |  t          |           z            z  z             dd
          t          |  t          |            t          |  t          |           z            z  z             k    sJ t          | |z   d|z  z  dd
          | |z   d|z  z  k    sJ t          | dz  |dz  z   |z  dd
          | dz  |dz  z   |z  k    sJ t          t          |           dt          |           t          |          z  z   z  d	          t          |           dt          | |z             z   z  k    sJ t          | ||| z  ||z  z  z  z  d	          | ||| |z   z  z  z  k    sJ t          || z  ||z  z  | z  d	          || |z   z  | z  k    sJ t          | || z  ||z  z  | z  z  d	          | || |z   z  | z  z  k    sJ t          dd          }t          d| z  t          d          z  | z            d| z  dt          d          z   z  k    sJ t          d|z  t          d          z  |z            |dt          d          z
  z  k    sJ t          dd| z  z            d| z  k    sJ t          dd| z  z            dd| z  z  k    sJ t          dd          }t          dd|z  z            dk    sJ t          d|  z            d| z  k    sJ t          dd| z  z  d          dk    sJ t          dd          \  }}}|t          z  }	||	z  ||	z  z  ||	z  z  }
t          |
          ||t          z  z  ||t          z  z  z  ||t          z  z  z  k    sJ |dz  }	||	z  ||	z  z  ||	z  z  }
t          |
          d|z  | |z  |z  |dz  z  z  k    sJ d|z   |z  }	||	z  ||	z  z  ||	z  z  }
t          |
          dd|	z  z  | |z  |z  |	z  z  k    sJ | t          t          dd          z  z  }t          |          j        |j        cxk    rt          t          dd          z  k    sn J t          dd| z  z            d| z  k    sJ t          t          |dz                      t          |dz            k    sJ t          d t          d          D              }t          |          |k    r|j        sJ t          d t          | t          z            t          | dz            fD                       sJ t          t          t          t           t"          z  dz            t%          dd          z                      dk    sJ t          d | z             d | z   k    sJ t          ddt          z  z  t&          z            t          d          dz  t&          z  k    sJ t          d| z            dz  t          d!| z            dz  z  }t          |          |k    sJ t          | dz  |dz  z  | |dz  z  t          dd          z  z            | |z  | |dz  z  t          d"d          z  z  k    sJ d S )#Nzx,y,z,nf         Tdeepr   combine)r*   r(   basex,y)nonnegativenrealF)r(   r*      ppositiveiintegerforcezw n mnegativec                 H    g | ]}t          t          d                      S )T)	imaginary)r   r   ).0r6   s     ]/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/simplify/tests/test_powsimp.py
<listcomp>z test_powsimp.<locals>.<listcomp>g   s+    ===qtED)))**===    c              3   <   K   | ]}t          |          |k    V  d S )Nr   )r?   es     r@   	<genexpr>ztest_powsimp.<locals>.<genexpr>j   s,      AA1wqzzQAAAAAArB   z(-1)**(2/3)g?g       @   )r   r   r   r   r   r   r   r   r   r   r   rangeis_Mulallr   strr   r	   r   r   )r   r   r   r.   r!   r2   r6   wmrE   exeqs               r@   test_powsimprP      sK   ##JAq!QAAqD1r7NQ!W,..!3333R!GraRj(1r72449999	!Q$aR.1r7
"##& &)*1a4!qb'>AG+C)D)DE E E EAAadQ!WnqA2w.//d<<<!DDDDq66#a&&=CFF3q66M))))3q66#a&&=!!SQZZ////3q66#a&&=A%ad*++!q1u~====3q66#a&&=A%ad*E:::AE

1q1u:   3q66#a&&=Q'A.Q7!Q$q!t)CDDAEAIs1vvA&QU34 4 4 43s1vvc!ff}%%&&#c!ffSVVm*<*<<<<<3s1vvc!ff}%%D111SQU__DDDD1a419QU++++ A#a&&L#qb'')5tDDD	
SQZZaR ! ! ! !A#a&&L#qb'')555	
SQZZaR ! ! ! !A#a&&L#qb'')**q3q1u::~sA2ww.FFFFFA#a&&L#qb'')5999	
SQZZaR ! ! ! !A#a&&L#qb'')6:::	
Qs1vvXsA2ww   5d+++DAqsA1a41Q31"+%&&!Q$....1q1Q3xAaC()!a!A#hq1Q3x.?*@@tLLLaC1Q3!A#,   1q1Q3xz?///1q1Q3xz?BBBB1q1Q3xz?...!a1f+====QBaRaRAY''((ueE E EQBaRaRAY''(() ) ) ) QBaRaRAY''((ueE E EQBaRaRAY''(() ) ) ) AEAaC=ue<<<Q1MMMMAaC!A#Iq=tU;;;!ac	1}LLLL3q661s1vvc!ff},-D999ACAJJ       1QAad^#$///1QQU_3DDDDDAqDAI>---!a!e*q@@@@1ad1a4i!^#$///1a!a%j1_3DDDDDd###AAaC#a&&=?##!q3q66z':::::AaC#a&&=?##q2A;'77777 1qs81$$$$B!A#;B!A#;....T"""AB!A#;1$$$$B1":2'))))B!A#;d+++q0000 g---GAq!	!A	
Aad1a4B2;;!ac(1qs8+A!H44444	!A	
Aad1a4B2;;2'A2a46QqS/11111	
Q	A	
Aad1a4B2;;21+r!tAvk11111	
Qx1~~	B2;;?bf8888(1a..(88888881qs81$$$$3qs88AaC(((( 
==E!HH===	>B2;;"AAadT!Q$ZZ(@AAAAAAAA AbDFDAJJ.//11]BBBB CF7Qw&&&& AqsGb=!!c"ggai"_4444 
QqS1SQZZ]	"B2;;" 1a419a1fx1~~55 
 
qS!AqD&8Aq>>))* * * * * *rB   c                     t          t           t          z   t          t          t          z
            z            t          t          t          z
             k    sJ t          t           t          z   t           t          z   z  t          t          t          z
            z  t          t          t          z
            z            t          t          t          z
            t          t          t          z
            z  k    sJ t          dd          } | dt          t          j        i}t          |  t          z  | t          z  z            	                    |          dt          z  	                    |          k    sJ t          |  t          z  | t          z  z            	                    |          | dz   t          z  	                    |          k    sJ t          dd          }| dt          t          j        i}t          | t          z  |t          z  z            	                    |          dt           	                    t          t          j                  z  k    sJ t          | t          z  |t          z  z            	                    |          |dz   t          z  	                    |          k    sJ t           t          z  t          t          z  z  }t          |          |k    sJ d S )	Nr2   Tr3   r#   r5   r.   r;   r&   )
r   r   r   r   r   r   r   r
   Halfsubs)r2   repsr.   rO   s       r@   test_powsimp_negated_baserU   ~   s?   QBFDQKK'((T!a%[[L8888QBFaR!V$T!a%[[0a!e<==a!eTRSVWRW[[AXXXXXd###Aq!QVDQB71a4<  %%d++a~~d/C/CCCCCQB71a4<  %%d++!Q$
/@/@/F/FFFFFd###Ar1afDQB71a4<  %%d++qbYYq!&5I5I/IIIIIQB71a4<  %%d++!Q$
/@/@/F/FFFFF"qAB2;;"rB   c                     t          d          \  } }}t          dd          \  }}}t          || z  ||z  z  d          || |z   z  k    sJ t          || z  ||z  z  d          || z  ||z  z  k    sJ t          || z  ||z  z  d          || |z   z  k    sJ t          || z  || z  z  d          || z  || z  z  k    sJ t          || z  || z  z  d          || z  || z  z  k    sJ t          || z  || z  z  d          || z  || z  z  k    sJ t          || z  || z  z  d          || z  || z  z  k    sJ t          || z  || z  z  d          || z  || z  z  k    sJ t          || z  || z  z  d          || z  || z  z  k    sJ t          || z  ||z  z  ||z  z  d          || |z   |z   z  k    sJ t          || z  ||z  z  ||z  z  d          || z  ||z  z  ||z  z  k    sJ t          || z  ||z  z  ||z  z  d          || |z   |z   z  k    sJ t          || z  || z  z  || z  z  d          || z  || z  z  || z  z  k    sJ t          || z  || z  z  || z  z  d          || z  || z  z  || z  z  k    sJ t          || z  || z  z  || z  z  d          || z  || z  z  || z  z  k    sJ t          || z  || z  z  || z  z  d          || z  || z  z  || z  z  k    sJ t          || z  || z  z  || z  z  d          || z  || z  z  || z  z  k    sJ t          || z  || z  z  || z  z  d          || z  || z  z  || z  z  k    sJ d S )	Nzx,y,zzA B CFcommutativerJ   r)   r+   r   r   r   )r   r   r   ABCs         r@   test_powsimp_ncr]      sw   gGAq!g5111GAq!1a419e,,,AE
::::1a419f---Aad::::1a419e,,,AE
::::1a419e,,,1QT	99991a419f---Aad::::1a419e,,,1QT	99991a419e,,,1QT	99991a419f---Aad::::1a419e,,,1QT	99991a419QT>5111QQ^CCCC1a419QT>6222ad1a4i1nDDDD1a419QT>5111QQ^CCCC1a419QT>5111QT!Q$Yq!t^CCCC1a419QT>6222ad1a4i1nDDDD1a419QT>5111QT!Q$Yq!t^CCCC1a419QT>5111QT!Q$Yq!t^CCCC1a419QT>6222ad1a4i1nDDDD1a419QT>5111QT!Q$Yq!t^CCCCCCrB   c                      t          ddt          z  z  dt          z  z            dt          dt          z  z   dz   z  k    sJ d S )N   r#      r1   r"   )r   r   r    rB   r@   test_issue_6440rb      sB    2ad71a4<  AAaC!$4444444rB   c            
      Z   t          d          \  } }t          dd          \  }}t          dd          \  }}t          |           | k    sJ t          | d| t          t          dd          z  z  d| z  z  z  z             | d| t          t          dd          z  z  d| z  z  z  z   k    sJ t          t	          t          t          dd          z            d| z  z            sJ t          | t          t          dd          z  z  d| z  z            | t          t          dd          z  z  d| z  z  k    sJ t          t	          d| z  t          d          z                      dd| z  z  k    sJ t          t          |dz                      |k    sJ |d|z  z  |d	|z  z  z  }t          |          ||dz  z  d|z  z  k    sJ t          | | z  ||z   z            sJ t          t	          d|z  t          |           z                      | d|z  z  k    sJ t          t	          |t          t                    t          t                    z   z                      t          t          z  |z  k    sJ t          t	          dt          t                    t          t                    z   z                      t          dz  t          dz  z  k    sJ t          | d|z  z  d|z  z  | z            | d|z  z  d|z  z  | z  k    sJ t          | d|z  z  d|z  z  | z  d
          | d|z  | z  |z  z  k    sJ t          | t          t          dd          z  z  d|z  |z  z  | z            | t          t          dd          z  z  d|z  |z  z  | z  k    sJ t          | d|z  z  |d	|z  z  z  t          z  d
          | |dz  z  d|z  t          z  z  k    sJ t          |d|z  z  |d	|z  z  z  |z            ||dz  z  d|z  |z  z  k    sJ |dt          z  z  d|z  z  | z  }t          |          |k    sJ | dz  |d	z  z  t          z  | |z  z  }t          |          |k    sJ | dz  |d	z  z  t          z  | |z  z  dz  }t          |          | dz  |d	z  z  t          z  d| z  |z  z  k    sJ t          | dz  |d	z  z  t          z  | |z  z  d
          | |dz  z  dt          z  | z  |z  z  k    sJ t          | dz  |d	z  z  t          z  | |z  z  dz  d
          | |dz  z  dt          z  | z  |z  z  k    sJ t          | dz  |dz  z  |z            | |dz  z  d|z  z  k    sJ t          dd          \  } }t          | dz  |dz  z  |z            | |dz  z  d|z  z  k    sJ t          | |t          dd          z  z  ||dz  z  z  d|z  z            | t          d	d          z  |z  |dz  z  k    sJ t          t          | d|z  z  |d|z  z  z                      | |dz  z  |z  k    sJ t          d	| z            dd| z  z  k    sJ t          d	| z  |z            dd| z  |z  z  k    sJ t          d	| z  |z            dd| z  z  |z  k    sJ d S )Nr,   zp qTr3   zi,jr7   r#   r1   r"   r9      )	r   r   r   r   r   r   r   r   r   )r   r   r2   qr6   jrO   rE   s           r@   test_powdenestrg      sY   5>>DAq54(((DAq5$'''DAqQ<<1QA(1a.. 01QqS999::q1a!HUVXYNNJZF[_`ab_bEcCc?cddddc!HQNN*++qs344444a!HQNN*+qs344!aA>N:OSTUVSV9WXXXXS1SVV__%%QqS1111T!Q$ZZ  A%%%%	
QqS!ac(	BR==Qq!tVqsO++++ada!e_%%%%%S1SVV__%%QqS1111SCFFSVVO,--..1Q3(::::SCFFSVVO,--..!Q$q!t);;;;q1Q3x1Q3'!+,,!ac(ac1BQ0FFFFFq1Q3x1Q3'!+4888A!AaLHHHHq1Xa^^+,!A6:;;q!Q AaCE
*Q	.0 0 0 0a!A#hq1Q3x'!+4888Qq!tVqs1u<MMMMMa!A#hq1Q3x'!+,,1a41Q3q50AAAAA
ac(ac	QAQ<<1
Q$q!t)a1Q3AQ<<1a419q.AaC	 1$AQ<<QT!Q$YNac!e444441QT	A~1-d;;;	
1a41Q3q57   1QT	A~1-1>>>	
1a41Q3q57   ad1a4i!^$$1a41Q3777754(((DAqad1a4i!^$$1a41Q37777a!HQNN*+A!H4!<==!XaQR^^BSTUBUYZ\]Y]A^^^^^T!ac(1qs8+,,--!AqD&1<<<<QT??a!A#h&&&&adQY1qs1u:----QT!VAaC
******rB   c                  |   t          dd          \  } }}t          d          \  }}}t          | |z  |z  |z            | |z  ||z  z  ||z  z  k    sJ t          | |z  ||z  z  |z            | ||z  z  |||z  z  z  k    sJ t          | |z  |z  ||z  z  |z            | ||z  |z  z  ||dz  z  z  k    sJ d S )Nx y zTpolarza b cr#   )r   r   )r   r   r   r   r   cs         r@   test_powdenest_polarrm      s    gT***GAq!gGAq!ac!eaZ  AqDAIadN2222ad1a4i!^$$AaCQqS(99999q!tai1nq())Q1QZAqD	-AAAAAAArB   c                     t          t                    t          ddt                    z  t          z  dz  } t	          |           t          t          t                    z  t          ddt                    z  dz  k    sJ | j        J d S )Nra   r#   )r   r   r   r	   r   is_positive)args    r@   test_issue_5805rq      ss    !HHU2r1%%%r)A
-CS>>bqk%B*:*::Q>>>>>?"""""rB   c                      t          ddd          } t          | d          }|| k    sJ |j        d         t          d          k    sJ d S )NM
   Tr'   r   )r   r   argsr   )rs   exprs     r@   (test_issue_9324_powsimp_on_matrix_symbolrw      sU    S"b!!A14   D199999Q<3s88######rB   c            	         dt          d          z  dt          dt          d          z  dz             z  z  t          t          d           dz  t          j        z             z   } t          d t          j         | j                              D              dk    sJ t           | j                              dk    sJ t          |           dk    sJ t          t          dt          d          z             t          dt          d          z
            z  dz             dk    sJ t          |           dk    sJ d S )Nr#      c                 ,    g | ]}t          |          S ra   rD   )r?   r   s     r@   rA   z#test_issue_6367.<locals>.<listcomp>   s    ??????rB   r   r1   r$   )r   r
   rR   r   	make_argsnormalr   r   )r   s    r@   test_issue_6367r~      s   
477
Ad1T"XX:?+++,tT"XXIbL164I/J/JJA??S]818::%>%>???@AEEEE818::!####A;;!4DGG$$T!d1gg+%6%66:;;q@@@@1::??????rB   c                     ddl m}  ddlm} t	          d          \  }}}t	          dd          \  }}} | d          d	|z  z   |d	t
          z  t          z  |z            k    sJ t          ||z  ||z  z            ||z  |z  k    sJ ||z  d
|z  |z  z  d
k    sJ d
|z  |z  || z  k    sJ  ||           ||          z   ||           ||          z  k    sJ t           ||           ||          z             |||z             k    sJ t           ||           ||          z  ||z  z  ||z  z            | |d
          z  ||z   z  k    sJ t           ||           ||          z  ||z  z  ||z  z  d           |||z             |||z   z  z  k    sJ t           ||           ||          z   |d	          z  t          |          z  t          |          z   ||z  ||z  z  z             |||z   z  t          |           |d	|z   |z             z  z   t          |          z   k    sJ t          t           ||           ||          z                      t           ||           ||          z            k    sJ t          t           ||           ||          z            d          t           |||z                       k    sJ d S )Nr   )
polar_lift)	exp_polarri   zp q rTrj   r5   r#   r$   r   r)   r'   )	$sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr   r   r	   r   r   r   )r   r   r   r   r   r2   re   rs           r@   test_powsimp_polarr      s   ??????@@@@@@gGAq!gT***GAq!JrNNac"ii"Qq&9&999991a4!Q$;AaC!8++++a41Q3(?aaC!8qA2w9Q<<		!$		!YYq\\(AAAAA99Q<<		!,--1q51A1AAAAA99Q<<		!,QT1!Q$677	
99Q<<1q5!" " " "99Q<<		!,QT1!Q$6FFF	!a%QU#$ $ $ $	!YYq\\!))A,,.s1vv5A>AadJL Lq1u:AyyQ3333c!ff<= = = = 3yy||IIaLL01122IIaLL1%&&' ' ' '3yy||IIaLL011===IIa!e     rB   c                  ~   t           t          t                    z  } t          |           }t          t          t                     t          z            }t          || z            t          |           dz  k    sJ t          || dz  z  t          t                    z            t          t                    |dz  z  k    sJ t          |t           dz  z  |dz  z  t          z            |dz  |dz  z  k    sJ t          |t           z  |dz  z  t          dz  z            |dz  |z  k    sJ t          t           |dz  z  t          dz  z            |dz  k    sJ t          t           |dz  z  t          z            t           t          z  |dz  z  k    sJ t          t          t                     |dz  z  t          z            |dz  k    sJ t          t          t                     |dz  z  t          t                    z            t          t                     t          t                    z  |dz  z  k    sJ t          t	          t          t                     |dz  z  t          t                    z  t          d                    t          t                     t          t                    dz  z  |dz  z  k    sJ t          |dz  |z  t           dz  z  t          z            |dz  k    sJ t           t          z  t          z  } | t          |           z  }|j        du sJ t          |          t          |           dz  k    sJ t           t          t          t          dd          z            z  }t          |t          |          z            t          |          dz  k    sJ t          |dz  t          |          z            t          |          dz  k    sJ t          |dz  t          t          |                    z            t          t          |                    dz  k    sJ d S )	Nr1   r#   rG      F)evaluateT	   )r   r   r   r   r   rI   r   r   )r   r   rl   s      r@   test_issue_5728r     s   	$q''	AQAT!WWQYA1Q3<<477A:%%%%1QT6$q''>""d1ggadl22221QT6!Q$;q=!!QT!Q$Y....1Q3q!t8AqD=!!QT!V++++1QT6!Q$;1a4''''1QT6!8!AqD((((4771a4<>""ad****4771a4<Q'((DGGDGGOAqD,@@@@@3tAwwq!t|DGG+Q???@@QQ
1a4       1a46!Q$;q=!!QT)))) 	
1QA	$q''	A8t1::a!#### 	
#aA

A1T!WW9a!++++1a4Q<  DGGQJ....1a4T!WW%&&$tAww--*:::::::rB   c                     t          dd          \  } }}}t          t          |           t          |          z  t          |          z            t           t          |            z  t          |           z  t          |           z  k    sJ t          t	          | d          t	          |d          z  t	          |d          z  t	          |d          z            dt          dd          z   |  t          dd          z  z  | t          dd          z  z  | t          dd          z  z  | t          dd          z  z  k    sJ d S )Nzn1 n2 n3 n4Tr;   r1   r5   r$   )r   r   r   r   r   r   )n1n2n3n4s       r@   test_issue_from_PR1599r   2  sV   ]T:::NBBDHHT"XX%d2hh.//	
499T2#YYtRCyy() ) ) )DQKKR+DQKK7RCDD
x1~~	
x1~~	 "sXa^^3	468S8Aq>>4I	JLN3QYZ[]^Q_Q_J_	`` ` ` ` ` `rB   c                     t          dd          } t          ddd          }t          dd          }d|d	z  t          j        z
  z  d|t          d
d	          z  t          j        z
  z  z
  }t	          d|d	z  z            t
          |z  k    sJ t	          d|d	z  z            t
          |z  k    sJ t	          d|t          d
d	          z  z            t
          |z   k    sJ t	          |          d|d	z  t          j        z
  z  d|t          d
d	          z  t          j        z   z  z   k    sJ t	          d| t          d
d	          z  z            t
           | z  k    sJ d S )Nr   Tr7   l)evennonzeror.   )oddr5   r#   r1   )r   r
   rR   r   r   r   )r   r   r.   e_xs       r@   test_issue_10195r   ;  sq   sD!!!Ast,,,AsA1qv
"(1a..(816(A!B
BCB!A#;1a4''''B!A#;1a4''''B!HQNN*+,,A55553<<B!A#,/28Aq>>9IF: 3     B!HQNN*+,,!a777777rB   c                      t          dt          z  t          dd          z            ddt          dz
  z  z  k    sJ t          ddt          z  z  dz            ddt          dz
  z  z  k    sJ d S )Nr1   r#   r$   )r   r   r   ra   rB   r@   test_issue_15709r   G  so    1a4A&''1Q1X:55551QT6!8!ac(
******rB   c                      t          dd          \  } }t          | |z  dz  || z  dz  z            | |z  dz  || z  dz  z  k    sJ d S )Nzx yFrW   r#   rY   )r   r   s     r@   test_issue_11981r   L  sa    5e,,,DAqAaC!8qsQh&''AaC!8qsQh+>>>>>>>rB   c                     t          dd          } d| dz  z
  t          d| dz  z             z  }t          t          |                    t          |          cxk    r | dz  dz   t	          d          dz  z   k    sn J d S )Nr   Tr/   r5   r#   r$   r1   )r   r   r   r   r
   )r   rE   s     r@   test_issue_17524r   Q  s    $A	adDQTNN"AGAJJ8A;;GGGGAqD1H!Q3G2GGGGGGGGGrB   c                  r   t          t          t          t                    dz            d          t          t                    k    sJ t          t          t          j        t          z  z  dt          z  z  d          t          k    sJ ddlm}  dt          z
  }t          t          |z            t          t          |z  z  z  t          dt          z
  |z  z  z  |z  }t           | |d          d          t          t          z  t          dt          z
  z  z  t          t                    z  k    sJ d S )Nr#   Tr9   r   )expand_power_baser$   )r   r   r   r   r
   rR   r   sympy.core.functionr   r   r   r   r   )r   rE   rv   s      r@   test_issue_19627r   W  s   T#a&&!)__D111SVV;;;;a!&(mqs+4888A====555555	AA!HHQ1Xa1q5!)n,q0D&&t4888 
 
 
T!a!e*_SVV#$ $ $ $ $ $rB   c                     t          dd          \  } }t          | t          z  |t          z  z            }t          dz   }|                    t          |          }|j        sJ t          | |z  ||z  z            |k    sJ t          dd          }t          t
          |z  t          |z  z            }|dz   }|                    ||          }|j        sJ t          t
          |z  t          |z  z            |k    sJ d S )Nzp1, p2Tr3   r$   r6   r7   )r   r   r   rS   is_Powr   r   )p1p2refrE   ansr6   s         r@   test_issue_22546r   b  s    X---FB
"a%A+

C	AA
((1a..C:2q5Q;3&&&&T"""A
!Q$q!t)

C	AA
((1a..C:1a419$$$$$$rB   N)=r   r   sympy.core.mulr   sympy.core.numbersr   r   r   r   r	   sympy.core.singletonr
   sympy.core.symbolr   r   r   r   r   r   (sympy.functions.elementary.miscellaneousr   r   (sympy.functions.elementary.trigonometricr   'sympy.functions.special.gamma_functionsr   sympy.functions.special.hyperr   "sympy.matrices.expressions.matexprr   sympy.simplify.powsimpr   r   sympy.simplify.simplifyr   r   r   	sympy.abcr   r   r   r   r   rP   rU   r]   rb   rg   rm   rq   rw   r~   r   r   r   r   r   r   r   r   r   ra   rB   r@   <module>r      s   ( ( ( ( ( (       7 7 7 7 7 7 7 7 7 7 7 7 7 7 " " " " " " 6 6 6 6 6 6 6 6 6 6 = = = = = = = = A A A A A A A A 8 8 8 8 8 8 9 9 9 9 9 9 / / / / / / ; ; ; ; ; ; 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 ! ! ! ! ! ! # # # # # # # # # # # # # #h* h* h*V   D D D:5 5 5++ ++ ++\B B B# # #$ $ $    4; ; ;:a a a
8 
8 
8+ + +
? ? ?
H H H$ $ $% % % % %rB   