+
    hMJ                        R t ^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHt ^ RIHtHtHt ^ RIHt ^ R	IHtHtHt ^ R
IHtHt ^ RIHtHt ^ RIHtH t  ^ RI!H"t" ^ RI#H$t$ ^ RI%H&t& ^ RI'H(t( ^ RI)H*t* ^ RI+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4 ^ RIH5t5 ^ RI6H7t7 ^ RI8H9t9 ^ RI:H;t;H<t<H=t=H>t>H?t?H@t@ R tAR tBR tCR tDR tER tFR tGR tHR tIR  tJR! tKR" tLR# tMR$# )%zCTests for tools for manipulating of large commutative expressions. )Sum)Add)Basic)DictTuple)Function)Mul)IRationaloo)S)DummySymbolsymbols)explog)rootsqrt)cossin)Integral)O)Interval)collect)simplify)	decompose_powerFactorsTerm
_gcd_terms	gcd_termsfactor_terms	factor_nc_mask_nc_monotonic_sign)_keep_coeff)sub_pre)raises)abtxyzc                     \        \        4      \        ^38X  g   Q h\        \        ^,          4      \        ^38X  g   Q h\        \        ^\        ,          ,          4      \        \        ,          ^38X  g   Q h\        \        ^\        ,          ^,          ,          4      \        \        ^,          ,          ^38X  g   Q h\        \        \        \        ^^4      ,          ,          4      \        \        ^,          ,          ^38X  g   Q hR# )   N)r   r*   r+   r
        A/usr/lib/python3/dist-packages/sympy/core/tests/test_exprtools.pytest_decompose_powerr2      s    1!Q'''1a4 QF***1qs8$Aq	1111qs1u:&1qs8Q-7771q!Q/01a!A#h]BBBr0   c                  +   \        4       \        / 4      u;8X  d    \        \        P                  4      8X  g   Q h Q h\        4       P                  4       \        P                  J g   Q h\        \        ^\
        ^\        \        4      ^/4      P                  4       \        ^,          \
        ^,          ,          \        \        4      ^,          ,          8X  g   Q h\        \        P                  4      \        \        ^/4      8X  g   Q h\        \        P                  4      \        \        ^R	^/4      8X  g   Q h\        \        ^,          \        P                  ,          4      P                  4       \        ^,          \        P                  ,          8X  g   Q h\        \        ^\
        ^\        ^/4      p \        \
        ^\        ^\        ^
/4      pV P                  ! V4      W,          u;8X  d*   \        \        ^\
        ^\        ^
\        ^
/4      8X  g   Q h Q hV P                  ! V4      \        W4      u;8X  d5   \        \        ^\        ^/4      \        \
        ^\        ^
/4      38X  g   Q h Q hV P                   ! V4      W,          u;8X  d   \        \        ^\        ^/4      8X  g   Q h Q hV P"                  ! V4      W,          u;8X  d   \        \
        ^\        ^
/4      8X  g   Q h Q hV P$                  ! ^4      V ^,          u;8X  d$   \        \        ^\
        ^	\        ^/4      8X  g   Q h Q hVP$                  ! ^4      V^,          u;8X  d$   \        \
        ^\        ^	\        ^/4      8X  g   Q h Q hV P&                  ! V4      \        \
        ^\        ^/4      8X  g   Q hV P(                  ! V4      \        \        ^\
        ^\        ^\        ^
/4      8X  g   Q h\        \        ^\
        ^\        ^/4      p \        \        ^\        ^/4      pV P*                  ! V4      \        \        ^\
        ^\        ^/4      \        \        ^/4      38X  g   Q h\        \-        ^4      \        ,          4      P                  4       \-        ^4      \        ,          8X  g   Q h\        \.        ) 4      \.        ,          \        4       8X  g   Q h\        \        P0                  \        ^4      /4      \        \        P0                  \        P                  \.        \        ^4      /4      ,          \        \.        4      8X  g   Q h\        \-        \.        4      \.        ,          4      \        \.        \        ^4      ^,          ,          4      u;8X  d(   \        \.        \        ^4      ^,          /4      8X  g   Q h Q h\        \.        \        ^4      ^,          /4      P                  4       \.        \        ^4      ^,          ,          8X  g   Q h\        \        ^4      \        ,          4      P                  \        ^4      \        ,          4      \        \        ^4      \        /4      \        \        ^4      \        /4      38X  g   Q h\        ^^\        ,          ^,           ,          4      P                  \        ^4      4      \        \        ^4      ^\        ,          ^,           /4      \        \        ^4      \        P                  /4      38X  g   Q h\        \        P0                  \3        ^^4      /4      \        \.        \        P                  \        P0                  \        P                  /4      8X  g   Q h\        \.        \        P                  \        P0                  \3        ^^4      /4      P                  4       \.        R	\3        ^^4      ,          ,          8X  g   Q h\        R
4      \        \        P0                  \        P                  \        R4      ^/4      8X  g   Q h\        R4      \        \        P0                  \        P                  \        R4      ^/4      8X  g   Q h\        R\        ,          4      \        \        R4      \        /4      8X  g   Q h\        \        R4      4      \        \        P0                  \        P                  \        ^4      ^/4      8X  g   Q h\        \        P                  4      \        \        ^4      \        P                  ) /4      8X  g   Q h\        \3        ^^4      4      \        \        ^4      \        P                  \        ^4      \        P0                  /4      8X  g   Q h\        \.        \        P                  /4      \        \.        4      8X  g   Q h\        R
^\.        ^/4      \        \        R4      ^\.        ^/4      8X  g   Q h\        \        P0                  \3        R^4      /4      P                  4       \.        8X  g   Q h\5        RRR7      p\        ^V^,          ,          4      \        \        ^4      ^V^,          ^/4      8X  g   Q h\        \.        4      \        \.        \        P                  /4      8X  g   Q h\        \        4      P+                  \        ^4      4      \        \        4      \        \        ^4      4      38X  g   Q h\        \        4      P+                  \        P6                  4      \        4       \        \        P6                  4      38X  g   Q h\9        \:        R 4       \        \        4      P                  \        ^4      4      \        ^\        ,          4      8X  g   Q h\        \        4      P                  \        P6                  4      P<                  '       g   Q h\        \        4      P                  ^\        ,          4      P>                  '       g   Q h\        \        \-        ^4      ^,          ,          4      P                  4       \        ^\-        ^4      ,          ,          8X  g   Q h\        \        4      \        \        ^4      4      ,          \        \        ^,          4      8X  g   Q h\        \        4      P'                  \        P6                  4      \        \        4      8X  g   Q h\        \        4      P)                  \        P6                  4      P<                  '       g   Q h\        \        P6                  4      P                  \        4      \        \        P6                  4      \        4       38X  g   Q h\        \        4      P                  \        4      \        4       \        4       38X  g   Q h\        \        R/4      \        \        R/4      ,          \        4       8X  g   Q h\        \        4      \        4       8w  g   Q h\        \        P6                  4      P+                  \        4      \        \        P6                  4      \        4       38X  g   Q h\        ^\
        ,           ,          \        ^,          rC\        V4      pVP                  V4      VP+                  V4      u;8X  d+   \        \        \
        ,          4      \        4       38X  g   Q h Q hVP'                  V4      \        4       8X  g   Q h\        \
        ,          pVP                  V4      VP+                  V4      u;8X  d'   \        \        ^,          4      \        4       38X  g   Q h Q hVP'                  V4      \        V4      8X  g   Q h^\        ,          ;r4\        V4      pVP                  V4      VP+                  V4      u;8X  d   \        4       \        4       38X  g   Q h Q hVP'                  V4      \        V4      8X  g   Q h^\        ,          ^\
        ,          rC\        V4      pVP                  V4      VP+                  V4      u;8X  d;   \        \        ^4      \        /4      \        \        ^4      \
        /4      38X  g   Q h Q hVP'                  V4      \        4       8X  g   Q h\        \        ^,           ,          p\        V4      P+                  \        R,          4      \        \        \        ^,           /4      \        / 4      38X  g   Q h\        V4      P+                  \        ^,          4      \        \        \        /4      \        / 4      38X  g   Q h\        V4      P+                  \        ^,          4      \        \        \        /4      \        \        ^/4      38X  g   Q h\        V4      P+                  \        \
        ^,
          ,          4      \        \        \        ^,           /4      \        \        \
        /4      38X  g   Q h\        V4      P+                  \        \
        ^,           ,          4      \        \        \        /4      \        \        \
        /4      38X  g   Q h\        V4      P+                  \        \
        ^,           ,          4      \        \        \        /4      \        \        \
        ^,           /4      38X  g   Q h\        V4      P                  \        R,          4      \        \        \        ^,           /4      \        / 4      38X  g   Q h\        V4      P                  \        ^,          4      \        \        \        /4      \        / 4      38X  g   Q h\        V4      P                  \        ^,          4      \        \        \        /4      \        \        ^/4      38X  g   Q h\        V4      P                  \        \
        ^,
          ,          4      \        \        \        ^,           /4      \        \        \
        /4      38X  g   Q h\        V4      P                  \        \
        ^,           ,          4      \        \        \        /4      \        \        \
        /4      38X  g   Q h\        V4      P                  \        \
        ^,           ,          4      \        \        \        /4      \        \        \
        ^,           /4      38X  g   Q h\        ^\        ,          ^,          4      \        ^^^R	\        ^/4      8X  g   Q h\        \        \        ,          \
        ,          4      \        \        ^\
        R	/4      8X  g   Q h\        ^\        ,          \
        ^	,          ,          4      \        ^^\        ^\
        R/4      8X  g   Q hR# )   g      ?g       @AFcommutativec                  Z    \        \        4      P                  \        P                  4      # N)r   r*   divr   Zeror/   r0   r1   <lambda>test_Factors.<locals>.<lambda>d   s    gajnnQVV&<r0   g?Ng      g       i) r   r   Oneas_exprr*   r+   r   Infinityr   NegativeInfinityHalfr,   r)   mulr:   divmodquorempowgcdlcmnormalr   r	   NegativeOner
   r   r;   r&   ZeroDivisionErroris_zerois_one)r'   r(   r5   ndfs         r1   test_FactorsrU   &   s   95wquu~555559!%%'''Aq!QA*+335Aad3q6199LLLL1::'2q'"22221%%&'2q"a.*AAAAAqD166>"**,A>>>Aq!Q"#Aq!Q1b)*A558qsAgq!Q1b!R&@AAAAAA558va| 8	!Q1	Aq" 678 8 8 8 8558qs3gq!Ql333333558qu6Aq" 666666558q!t<w2q!Q';<<<<<<558q!t<w2q!Q';<<<<<<558w1a|,,,,558w1aAq!R89999Aq!Q"#AAq!A88A;7Aq!Q1#56AHHHH4719%%'4719444A2;q=GI%%%AMM1Q4()'1==!%%AaD2Q*RR
  4719QqT!V!5M!QqT!V9MMMMMMAqtAv;'')Q1a[8881Q47!a(	!A$	WadAY/01 1 11qsQw< $$QqT*	!A$!a	!7AaD!%%=#9:; ; ;
 AMM8Aq>23w155!--YZY^Y^?_7````AquuammXa^<=EEG1bS[\]_`SaMaKaaaa3<7AMM155!B%#CDDDD3<7AMM155!B%#CDDDDC!83 44441R5>WammQUUAaD!%DEEEE166?gqtaeeVn55558Aq>"gqtQUUAaD!--.P&QQQQAquu:'!*,,,D!Q?#w#1a/@'AAAAAMM8B?34<<>!CCC'A1QT6?gqtQ1a&899991:!QUU,,,,1:QqT"wqz71Q4=&AAAA1:QVV$GAFFO(DDDD
<=1:>>!A$71Q3<///1:>>!&&!)))))1:>>!A#%%%%%1d1gqj=!))+q1T!W9~===1:wqt}$15551:>>!&&!WQZ///1:>>!&&!)))))166?q!gaffowy%AAAA1:>>!GI 6666Ar7GQG,,	9991:"""166?!!!$')(DDDDq1u:q!tq
A558qxx{@wq!t}gi&@@@@@@558wy   	1A558qxx{@wq!t}gi&@@@@@@558wqz!!!qDLA
A558qxx{<wy')&<<<<<<558wqz!!!a4Aq
A558qxx{Nw!ay'97AaD!9;M&NNNNNN558wy    	
AE
A1:QU#AE
(;WR['IIII1:QT"w1v&DDDD1:QT"w1vA&HHHH1:QQZ(	!QU	gq!fo./ / /1:QQZ(WaV_gq!fo,NNNN1:QQZ(	!Q'1a!e*-./ / / 1:>>!R% WaQZ%8'"+$FFFF1:>>!Q$GQFOWR[#AAAA1:>>!Q$GQFOWaV_#EEEE1:>>!a!e*%	!QU	gq!fo./ / /1:>>!a!e*%'1a&/7Aq6?)KKKK1:>>!a!e*%	!Q'1a!e*-./ / / 1q519!Q2q!)<!====1q519!Q2!777726AqD=!Wb!Q1b-A%BBBBr0   c                     \        ^\        ,          \        ^,          ,          \        ,          \        ^,          ,          4      p \        ^\        ^,          ,          \        ^,          ,          \        ^,          ,          4      pV \        ^\        \        ^\        ^/4      \        \        ^\        ^/4      4      8X  g   Q hV\        ^\        \        ^\        ^/4      \        \        ^/4      4      8X  g   Q hV P                  ! 4       ^\        ,          \        ^,          ,          \        ,          \        ^,          ,          8X  g   Q hVP                  ! 4       ^\        ^,          ,          \        ^,          ,          \        ^,          ,          8X  g   Q hV P                  ! 4       \        \        P                  ^,          \        \        ^\        ^/4      \        \        ^\        ^/4      4      8X  g   Q hVP                  ! 4       \        \        P                  \        \        ^/4      \        \        ^\        ^/4      4      8X  g   Q hV P                  ! V4      W,          u;8X  d>   \        ^\        \        ^\        ^/4      \        \        ^\        ^/4      4      8X  g   Q h Q hV P                  ! V4      W,          u;8X  d8   \        ^\        / 4      \        \        ^\        ^\        ^/4      4      8X  g   Q h Q hV P                  ! ^4      V ^,          u;8X  d>   \        ^@\        \        ^\        ^/4      \        \        ^\        ^	/4      4      8X  g   Q h Q hVP                  ! ^4      V^,          u;8X  d8   \        ^\        \        ^	\        ^/4      \        \        ^	/4      4      8X  g   Q h Q hV P                  ! R4      V R,          u;8X  dS   \        \        P                  ^@,          \        \        ^\        ^	/4      \        \        ^\        ^/4      4      8X  g   Q h Q hVP                  ! R4      VR,          u;8X  dM   \        \        P                  ^,          \        \        ^	/4      \        \        ^	\        ^/4      4      8X  g   Q h Q hV P                  ! V4      \        ^\        \        ^\        ^/4      \        \        ^/4      4      8X  g   Q hV P                  ! V4      \        ^\        \        ^\        ^/4      \        \        ^\        ^/4      4      8X  g   Q h\        ^\        ,          \        ^,          ,          \        ,          \        ^,          ,          4      p \        ^\        ^,          ,          \        ^,          ,          \        ^,          ,          4      pV P                  ! V4      \        ^\        \        ^\        ^\        ^/4      \        \        ^/4      4      8X  g   Q h\        ^\        ,          ^,           ^,          4      \        ^\        \        ^,           ^/4      \        / 4      4      8X  g   Q h\        ^\        ,          ^,           ^\        ,          ^,           ^,          ,          4      \        ^\        \        ^,           ^\        ^,           ^/4      \        / 4      4      8X  g   Q hR# )   Nr@   )r   r*   r+   r,   r)   r   rB   invr   rA   rE   rF   rH   rJ   rK   rL   )r'   r(   s     r1   	test_TermrY      s   QqSAXaZ1_AQq!tVAqD[AAQAq!-w1a|/DEEEEQAq!-w1v????99;!A#ad(1*QT/)))99;!AqD&A+ad****557QUU1Wgq!Ql+WaAq\-BCD D D557d1667Aq6?GQ1aL4IJJJJ558qs >QAq!%w1a|'<=> > > > >558qsOd1gbk7Aq!Q1;M3NOOOOOO558q!t ?R!Q1&Aq!(=>? ? ? ? ?558q!tOtAw1a}'=w1vOOOOOO559B EQUU2Xw1a|,gq!Ql.CDE E E E E559B ?QUU1Wgq!fow1a}'=>? ? ? ? ? 558tAw1a|4gq!foFFFF558tAw1a|4gq!Ql6KLLLLQqSAXaZ1_AQq!tVAqD[AA558tAw1aAq'9:GQFOLLLL1q1a!a%)<gbk!JJJJ1q1Q37Q,&'R!a%AE1-.<= = =r0   c                  ^   ^\         ^,           ,          \         ^,           ,          ^\         ^,          ,          ^,           ,          ^\         ,          ^,           \         ^,           ,          \         ^,          ^,           ,          ^,          ,           ^\         ,          ^,           \         ^,           ,          ^\         ^,          ,          ^,           ,          ,           p \        V 4      \        ^^4      ^\         ,           ^\         ^,          ,           ,          ,          ^\         ,           ^38X  g   Q h\        \        P                  ! V 4      4      \        ^^4      ^\         ,           ^\         ^,          ,           ,          ,          ^\         ,           ^38X  g   Q h\        ^^4      ^\         ,           ^\         ,           ,          ^\         ^,          ,           ,          ,          p\        V 4      V8X  g   Q h\        P                  ! V 4      p\        \        V4      4      V8X  g   Q h\        \        V4      4      V8X  g   Q h\        \        V4      4      V8X  g   Q h\        \        V!  4      V8w  g   Q h\        \        \        \        ^4      ^\        ,          ^\         ,          \        ,          ,           4      \        \        ^4      \        ^4      4      4      4      \        \        \        ^4      ^\        ,          \         ^,           ,          4      \        \        ^4      \        ^4      4      4      8X  g   Q h\        \        \         ^\        ,           ,          \        ^4      3\         \         \        ,          ,           \        \         \        ,          ,           34      4      \        \         \        ^,           ,          \        ^4      \         \         \        ,          ,           \        ^\         ,           ,          /4      8X  g   Q h\        ^\         ,          ^,           ^,          ^\         ,          ^,           ^,          ,           4      ^\         ^,           ^,          ,          ^\         ,          ^,           ,          8X  g   Q h\        ^ 4      ^ 8X  g   Q h\        ^4      ^8X  g   Q h\        \         4      \         8X  g   Q h\        ^^\         ,          ,           4      \        ^^\         ,           RR7      8X  g   Q h\         ^\         ,          ^\        ,          ,           ,          p^\         ,          \         ^\        ,          ,           ,          p\        V4      V8X  g   Q h\        \        V4      4      \        V4      8X  g   Q h\!        R4      w  rVrxV^,          V\         ^,          ,          ,
          V,           \         ^,          ,           \         V^,           ,          ,
          p	V^\#        ^4      ,           ^,          V\         ,          ,           V\         ^,          ,          ,           V\         ^,          ,          ,           3p
V	\         V,
          ,          P$                  ! V
!  P'                  \         ^ ^4      p\)        \+        V\         4      4      \#        ^4      ) ^,          \        ^^4      ,
          \-        \         4      ,           8X  g   Q h\        \        P.                  \        P.                  .4      R8X  g   Q h\        ^\         ,          ^,           .4      ^\         ^,           ^38X  g   Q h\         \         ^\         ,          ,           ,          p\        VRR7      V8X  g   Q h\         ^,          \        ,          ^\         ,          \        ,          ,           p\        VRRR7      \         ^,          ^,           ^\         ,          \        ,          ,          8X  g   Q h\        VRRR7      \         ^,          ^,          ^,           \         \        ,          ,          8X  g   Q h\        VRRR7      \         ^\         ,          ,           ^\        ,          ,          8X  g   Q h\        VRRR7      \         ^,          ^\         ,          ,           \        ,          8X  g   Q hR# )	r4   Fevaluatezalpha:4fractionT)r^   clearN)    r`   r.   )r*   r   r
   r   	make_argsr   listtuplesetr   r   r   r+   r   r   r   r   r   subsseriesr   r   r   r;   )rT   newfargsarggargalphaalpha1alpha2alpha3r'   repseqs                r1   test_gcd_termsrr      s   	1q5	1q51QT6A:&!A#'AE):AqD1H)Ea)GG	
1q1q51QT6A:&	'A a=hq!nAAqD/ABAE1MMMMcmmA&'
1a.AEA1H-	.Aq9: : : QNa!ea!e_a!Q$h78DQ<4==DT$Z D(((U4[!T)))SY4'''UD\"d***U51qsQqSU{3U1Q415FGHeAaD!A#q1u+&adAaD(9:; ; ; T1a!e9ad+a!A#gq1Q3w-?@AaQi1q1Q3w1q5	234 4 4 acAg\QqS1WqL01QAz\1Q375KKKKQ<1Q<1Q<1Q1WQA!>>>>
QqS1Q3Y-CQ3AaC=DS>T!!!SX#d)+++ %,I$6!E6q5A:%1,q%!)}<A1tAw;/F1H,vad{:VAqD[H
IC	
AIc"))!Q2AGAqM"tAwhqj8Aq>&AAaD&HHHH qvvqvv&'9444qsQwi QAqM111	
A!GBR%(B...	
1Q1QBR$d3	
AAaCE  R$e4	
Aa!ac  R%t4	
QqS1Q3  R%u5	
1qsA  r0   c            
      T   \        R RR7      p \        ^	\        \        \        ,          ,           ^,           ,          ^\        ,          ^,           ^^\        ,          ,           ,          ,           4      ^	\        ,          \        ,          ^	\        ,          ,           \	        \        ^4      \        ^,           4      \	        \        ^4      \        ^,           4      ,          ,           ^	,           8X  g   Q h\        ^	\        \        \        ,          ,           ^,           ,          ^^^\        ,          ,           ,          ,           4      \	        \        ^	4      ^^\        ,          ,          \        \        ,          ,           \        ,           ^,           4      8X  g   Q h\        ^^^\        ,          ,           ,          \        ^^^\        ,          ,           ,          ,          ,           4      ^	^^\        ,          ,          ,          \        ^,           ,          8X  g   Q h\        \        \        V ,          ,           4      \        ^V ,           ,          8X  g   Q h\        \        \        \        V ,          ,           4      4      \        \        ^V ,           ,          4      8X  g   Q h\        ^\        ,          ^,           ^^\        ,          ,           ^,          ,          4      \	        \        ^4      \        ^,           4      \	        \        ^^4      \        ^,           4      ,          8X  g   Q h\        \        \        \        ,          \        ,           ^\        ,          ^,           ,          ,           4      \        \        \        ^,           ,          \	        \        ^4      \        ^,           4      ,          ,           8X  g   Q h\        \        \        \        \        ,          ,           ,          \        \        ^,          \        \        ,          ^,          ,           ,          ,           4      \        \        ^\        ,          ,           ,          \        ^,           ,          8X  g   Q h\        \        \        ^ \        34      p\        V4      V8X  g   Q h\        \        ^,          \        ,           4      \        ^,          \        ,           8X  g   Q h\        \        ^,          \        ,           RR7      \        ^,          \        ,           8X  g   Q h\        \        ^,          \        ,           RR7      \        \
        P                  \        ^\        ,          ,           RR7      8X  g   Q h\        ^4      \        ^
4      ,           p\        V4      V8X  g   Q h\        VRR7      \        ^4      ^\        ^4      ,           ,          8X  g   Q h\        R
^4      \        ^^4      ,           p\        VRR7      ^\
        P                   ^,          ,          ^R\
        P                   ^,          ,          ,           ,          8X  g   Q h\        \        \        ,          ,           .p\        \        ^,           ,          .p\"        \$        \&        3 F!  p\        V! V4      4      V! V4      8X  d   K!  Q h	  \        \)        \        \        \        ,          ,           4      4      \)        \        \        ^,           ,          4      8X  g   Q h\        \+        ^ ^4      4      \+        ^ ^4      8X  g   Q h^\        \        ^,          ^,           4      ,          p\        VRR7      ^\        \        ^,          ^,           4      ,          8X  g   Q h\        VRR7      \        ^4      \        \        ^,           4      ,          8X  g   Q h\        \        ^\        ,          ,           ,          ^\        ^,          ^,           ,          ,           p\        VRR7      V8X  g   Q h\        VRR7      ^8X  g   Q h\        ^\        ^,          \        ^,          ,           ,          ^\        ^,          ,          ,           \        ,          4      \        ^^\        ^,           ,          ,           ,          \        ^,          ,          8X  g   Q h\-        \        ) \        ,
          4      \        ) \        ,
          8X  g   Q h\        \        ) \        ,
          4      \        R\        \        ,           RR7      8X  g   Q h\-        \/        \        R\        ^,           4      4      4      \/        \        ) ^,
          4      8X  g   Q h\/        \        ) ^,
          4      \        ,           p\        V4      \/        \        R\        ^,           RR7      4      \        ,           8X  g   Q h\        VRR7      V8X  g   Q h\        \/        R\        ,          ^,
          4      \        ,
          4      \        ) \/        \        R^\        ,          ^,           RR7      4      ,           8X  g   Q h\0        \        3 EF  p\        V! \        \        ^^
34      4      \        V! ^\        ^^
34      ,          8X  g   Q h\        V! \        \        ^^
34      \        ,           4      \        ^V! ^\        ^^
34      ,           ,          8X  g   Q h\        V! \        \        ,          \        \        ^,          ,          ,           \        ^^
34      4      \        V! \        \        ^,           ,          \        ^^
34      ,          8X  d   EK  Q h	  \        ^ \        ^,
          ,          ^,
          4      ^ \        ^,
          ,          ^,
          8X  g   Q h\        ^ \        ^,           ,          ^,
          4      ^ \        ^,           ,          ^,
          8X  g   Q h\        ^ \        ^,           ,          ^,
          P3                  \        R4      4      ^ 8X  g   Q hR	# )r5   Fr6   Tr]   )r_   r[   )radical)signNir>   r?   )r   r    r*   r+   r$   r   r'   r   r
   r(   r   r   r   rE   r   r   rA   rb   rc   rd   r   r   r   r   r   re   )r5   irq   ansceFs          r1   test_factor_termsr|      s   s&A1qs7Q;1Q37a!A#g*>>?	!A!k!A$A.AaD!a%0HHH1LM M M1qs7Q;1AaC.89AaD!ac(QqS.1,q012 2 2A!GqQ1W~56	!ac(
AE  AaC 	1q5	  A!G%Aq1uI  1qQ1WaK01AaD!a% +hq!na!e"DDE E EQqS1W!a001	QAYQqT1q51112 2 21qs7a1qs1uo56	1qs7QU  Q2JA?a!a AaC!G+++!a$/1Q37:::!at,AFFA!Ge0TTTT 
a48	Br!!!D)T!Wa$q'k-BBBB	b!tAqz	!BD)Qq\1aeeAg;N-OOOO
ac'Ba!e9+CE3AbE"af,,,  a!A#g'5AE+;;;;A'8Aq>999	$qsQw-A'1T!A#']?:::&$q'$q1u+*====	
A!Gq!Q$(|	#BU+r111T*a///AqD1a4K1QT61145	1q!a%y=!Q$   aR!VQ&&&Q3r1q55#AAAA SRQ()S!a[888QBFaA?c#b!a%%"@AAEEEE&!+++BqD1H)*qb3s2qsQwQV7W3X.XXXX 8_Aa!Q,-Qq1a*5E1EEEEAa!Q,q01Q!aAq":>N:N5OOOOAacAadFlQ2J78Aa1q5	AqRT:>V<VVVV  AE
Q'1q1u:>999AE
Q'1q1u:>999QUa--a34999r0   c                      \        ^^\        ,           RR7      p V P                  / 4      V 8X  g   Q hV P                  \        \        /4      V 8X  g   Q hR# )r4   Fr[   N)r   r*   xreplacer+   )rz   s    r1   test_xreplacer   F  sE    Aq1uu%A::b>Q::q!f"""r0   c                    a \        R 4      w  r\        RRR7      p\        RRR7      w  r4p^ RIHo V ^V,           ^,          ,          pS! V4      W ^,          V,          ,           W^,          ,          ,           8X  g   Q hV3R lpV! V ^V,           ,          4       V! W0^,           ,          4       V! W0V,           ,          4       V! W,           V,          4       V! W4,          W,          W5,          V,          ,           ,          V,          4       \        W ^^34      pV! V ^V,           ,          4       V! V ^V,           ,          V,          4       V! V ^\	        V4      ,           ,          4       V! ^V,           ^,          4       V! W,           W,           ,          W,           ,          4       V! WV,          ^,           ,          4       V! WV,          V ,           ,          4       V! W V,          V,          ^,           ,          4       V! W4V ,          V,           ,          4       V! WCV^,          ,           ,          4       V! W,          W,          ^,           ,          4       V! WV,          W,          V,          ,           ,          4       V! V^V,
          ,          V^,          ,          4       V! W4,           ^,          4       V! W4,
          W4,           ^,          ,          4       V! W4,           ^,          W4,
          ,          4       V! WC,
          W4,           ^,          ,          W4,
          ,          4       \        W3W4,          ,           ,          4      V^,          ^V,           ,          8X  g   Q h\        WDV,          W4,          V^,          ,          ,           ,          4      WDW4,          V,          ,           ,          V,          8X  g   Q hV\	        V4      ,          \	        V4      V,          ,
          p	\        V	4      V	8X  g   Q h^ R	IHp
 ^ R
IH	p ^W
! WC4      ,          ,           p	\        V	4      V	8X  g   Q hW
! WC4      ,          W
! WE4      ,          V
! WC4      ,          ,           p	V! V	4      V ^V
! WE4      ,           ,          V
! WC4      ,          8X  g   Q h^V,          ^V,          ,           P                  4       ^W4,           ,          8X  g   Q h\        RRRR7      p\        W,          W^,           ,          ,           4      W,          ^V,           ,          8X  g   Q h\        WC,          V,          WC,          V^,           ,          ,           4      ^WC,          ,           WC,          V,          ,          8X  g   Q h\        V) ^V ^,          ,          ^V ,          ,           ,          4      RV,          V ,          V ^,           ,          8X  g   Q hR# )zx,ykT)integerzn,m,oFr6   )_mexpandc                    < S! V 4      pVP                   '       g   Q h\        V4      pVP                   '       g   S! V4      V8X  g   Q hR # r9   )is_Addr!   )rz   exrT   r   s   &  r1   factor_nc_test&test_factor_nc.<locals>.factor_nc_testV  s@    a[yyyybM888r 111 1r0   )
Commutator)factornz)zeror7   Nr?   )
r   sympy.core.functionr   r   r   r!   sympy.physics.secondquantr   sympy.polys.polytoolsr   )r*   r+   r   rR   morz   r   rp   rq   r   r   _nr   s                @r1   test_factor_ncr   L  s   5>DAT"Ag51GA! -	1q51*AA;!c!e)a1f,,,,2 1a!e91!e91!e9AE1913ac!e$Q&'A1ayA1a!e91a!e9Q;1a#a&j>"AEA:AEAE?AE*+1cAg;1cAg;1c!eai=!1cAg;1!A#g;13a=!1cACEk?#1a!e9QT>"AEA:AEAEA:%&AEA:qu%&AEAEA:%qu-.QAC[!QT1q5\111Q!ac!Q$h'(A13q5yM!O;;;	
3q6CF1H	BR=B 5,	
Qz!	BR=B	
:a	a
1 00A1AA	AB":A
1 001*Q2BBBBB aC!A#I1ae9,,, 
Eu	5BRURa%[()RUAF^;;;acAXA./AGacAX3EEEE aR1a4!A#&'2a461q5>999r0   c                      \        R 4      w  rW,           pW"^,          RV ,          ^V,          ,
          ,          ,           p\        \        V4      4      W,           ^W,           ^,          ,          ,
          8X  g   Q hR# )za bNr?   )r   r    r%   )r'   r(   apbrq   s       r1   test_issue_6360r     sY    5>DA
%C	Avr!tacz"	"B$151*(<<<<r0   c                      \        R RR7      p \        \        \        V 4      ,          4      \        \        ) \	        V 4      ,          4      ,           pVP
                  ! 4       '       g   Q hR# )r'   T)realN)r   r   r	   r   r   r   )r'   r)   s     r1   test_issue_7903r     sB    4 AAc!fHQBs1vI&A::<<<r0   c                  <   \        R R\        R7      w  r\        R4      w  r#\        V ! V4      V! V4      ,          V! V4      V ! V4      ,          ,
          4      w  rEpVP                  4        F  pVP                  '       g   K  Q h	  VP
                  '       d   Q hR# )zF, GF)r7   clszx, yN)r   r   r"   valuesis_commutativerP   )r{   Gr*   r+   exprdummies_vs           r1   test_issue_8263r     s}    6u(;DA6?DA!QqT	AaD1I 56D1^^##### ||||r0   c                  
   \         p \        R 4      pV ! V4      e   Q hV ! V) 4      e   Q hV ! \        RR7      4      ^8X  g   Q hV ! \        RRR7      4      ^8X  g   Q hV ! \        RR7      4      ^8X  g   Q hV ! \        RRR7      4      ^	8X  g   Q hV ! \        RRR7      4      ^8X  g   Q hV ! \        RRR7      4      ^8X  g   Q hV ! \        RRR	R
7      4      ^8X  g   Q hV ! \        RRR7      4      R8X  g   Q hV ! \        RRR7      4      R8X  g   Q hV ! \        RR7      4      ^ 8X  g   Q hV ! \        RR7      4      ^ 8X  g   Q hV ! \        RR7      4      ^ 8X  g   Q hV ! \        RR7      ^,           4      P                  '       g   Q hV ! \        RRR7      ^,
          4      P                  '       g   Q hV ! \        RR7      ^,
          4      e   Q hV ! \        RR7      ^,           4      e   Q hV ! \        RRR7      ^,
          4      P
                  '       g   Q hV ! \        RR7      ^,
          4      P                  '       g   Q hV ! \        RR7      ) ^,           4      e   Q hV ! \        RRR7      ) ^,
          4      P                  '       g   Q hV ! \        RR7      ) ^,
          4      P                  '       g   Q hV ! \        RR7      ) ^,           4      P                  '       g   Q hV ! \        RRR7      ) ^,
          4      P                  '       g   Q hV ! \        RR7      ) ^,
          4      e   Q h\        RR7      pV ! V^,          4      P
                  '       g   Q hV ! V^,          \        ^4      V,          ,           ^,
          4      P                  '       g   Q h\        RR7      pV ! V^,          ) 4      P
                  '       g   Q h\        RR7      pV ! ^V,          4      P                  '       g   Q hV ! W"^,           ,          4      P                  '       g   Q h\        RR7      pV ! W"^,           ,          4      P                  '       g   Q h\        RR7      pV ! RV,          4      P                  '       g   Q h\        RR7      pV ! W") ^,           ,          4      P
                  '       g   Q h\        RRR7      p\        RRR7      pV ! RV,          V,          4      P                  '       g   Q hV ! RV^,
          ,          V,          4      e   Q hV ! V^,
          V,          ^,           4      P                  '       g   Q hV ! V^,
          ) V,          ^,
          4      P                  '       g   Q hR# )r*   NT)prime)r   odd)	composite)r   r   )positiver   )r   evenF)r   r   r   )negativer   )r   r   )r   )nonnegative)nonpositive)r   )r   r>   r?   )r#   r   r   is_positiveis_nonnegativeis_nonpositiveis_negativer   )r{   r*   pqs       r1   test_monotonic_signr     s   AAQ4<<aR5==U1$$$U4()Q...UT"#q(((UTt,-222UD$/0A555UDt,-222UDt59:a???UD$/0B666UDt,-333U!###Ut$%***Ut$%***UD!A%&22222UD$/!34CCCCCUD!A%&...UD!A%&...UD$/!34CCCCCUD!A%&22222eT""Q&'///eT400145AAAAAeT""Q&'33333eT""Q&'33333eT400145DDDDDeT""Q&'///tAQT7!!!!!QTCF1H_q !-----tAadU8"""""tAQqS6QAY<#####$AQAY<&&&&&tART7$AQQZ='''''tT*AtT*ART!V9     RQZ\?"""a!eQY]'''''q1uXaZ!^(((((r0   c                      ^ RI Hp  \        R4      p\        V^,           V^^	34      p\        V^,           W! ^^
4      34      p\        R4      pVP	                  W/4      pVP	                  W/4      pVP                  4       VP                  4       8X  g   Q h\        V^,           V^ ^	34      p\        V^,           W! ^
4      34      p\        R4      pVP	                  W/4      pVP	                  W/4      pWV8X  g   Q hR# )r`   )Ranger*   r'   N)sympy.sets.fancysetsr   r   r   r~   doit)r   r*   s1s2r'   r1r2s          r1   test_issue_17256r     s    *sA	QUQ1I	B	QUQa%	&BsA	aU	B	aU	B779	!!!	QUQ1I	B	QUQb	N	#BsA	aU	B	aU	B8O8r0   c                  h    ^ RI Hp  V ! R^^4      p\        VR,          ^4      VR,          8X  g   Q hR# )r`   )MatrixSymbolXN)r`   r`   )"sympy.matrices.expressions.matexprr   r   )r   Ms     r1   test_issue_21623r     s0    ?S!QAQsVQ1S6)))r0   N)N__doc__sympy.concrete.summationsr   sympy.core.addr   sympy.core.basicr   sympy.core.containersr   r   r   r   sympy.core.mulr   sympy.core.numbersr	   r
   r   sympy.core.singletonr   sympy.core.symbolr   r   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   r   (sympy.functions.elementary.trigonometricr   r   sympy.integrals.integralsr   sympy.series.orderr   sympy.sets.setsr   sympy.simplify.radsimpr   sympy.simplify.simplifyr   sympy.core.exprtoolsr   r   r   r   r   r    r!   r"   r#   r$   sympy.simplify.cse_optsr%   sympy.testing.pytestr&   	sympy.abcr'   r(   r)   r*   r+   r,   r2   rU   rY   rr   r|   r   r   r   r   r   r   r   r   r/   r0   r1   <module>r      s    I )  " / (  0 0 " 6 6 = A ? .   $ * ,3 3 3 6 + ' & &CqCh%=P7tG:T#@:F=
4)l"*r0   