
    \h%t                     Z   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJrJrJrJrJrJrJr  S SKJr  S SKJr  S S	KJrJr  S S
KJrJrJrJrJr  S SK J!r!J"r"J#r#J$r$  S SK%J&r&J'r'J(r(  S SK)J*r*  S SK+J,r,J-r-J.r.  S SK/J0r0  S SK1J2r2  S SK3J4r4  S SK5J6r6  S SK7J8r8  S SK J9r9  S SK:J;r;J<r<J=r=  S SK>J?r?  S SKJ@r@  S SKAJBrBJCrCJDrD  \DS 5       rE\DS 5       rF\DS 5       rG\DS 5       rH\DS 5       rI\DS 5       rJ\DS 5       rKS  rLS! rM\DS" 5       rN\DS# 5       rO\DS$ 5       rP\DS% 5       rQS& rRS' rSS( rTS) rUS* rVS+ rWS, rXS- rY\DS. 5       rZ\DS/ 5       r[S0 r\S1 r]S2 r^S3 r_S4 r`S5 raS6 rbS7 rcS8 rd\CS9 5       reS: rfS; rg\DS< 5       rhS= riS> rjS? rkS@ rl\DSA 5       rm\DSB 5       rnSC roSD rp\CSE 5       rqSF rrSG rsSH rtSI rugJ)K    )refine)AccumBounds)Product)Sum)
expand_log)EFloatIRationalnanoopizoo)Pow)S)Symbolsymbols)adjoint	conjugateresign	transpose)LambertWexp	exp_polarlog)coshsinhtanh)sqrt)cossintan)MatrixSymbol)gcd)O)simplify)global_parameters)match_real_imagxyz)	unchanged)ArgumentIndexError)raisesXFAIL_both_exp_powc            
      	   [         R                  (       a"  [        [        [        5      5      [
        L d   eO![        [        [        5      5      [        L d   e[        SSS9n [        [        5      [        L d   e[        [        5      [        L d   e[        [        * 5      S:X  d   e[        S5      S:X  d   e[        S5      [        :X  d   e[        S[        -   5      R                  5       [        R                  [        S-
  4:X  d   e[        S[        -   5      R                  5       [        R                  [        S-   4:X  d   e[        [        [        -  S-  5      [        :X  d   e[        [        [        -  5      S:X  d   e[        [        [        -  [        SS5      -  5      [        * :X  d   e[        S[        -  [        -  5      S:X  d   e[!        [        [        [        -  S-  U -  5      5      S:X  d   e[!        [        [        [        -  S-  U [        R"                  -   -  5      5      S:X  d   e[!        [        [        [        -  S-  U [        SS	5      -   -  5      5      [        :X  d   e[!        [        [        [        -  S-  U [        SS	5      -   -  5      5      [        * :X  d   e[        [%        [        5      5      [        :X  d   e[        S[%        [        5      -  5      [        S-  :X  d   e[        [        [%        [        5      -  5      [        [        -  :X  d   e[        S
[%        [        5      -  [        [%        [&        5      -  -   5      [        S
-  [&        [        -  -  :X  d   e[        [        [%        [        5      -  5      [        [        -  :w  d   e[        [)        [        5      [%        [        5      -  5      [        :w  d   e[        S[%        [        5      -  [        [        -  -   5      [        [        [        -  5      [        S-  -  :X  d   e[        S	[%        [        5      -  [%        [&        5      -  S[%        [        5      -  -   5      [        S-  [        S	[%        [        5      -  [%        [&        5      -  5      -  :X  d   e[        [        * SS9R*                  SL d   e[        [        SS9R*                  SL d   eg )NkTintegerr                  Fevaluate)r(   
exp_is_powtyper   r+   r   r   r   r   r   as_base_expr   Exp1r   r
   r   r   Halfr   r,   r"   	is_finite)r4   s    i/var/www/auris/envauris/lib/python3.13/site-packages/sympy/functions/elementary/tests/test_exponential.pytest_exp_valuesrF      s   ##CF|s"""CF|s"""sD!As8s??r7b==s8q==q6Q;;q6Q;;rAv;""$Q777q1u:!!#A666r!tAv;!r!t9??r!tHQN"#r)))qtAv;!#bd1fQh- A%%%#bd1fa!&&j)*+r111#bd1fa(1a.0123q888#bd1fa(1a.0123r999s1v;!qQx=AqD   r#a&y>QU"""r#a&y1SV8#$21444qQx=AqD   s1vc!f}"""qQx"Q$3r!t9q!t#3333qQxA3q6)*adS3q6#a&5I.IIIIsU#--555rE",,555    c            	      X   [        [        [        -  [        SS5      -  5      [        [        [        -  S-  5      :X  d   e[        [        [        -  [        SS5      -  5      [        [        [        -  [        SS5      -  5      :X  d   e[        [        [        -  [        SS5      -  5      [        [        [        -  [        SS5      -  5      :X  d   e[        [        [        -  [        S	S
5      -  5      [        [        * [        -  S
-  5      :X  d   e[        [        [        -  [        SS5      -  5      [        [        [        -  [        SS5      -  5      -
  S:X  d   e[        [        [        -  [        SS
5      -  5      [        [        [        -  [        SS5      -  5      -  [        [        [        -  [        SS5      -  5      -  S:X  d   e[        S[        [        -  [        SS5      -  -
  5      [        S[        [        -  [        S
S5      -  -   5      :X  d   e[        [	        S
5      [        [        -  [        SS5      -  -   5      S
[        [        [        -  [        SS5      -  5      -  :X  d   e[        SSS9n [        SSS9n[        U[        -  [        -  5      S:X  d   e[        US-   [        -  [        -  5      S:X  d   e[        SSU -  -   [        -  [        -  S-  5      [        :X  d   e[        SSU -  -   [        -  [        -  S-  5      [        * :X  d   eg )N	   r;   .               ir:   %      ir            r7   r9   r<      inTr5   e)evenr8   )r   r
   r   r   r   r   )rW   rX   s     rE   test_exp_periodrZ   H   s   qtHQN"#s1R46{222qtHR$$%QrT(1a.-@)AAAAqtHRO#$AbD"a,@(AAAAqtHS!$$%aRU1W555qtHRO#$s1R4a0@+@'AAQFFFqtHRO#$s1R4Q+?'@@3qtHUXZ\L]G]C^^bccccq1R4Q''(CAbD!Q4G0G,HHHHs1v"Xb!_,,-S2hr1o9M5N1NNNNsD!AsAqs2v;!Aqy|"""AaC{2~a A%%%QqS!|Bq !aR'''rG   c                     [        SSS9n [        [        U 5      5      U :X  d   e[        [        U 5      5      U :X  d   e[        R                  (       dF  [        U 5      R                  5       [        :X  d   e[        U 5      R                  5       [        :X  d   e[        SSS9n[        [        [        5      5      [        :X  d   e[        [        U5      5      U:X  d   eg )Nr+   Trealr,   polar)r   r   r   r(   r?   inverser   r-   r+   r,   s     rE   test_exp_logrb   \   s    sAs1v;!s1v;!''1v~~3&&&1v~~3&&&s$Ay|!!!s1v;!rG   c                     [        [        [        S5      5      S[        -   -  [        [        S5      5      [        -  -
  5      n U R	                  5       S:X  d   e[        [        [
        -   5      [        [        5      [        [
        5      -  :w  d   e[        [        [
        -   5      R	                  5       [        [        5      [        [
        5      -  :X  d   eg Nr9   r7   )r   r   r   r+   expandr,   rX   s    rE   test_exp_expandrg   k   s    Ca!e$s8A;'7'99:A88:??q1u:QA&&&q1u:#a&Q-///rG   c                     [        [        5      R                  5       [        [        4:X  d   e[        S[        -  5      R                  5       [        S[        -  4:X  d   e[        [        [        -  5      R                  5       [        [        [        -  4:X  d   e[        [        * 5      R                  5       [        [        * 4:X  d   e[        [        -  [        [        5      :X  d   e[        S[        -  -  [        S[        -  5      :X  d   e[        [        [        -  -  [        [        [        -  5      :X  d   e[        [        5      R
                  [        R                  L d   e[        [        5      R                   [        :X  d   eg Nr9   )r   r+   rA   r   r,   baser   rB    rG   rE   test_exp__as_base_exprl   s   s   q6Aq6)))qs8!a1X---qs8!a1X---r7 QG+++ a43q6>>qs8s1Q3xqs8s1Q3xq6;;!&&   q6::??rG   c                     [        [        [        -  5      [        :w  d   e[	        [        [        [
        -  5      5      [        L d   e[	        [        [        * [
        -  5      5      [        L d   e[        [        [        -  [
        -  5      [        :w  d   e[        [        5      [        L d   e[        SSSS9n [        U 5      R                  b   eg )Nr+   TF)extended_realfinite)	r   r
   r,   r   r   r   r   r   
is_complexr+   s    rE   test_exp_infinityrr      s    qs8s??#ad)####qbe*$$$qs2v;#s8s??s$u5Aq6$$$rG   c                  H   [        S5      n [        S[        U 5      -  SS9nUR                  U S-  [        S-  5      U:X  d   eUR                  U S-  S5      U:X  d   eU S-  R                  U S-  [        5      [        [        SS5      -  :w  d   e[        [        U 5      [        U S-  5      -   5      R                  [        [        U 5      5      [        5      [        [        [        U S-  5      5      -  :X  d   e[        U 5      R                  [        [        5      [        U -  :X  d   e[        SSS9n [        SU -  5      R                  [        S	U -  5      [        5      [        [        SS	5      -  :X  d   e[        SU -  S	-   5      R                  [        SU -  5      [        5      [        [        SS5      -  [        S	5      -  :X  d   e[        SSS
9n [        S[        U 5      -  5      R                  U S-  [        5      [        [        SS5      -  :X  d   e[        [        U [        -   5      5      R                  [        S5      SSU [        -   -  -  :X  d   e[        [        U [        -   5      5      R                  [        [        5      [        [        U [        -   5      5      :X  d   e[        [        U [        -   5      5      R                  [        S5      SSU S-   -  -  :X  d   e[        S5      R                  [        [        5      [        S5      :X  d   eg )Nr+   r:   Fr=   r9   rL   Tr\   rN   positive)	r   r   r   subsr,   r   r   r   r"   )r+   rX   s     rE   test_exp_subsrw      sr   sA	Qs1vX	&A66!Q$1"""66!Q$?aqD;;q!tQ1hq!n#4444s1vAqD	!"''CFQ71s3q!t9~;MMMMq6;;q!1$$$$Aqs8==QqS1%HQN)::::qsQw<S1Xq)QA->Q-GGGGd#AqQx=adA&!Xa^*;;;;s1q5z?Q'1q1q5z?:::s1q5z?S)SQU_<<<s1q5z?1%QQZ888q6;;q##a&(((rG   c                  p    [        SSS9n [        [        U 5      5      [        [        U 5      5      :X  d   eg )Nr+   Fcommutative)r   r   r   rq   s    rE   test_exp_adjointr{      s,    s&A3q6?c'!*o---rG   c                  l    [        [        [        5      5      [        [        [        5      5      :X  d   eg N)r   r   r+   rk   rG   rE   test_exp_conjugater~      s"    SVIaL 1111rG   c                  l    [        [        [        5      5      [        [        [        5      5      :X  d   eg r}   )r   r   r+   rk   rG   rE   test_exp_transposer      s"    SVIaL 1111rG   c                  	   [        [        5      R                  [        5      [	        [        5      [        [        5      -   :X  d   e[        [        [        -  5      R                  [        5      [        [        5      [        [        [        5      -  -   :X  d   e[        S5      R                  [        5      [	        S5      [        S5      -   :X  d   e[        S5      R                  [        5      [	        S5      [        S5      -   :X  d   e[        S5      R                  [        5      [	        S5      [        S5      -   :X  d   e[        [        5      R                  [        5      S[        [        S-  5      -   S[        [        S-  5      -
  -  :X  d   e[        [        [        -  S-  5      R                  [        5      [        S5      S-  [        S5      [        -  S-  -   :X  d   e[        [        [        -  S-  5      R                  [        5      [        R                  [        S5      [        -  S-  -   :X  d   e[        R                  (       Gd  [        [        [        [         5      -  5      R                  ["        5      [         [        -  :X  d   e[        [        [        5      [        [         5      -  5      R                  ["        5      [        [        [         5      -  [         [        [        5      -  4;   d   e[        [        [        [        5      5      [         -  5      R                  ["        5      [        [        5      [         -  :X  d   e[%        SSS9n ['        [        [        [        -  S-  5      S-  U -  U S[(        45      R                  [        5      R+                  5       [-        SS	5      [        S-  S	-  -   :X  d   e['        [        [        [        -  S-  5      S-  U -  U S[(        45      R                  [        5      R+                  5       SS[        S5      S[        -   -  S-  -
  -  :X  d   e['        [        [        [        -  S-  5      S-  U -  U S[(        45      R                  [        5      R+                  5       R/                  5       S[        -  [        S5      S[        -  -   -  :X  d   eg )
Nr7   r9   r;   r:   rW   Tr5   r   rL   )r   r+   rewriter"   r   r   r
   r!   r   r   r    r   rC   r(   r?   r   r,   r   r   r   r   doitr   cancelrW   s    rE   test_exp_rewriter      sa   q6>>#$q'DG"3333qs8C CFQs1vX$5555q6>>#$q'DG"3333q6>>#$q'DG"3333q6>>#$q'DG"3333q6>>$AQqS	MAQqS	M#BBBBr!tAv;t$Q	DGAIaK(????r!tAv;t$a1(<<<<'''1SV8}$$S)QT1113q6#a&=!))#.1c!f9aQi2HHHH3s1v;q=!))#.#a&!);;;sD!ABqDFA!Aq":.66t<AACxPQST~XYZ[X[\]X]G]]]]BqDFA!Aq":.66t<AACq!dSTgWX[\W\o^_N_J_G````RT!VQ"Q2J/77=BBDKKMsDGacM"# $ #rG   c                  >   [        [        5      R                  [        5      S:X  d   e[        S[        -   5      R                  [        5      [        S5      :X  d   e[        S[        -  S-   [        S-   -  5      R                  [        5      [        S5      :X  d   eg )Nr7   r9   r:   )r   r+   as_leading_termrk   rG   rE   test_exp_leading_termr      sw    q6!!!$)))q1u:%%a(CF222!aAaC !11!4A>>>rG   c                  T   [        S5      n [        U 5      R                  SU 5      U :X  d   e[        U 5      R                  SU 5      U S-  S-  :X  d   e[        U 5      R                  SU 5      U S-  S-  :X  d   e[        U 5      R                  SU 5      [        R                  L d   eg )Nr+   r7   r:      r;      r8   )r   r   taylor_termr   Zerorq   s    rE   test_exp_taylor_termr      s    Aq6a#q(((q6a#q!tAv---q6a#q!tBw...q6b!$...rG   c                  h    [        SSS5      n [        U 5      R                  [        5      (       d   eg )NAr9   )r$   r   has)r   s    rE   test_exp_MatrixSymbolr      s&    S!QAq6::c???rG   c                  D   ^  [        S5      m [        [        U 4S j5        g )Nr+   c                  8   > [        T 5      R                  S5      $ ri   )r   fdiffrq   s   rE   <lambda> test_exp_fdiff.<locals>.<lambda>       s1v||ArG   r   r0   r/   rq   s   @rE   test_exp_fdiffr          sA
67rG   c                     [        [        5      [        L d   e[        [        5      [        L d   e[        [        * 5      [        L d   e[        [        5      [        L d   e[        [        * 5      [        L d   e[        S5      [        L d   e[        S5      S:X  d   e[        S5      [        [
        -  :X  d   e[        [        5      S:X  d   e[        [        * 5      R                  5       S[        [
        -  -   :X  d   e[        [         [
        5      (       d   e[        [
        * 5      R                  5       [        [
        5      [        [
        -  -   :X  d   e[        [         S5      (       d   e[        S5      [        S5      [        [
        -  -   :X  d   e[        [        5      [        [
        -  S-  :X  d   e[        [        * 5      [        * [
        -  S-  :X  d   e[        S[        -  5      [        [
        -  S-  [        S5      -   :X  d   e[        S[        -  5      R                  5       [        * [
        -  S-  [        S5      -   :X  d   e[        [        [        -  5      [        L d   e[        [        * [        -  5      [        L d   e[        SS5      [        L d   e[        SS5      [        L d   e[        [        S5      * 5      S-  S:X  d   e[        [        R                  5      [        S5      * :X  d   e[        S	5      R                  [         L d   e[        S
5      R                  [         L d   eg )Nr   r7   r8   r<   ir9   rL   r:   r   rK   )r   r   r   r   r
   r   r   re   r.   r   r   rC   funcrk   rG   rE   test_log_valuesr      sv   s8s??r7b==s8r>>s8s??t9q6S==q6Q;;r7ad??q6Q;;r7>>q1R4x'''S"s8??B!B$...S"s8s2w2~%%%q6QrT!Vr7qbeAgr!t9"QR((((s1u:1"R%'CG"3333r!t9??s1u:q!9q!9Aw<""""qvv;3q6'!!!s8==Cv;s"""rG   c                     [        SSS9u  p[        SSS9n[        [        R                  5      S:X  d   e[        [
        5      S:X  d   e[        SS	[
        -  -
  5      S
:X  d   e[        [        S5      * [        R                  [
        -  -   5      [        S5      * [        R                  4:X  d   e[        X[
        -  -   5      X4:X  d   e[        U [
        -  U[
        -  -   5      SX-   4:X  d   e[        X-   [
        -  5      SX-   4:X  d   e[        [        SS5      U-  [
        -  5      S:X  d   e[        SSU-  -
  5      S:X  d   e[        [        S5      SS	[
        -  -
  -  5      S:X  d   eg )Nx,yTr\   i	imaginary)r7   r   )r   r7   r:   rL   )r:   rR   r   )NNr7   r9   )	r   r   r)   r   Oner
   r    rC   r   )r+   r,   r   s      rE   test_match_real_imagr     sW   5t$DAsd#A155!V+++1'''1qs7#w...DG8affQh./T!WHaff3EEEE1s7#v---1Q319%!QU333AE19%!QU3338B?1,Q./<???1qs7#|33347A!G,-===rG   c                     [        SS5       H  n [        U S5      S:w  aO  [        [        U [        -  [
        -  S-  5      R                  [        5      5      U [        -  [
        -  S-  :X  d   e[        SS5       HR  n [        [        U [        -  [
        -  S-  5      R                  [        5      5      U [        -  [
        -  S-  :X  a  MR   e   M     [        [        R                  [        [        S5      -  S-  -
  5      [        * [
        -  S-  :X  d   e[        [        SS5      [        [        S5      -  S-  -   5      [        [
        -  [        SS5      -  :X  d   e[        [        S5      * S-  [        [        S5      -  S-  -
  5      [        * [
        -  [        SS	5      -  :X  d   e[        [        S5      * S-  [        [        R                  -  -
  5      [        * [
        -  [        S
S5      -  :X  d   e[        [        SS	5      [        S
5      S	-  -   [        [        [        S
5      S-  [        S
S5      -   5      -  -
  5      [        * [
        -  [        SS
5      -  :X  d   e[        [        [        S
S5      [        S
5      S-  -
  5      [        [        SS	5      [        S
5      S	-  -   -  -   5      [        [
        -  [        SS5      -  :X  d   e[        [        [        S5      S	-  [        R                  -   5      * [        [        [        R                  [        S5      S	-  -
  5      -  -   5      [        [
        -  [        SS5      -  :X  d   e[        [        S5      * S	-  [        S5      S	-  -
  [        [        S5      * S	-  [        S5      S	-  -   -  -   5      [        * [
        -  [        SS5      -  :X  d   e[        S[        [        S5      -  -   5      [        S5      [        [
        -  [        SS5      -  -   :X  d   e[        S
S
[        -  -   5      [        S
[        S5      -  5      [        [
        -  S	-  -   :X  d   e[        [        S5      5      [        S[        S5      -  5      [        [
        -  S-  -   :X  d   e[        [        S5      * [        S5      -   [        [        S5      -  -
  [        [        S5      -  -
  5      [        S	5      [        [
        -  [        SS5      -  -
  :X  d   e[        [        SS[        S5      -  -
  5      * [        [        SS[        S5      -  -   5      -  -
  5      [        S[        S5      -  5      [        [
        -  [        S
S5      -  -
  :X  d   e[        S[        [        S[        S5      -
  5      -  [        S[        S5      -   5      -  -   5      [        S[        [        S5      S-   5      -  5      [        [
        -  S-  -   :X  d   e[        [        [
        [        SS5      -  5      [        [        [
        [        SS5      -  5      -  -   5      [        [
        -  [        SS5      -  :X  d   e[        [        [
        [        SS
5      -  5      [        [        [
        [        SS
5      -  5      -  -   5      [        [
        -  [        SS
5      -  :X  d   e[        S
S[        -   -  [        S5      -  5      [        S
5      [        [
        -  S	-  -   :X  d   e[        [        S5      [        S5      * S-   [        S5      [        -  -
  [        -
  -  5      [        S	5      [        [
        -  [        SS5      -  -
  :X  d   e[        [        S5      * S[        [        S5      -  -
  -  5      [        S[        S5      -  5      [        [
        -  [        SS5      -  -   :X  d   e[        [        S5      [        -  [        SS[        S5      -  -
  5      * [        [        S[        S5      -  S-   5      -  -
  -  5      [        S5      [        [
        -  S-  -
  :X  d   eS[        S5      -   S-  S-
  S[        S5      -  -
  n[        U[        [        S5      -  -
  5      [        [        S5      5      [        [
        -  S-  -
  :X  d   e[        [        U[        U-  -   5      (       d  [        X[        -  -   5      [        L d   e[        [        [        S5      S[        [        S5      [        -   5      -  -
  S-  5      (       d   e[        [        [        S[        S
5      -
  5      S[        -   -  5      (       d   eg )Nir   r7   i
   r:   r9   r8   r;   rL   r   rQ   rN   rS      ii  )ranger%   r   r   r
   r   r   r    r   rC   r   r!   r"   r.   r   )rW   zeros     rE   test_log_exactr   !  sp   3^q":?s1Q3r6"9~--d34!Br	AAAr2As1Q3r6"9~--d34!Br	AAA   qvv$q'	!#$2a///xA471,-2hq!n1DDDDQxzAd1gIaK'(QBrE(1a.,@@@@QxzAaffH$%!Bx1~)====xAa*QtDGAIA4N/O-OOPUVTVWYTYZbcdfgZhThhhhtHQNT!WQY./!Xa^d1gai5O2PPQUVWYUYZbcdfhZiUiiiiT!WQY'((1T!&&47192D-E+EEF!B$xXY[\~J]]]]QxzDGAI%DG8A:Q	+A(BBCr"uXVXZ\M]G]]]]rAd1gI~#a&1R4A+>">>>>q1Q3w<3qay>AbDF2222tCy>S47^ad1f4444Qx$q'!Ad1gI-$q'	9:c!fqtHUVXZOG[>[[[[Qqay[!!Ad1QtAwY;&7$778C$q'	NQrTRZ[\^_R`M`<````q1T!DG)_$T!DG)_445QtDGaK?P=P9QTUVXTXYZTZ9ZZZZs2hq"o%&3r(1b//A+B)BBCqtHUVXZOG[[[[s2hq!n$%#b!Q.?*@(@@AQrT(SUWX/EYYYYq!a%ya !SVad1f_444tAwa1tAwqy01456#a&1R4QRTVCW:WWWWQxQtAwY'(C$q'	NQrT(1a.=P,PPPPtAwqy4Ad1gI..4$q'	A3F1FFGHCPQFUVWYUYZ[U[O[[[QK!a!DG)+DtaQi CQL1R46$9999S$4-((CAv,>#,EEE S471T$q'!)_#44t;<<<<S$qay/1q512222rG   c                     [        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      [        S5      [        S5      -  :X  d   e[        SS5      S[        S5      [        S5      -  -   :X  d   e[        SS5      S[        S5      [        S5      -  -   :X  d   e[        SS5      S:X  d   e[        SS5      S:X  d   e[        SS5      [        L d   e[        SS5      [        L d   e[        [        SS5      S	5      [        [        SS5      5      [        S	5      -  :X  d   e[        [        SS5      [        SS5      5      [        S5      * [        S5      -  S-   :X  d   e[        [        SS5      [        SS5      5      [        [        SS5      5      [        [        SS5      5      -  :X  d   e[        [        SS5      S5      [        S5      * [        S5      -  S-   :X  d   eg )
Nr7   r9   r   r:   r   rQ      rL   r   )r   r   r   r   rk   rG   rE   test_log_baser   K  s   q!9>>q!9>>q!9As1v%%%q!9CF3q6M))))q!9CF3q6M))))tQ<1tQ<1q!9q!9x1~r"c(1a.&9#b'&AAAAx1~x1~.3q6'#a&.12DDDDx1~x1~.HQNCA//0 0 0 x1~q!c!fWSV^a%7777rG   c                  ~
   [        [        [        S5      5      [        [        5      :X  d   e[        [        [        5      5      [        :w  d   e[        [        [        S5      5      [        [        5      :X  d   e[        [        [        -  5      [        [        5      [        [        5      -   :w  d   e[        [        [        -  5      R	                  5       [        [        5      [        [        5      -
  :w  d   e[        [        [        -  5      R	                  SS9[        [        5      [        [        5      -
  :X  d   e[        [        [        -  5      R	                  5       [        [        [        5      -  :w  d   e[        [        [        -  5      R	                  SS9[        [        [        5      -  :X  d   e[        [        S5      [        [        5      [        S5      -  :X  d   e[        [
        S5      S[        S5      -  :X  d   e[        SSS9u  p[        SSS9n[        U S-  5      S[        U 5      -  :w  d   e[        U S-  5      R	                  5       S[        U 5      -  :X  d   e[        [        S-  5      R	                  5       S[        [        5      -  :w  d   e[        X-  5      U[        U 5      -  :w  d   e[        [        U 5      5      U :X  d   e[        X-  5      [        U 5      [        U5      -   :w  d   e[        X-  5      R	                  5       [        U 5      [        U5      -   :X  d   e[        [        S	5      * 5      [        [        S	5      5      [        [        -  -   :X  d   e[        [        U 5      * 5      U [        [        -  -   :w  d   e[        [        [        5      * 5      R	                  5       [        [        [        -  -   :w  d   e[        [        U5      * 5      R	                  5       U[        [        -  -   :X  d   e[        [        [        -  5      [        [        [        5      -  :w  d   e[        [        S
-  5      S-  R	                  5       S[        [        5      -  S-  :w  d   e[        U S
-  5      S-  R	                  5       S[        U 5      -  S-  :X  d   e[        [        * 5      R                  [         L a&  [        [        * 5      R                  S   [        * :X  d   e[        U * 5      R                  [         L a  [        U * 5      R                  S   U * :X  d   eg )Nr7   Tforcer9   zp,qrt   rr\   r:   rR   r8   rL   r   )r   r+   r   r,   re   r   r   r   r    r
   r   r   args)pqr   s      rE   test_log_symbolicr   ]  s   q#a&>SV###s1v;!q#a&>SV###qs8s1vA&&&qs8??AQ///qs8???&#a&3q6/999q!t93q6)))q!t9$'1SV8333q!9As1v%%%q!9#a&   54(DAsAq!t9#a&   q!t93q6)))q!t93q6)))qt9#a&   s1v;!qs8s1vA&&&qs8??AQ///Qx=CQL1R4////Aw<1qt8###Aw< A"H,,,Aw< A"H,,,q!t9#a&   2JN""$3q6	!3332JN""$3q6	!333r7<<33r7<<?qb#888r7<<33r7<<?qb#888#8rG   c            	      T   [        [        S[        -  [        -  5      5      S:X  d   e[        [        S[        -  [        -  5      5      [        [        -  :X  d   e[        [        [        [        -  [	        SS5      -  5      5      [        [        -  [	        SS5      -  :X  d   e[        [        [        [        -  [	        SS5      -  5      5      [        [        -  [	        SS5      -  :X  d   e[        [        S[        -  5      5      S[        -  S	[        -  [        -  -   :X  d   eg )
Nr;   r   rR      r:   rM   rN   rO   r9   )r   r   r
   r   r   rk   rG   rE   test_log_expr     s    s1Q3r6{q   s2a47|"$$$s1R4Q'()QrT(1a.-@@@@s1R4Q'()QrT(2q/-AAAAs2a4y>RTAaCF]***rG   c                     [        SSS9n [        SSS9n[        [        4 H  nU" [        5      R                  b   eU" [        5      R
                  b   eU" U5      R                  b   eU" U5      R
                  b   eU" U 5      R                  SL d   eU" U 5      R
                  SL d   eU" [        [        5      5      R                  SL d   eU" [        [        5      5      R
                  SL a  M   e   [        [        [        [        -  SS9R
                  S:X  d   e[        [        S[        -  [        -  SS9R
                  S:X  d   e[        [        [        [        -  S-  SS9R
                  S:X  d   e[        [        [        [        -  S	-  SS9R
                  b   e[        S
SS9R                  (       d   e[        SSS9n[        SSSS9n[        SSS9n [        SSSS9n[        U5      R                  b   e[        U5      R                  SL d   e[        [        U -  5      R                  b   e[        [        U-  5      R                  SL d   e[        S
SS9R                  SL d   e[        [        [        -  S	-  SS9R                  SL d   e[        [        [        -  U -  SS9R                  SL d   eg )Nr   Tr\   r   r   Fr=   r9   r:   r   a)	algebraican)r   nonzero)rationalrn)r   r   )r   r   r   r+   is_realis_imaginaryr   is_extended_realr   r   r
   r   is_algebraic)r   r   rX   r   r   r   s         rE   test_exp_assumptionsr     s   sAsd#A)^t||###t  (((t||###t  (((t||t###t  E)))Ax((D000Ax$$---  q!B$'44===q!A#b&5)66%???q!B$q&5)66$>>>q!B$q&5)66>>>q5!....sd#A	d	3BsT"A	tT	2Bq6&&&r75(((r!t9!!)))r"u:""e+++q5!..$666qtAv&33t;;;qtAv&33t;;;rG   c                  d    [        [        SS5      5      [        [        [        S-  5      :X  d   eg )Nr7   r9   )r   r   r   rk   rG   rE   test_exp_AccumBoundsr     s'    {1a ![AqD%9999rG   c                     [        SSS9n [        SSS9n[        SSS9n[        SSSS	9n[        U5      R                  S
L d   e[        U5      R                  SL d   e[        S5      S:  d   e[        SS
S9R                  (       d   e[        SU-   5      R                  (       d   e[        U 5      R                  b   e[        U5      R                  S
L d   e[        S5      R
                  SL d   e[        [        U 5      S-   5      R                  (       d   e[        SS
S9R                  (       d   e[        SS
S9R                  S
L d   e[        SU-   5      R                  (       d   eg )Nr   Trt   rW   negativer-   )r   r+   )infiniteextended_positiveFr9   r   r7   r=   g      ?*   )	r   r   is_positiveis_extended_positiveis_zerois_negativer   r   is_rational)r   rW   r-   r+   s       rE   test_log_assumptionsr     sF   d#Ad#A$Add;Aq6&&&q6&&$...q6A::q5!))))q1u:q6>>!!!q6>>U"""s84'''s1vz?&&&&q5!....rE"//5888q1u:!!!!rG   c                     [         [        [        [         5      5      :w  d   e[        [         5      [        [        [        [         5      5      5      :w  d   e[        [         5      [        [        [        [         5      5      5      :w  d   eS[        [        [         5      [        [        [         5      5      -   5      -  n U R                  R                  [        L d   eS[        [        [         5      [        [        [        [         5      5      5      -   5      -  n U R                  R                  [        L d   e[        [        [         5      5      n U R                  [        L d   e[         R                  [        Ld   e[        [        [        [         5      5      5      [        [         5      :w  d   eU [         :w  d   eg )Nr7   )r+   r   hashrj   r   rf   s    rE   test_log_hashingr     s    CF7d3s1v;''''q6SSV%%%%	#c!fs3q6{"
##A66;;#	#c!fs3s1v;''
((A66;;#CFA66S==66CFQ'''6M6rG   c                  8    [        [        S5      5      S:X  d   eg rd   )r   r   rk   rG   rE   test_log_signr     s    A<1rG   c                  "   [        S[        -   5      R                  SS9[        S5      S-  [        [        -  S-  -   :X  d   e[        S[	        S5      -
  5      R                  SS9[        [	        S5      S-
  5      [        [        -  -   :X  d   eg )Nr7   T)complexr9   r;   )r   r
   re   r   r    rk   rG   rE   test_log_expand_complexr     sz    q1u:T*c!fQh2a.????q47{""4"0CQ!4Dqt4KKKKrG   c                      [        S5      [        S5      -  S-
  R                  5       n U R                  [        S5      5      (       d   eg )Nr:   r9   r7   z0.58496250072115618145373)r   evalf
epsilon_eqr	   )values    rE   test_log_apply_evalfr     s>    VCF]Q%%'EE"=>????rG   c                     [        S5      n [        S[        -   [        S-  -   5      R                  [        SS9[        :X  d   e[        S[        -  5      R                  [        SS9[        [        5      [        S5      -   :X  d   e[        S[        -  5      R                  [        SS9[        [        5      [        S5      -   :X  d   e[        S[        -  5      R                  [        SU S9U [        S5      -   [        [
        -  -   :X  d   e[        S[        -  5      R                  [        SU S9U [        S5      -   [        [
        -  -
  :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS9[        [        5      [        S5      -   [        [
        -  -
  :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS9[        [        5      [        S5      -   [        [
        -  -
  :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS9[        [        5      [        S5      -   :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS9[        [        5      [        S5      -   S[        -  [
        -  -
  :X  d   e[        S[        -   [        [        S-  -  -
  [        [        S-  -  -   5      R                  [        SS9[        * [
        -  :X  d   e[        S[        -   [        [        S-  -  -
  [        [        S-  -  -   5      R                  [        SS9[        * [
        -  :X  d   e[        SS[        -
  -  5      R                  [        SS9[        [
        -  :X  d   e[        SS[        -
  -  5      R                  [        SS9[        [
        -  :X  d   eg )	Nr   r7   r9   )cdirr8   r   )r   logxr:   )r   r   r+   r   r
   r   r   s    rE   test_log_leading_termr     s5   sA q1uq!t|,,QQ,71<<<qs8##AA#.#a&3q6/AAAqs8##AB#/3q6CF?BBBr!t9$$QQQ$71s1v:";LLLLr!t9$$QRa$8AAJ2<MMMMr!tq1uadl"#33AA3>#a&3q6/TUVXTXBXXXXr!tq1uadl"#33AB3?3q6CPQF?UVWYUYCYYYYqsa!eQT\!"22112=Q#a&PPPqsa!eQT\!"22122>#a&3q6/TUVWTWXZTZBZZZZrAv!Q$1a4'(888Cr"uLLLrAv!Q$1a4'(888D2MMMr1q5z?**11*52===r1q5z?**12*6!B$>>>rG   c                  \   [        S5      n [        S[        -  5      R                  [        SU * SS9U :X  d   e[        S[        -  5      R                  [        SU * SS9U S[        -  [
        -  -   :X  d   e[        [        S-
  5      R                  [        SS [        5      [        [
        -  [        -
  [        S-  S-  -
  [        S-  S-  -
  [        [        S-  5      -   :X  d   e[        [        S-
  5      R                  [        SS [        * 5      [        * [
        -  [        -
  [        S-  S-  -
  [        S-  S-  -
  [        [        S-  5      -   :X  d   e[        [        [        -  [        [        S-  -  -   S-
  5      R                  [        SS S5      [        [
        -  [        [        -  -
  [        S-  S-  -   [        [        S-  5      -   :X  d   e[        [        [        -  [        [        S-  -  -   S-
  5      R                  [        SS S5      [        * [
        -  [        [        -  -
  [        S-  S-  -   [        [        S-  5      -   :X  d   e[        [        [        S-  -  [        [        S-  -  -   S-
  5      R                  [        SS S5      [        [
        -  [        [        S-  -  -
  [        [        S-  5      -   :X  d   e[        [        [        S-  -  [        [        S-  -  -   S-
  5      R                  [        SS S5      [        [
        -  [        [        S-  -  -
  [        [        S-  5      -   :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS S5      [        S5      [        [        5      -   [        [        S5      S-  [        S-  -
  -  -   [        S-  SS[        -  S-  -   -  -   [        [        S-  5      -   :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS S5      S[        -  [
        -  [        S5      -   [        [        5      -   [        [        S5      * S-  [        S-  -   -  -
  [        S-  SS[        -  S-  -   -  -   [        [        S-  5      -   :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS S5      [        * [
        -  [        S5      -   [        [        5      -   [        [        S5      * S-  [        S-  -   -  -   [        S-  SS[        -  S-  -   -  -   [        [        S-  5      -   :X  d   e[        S[        -  S[        -
  [        S-  -  -   5      R                  [        SS S5      [        * [
        -  [        S5      -   [        [        5      -   [        [        S5      S-  [        S-  -
  -  -
  [        S-  SS[        -  S-  -   -  -   [        [        S-  5      -   :X  d   e[        [        [        * [        S-  -  S-
  5      [        [        * [        S-  -  S-
  5      -  S-
  5      R                  [        SS S5      [        * [
        -  [        [        S5      S-   5      -   S[        S5      -  [        -  [        S-  -  S[        S5      -  S	-   -  -   [        [        S-  5      -   :X  d   e[        SS[        -
  -  5      R                  [        SS S5      [        [
        -  [        -   [        S-  S-  -   [        [        S-  5      -   :X  d   e[        SS[        -
  -  5      R                  [        SS S5      [        [
        -  [        -   [        S-  S-  -   [        [        S-  5      -   :X  d   eg )
Nr   r7   r;   )r   r   r8   r9   r:   r   r   )	r   r   r+   _eval_nseriesr
   r   r&   r   r    r   s    rE   test_log_nseriesr     s   sAqs8!!!QaRa!8A===qs8!!!QaRb!9Q1RZGGGq1u:##Aq$2adQhAa6G!Q$q&6PSTUVXYUYSZ6ZZZZq1u:##Aq$3r"uqy1a467IAqDQRF7RUVWXZ[W[U\7\\\\qsQq!tV|a ..q!T1=2!aQRdSTfATWXYZ\]Y]W^A^^^^qsQq!tV|a ..q!T2>1"R%!A#+PQSTPTUVPVBVYZ[\^_[_Y`B````qAv!Q$"#11!Qa@AbD1QPQT6MTUVWYZVZT[D[[[[qAv!Q$"#11!QbAQrTAaQRdF]UVWXZ[W[U\E\\\\qsa!eQT\!"00AtQ?3q6CPQF?qtAv!|D!tR!A#a%Z(D)+,QT7D3 3 3 3qsa!eQT\!"00AtR@BqDGcRSfDTFE1a!A#E!"ArAaCEz!2E356q!tWE= = = =r!tq1uadl"#11!Qa@QBrECPQFNUXYZU[D[!uQw1}E1b1Q3q5j)E*,-adGE4 4 4 4r!tq1uadl"#11!QbAaRUSQRV^VYZ[V\E\qtAv!|F!tR!A#a%Z(F)+,QT7F3 3 3 3tQBq!tGaK qbAgk!22Q67EEaDRSTYZXZ[]X]Q!Yay{1a4'47Q7Y8:;AqD'YB B B Br1q5z?((AtQ71R4!8ad1f;LqQRTUQUw;VVVVr1q5z?((AtR8AbD1Hq!tAv<MPQRSUVRVPW<WWWWrG   c                     [        S[        -   5      n [        [        [        [        S-  S-   5      -   5      nU R                  [        [        [
        -  SS9SS[        S-  -  -  SS[        S-  -  -  -
  S[        -  -   [        [        -  S-  -   [        [        [        -  5      -
  [        [        S-  [        [
        [        -  45      -   :X  d   eU R                  [        [        * [
        -  SS9SS[        S-  -  -  SS[        S-  -  -  -
  S[        -  -   [        [        -  S-  -
  [        [        * [        -  5      -
  [        [        S-  [        [
        * [        -  45      -   :X  d   eUR                  [        [        [
        -  SS9SS[        S-  -  -  [        [        -  S-  -   [        S5      -   [        [        [        -  5      -
  [        [        S-  [        [
        [        -  45      -   :X  d   eUR                  [        [        * [
        -  SS9SS[        S-  -  -  [        [        -  S-  -
  [        S5      -
  [        [        * [        -  5      -   [        [        S-  [        [
        * [        -  45      -   :X  d   eg )Nr7   r9   r;   )x0rW   r:   r   r8   )r   r+   r    seriesr
   r   r   r&   )expr1expr2s     rE   test_log_seriesr     s0    AJEDAN"#E<<ada<(AqAvJAadF,Cac,IbDF-1X-!b'Ar!t9--. . . .<<qbeq<)Q!Q$Z!Qq!tV*-Dqs-JbDF.!AY.1r7QAJ/.0 0 0 0<<ada<(AqAvJ2a,?#a&,H!H-R1bd)$-% % % %<<qbeq<)R1a4[1R46-ACF-J1I.!b'As1u:&.' ' ' 'rG   c            	         [        SSS9n [        U [        S5      [        S5      -  -  5      nUR                  5       [        S5      [        S5      -  [        U 5      -  :X  d   e[        SSS9u  p#n[        X#U-   -  5      R                  SS9[        U5      [        X4-   5      -   :X  d   e[        [        US	-  5      [        X4-  5      -  5      R                  5       [        S	[        U5      -  [        U5      -  S	[        U5      -  [        U5      -  -   5      [        [        U5      [        U5      -  [        U5      [        U5      -  -   5      [        S	5      -   [        [        U5      [        U5      -   [        U5      -  5      [        S	5      -   4;   d   e[        U[        US	-  5      -  5      R                  SS
9[        U5      [        US	-  5      -  :X  d   e[        U[        US	-  5      -  5      R                  5       S	[        U5      S	-  -  :X  d   e[        S5      u  p#[        X#-  5      R                  SS9[        U5      [        U5      -   :X  d   e[        X#-  5      R                  SS9U[        U5      -  :X  d   e[        [	        U5      5      R                  SS9U:X  d   e[        S5      R                  5       S	[        S5      -  [        S	5      -   :w  d   eg )NwTrt   rL   r:   x,y,zF)mulr9   )deepr   r   rK   )r   r   re   r   r   )r   rX   r+   r,   r-   s        rE   test_log_expandr   &  sz   sT"AAAs1vA88:QAQ////g-GA!qa%y>  U +s1vAE
/BBBBs1a4yQS!"))+Ac!fHSVO	#a&Q5 1c!fSVmc!fSVm;<s1vESVc!f_c!f$%A.00 0 0 0 q#ad)|###/3q6#ad)3CCCCq#ad)|##%3q6194445>DAqs8???&#a&3q6/999qt9$'1SV8333s1v;D)Q...
 v;1SV8c!f#4444rG   c                      [        SSS9u  pn[        XU-   -  5      X-   -  R                  SSS9U[        U 5      -  U[        X-   5      -  -   U[        U 5      -  -   U[        X-   5      -  -   :X  d   eg )Nr   Trt   )r   r   )r   r   re   r*   s      rE   test_log_expand_failr   <  s    g-GA!q5	NAE"**t*>!C	E Cs15z\Cc!fHC%'(QU|C4 4 4 4rG   c            	         [        SSS9n [        U S-  5      R                  5       S[        U 5      -  :X  d   e[        [        U S[        S5      -   -  5      5      S[        S5      -   [        U 5      -  :X  d   e[        S5      n[        [	        U5      5      R                  5       [        U5      S-  :X  d   e[        [        U[        S5      S-
  -  5      5      [        S5      S-
  [        U5      -  :X  d   e[        US-  5      R                  5       [        U5      * :w  d   e[        XU S-   -  -  5      R                  5       U [        U5      -  U S-   -  :X  d   eg )Nr+   Trt   r9   r-   r7   r8   )r   r   re   r   r    )r+   r-   s     rE   test_log_simplifyr   C  s+   sT"Aq!t93q6)))c!a#a&j/*+CF
CF/BBBBsAtAw< CF1H,,,c!c!fqj/*+A
CF/BBBBq2w< SVG+++qac7|##%3q61q5)9999rG   c                  0   [        [        S[        5      5      [        SS5      :X  d   e[        [        S[        5      5      [        [        * S5      :X  d   e[        [        S[        5      5      [        R
                  :X  d   e[        [        S[        5      5      [        [        * [        5      :X  d   e[        [        [        * S5      5      [        R
                  :X  d   e[        [        [        * [        5      5      [        R
                  :X  d   eg )Nr7   r   r8   )r   r   r   r   r   NaNrk   rG   rE   test_log_AccumBoundsr   O  s    {1a ![A%6666{1a !["a%8888{2q!"aee+++{1b!"k2#r&::::{B3"#quu,,,{B3#$---rG   c                  F	   [        S5      n [        [        S5      [        [        5      :X  d   e[        [        SSS9[        [        5      :w  d   e[        S5      S:X  d   e[        [        5      S:X  d   e[        S[        -  5      S:X  d   e[        [	        S5      * S-  5      [	        S5      * :X  d   e[        [
        5      [
        L d   e[        SS5      [
        * L d   e[        SS5      [
        * L d   e[        [        * S-  S5      [        * [        -  S-  :X  d   e[        S[        -  S5      S:X  d   e[        S	[        S	5      -  S5      S	:X  d   e[        S[	        S5      -  5      [	        S5      :X  d   e[        [        * S-  5      [        [        -  S-  :X  d   e[        [        S[        -   5      5      [        :X  d   e[        [        S-  5      R                  [        5      S[        [        S-  5      -  [        -  S[        [        S-  5      -   -  :X  d   e[        [        U 5      R                  [        5      [        [        U 5      [        -  S[        [        U 5      -   -  :X  d   e[        [        S5      5      R                  S
5      R                  [        SS
5      S5      (       d   e[        [        SS5      5      R                  5       R                  [        S5      5      (       d   e[        S5      R                  SL d   e[        SSS9R                  (       d   e[        SSS9n[        USS9R                  (       d   e[        US-
  SS9R                  b   e[        U* S[         R"                  -  -
  SS9R                  SL d   e[        [         R$                  SSS9R                  SL d   e[        ['        SS5      SSS9R                  (       d   e[        SSSS9R                  SL d   e[        S	SSS9R                  SL d   e[        SSS9R(                  (       d   e[        SSSS9n[        U5      R(                  SL d   e[        U5      R*                  SL d   e[        SSS9n[        U5      R*                  SL d   eg )Nr4   r   Fr=   r7   r8   r9   r   r      z 0.701338383413663009202120278965gG^Z9z-0.834310366631110r   Trt   r   ina)r   r   rW   r   )r   r   r+   r   r   r   r   r
   r   diffr    r   r   r	   r   r   r   rB   rC   r   r   r   )r4   r   r  rW   s       rE   test_lambertwr  X  s   sAAq>Xa[(((Aq5)Xa[888A;!A;!BqD>RSVGAI3q6')))B<2Aq>bS   Ar?rc!!!RCE21"R%')))BqD"###Bs2wJ#r)))Ac!fHQ'''RCE?ad1f$$$CAJ1$$$AqD>q!Qx1~%5a%7Xad^9K%LLLLAq>q!Xa^A%5q8Aq>7I%JJJJDG""2&110"5u> > > >hq"o$$&11%8L2MNNNNB<5(((A&....sT"AA&....AEE*22:::QB166ME2::eCCCAFFB/775@@@HR$b59AAAACe,44===BE*22e;;;A&3333	dd	3BB<$$---A;%'''sT"AA;%'''rG   c            
      F   [        S5      n U R                  SL d   eU R                  SLd   eSSS[        S5      -
  -  -
  nUR                  SLd   eS[        [        [        [	        S5      5      5      [        [	        S5      5      -  5      -   nUR
                  SLd   eg )Nr8   FTr7   ir   r9   )r   is_comparabler   r   r   
is_nonzero)rX   e2e3s      rE   test_issue_5673r	    s    A??e###==$$$	
QCJ	B>>%%%	c#hs1v&'Q(889	9B==$$$rG   c                  D   ^  [        S5      m [        [        U 4S j5        g )Nr+   c                  8   > [        T 5      R                  S5      $ ri   )r   r   rq   s   rE   r    test_log_fdiff.<locals>.<lambda>  r   rG   r   rq   s   @rE   test_log_fdiffr    r   rG   c                  V   [        S5      n [        U 5      R                  SU 5      U :X  d   e[        U 5      R                  SU 5      U S-  * S-  :X  d   e[        U 5      R                  SU 5      U S-  S-  :X  d   e[        U 5      R                  SU 5      [        R                  L d   eg )Nr+   r   r7   r9   r;   rL   r8   )r   r   r   r   r   rq   s    rE   test_log_taylor_termr    s    Aq6a#q(((q6a#1uQw...q6a#q!tAv---q6b!$...rG   c                  $   [        SSS9u  pn[        X-   5      R                  5       [        X-   5      :X  d   e[        X-   U-   5      R                  5       [        X-   U-   5      :X  d   e[        [        [        -   5      R                  5       [        [        5      [        [        5      -  :X  d   e[        [        [        -   [
        -   5      R                  5       [        [        5      [        [        5      -  [        [
        5      -  :X  d   eg )NzA,B,CFry   )r   r   re   r+   r,   r-   )r   BCs      rE   test_exp_expand_NCr    s    g51GA!qu:#ae*,,,quqy>  "c!%!)n444q1u:#a&Q-///q1uqy>  "c!fSVmCF&::::rG   c                     [        SSS9n [        [        5      R                  5       [        [        5      S4:X  d   e[        [        * 5      R                  5       S[        [        5      4:X  d   e[        S[        -  5      R                  5       S[        S[        -  5      4:X  d   e[        S5      R                  5       S[        S5      4:X  d   e[        U 5      R                  5       S[        U * 5      4:X  d   e[        U * 5      R                  5       [        U * 5      S4:X  d   e[        [        * [        -  5      R                  5       S[        [        [        -  5      4:X  d   e[        [        * U -  5      R                  5       S[        [        U -  5      4:X  d   e[        U * 5      R                  5       [        U * 5      S4:X  d   e[        SSS	9n[        U* 5      R                  5       [        U* 5      S4:X  d   eg )
NrW   Tr   r7   r   r9   r   Fry   )r   r   r+   as_numer_denomr
   )rW   r   s     rE   test_as_numer_denomr    s   d#Aq6  "s1vqk111r7!!#3q6{222r!t9##%!S1X666r7!!#3q6{222q6  "q#qb'l222r7!!#QB|333r!t9##%!S1X666r!t9##%!S1X666r7!!#QB|333'Ar7!!#QB|333rG   c                  X   [        SSS9u  p[        [        [        S-  5      5      S:X  d   e[        [        S5      5      S:X  d   e[        [        SS[        -  -   5      5      [	        S5      :X  d   e[        [        S	-  5      R                  5       [        [        S	-  5      :X  d   e[        [        [        5      5      [        :X  d   e[        X-  5      R                  5       [        U 5      [        U5      -   :X  d   e[        U [        -  5      R                  5       [        [        U 5      -  :X  d   e[        S5      R                  S:X  d   e[        S
[        -  [        -  5      R                  SS9R                  5       S   S:  d   e[        S5      R                  SL d   eg )Nzx yTr^   r;   r7   r   r9   r:   r   g      ?rL   r   )r   absr   r
   r   rW   r   r-   re   r   as_real_imagr   ra   s     rE   
test_polarr    s[   5%DAy1~!###y|!!!yQqS!"c!f,,,QrT?)AbD/111y|!!!qs8??AQ///q!t93q6)))Q<q    c"fQh!!A!&446q9Q>>>Q<##t+++rG   c            	          [        S5      n [        S5      u  pp4[        [        X-  USU4USU45      5      nUR                  5       [	        [        X-  5      USU4USU45      :X  d   eg )Nr   zm n i jr   )r   r   r   re   r   )r   mrW   r   jexprs         rE   test_exp_summationr    si    A#JA!s13Aq	Aq!9-.D;;=GCHq!Qi!QCCCCrG   c            	         SSK Jn Jn  [        SSSS9u  p#[        SSS9u  pE[        SSS	9n[        S
5      n[	        [        XB-  USU 45      5      n[        U5      U:X  d   eUR                  5       [        U[	        U5      -  USU 45      :X  d   e[	        [        XB-  XS-  -  USU 4USU45      5      n[        U5      U:X  d   eUR                  5       [        U[	        U5      -  U[	        U5      -  -   USU 4USU45      :X  d   e[	        [        SU SS45      5      n[        U5      U:X  d   eUR                  5       U:X  d   eUR                  SS9[        [	        S5      U SS45      :X  d   e[	        [        [        Xb-  5      USU 45      5      nUR                  5       [        Xb-  USU 45      :X  d   e[	        [        [        Xr-  5      USU 45      5      nUR                  5       U:X  d   eUR                  SS9[        Xr-  USU 45      :X  d   e[	        [        US-  [        U5      -  USU 4USU45      5      nUR                  5       [        S[	        U5      -  [	        U5      -   USU 4USU45      :X  d   eg )Nr   rW   r  i,jTru   r6   r   rt   r-   r\   r   r7   r   r;   r   r9   )	sympy.abcrW   r  r   r   r   r'   re   r   r   r  )	rW   r  r   r  r+   r,   r-   r   r  s	            rE   test_log_productr%    sh   546DA54(DA$AAwqtaAY'(DD>T!!!;;=C#a&1a)4444wqtADy1a)aAY78DD>T!!!;;=C#a&1SV8 3aAYAq	JJJJwrAq!9%&DD>T!!!;;=D   ;;T;"c#b'Aq!9&====ws13x!Q+,D;;=CaAY////ws13x!Q+,D;;=D   ;;T;"c!#1ay&9999wq!tCF{Q1I1ay9:D;;=C#a&3q6 1Aq!9q!QiHHHHrG   c                     SSK Jn Jn  [        SSSS9u  p#[        SSS9u  pE[	        [        [        XB-  USU 45      5      5      [        U[        U5      -  USU 45      :X  d   e[	        [        [        XB-  XS-  -  USU 4USU45      5      5      [        U[        U5      -  U[        U5      -  -   USU 4USU45      :X  d   eg )	Nr   r!  r"  Tr#  r   rt   r7   )r$  rW   r  r   r'   r   r   r   )rW   r  r   r  r+   r,   s         rE    test_log_product_simplify_to_sumr'    s    546DA54(DACq!Qi012c!CF(Q1I6NNNNCQT	Aq!9q!Qi@AB#a&1SV8#aAYAq	:; ; ;rG   c                     [        [        [        SSS95      [        [        [        S5      5      :X  d   e[        [        [        SSS95      [        [        [        S5      5      :X  d   e[	        SSS9n [        [        U 5      [        S5      5      n[        [        U 5      [        S5      5      n[        [        U 5      [        S5      SS9n[        [        U 5      [        S5      SS9n[        [        X5      5      [        [        X45      5      :X  d   e[        [        X5      5      [        [        X45      5      :X  d   eg )Nr   Fr=   r,   Trt   rL   )r'   r   r+   r   r   r   )r,   l1b1l2b2s        rE   test_issue_8866r-    s    C2./8C2J3GGGGc!R%01ZAr
5KKKKsT"A	SVSW	B	SVSV	B	SVSWu	-B	SVSVe	,BCK HS[$9999c"k"jR&====rG   c                  d   [        S5      [        S5      -  S-
  R                  SS9[        S5      [        S5      -  :X  d   e[        S5      [        S5      -  R                  SS9[        S5      [        S5      -  S-   :X  d   e[        S5      [        S5      -  R                  SS9S[        S	5      [        S5      -  -   :X  d   e[        S5      [        S5      * [        S
5      -   -  R                  SS9S:X  d   e[        [        S5      SS9[        S5      S[        S5      -  -   :X  d   e[        [        S5      [        S5      -  SS9[        S5      [        S5      -  S-   :X  d   e[        [        S5      [        S	5      -  [        S5      -   SS9SS[        S5      -  [        S	5      -  -   [        S5      -   :X  d   e[        [        S5      [        S	5      -  [        S5      -   SS9[        S5      [        S5      -   [        S	5      S[        S5      -  -   [        S	5      -  -   :X  d   eg )NrK   r:   r9   T)factorr   rU   r7   rL   r      rN   F-            )r   re   r   rk   rG   rE   test_log_expand_factorr5  	  s   GCFNQ&&d&3s1vc!f}DDDGCFN""$"/3q6#a&=13DDDDGCFN""$"/1s1vc!f}3DDDDFSWHs2w&'//t/<AAAc"gd+s1v#a&/@@@@c"gc!fnU3s1vc!f}q7HHHHc"gc!fns2w.u=	Ac!fHSVOc"g%& & &c"gc!fns2w.t<ARCFQs1vX-s1v556 6 6rG   c                  N    [        SSSS9n [        U 5      R                  SL d   eg )NrW   Tr#  )r   r   is_nonnegativer   s    rE   test_issue_9116r8    s(    sT40Aq6  D(((rG   c            	      \   [        [        [        [        S[        -  5      5      -  5      R	                  [        5      [
        R                  :X  d   e[        [        [        [        S[        -  5      5      -  5      R	                  [        5      [
        R                  :X  d   e[        [        S[        -  5      5      R	                  [        5      [
        R                  :X  d   e[        [        S[        -  5      5      R	                  [        5      [
        R                  :X  d   e[        [        S[        -  5      S-   5      R	                  [        5      [        S[        S5      5      :X  d   e[        [        [        [        S[        -  5      S-   5      -  5      R	                  [        5      S:X  d   e[        [        S[        -  5      S-
  5      R	                  [        5      [
        R                  :X  d   e[        [        [        [        S[        -  5      S-
  5      -  5      R	                  [        5      [
        R                  :X  d   e[        [        S[        -  5      S-   5      R	                  [        5      [        [        * [        S5      5      :X  d   e[        [        [        [        S[        -  5      S-   5      -  5      R	                  [        5      [        SS5      :X  d   e[        [        S[        -  5      S-  5      R	                  [        5      [        [        * S5      :X  d   e[        [        [        [        S[        -  5      S-  5      -  5      R	                  [        5      [        SS5      :X  d   e[        [        S[        -  5      S-  5      R	                  [        5      [        [        * [        5      :X  d   e[        S[        -  [        [        S[        -  5      S-  5      -  5      R	                  [        5      [        S[        5      :X  d   eg )Nr7   r9   r   r:   )r   r+   r   r!   r   r   r   r#   r   r   r"   rk   rG   rE   test_issue_18473r:    s   qS1X//2aee;;;qS1X//2aee;;;s1Q3x=((+quu444s1Q3x=((+quu444s1Q3x!|,,Q/;q#a&3IIIIqS1X\""#33A6!;;;s1Q3x!|,,Q/155888qS1X\""#33A6!%%???s1Q3x!|,,Q/;sCF3KKKKqS1X\""#33A6+a:KKKKs1Q3x{++A.+rc12EEEEqS1Xq[!!"2215Q9JJJJs1Q3x{++A.+rc22FFFFqsCAaC!$%&66q9[B=OOOOrG   N)vsympy.assumptions.refiner   !sympy.calculus.accumulationboundsr   sympy.concrete.productsr   sympy.concrete.summationsr   sympy.core.functionr   sympy.core.numbersr   r	   r
   r   r   r   r   r   sympy.core.powerr   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   r   r   r   &sympy.functions.elementary.exponentialr   r   r   r   %sympy.functions.elementary.hyperbolicr   r   r   (sympy.functions.elementary.miscellaneousr    (sympy.functions.elementary.trigonometricr!   r"   r#   "sympy.matrices.expressions.matexprr$   sympy.polys.polytoolsr%   sympy.series.orderr&   sympy.simplify.simplifyr'   sympy.core.parametersr(   r)   r$  r+   r,   r-   sympy.core.exprr.   r/   sympy.testing.pytestr0   r1   r2   rF   rZ   rb   rg   rl   rr   rw   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   r   r   r  r	  r  r  r  r  r  r  r%  r'  r-  r5  r8  r:  rk   rG   rE   <module>rP     st   + 9 + ) * H H H   " / Z Z R R D D 9 D D ; %   , 3 B   % 2 = = )6 )6X ( (&   0 0   % % ) )(.
2 2 2 $ $, ? ? / /
8
&#R>'3T8$#9L+ < <D : :","L
@
?*X0'"5, 4 4	:. *( *(Z%8
/; 4 4  , ,(DI> ; ;
>6)
PrG   