
    sgeI                        d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZmZ d dlmZ d d	lmZmZ d d
lmZmZ 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&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l0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAd ZBd ZCd ZDd ZEd  ZFd! ZGd" ZHd# ZId$ ZJd% ZKd& ZLd' ZMd( ZNd) ZOd* ZPd+ ZQd, ZRd- ZSy.)/    )Add)
DerivativeFunctiondiff)Mul)IRational)Pow)S)SymbolWildsymbols)Abs)explog)rootsqrt)cossin)factor)O)collectcollect_constfractionradsimprcollect)	unchanged)_unevaluated_Mul)_unevaluated_Addcollect_sqrtfraction_expandcollect_abs)raises)xyzabcdc            
      "+   t        d      } t        d      }t        d      }t        d      }t        t        d| z              t        d      dfk(  sJ t        dd| z   z        dt        d      z   k(  sJ t        d| |z   z        t        d       t        d      z   k(  sJ t        t        dd| z   |z   z              t        d       t        d      z   dz   dfk(  sJ t        t        d| |z   |z   z              t        d	       dt        d      z  z   dt        d      z  z   d
fk(  sJ t        t        dd| z   |z   |z   z              dt        d      z  dt        d      z  z
  dt        d      z  z
  dt        d      z  z
  dt        d	      z  z   dz   dt        d      z  z   dt        d      z  z   dfk(  sJ t        t        d| |z   |z   |z   z              dt        d      z  dt        d      z  z
  dt        d      z  z
  dt        d      z  z
  dt        d      z  z   dt        d      z  z   dt        d	      z  z   d t        d      z  z   d!fk(  sJ t        dd| dz  z   |dz  z   |z   |z   z        }t        d"|z  j                        d#k(  sJ t        d|z        d|z  k(  sJ t        d|z  d$%      j                         d| dz  z   |dz  z   |z   |z   k(  sJ t        d| dz  z        t        d      dz  k(  sJ t        d| t        z  |z   |z   |z   z        d&t        d      z  t        dz  z  d&t        d      z  t        dz  z  z
  d&t        d      z  t        dz  z  z
  d&t        d      z  t        dz  z  z
  d't        d      z  t        dz  z  z
  d&t        d	      z  t        dz  z  z   d&t        d      z  t        dz  z  z   d&t        d      z  t        dz  z  z   d(t        d      z  t        dz  z  z
  d)t        d      z  t        dz  z  z   d*t        d      z  t        dz  z  z   d+t        d      z  t        dz  z  z   d,t        d      z  t        dz  z  z
  d-t        d      z  t        dz  z  z
  d&t        d	      z  t        dz  z  z
  d.t        d      z  t        dz  z  z   d/t        d      z  t        dz  z  z
  d0t        d      z  t        dz  z  z
  d1t        d      z  t        dz  z  z
  d2t        d      z  t        dz  z  z   d3t        d      z  t        z  z
  dt        d	      z  t        z  z
  d4t        d      z  t        z  z   d5t        d      z  t        z  z   d6t        d      z  z
  d7t        d      z  z   d8t        d      z  z   d9t        d      z  z   d#t        d&z  z  d:t        dz  z  z
  d;t        dz  z  z   d<t        dz  z  z
  d=z   z  k(  sJ t        d| t        z  | t        z  z   |z   |z   z        t        d      t        z  t        t        z   dz  z  dt        d      z  t        z  z
  t        d      t        z  z   t        d      t        z  t        t        z   dz  z  z   dt        d      z  t        z  z
  t        d      t        z  z   t        d      t        t        z   dz  z  z
  t        d      t        t        z   dz  z  z
  dt        d      z  z
  dt        d      z  z   dt        dz  z  d&t        dz  z  t        z  z   d
t        dz  z  t        dz  z  z   d$t        dz  z  z
  d&t        z  t        dz  z  z   d-t        z  t        z  z
  dt        dz  z  z   d$t        dz  z  z
  d&z   z  k(  sJ t        d| t        z  | t        z  z   | t        z  z   | t        z  z   z        t        d      dt        z  dt        z  z   dt        z  z   dt        z  z   z  k(  sJ t        dd| t        z  z   | t        z  z   | t        z  z   | t        z  z   z        t        d      t        z  t        d      t        z  z   t        d      t        z  z   t        d      t        z  z   dz
  dt        dz  z  dt        z  t        z  z   dt        z  t        z  z   dt        z  t        z  z   dt        dz  z  z   dt        z  t        z  z   dt        z  t        z  z   dt        dz  z  z   dt        z  t        z  z   dt        dz  z  z   dz
  z  k(  sJ t        t        dz  t        z
  t        t        t              z
  z        t        t              t        z   k(  sJ t        t        dz  t        z
   t        t        t              z
  z        t        t              t        z    k(  sJ t        ddt        z
  t        t        z  z   z        t         t        z  dz   t        z   t        dz  dt        z  z
  dz   z  k(  sJ t        dt         t        z   t        t        t              z
  z  z        t         t        t              z
  t        t        z
  t        dz  t        z
  z  z  k(  sJ ddt        d      z  z   t        z  dt        z  dt        t              z  z
  z  }t        |      t        ddt        d      z  z   z  dt        z  dt        t              z  z
  z  k(  sJ t        d|z        d>t        z  d?t        d      z  t        z  z   d?t        t              z  z
  d?t        d      z  t        t              z  z   d?t        z  d?t        dz  z  d?t        z  z
  z  z  k(  sJ t        dddt        d      z   z  z         t        t        j                  dt        d      z   d@A      dz   k(  sJ t!        dBd@C      }t        t        dz  t        d      t        dz  z  z   t        d      t        z  |z  z
        t        dz  t        d      t        dz  z  z   t        d      t        z  |z  z
  k(  sJ t        dt        ddt        d      z  z         z        t        d       t        d      z   k(  sJ t        dt        ddt        d      z  z         dz  z        t        d       t        d      z   dz   k(  sJ t        t        dt        t              z              t        t              t        fk(  sJ t        t        dt        dt        z  dz         z              t        dt        z  dz         dt        z  dz   fk(  sJ t        t        dt        dt        dz   z        z              t        dt        z  dz         dt        z  dz   fk(  sJ t        dD      }t        |      j                         dEdt#        dd      z  z  ddt#        dd      z  z  z
  dz   dt        d      z  z   k(  sJ t        dt        d       dz  t        j                  z
  t        d       dz  t        j                  z
  dz  z   z        dk(  sJ dFt        d      z  t        t        d      dz         z  t        d&t        d      z  d-z         z  dGt        d      z  t        dHt        d      z  d-z         z  t        t        d       dz         z  z
  d2t        d      z  t        dHt        d      z  d-z         z  t        t        d       dz         z  z
  d2t        d      z  t        t        d       dz         z  t        d&t        d      z  d-z         z  z   d2t        d      z  t        dHt        d      z  d-z         z  t        t        d      dz         z  z   d2t        d      z  t        t        d       dz         z  t        d&t        d      z  d-z         z  z   d2t        d      z  t        dHt        d      z  d-z         z  t        t        d      dz         z  z   dIdJt        d      z  z
  d
t        d      z  t        t        d      dz         z  d(t        d      z  t        t        d       dz         z  z   dz  z   z  }t        |      t        j$                  u sJ dt        t        d      dz  dt        d      z  z   dt        d      z  z   dt        d      z  z         z  dz   }t        |      t        t        d      dt        d      z  z   dKt        d      z  z   dLt        d      z  z          dMt        dL      z  dNt        dO      z  z
  dPt        d      z  z
  dQt        d      z  z
  dRt        d      z  z   dSz   dTt        d      z  z   dUt        dK      z  z   z  dVz  dz   k(  sJ t        d      t        d      z
  }t        d|dz  z        t        d      t        d      z   dz  k(  sJ t        d| dz  z        t        d      t        d      z   dz   k(  sJ t        d| t        z  z        | t         z  k(  sJ t        d|t        z  z        t        d      t        d      z   t        z  k(  sJ t        t'        ddt        d      z
  z  t                     ddt        z  z  dt        d      z   dt        z  z  z  k(  sJ t)        ddt        d      z   z        }t        |      t)        t        d       dz         k(  sJ t        |dz        t)        t        d       dz         dz  k(  sJ t        d|z        dt)        t        d       dz         z  k(  sJ t        d|z        dt)        t        d       dz         z  k(  sJ t        t        |t        t              z              t        t              t)        t        d       dz         z  t        fk(  sJ dt        d      z   }	t        t        |	z  d@W      t         t        d       dz   z  k(  sJ t        t        t        |	z   z  d@W      t        t        dz   t        d      z   z  k(  sJ t        t        t        |	z   z  |	z  d@W      t         t        d       dz   z  t        dz   t        d      z   z  k(  sJ t        t              t        t              z  }t        |      t+        t        t              t        t              dt        z        k(  sJ t        |d@W      |k(  sJ t        t        t              t        t              dz  z        t+        t        t              t        t        dz        dt        dz  z        k(  sJ t        t              t        dz  z  }t        |      |k(  sJ y )XN                           i
         7   =      ]   .   5   G   i*      "   F         i      >         l   N>A      )	max_terms         T   d   t   H   (   i  i  i.     x   i  R   b   v   ;   i'  i  i  i8  i  i  i	   FevaluateAcommutativezE-(2 + 2*sqrt(2) + 4*2**(1/4))/(1 + 2**(3/4) + 3*2**(1/4) + 3*sqrt(2))iih  ii`si      #   i)Ni    i i i iW ivs iW~ iM)symbolic)r   r   r   lenargsexpandr'   r(   r)   r*   r%   r$   r   r   r   Halfr   r	   NaNr   r   umul)
r2r3r5r7r&   er_   eqbasers
             T/var/www/html/venv/lib/python3.12/site-packages/sympy/simplify/tests/test_radsimp.pytest_radsimprv      s   	aB	aB	aB	aBGAbDM"tAwl2221a"f:
T!W  1b2g;	a47  GAq2v{O,-
q'DG	a	#$ $ $GArBw|,-.
r(QtAwY	47	*B/0 0 0GAq2v{R/012	T"X48	#baj	02d1g:	=48	K

QZ
T!W*
%&(	*+ + + GArBw|b0123	T"XDG	#bbk	1CQK	?"T#Y,	N
d1g+
48
$&)$q'k
236	89 9 9 	1r!t8bd?R'",-.A&q(../25551Q3<1Q31Q3"%,,.!bd(RT/B2F2KKKK1bd8Q	  1bdRi"nr)*+	
471a4!DG)AqD.	(1T!W9QT>	9Ad1gIadN	JDGAqD
T"X:ad?
+-.tBxZ1_
=?@bz!Q$
O
T#Y,q!t

 ajAo
.03DGAqD0@
A 	DGAqD
 d2h;q!t+
, /1bk!Q$.>
? 	
$r(
1a4	
 d1g+ad*	
+ .1a[A-=	
>
 	DGAqD

 tAw;q!t+
,
 /2$s)mAqD.@
A 	DGA
 48A
& )+48A
6 9;48A
F 	DI
 47

# &)a[
1 47tAw;
? BDAqDAqDB19B#AqDyB)+/B0	1	2 	2 	2 1bdRTkB&+,-	aAEA:	$q'	!	+d2hqj	84719a	G
F < 
$q'	!
"2hqj
)+/7AEA:+=
>@DQ	J
I A
$q'	
d1gI
&()!Q$1a4(9Bq!tGAqDL(H
1a4)A#ad()T!V)$&'1f)-/1!Q$w)79:);	<= = =
 1bdRTkBqD(2a4/01Q1qsQqS1Q3&'( ( (1a"Q$hAo1,r!t345	aT!WQY	a	*T!WQY	6	:Qq!tVac!e^	!A>!A>!Q$>!"1Q>')*1Q>/121a4>8:;A#a%>@BCAqD&>IKL>M 	NO O O AqD1Hq47{+,Q!  QTAX;DG,-
q'A+  1a!eack?#
AA1qs
Q'( ( (1rAvDG,-.
d1gQA*+, , ,	
QtAwY1Q347?+A1:A$q'	M*AaC!DG)O<<<<1Q3<	A$q'	!	aQi	'!DG)DG*;	;ac1QT6	!D ? 	   1q!d1g+&'AFFBaL51A56 6 6'A1a4$q'!Q$,&a145	1tAwq!t|d1gaik)* * *1T!a$q'k/**+Qx$q'/AAAA1T!a$q'k/*A--.T!WHtAw4F3J2JJJJ GAd1gI&'DGQ<777GAd1Q37mO,-$qsQw-1q1IIIIGAd1a!e9o-./D1qM1Q373KKKK 	
 2 	3A1:"QA%6"61hq!n;L9L"Lq"PSTUYZ[U\S\"\\\\ 1tAwhqj166)d1gXaZ!&&-@1,DDEF!KKK 
d1gd47Q;'	'QtAwY^(<	<DGDDGb))$Qx!|*<<
=DHT"T!W*r/**4a1+==
> 	DGD$q'A&&tAd1gIN';;
< 	DGDDGb))$tAw{*;;	
<
 	DHT47(Q,''QtAwY^(<<
= 	DHT"T!W*r/**4Q!+<<
= @FT!W@48Da1$55
48D$q'A&&')*+@+	,  2;!%% 	
$tAwqy1T!W9$qay01T!W9<
==AA1:	d1g47
"RQZ/
47
 
 	tBx''$s)*;;gd2h>NN
$r(
$T!W_-/679@b9IJR	 %	% ()	)* * * 7T!WD1T1W9$q'DG"3a!77771teaZ< d1gQ&7!%;$;;;;1teaZ< dUqbM1111T1W9$q'DG"3a!777742Q<(1"-.2A,DGqQRs?S2SSSS 	Aq47{OA1:d1gX\****1Q3<3Qx!|,Q....1Q3<1S$q'A.....1Q3<1S$q'A.....GAd1gI&'DGCa
O,CQ+GGGG 	
DGA1Q3'A2Qx!|+<<<<1a!e9u-AEDGO1DDDD1a!e9Q;/	
T!WHqL1q547?+, , , 
aaB2;$tAwQ155552&",,, 4747A:%&$tAwQT
AadF*KKKK 
aAB2;"    c                     t        dd      \  } }t        | dz  |dz  z
        }| t        |z  z   |z
  | t        |z  z   |z   z  }t        |      t         | t        |z  z   t        | dz  |dz  z
        z
  dz  z  d| z  |z  z  k(  sJ y )Nzc pTpositiver,   )r   r   r   r   )r)   psr(   s       ru   test_radsimp_issue_3214r}      s    54(DAqQTAqD[A	
QqS1q1Q3w{#A1:!Q1WtAqD1a4K'881<<ac!eDDDDrw   c                     t        d      \  } }}}t        d|       dk(  sJ t        | || z  z   |       | d|z   z  k(  sJ t        | | dz  z   |       | | dz  z   k(  sJ t        | dz  || dz  z  z   |       | dz  d|z   z  k(  sJ t        | dz  || z  z   |       | |z  | dz  z   k(  sJ t        d| dz  z  || dz  z  z   d| z  |z  z   | g      | dz  d|z   z  d| z  |z  z   k(  sJ t        d| dz  z  || dz  z  z   d| z  |z  z   |g      d| dz  z  || dz  d| z  z   z  z   k(  sJ t        d|z   | z   dz  j                         |       d|z   dz  j                         | dd|z   dz  z  j                         z  z   | dz  dd|z   dz  z  j                         z  z   | dz  dd|z   z  j                         z  z   | dz  z   k(  sJ | |z   }t        ||j                        |k(  sJ t        | t	        |       z  t        |       |z  z   t        |       dz  z   d| z  z   | d      | t	        |       z  d| z  z   |dz   t        |       z  z   k(  sJ t        | t	        |       z  t        |       |z  z   t        |       dz  z   d| z  z   || z  z   || z  t	        |       z  z   | d      | t	        |       z  |dz   z  d|z   | z  z   |dz   t        |       z  z   k(  sJ y)	zCollect with respect to Symbolx,y,z,nr0   r,   r-   r3   r2   Nexact)r   r   ri   free_symbolsr   r   )r$   r%   r&   nexprs        ru   test_collect_1r      sX   #JAq!Q1a=AA!GQ AQK///A1Ha!QAX---AqD1QT6M1&1a4!a%.888AqD1Q3J#qsQTz111AadFQq!tVOac!e+aS2adAElQqSU6JJJJAadFQq!tVOac!e+aS2a1fq!Q$1*~6MMMMa!eai!^++-q1q1uqj5H5H5J	1a!eaZ<


!!6"$%qD!QUQJ,)>)>)@$@6A	1aQi!!6"$%qD6) ) ) ) q5D4**+t3331SV8c!fQh&Q1AaC7$ 
s1vX!^q1uc!fn,- - -1SV8c!fQh&Q1AaC7!A#=	!CF
T
s1vXq1uQ	)QUCFN:; ; ;rw   c                  
   t        d      \  } }}t        | t        |      t        |      z   z  |t        |      t        |      z   z  z   t        |      t        |      z         | |z   t        |      t        |      z   z  k(  sJ y)zCollect with respect to a sumza,b,xN)r   r   r   r   )r'   r(   r$   s      ru   test_collect_2r      sy    gGAq!1c!fs1vo&CFSVO)<<AQUSVc!f_56 6 6rw   c                     t        d      \  } }}t        d      }t        d      \  }}}}t        | dz  ||z  z   |       ||t        dd      z
  z  k(  sJ t        d||dz  z  z   ||z        d||dz  z  z   k(  sJ t        ||z  | |z  |z  z   ||z        ||z  d| z   z  k(  sJ t        d||z  z   | |z  |z  z   ||z        d||z  d| z   z  z   k(  sJ t        | |z   ||      z  || ||      z  z  z   | ||      z        || |z   z   ||      z  k(  sJ t        | |z  t	        |      z  ||t	        |      z  z  z   |t	        |      z        || |z   z  t	        |      z  k(  sJ t        | |dz  z  t	        |      dz  z  ||t	        |      z  dz  z  z   |t	        |      z        |dz  t	        |      dz  z  | |z   z  k(  sJ t        ||z  |z  | |z  |z  |z  z   ||z  |z        d| z   |z  |z  |z  k(  sJ y)z!Collect with respect to a productza,b,cfr   rN   r0   r,   N)r   r   r   r	   r   )r'   r(   r)   r   r$   r%   r&   r   s           ru   test_collect_3r      sH   gGAq!A#JAq!QA2a4!A#:r"aXa^);&<<<<A1a4L!A#'1q!Q$x<777AaC!A#a%K1%1a!e444A!Gac!eOQqS)Q1a!e_<<<1Q3qt8a1Q4j(!AaD&1QAYqt^CCC1Q3s1v:1SV8,aAh71a!e9SV;KKKK1QT6#a&!)#a3q6Ao5qQx@	1SVQYA   1Q3q51Q3q57?AaCE*q1uaik!m;;;rw   c                      t        d      \  } }}}t        | ||z  z  |||z  z  z   ||z        ||z  | |z   z  k(  sJ t        | |d|z  z  z  ||d|z  z  z  z   ||z        |d|z  z  | |z   z  k(  sJ y)zCollect with respect to a powerza,b,c,xr,   Nr   r   )r'   r(   r)   r$   s       ru   test_collect_4r      s    #JAq!Q1QT6AadF?AqD)QT1q5\9991Q1X:!ac(
*AqD1Q1Xq1u5EEEErw   c                     t        d      \  } }}}}t        |dz  |dz  z  |||dz  z  dz  z  z   |z   | |z  z   ||dz  z  |g      |d| z   |dz  |dz  z  z   z  |dz  |dz  z  z   |d| z   z  |dz  |dz  z  d|z   z  z   fv sJ t        d||z   z   ||z   dz  z   j                         ||g      d|z   |dd|z  z   z  z   |dz  z   |dz  z   k(  sJ y)zCollect with respect to a tuplez	a,x,y,z,nr,   r3   r0   N)r   r   ri   )r'   r$   r%   r&   r   s        ru   test_collect_5r      s0   K(MAq!Q1a419q!AqD&1},q01Q361a4D	1q51a4191QT	)	1q5	AqDAIq1u%%I( ( ( ( AQK1q51*,446q6!eaQqSk1AqD81a4?@ @ @rw   c                  v    t        d      } t        | dz  | dz  dz   z  | dz  d      | dz     | dz  dz   k(  sJ y)z-Unevaluated collect with respect to a productr'   r,   r0   Fr]   Nr   )r'   s    ru   test_collect_pr19431r      sG    A1a4A?AqD59!Q$?AqD1HMMMrw   c            	         t         } t        d      }t        d      \  }}} |  ||      |      } |  ||      ||      }t        ||z  ||z  z   |      ||z   |z  k(  sJ t        | | ||      z  | | ||      z  z   |      ||z    | ||      z  k(  sJ t        ||z  ||z  z   |      ||z    | ||      z  k(  sJ t        d ||      z  d|z  z   |      d ||      z  d|z  z   k(  sJ t         ||       ||      t	         ||      |      z  z   |t	         ||      |      z   ||      z  z    ||      j	                  |            | ||      z   ||      z    |  ||      |      z   ||      z   k(  sJ t         ||       ||      t	         ||      |      z  z   |t	         ||      |      z   ||      z  z    ||      j	                  |      d      | ||      z   ||      z    |  ||      |      z   ||      z   k(  sJ t        d ||      z  d ||      z  t	         ||      |      z  z   |t	         ||      |      z   ||      z  z    ||      j	                  |      d      d ||      z  | ||      z  z    |  ||      |      z  d ||      z  z   k(  sJ d||z  z   |z    ||      z  }t        |j                         |      || ||      z  d ||      z  z   z  d ||      z  z   k(  sJ y )Nr   x,a,br.   r-   Tr   r0   )r   r   r   r   r   ri   )Dr   r$   r'   r(   fxfxxrq   s           ru   test_collect_Dr      s   AAgGAq!	
1Q4B
AaD!Q-C1R4!B$;#Arz1111Qr1X:!B(
*B/AE1R83CCCC1S51S5="%!a%2q)99991QqT6AbD="%1Q4!B$6661Q4!A$tAaD!},,qadAqt/CCQqTYYq\R	
1Q4!A$!A$
"QqT)* * *1Q4!A$tAaD!},,qadAqt/CCQqTYYq\Y]^	
1Q4!A$!A$
"QqT)* * *1QqT6AadF4!a=001T!A$]?1Q43GG1ST]ab	
1Q4!AaD&!AaD!*$q1v-. . .	
QrTB!A188:r"b!AaD&1QqT6/&:QqtV&CCCCrw   c                     t         t        z   dz   dz  j                         } t        | t               t        dz  dt        dz  z  z   dt        z  z   t         dz  z   t         dz  dt        z  dz   z  z   t         dt        dz  z  dt        z  z   dz   z  z   dz   k(  sJ t        | t         t              t         dz  dt         dz  z  t        dz   z  z   dt         z  t        dz   dz  z  z   t        dz   dz  z   k(  sJ t        | t         d      t
        j                  t        dz  dt        dz  z  z   dt        z  z   dz   t         dt        dz  z  dt        z  z   dz   t         dz  dt        z  dz   t         dz  dik(  sJ t        | t         t        d      t
        j                  t        dz   dz  t         dt        dz   dz  z  t         dz  t        t        d      t        dz         t         dz  dik(  sJ y )Nr0   r-   r,   r2   Fr]   )r$   r'   ri   r   r   r   Onerl   )r   s    ru   test_collect_funcr     s   
a%!)a!A1a=AqD1QT6MAaC/!Q$6AqsQwG	1QT6AaC<! ! ! ! !1a AqD1QT61q5>$9AaCQ
N$J	
Q
%    1a%(	q!ta1f}qs"Q&	1QT6AaC<!QT1Q37	1a-    1a%0	Az1aQ
l	1d1Q4QAq5* * * *rw   c                     t        d      \  } }}}t        |||z  z   ||dz  z  z   t        |dz        z   |      |d|z   |dz  z   t        |dz        z   z  k(  sJ t        |||z  z   |dz  z   t        |dz        z   |      |d|z   t        |dz        z   z  |dz  z   t        |dz        z   k(  sJ | |z  ||z  z   t        |dz  z  z   t        |dz  z  z   t        |dz        z   }|| |z   z  |dz  t        t        z   z  z   t        |dz        z   }t        ||      |k(  sJ t        ||d      |k(  sJ t        | |z         j                  |dd      }t        |t        |       t        |       g      t        |       t        |      j                  |dd      z  t        |       t        |      j                  |dd      z  z   k(  sJ t        |t        |       t        |       gd      t        |       t        |      j                  |dd      j                         z  t        |       t        |      j                  |dd      j                         z  z   t        |dz        z   k(  sJ y )	Nza,b,x,tr,   r-   r0   F)distribute_order_termr   r6   )	r   r   r   r)   r*   r   seriesr   removeO)r'   r(   r$   tr   gs         ru   test_collect_orderr      sg   #JAq!Q1qs7Qq!tV#a1g-q1QA1qAw8N5OOOO1qs7QT>AadG+Q/	1q51QT7?ad"Qq!tW,- - - 	
!ac	AadFQq!tV#a1g-A	1q5	AqD!a%L 1QT7*A1a=A1au5:::AE
!Q#A1s1vs1v&'As1v}}Q2&&QAaB0G)GGH H H1s1vs1v&eDAs1v}}Q2&..00As1v}}Q2&..00	134QU8	<< < <rw   c                     t        t        dz  t        z  t        t        z  z   t        z   t        z   t        t        z   z  t              t        t        dt        z   t        dz  z   z  z   t        t        z   z  k(  sJ t        t        t        dz   t        dz   z         t              t        t        dz   t        dz   z         k(  sJ y )Nr,   r0   )r   r$   r%   r   r&    rw   ru   test_rcollectr   6  s    QT!Vac\A%)AE2A6	
QA1	A&' ' 'DAEAE?+,a0DAEAE?9K4LLLLrw   c                      t         } t        d      }t        d      \  }}} |  ||      ||      }t        ||z  ||z  z   |      ||z   |z  k(  sJ y )Nr   r   )r   r   r   r   )r   r   r$   r'   r(   r   s         ru   test_collect_D_0r   <  sZ    AAgGAq!
AaD!Q-C1S51S5=#&1q5#+555rw   c                  T   t        d      \  } }}}t        d      }t        d      }t        d      }t         ||      |  ||      z  z    ||            d| z    ||      z  k(  sJ t         |||      |  |||      z  z    ||             |||      |  |||      z  z   k(  sJ t         |||      |  |||      z  z    |||            d| z    |||      z  k(  sJ t         |||      |  |||      z  z    |||             |||      |  |||      z  z   k(  sJ t         |||      |  |||      z  z    |||            d| z    |||      z  k(  sJ t        | |dz   |z  z  |dz   |z  z   ||z        d| z   |dz   |z  z  k(  sJ t        | |dz   |z  z  |dz   |z  z   ||z        | |dz   |z  z  |dz   |z  z   k(  sJ t        | |dz   |z  z  |dz   |z  z   |dz   |z        d| z   |dz   |z  z  k(  sJ t        | |dz   |z  z  |dz   |z  z   ||z        d| z   |dz   |z  z  k(  sJ y)z4Collect with respect to functions with Wild argumentza b x yr   z.1z.2r0   N)r   r   r   r   )r'   r(   r$   r%   r   w1w2s          ru   test_collect_Wildr   E  s   #JAq!QA	dB	dB1Q4!AaD&=!B%(QUAaDL8881Q7QqAwY&".!Aq'Aa1gI2EEEE1Q7QqAwY&"b	2q1ua1goEEE1Q7QqAwY&"b	2a1g!Aq'	6IIII1Q7QqAwY&"b	2q1ua1goEEE1a!eaZ<1q51*,b!e4QQ
8JJJJ1a!eaZ<1q51*,b!e4	1q51*Az!" " "1a!eaZ<1q51*,q1urk:	
QQ
  1a!eaZ<1q51*,b"f5!a%!a%!9KKKKrw   c            	         t        dt        d      z  dt        z  t        d      z  z         ddt        d      z  t        z  t        d      z   z  k(  sJ t        dt        d      z  dt        z  t        d      z  z   t        d            dt        d      z  dt        z  t        d      z  z   k(  sJ t        t        d      dt        d      z   z  t        d      z   t        t        d      z  z         t        d      t        dz   t        d      z   z  t        d      z   k(  sJ t        dt        z  dt        z  z   dz   d      t        dt        z  dt        z  z   dz         cxk(  r7t        t        j                  t        dt        t        z   d      d      k(  sJ  J t        t         t        z
        t        dt        t        z   d      k(  sJ t        dt        z  dt        z  z
  dt        z  z
  d      t        dt        t        z
  t        z
  d      k(  sJ t        dt        z  dt        z  z
  dt        z  z
  d	      t        dt        z  t        d	t        t        z   d            k(  sJ t        d
dt        d      z  z         t        z  t        dt        d      z         t        z  z   dz  } t        | dz         dt        t        d      dz         z  t        d      t        z  t        z   z  dz   k(  sJ t        t        t        z   t        dz  z   t        dz  z         t        t        z   t        t        j                  t        t        z   d      z   k(  sJ y )Nr,   r-   r3   r.   r0   Fr]   r1   rb   r8   )r   r   r'   r$   r%   r   r   r   r   r&   r   r    r(   rj   rr   s    ru   test_collect_constr   X  s   47QqSa[01	1T!W9Q;a !" " "47QqSa[0$q':	$q'	AaCQK     a!d1g+.a81T!W9DEQQa!DG+, , , 1qsQ*acAaCi!m$BAEE3q!a%%05AB B B B B !a CAEE$BBBB1qsQqS!,Aq1uqy5)* * *1qsQqS"-1c"a!ee<=> > > rAd1gI~
q
 4DG#4Q#6
6	9BQ	$tAw{
T!WQY]+a/0 0 0 Q1qs*+q1us1661q5SX7Y/YYYYrw   c                  P   t        d      }  | t              j                  t              } | t              |z    | t              |z  z   }t        |t	        d             | t              |dz   z  |z   k(  sJ  | t               | t              |z  z   t        |z   | t              z  z   }t        ||      t         | t              z   | t              z   |z   | t              z   k(  sJ t        | | t                    t        |z  |z   dz    | t              z  k(  sJ  | t              |z    | t              |z  z   }t        | | t              |g       | t              d|z   z  |z   k(  sJ t        || | t              g      |d | t              z   z   | t              z   k(  sJ y )Nr   wr0   )r   r$   r   r   r   )r   r   rq   s      ru   test_issue_13143r   t  s`   A	
11B	!r	AaDGA1d3i AaD"q&MB$6666	!qtBw2ad"A1b>a!fqtmR/!A$66661ad"r	Aqt3333	!r	AaDGA1qtRj!QqT1r6]R%77771r1Q4j!RQqT]QqT%9999rw   c                  x   t        t        t        dt        z  z  z  t        t        dt        z  z  z  z   t        t        z        t        t        z   t        t        z  dz  z  k(  sJ t        t        ddt        z  z  z  t        ddt        z  z  z  z   dt        z        t        t        z   dt        z  dz  z  k(  sJ y )Ng       @r,   )r   r'   r%   r$   r(   r   rw   ru   test_issue_6097r     s    1QQZ<!AAJ,.15!a%!Q$9LLLL1QQZ<!AAJ,.15!a%!Q$9LLLLrw   c                     t         t        z   t        z  t         z  } | j                  d      t        |       cxk(  r"t         t        z  t        dz  z   t         z  k(  sJ  J | j                         t        t        dz  t         z  z   k(  sJ y )NT)fracr,   )r$   r%   ri   r!   r   s    ru   test_fraction_expandr     sl    
a%1B99$9?2#6H1Q3A:q.HHHHH99;!ad1f*$$$rw   c                  |   t        t        d      \  } }}t        dd      }t        t        j                        dk(  sJ t        |       | dfk(  sJ t        d| z        d| fk(  sJ t        | |z        | |fk(  sJ t        | dz        | dfk(  sJ t        | |z  |z        | |z  |fk(  sJ t        | ||z  z        | ||z  fk(  sJ t        d|dz  z        d|dz  fk(  sJ t        | |dz  z        | |dz  fk(  sJ t        | dz  dz   |z        | dz  dz   |fk(  sJ t        | |dz   z  |dz  z        | |dz   z  |dz  fk(  sJ t        t        |        d	
      t        |        dfk(  sJ t        d| |z   z  dz  d	
      dt        d| |z   d      fk(  sJ t        | |z  |z        | |z  |fk(  sJ t        | |dz  z  |z        | |dz  z  |fk(  sJ t        dd	      }t        t        |            dt        |       fk(  sJ t        t        |             t        |       dfk(  sJ t        dd	      }t        t        |       t        |      z  d	
      t        |       t        |      z  dfk(  sJ t        ddt        j                  d      }t        |      dk(  sJ t        |d	
      t        ddd      dfk(  sJ t        ddt        j                  t        j                  t        ddd      d      }t        |      dk(  sJ t        |d	
      t        ddd      t        dddd      fk(  sJ y )Nxyzr_   Fr`   )r0   r,   r0   r,   r/   Tr   r]   r1   r   )negativer{   ry   )r0   r3   )
mapr   r   r   rj   r   r   r   r   r
   )r$   r%   r&   r_   r   r{   ms          ru   test_fractionr     st   &% GAq!s&AAFFv%%%A;1a&   AaC=QF"""AaC=QF"""AaC=QF"""AaCE?qsAh&&&AqsGAaC(((AadF1a4y(((AadF1a4y(((QTAXqL!adQh]222Aq1uIadN#1q5	1a4'8888CG4(S!WaL888QAYM.1c!QUe6T2UUUUAaCE?qsAh&&&AaeGAI1QU7A,...d#ACF3r7|+++CGaR!,,,d#ACGCFN$/CGCFNA3FFFFAq!&&5)AA;&   AT"s1a%'@!&DDDDAq!&&!&&#ae"<uMAA;&   AT"A&Aq!e(DEF F Frw   c                      t        d      \  } }}}}|dz  |z  || dz  z  z   |z  j                         }t        || dz  |z  |g      |k(  sJ y )NzaA Re a b Dr-   )r   ri   r   )aARer'   r(   r   rq   s         ru   test_issue_5615r     s_    m,OBAq!
Q$q&1RU7
B	&&(A1r1uRxm$)))rw   c                      ddl m} m} ddlm}  |  |ddd      j
                   j                  j                  }t         ||      j                               dkD  sJ t         |t        |                  dkD  sJ y )Nr   )PolygonRegularPolygon)denom)r   r   r0   r.   g-q=)sympy.geometry.polygonr   r   sympy.simplify.radsimpr   verticescentroidr$   absr   r   )r   r   r   r$   s       ru   test_issue_5933r     sf    @,1-667@@BBAuQxzz|u$$$uWQZ !E)))rw   c                  :   t        dd      \  t        d      \  } }t        t        fd       t        | |z  || dz   z  z         | |z  || dz   z  z   k(  sJ t        | |z  || dz   z  z   z  z   z  z   |      |d| z  dz   z  z  z   z  z   k(  sJ y )Nza bFr`   zx yc                  .    t         z   z  z          S )N)r   )r'   r(   s   ru   <lambda>z"test_issue_14608.<locals>.<lambda>  s    71Q319a#8 rw   r0   r,   )r   r#   AttributeErrorr   )r$   r%   r'   r(   s     @@ru   test_issue_14608r     s    5e,DAq5>DAq
>891Q3AaC=!$!a1g5551Q3AaC=1Q3&1,a0AqsQwK!A#4E!4KKKKrw   c            	      Z   t        t              t        t              z   } t        |       | k(  sJ t	        t
        t        t              t        t                    sJ t        t        t        z        }t        |t              sJ t        t        t              t        t              z        |k(  sJ t        dt        t        t              t        t              z        z         dt        |      z   k(  sJ t        dd      }t        |t        d|z
        z        j                  du sJ y )Nr0   r{   Try   )r   r$   r%   r"   r   r   r   
isinstancer   r   is_commutative)r|   ansr{   s      ru   test_collect_absr     s    AQAq>QS#a&#a&)))
ac(Cc3s1vc!f}%,,,q3s1vc!f}--.!c#h,>>> 	sT"AqQqSz"11T999rw   c                  j    t        dt        z  dz        } t        | t        t                    | k(  sJ y )Nr-   r3   )r   r$   r   r   s    ru   test_issue_19149r     s,    	QqSUB2s1v"$$$rw   c                      t        d      \  } }| dz  |dz   z  dd|z  z   | z  z   }t        || dz  d| z  fd      }|| dz  |dz   d| z  dd|z  z   ik(  sJ y )Nza, br,   r0   r/   Fr]   r   )r'   r(   r   	collecteds       ru   test_issue_19719r     sv    6?DAqa41q5>Q1WaK'Dq!tQqSkE:IAq1uac1qs73333rw   c                     t        dt        t        t        dz        z   z        dt        t        t        dz        z   z  k(  sJ t        dt        t        t        dz        z
  z        dt        t        t        dz        z
  z  k(  sJ y )Nr0   r,   )r   r$   r   r   rw   ru   test_issue_21355r     sl    1a$q!t*n%&!Qad^*<<<<1a$q!t*n%&!Qad^*<<<<rw   N)Tsympy.core.addr   sympy.core.functionr   r   r   sympy.core.mulr   sympy.core.numbersr   r	   sympy.core.powerr
   sympy.core.singletonr   sympy.core.symbolr   r   r   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   r   (sympy.functions.elementary.trigonometricr   r   sympy.polys.polytoolsr   sympy.series.orderr   r   r   r   r   r   r   sympy.core.exprr   r   rl   r   r    r!   r"   sympy.testing.pytestr#   	sympy.abcr$   r%   r&   r'   r(   r)   r*   rv   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rw   ru   <module>r      s     < <  ,   " 5 5 4 = A ? (   X X % 30 0 ' ) ) )GTE;06<*F@ND,*&<,M6L&Z8:M
%(FV**L:%4=rw   