
    sgt                     Z   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZmZmZmZmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZmZmZmZmZ d dl m!Z!m"Z"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z? d dlm@Z@ d dlAmBZBmCZCmDZD eDd        ZEeDd        ZFeDd        ZGeDd        ZHeDd        ZIeDd        ZJeDd        ZKd  ZLd! ZMeDd"        ZNeDd#        ZOeDd$        ZPeDd%        ZQd& ZRd' ZSd( ZTd) ZUd* ZVd+ ZWd, ZXd- ZYeDd.        ZZeDd/        Z[d0 Z\d1 Z]d2 Z^d3 Z_d4 Z`d5 Zad6 Zbd7 Zcd8 ZdeCd9        Zed: Zfd; ZgeDd<        Zhd= Zid> Zjd? Zkd@ ZleDdA        ZmeDdB        ZndC ZodD ZpeCdE        ZqdF ZrdG ZsdH ZtdI ZuyJ)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            
      	   t         j                  r t        t        t                    t
        u s"J t        t        t                    t        u sJ t        dd      } t        t              t        u sJ t        t              t        u sJ t        t               dk(  sJ t        d      dk(  sJ t        d      t        k(  sJ t        dt        z         j                         t        j                  t        dz
  fk(  sJ t        dt        z         j                         t        j                  t        dz   fk(  sJ t        t        t        z  dz        t        k(  sJ t        t        t        z        dk(  sJ t        t        t        z  t        dd      z        t         k(  sJ t        dt        z  t        z        dk(  sJ t!        t        t        t        z  dz  | z              dk(  sJ t!        t        t        t        z  dz  | t        j"                  z   z              dk(  sJ t!        t        t        t        z  dz  | t        dd	      z   z              t        k(  sJ t!        t        t        t        z  dz  | t        dd	      z   z              t         k(  sJ t        t%        t                    t        k(  sJ t        dt%        t              z        t        dz  k(  sJ t        t        t%        t              z        t        t        z  k(  sJ t        d
t%        t              z  t        t%        t&              z  z         t        d
z  t&        t        z  z  k(  sJ t        t        t%        t              z        t        t        z  k7  sJ t        t)        t              t%        t              z        t        k7  sJ t        dt%        t              z  t        t        z  z         t        t        t        z        t        dz  z  k(  sJ t        d	t%        t              z  t%        t&              z  dt%        t              z  z         t        dz  t        d	t%        t              z  t%        t&              z        z  k(  sJ t        t         d      j*                  du sJ t        t        d      j*                  du sJ y )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    d/var/www/html/venv/lib/python3.12/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            	      L   t        t        t        z  t        dd      z        t        t        t        z  dz        k(  sJ t        t        t        z  t        dd      z        t        t        t        z  t        dd      z        k(  sJ t        t        t        z  t        dd      z        t        t        t        z  t        dd      z        k(  sJ t        t        t        z  t        d	d
      z        t        t         t        z  d
z        k(  sJ t        t        t        z  t        dd      z        t        t        t        z  t        dd      z        z
  dk(  sJ t        t        t        z  t        dd
      z        t        t        t        z  t        dd      z        z  t        t        t        z  t        dd      z        z  dk(  sJ t        dt        t        z  t        dd      z  z
        t        dt        t        z  t        d
d      z  z         k(  sJ t        t	        d
      t        t        z  t        dd      z  z         d
t        t        t        z  t        dd      z        z  k(  sJ t        dd      } t        dd      }t        |t        z  t        z        dk(  sJ t        |dz   t        z  t        z        dk(  sJ t        dd| z  z   t        z  t        z  dz        t        k(  sJ t        dd| z  z   t        z  t        z  dz        t         k(  sJ y )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                     t        dd      } t        t        |             | k(  sJ t        t        |             | k(  sJ t        j                  sDt        |       j                         t        k(  sJ t        |       j                         t        k(  sJ t        dd      }t        t        t                    t        k(  sJ t        t        |            |k(  sJ y )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                     t        t        t        d            dt        z   z  t        t        d            t        z  z
        } | j	                         dk(  sJ t        t        t
        z         t        t              t        t
              z  k7  sJ t        t        t
        z         j	                         t        t              t        t
              z  k(  sJ y 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                     t        t              j                         t        t        fk(  sJ t        dt        z        j                         t        dt        z  fk(  sJ t        t        t        z        j                         t        t        t        z  fk(  sJ t        t               j                         t        t         fk(  sJ t        t        z  t        t              k(  sJ t        dt        z  z  t        dt        z        k(  sJ t        t        t        z  z  t        t        t        z        k(  sJ t        t              j
                  t        j                  u sJ t        t              j                   t        k(  sJ y 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                     t        t        t        z        t        k7  sJ t	        t        t        t
        z              t        u sJ t	        t        t         t
        z              t        u sJ t        t        t        z  t
        z        t        k7  sJ t        t              t        u sJ t        ddd      } t        |       j                  J y )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                  B   t        d      } t        dt        |       z  d      }|j                  | dz  t        dz        |k(  sJ |j                  | dz  d      |k(  sJ | dz  j                  | dz  t              t        t        dd      z  k7  sJ t        t        |       t        | dz        z         j                  t        t        |             t              t        t        t        | dz              z  k(  sJ t        |       j                  t        t              t        | z  k(  sJ t        dd      } t        d| z        j                  t        d	| z        t              t        t        dd	      z  k(  sJ t        d| z  d	z         j                  t        d| z        t              t        t        dd      z  t        d	      z  k(  sJ t        dd
      } t        dt        |       z        j                  | dz  t              t        t        dd      z  k(  sJ t        t        | t        z               j                  t        d      dd| t        z   z  z  k(  sJ t        t        | t        z               j                  t        t              t        t        | t        z               k(  sJ t        t        | t        z               j                  t        d      dd| dz   z  z  k(  sJ t        d      j                  t        t              t        d      k(  sJ y )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                  j    t        t        t                    t        t        t                    k(  sJ y N)r   r   r+   rk   rG   rE   test_exp_adjointrz      s     3q6?c'!*o---rG   c                  j    t        t        t                    t        t        t                    k(  sJ y ry   )r   r   r+   rk   rG   rE   test_exp_conjugater|      s"    SVIaL 1111rG   c                  j    t        t        t                    t        t        t                    k(  sJ y ry   )r   r   r+   rk   rG   rE   test_exp_transposer~      s"    SVIaL 1111rG   c                  h	   t        t              j                  t              t	        t              t        t              z   k(  sJ t        t        t        z        j                  t              t        t              t        t        t              z  z   k(  sJ t        d      j                  t              t	        d      t        d      z   k(  sJ t        d      j                  t              t	        d      t        d      z   k(  sJ t        d      j                  t              t	        d      t        d      z   k(  sJ t        t              j                  t              dt        t        dz        z   dt        t        dz        z
  z  k(  sJ t        t        t        z  dz        j                  t              t        d      dz  t        d      t        z  dz  z   k(  sJ t        t        t        z  dz        j                  t              t        j                  t        d      t        z  dz  z   k(  sJ t        j                  st        t        t        t               z        j                  t"              t         t        z  k(  sJ t        t        t              t        t               z        j                  t"              t        t        t               z  t         t        t              z  fv sJ t        t        t        t                    t         z        j                  t"              t        t              t         z  k(  sJ t%        dd      } t'        t        t        t        z  dz        dz  | z  | dt(        f      j                  t              j+                         t-        dd	      t        dz  d	z  z   k(  sJ t'        t        t        t        z  dz        dz  | z  | dt(        f      j                  t              j+                         ddt        d      dt        z   z  dz  z
  z  k(  sJ t'        t        t        t        z  dz        dz  | z  | dt(        f      j                  t              j+                         j/                         dt        z  t        d      dt        z  z   z  k(  sJ y )
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      s^   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                  8   t        t              j                  t              dk(  sJ t        dt        z         j                  t              t        d      k(  sJ t        dt        z  dz   t        dz   z        j                  t              t        d      k(  sJ y )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                  L   t        d      } t        |       j                  d|       | k(  sJ t        |       j                  d|       | dz  dz  k(  sJ t        |       j                  d|       | dz  dz  k(  sJ t        |       j                  d|       t        j                  u sJ y )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                  ^    t        ddd      } t        |       j                  t              sJ y )NAr9   )r$   r   has)r   s    rE   test_exp_MatrixSymbolr      s$    S!QAq6::c??rG   c                  B     t        d       t        t         fd       y )Nr+   c                  8    t               j                  d      S ri   )r   fdiffrq   s   rE   <lambda>z test_exp_fdiff.<locals>.<lambda>       s1v||A rG   r   r0   r/   rq   s   @rE   test_exp_fdiffr          sA
67rG   c                  D   t        t              t        u sJ t        t              t        u sJ t        t               t        u sJ t        t              t        u sJ t        t               t        u sJ t        d      t        u sJ t        d      dk(  sJ t        d      t        t
        z  k(  sJ t        t              dk(  sJ t        t               j                         dt        t
        z  z   k(  sJ t        t         t
              sJ t        t
               j                         t        t
              t        t
        z  z   k(  sJ t        t         d      sJ t        d      t        d      t        t
        z  z   k(  sJ t        t              t        t
        z  dz  k(  sJ t        t               t         t
        z  dz  k(  sJ t        dt        z        t        t
        z  dz  t        d      z   k(  sJ t        dt        z        j                         t         t
        z  dz  t        d      z   k(  sJ t        t        t        z        t        u sJ t        t         t        z        t        u sJ t        dd      t        u sJ t        dd      t        u sJ t        t        d             dz  dk(  sJ t        t        j                        t        d       k(  sJ t        d	      j                  t         u sJ t        d
      j                  t         u sJ y )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      sp   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                     t        dd      \  } }t        dd      }t        t        j                        dk(  sJ t        t
              dk(  sJ t        dd	t
        z  z
        d
k(  sJ t        t        d       t        j                  t
        z  z         t        d       t        j                  fk(  sJ t        | |t
        z  z         | |fk(  sJ t        | t
        z  |t
        z  z         d| |z   fk(  sJ t        | |z   t
        z        d| |z   fk(  sJ t        t        dd      |z  t
        z        dk(  sJ t        dd|z  z
        dk(  sJ t        t        d      dd	t
        z  z
  z        dk(  sJ y )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     sc   5t$DAqsd#A155!V+++1'''1qs7#w...DG8affQh./T!WHaff3EEEE1qs7#1v---1Q319%!QU333AE19%!QU3338B?1,Q./<???1qs7#|33347A!G,-===rG   c                  x   t        dd      D ]  } t        | d      dk7  rNt        t        | t        z  t
        z  dz        j                  t                    | t        z  t
        z  dz  k(  sJ t        dd      D ]P  } t        t        | t        z  t
        z  dz        j                  t                    | t        z  t
        z  dz  k(  rPJ   t        t        j                  t        t        d      z  dz  z
        t         t
        z  dz  k(  sJ t        t        dd      t        t        d      z  dz  z         t        t
        z  t        dd      z  k(  sJ t        t        d       dz  t        t        d      z  dz  z
        t         t
        z  t        dd	      z  k(  sJ t        t        d       dz  t        t        j                  z  z
        t         t
        z  t        d
d      z  k(  sJ t        t        dd	      t        d
      d	z  z   t        t        t        d
      dz  t        d
d      z         z  z
        t         t
        z  t        dd
      z  k(  sJ t        t        t        d
d      t        d
      dz  z
        t        t        dd	      t        d
      d	z  z   z  z         t        t
        z  t        dd      z  k(  sJ t        t        t        d      d	z  t        j                  z          t        t        t        j                  t        d      d	z  z
        z  z         t        t
        z  t        dd      z  k(  sJ t        t        d       d	z  t        d      d	z  z
  t        t        d       d	z  t        d      d	z  z   z  z         t         t
        z  t        dd      z  k(  sJ t        dt        t        d      z  z         t        d      t        t
        z  t        dd      z  z   k(  sJ t        d
d
t        z  z         t        d
t        d      z        t        t
        z  d	z  z   k(  sJ t        t        d            t        dt        d      z        t        t
        z  dz  z   k(  sJ t        t        d       t        d      z   t        t        d      z  z
  t        t        d      z  z
        t        d	      t        t
        z  t        dd      z  z
  k(  sJ t        t        ddt        d      z  z
         t        t        ddt        d      z  z         z  z
        t        dt        d      z        t        t
        z  t        d
d      z  z
  k(  sJ t        dt        t        dt        d      z
        z  t        dt        d      z         z  z         t        dt        t        d      dz         z        t        t
        z  dz  z   k(  sJ t        t        t
        t        dd      z        t        t        t
        t        dd      z        z  z         t        t
        z  t        dd      z  k(  sJ t        t        t
        t        dd
      z        t        t        t
        t        dd
      z        z  z         t        t
        z  t        dd
      z  k(  sJ t        d
dt        z   z  t        d      z        t        d
      t        t
        z  d	z  z   k(  sJ t        t        d      t        d       dz   t        d      t        z  z
  t        z
  z        t        d	      t        t
        z  t        dd      z  z
  k(  sJ t        t        d       dt        t        d      z  z
  z        t        dt        d      z        t        t
        z  t        dd      z  z   k(  sJ t        t        d      t        z  t        ddt        d      z  z
         t        t        dt        d      z  dz         z  z
  z        t        d      t        t
        z  dz  z
  k(  sJ dt        d      z   dz  dz
  dt        d      z  z
  }t        |t        t        d      z  z
        t        t        d            t        t
        z  dz  z
  k(  sJ t        t        |t        |z  z         st        ||t        z  z         t        u sJ t        t        t        d      dt        t        d      t        z         z  z
  dz        sJ t        t        t        dt        d
      z
        dt        z   z        sJ y )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      sw   3^ Bq":?s1Q3r6"9~--d34!Br	AAAr2 	BAs1Q3r6"9~--d34!Br	AAA	BB 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tAv,>#,EEE S471T$q'!)_#44t;<<<S$qay/1q51222rG   c                     t        dd      dk(  sJ t        dd      dk(  sJ t        dd      t        d      t        d      z  k(  sJ t        dd      dt        d      t        d      z  z   k(  sJ t        dd      dt        d      t        d      z  z   k(  sJ t        dd      dk(  sJ t        dd      dk(  sJ t        dd      t        u sJ t        dd      t        u sJ t        t        dd      d	      t        t        dd            t        d	      z  k(  sJ t        t        dd      t        dd            t        d       t        d      z  dz   k(  sJ t        t        dd      t        dd            t        t        dd            t        t        dd            z  k(  sJ t        t        dd      d      t        d       t        d      z  dz   k(  sJ y )
Nr7   r9   r   r:   r   rQ      rL   r   )r   r   r   r   rk   rG   rE   test_log_baser   J  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                  f
   t        t        t        d            t        t              k(  sJ t        t        t                    t        k7  sJ t        t        t        d            t        t              k(  sJ t        t        t        z        t        t              t        t              z   k7  sJ t        t        t        z        j	                         t        t              t        t              z
  k7  sJ t        t        t        z        j	                  d      t        t              t        t              z
  k(  sJ t        t        t        z        j	                         t        t        t              z  k7  sJ t        t        t        z        j	                  d      t        t        t              z  k(  sJ t        t        d      t        t              t        d      z  k(  sJ t        t
        d      dt        d      z  k(  sJ t        dd      \  } }t        dd      }t        | dz        dt        |       z  k7  sJ t        | dz        j	                         dt        |       z  k(  sJ t        t        dz        j	                         dt        t              z  k7  sJ t        | |z        |t        |       z  k7  sJ t        t        |             | k(  sJ t        | |z        t        |       t        |      z   k7  sJ t        | |z        j	                         t        |       t        |      z   k(  sJ t        t        d	             t        t        d	            t        t        z  z   k(  sJ t        t        |              | t        t        z  z   k7  sJ t        t        t                     j	                         t        t        t        z  z   k7  sJ t        t        |             j	                         |t        t        z  z   k(  sJ t        t        t        z        t        t        t              z  k7  sJ t        t        d
z        dz  j	                         dt        t              z  dz  k7  sJ t        | d
z        dz  j	                         dt        |       z  dz  k(  sJ t        t               j                  t         u r%t        t               j                  d   t         k(  sJ t        |        j                  t         u rt        |        j                  d   |  k(  sJ y )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(DAqsAq!t9#a&   q!t93q6)))q!t93q6)))q!t9#a&   s1v;!qs8s1vA&&&qs8??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            	      J   t        t        dt        z  t        z              dk(  sJ t        t        dt        z  t        z              t        t        z  k(  sJ t        t        t        t        z  t	        dd      z              t        t        z  t	        dd      z  k(  sJ t        t        t        t        z  t	        dd      z              t        t        z  t	        dd      z  k(  sJ t        t        dt        z              dt        z  d	t        z  t        z  z   k(  sJ y )
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                     t        dd      } t        dd      }t        t        fD ]  } |t              j                  J  |t              j
                  J  ||      j                  J  ||      j
                  J  ||       j                  du sJ  ||       j
                  du sJ  |t        t                    j                  du sJ  |t        t                    j
                  du rJ  t        t        t        t        z  d      j
                  dk(  sJ t        t        dt        z  t        z  d      j
                  dk(  sJ t        t        t        t        z  dz  d      j
                  dk(  sJ t        t        t        t        z  d	z  d      j
                  J t        d
d      j                  sJ t        dd      }t        ddd      }t        dd      } t        ddd      }t        |      j                  J t        |      j                  du sJ t        t        | z        j                  J t        t        |z        j                  du sJ t        d
d      j                  du sJ t        t        t        z  d	z  d      j                  du sJ t        t        t        z  | z  d      j                  du sJ y )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                  b    t        t        dd            t        t        t        dz        k(  sJ y )Nr7   r9   )r   r   r   rk   rG   rE   test_exp_AccumBoundsr     s'    {1a ![AqD%9999rG   c                     t        dd      } t        dd      }t        dd      }t        ddd	      }t        |      j                  d
u sJ t        |      j                  du sJ t        d      dkD  sJ t        dd
      j                  sJ t        d|z         j                  sJ t        |       j                  J t        |      j                  d
u sJ t        d      j
                  du sJ t        t        |       dz         j                  sJ t        dd
      j                  sJ t        dd
      j                  d
u sJ t        d|z         j                  sJ y )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                  p   t         t        t        t                     k7  sJ t        t               t        t        t        t                           k7  sJ t        t               t        t        t        t                           k7  sJ dt        t        t               t        t        t                     z         z  } | j                  j                  t        u sJ dt        t        t               t        t        t        t                           z         z  } | j                  j                  t        u sJ t        t        t                     } | j                  t        u sJ t         j                  t        usJ t        t        t        t                           t        t               k7  sJ | t         k7  sJ y )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                  6    t        t        d            dk(  sJ y rd   )r   r   rk   rG   rE   test_log_signr     s    A<1rG   c                  *   t        dt        z         j                  d      t        d      dz  t        t        z  dz  z   k(  sJ t        dt	        d      z
        j                  d      t        t	        d      dz
        t        t        z  z   k(  sJ y )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                      t        d      t        d      z  dz
  j                         } | j                  t        d            sJ y )Nr:   r9   r7   z0.58496250072115618145373)r   evalf
epsilon_eqr	   )values    rE   test_log_apply_evalfr     s;    VCF]Q%%'EE"=>???rG   c                  0   t        d      } t        dt        z   t        dz  z         j                  t        d      t        k(  sJ t        dt        z        j                  t        d      t        t              t        d      z   k(  sJ t        dt        z        j                  t        d      t        t              t        d      z   k(  sJ t        dt        z        j                  t        d|       | t        d      z   t        t
        z  z   k(  sJ t        dt        z        j                  t        d|       | t        d      z   t        t
        z  z
  k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        d      t        t              t        d      z   t        t
        z  z
  k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        d      t        t              t        d      z   t        t
        z  z
  k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        d      t        t              t        d      z   k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        d      t        t              t        d      z   dt        z  t
        z  z
  k(  sJ t        dt        z   t        t        dz  z  z
  t        t        dz  z  z         j                  t        d      t         t
        z  k(  sJ t        dt        z   t        t        dz  z  z
  t        t        dz  z  z         j                  t        d      t         t
        z  k(  sJ t        ddt        z
  z        j                  t        d      t        t
        z  k(  sJ t        ddt        z
  z        j                  t        d      t        t
        z  k(  sJ y )	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                  2   t        d      } t        dt        z        j                  t        d|  d      | k(  sJ t        dt        z        j                  t        d|  d      | dt        z  t
        z  z   k(  sJ t        t        dz
        j                  t        dd t              t        t
        z  t        z
  t        dz  dz  z
  t        dz  dz  z
  t        t        dz        z   k(  sJ t        t        dz
        j                  t        dd t               t         t
        z  t        z
  t        dz  dz  z
  t        dz  dz  z
  t        t        dz        z   k(  sJ t        t        t        z  t        t        dz  z  z   dz
        j                  t        dd d      t        t
        z  t        t        z  z
  t        dz  dz  z   t        t        dz        z   k(  sJ t        t        t        z  t        t        dz  z  z   dz
        j                  t        dd d      t         t
        z  t        t        z  z
  t        dz  dz  z   t        t        dz        z   k(  sJ t        t        t        dz  z  t        t        dz  z  z   dz
        j                  t        dd d      t        t
        z  t        t        dz  z  z
  t        t        dz        z   k(  sJ t        t        t        dz  z  t        t        dz  z  z   dz
        j                  t        dd d      t        t
        z  t        t        dz  z  z
  t        t        dz        z   k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        dd d      t        d      t        t              z   t        t        d      dz  t        dz  z
  z  z   t        dz  ddt        z  dz  z   z  z   t        t        dz        z   k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        dd d      dt        z  t
        z  t        d      z   t        t              z   t        t        d       dz  t        dz  z   z  z
  t        dz  ddt        z  dz  z   z  z   t        t        dz        z   k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        dd d      t         t
        z  t        d      z   t        t              z   t        t        d       dz  t        dz  z   z  z   t        dz  ddt        z  dz  z   z  z   t        t        dz        z   k(  sJ t        dt        z  dt        z
  t        dz  z  z         j                  t        dd d      t         t
        z  t        d      z   t        t              z   t        t        d      dz  t        dz  z
  z  z
  t        dz  ddt        z  dz  z   z  z   t        t        dz        z   k(  sJ t        t        t         t        dz  z  dz
        t        t         t        dz  z  dz
        z  dz
        j                  t        dd d      t         t
        z  t        t        d      dz         z   t        t        dz  z  ddt        d      z  dz  z   z  z   t        t        dz        z   k(  sJ t        ddt        z
  z        j                  t        dd d      t        t
        z  t        z   t        dz  dz  z   t        t        dz        z   k(  sJ t        ddt        z
  z        j                  t        dd d      t        t
        z  t        z   t        dz  dz  z   t        t        dz        z   k(  sJ y )	Nr   r7   r;   )r   r   r8   r9   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vrAd1gIaK/0Y134QT7Y; ; ; ;r1q5z?((AtQ71R4!8ad1f;LqQRTUQUw;VVVVr1q5z?((AtR8AbD1Hq!tAv<MPQRSUVRVPW<WWWWrG   c                  &   t        dt        z         } t        t        t        t        dz  dz         z         }| j                  t        t        t
        z  d      ddt        dz  z  z  ddt        dz  z  z  z
  dt        z  z   t        t        z  dz  z   t        t        t        z        z
  t        t        dz  t        t
        t        z  f      z   k(  sJ | j                  t        t         t
        z  d      ddt        dz  z  z  ddt        dz  z  z  z
  dt        z  z   t        t        z  dz  z
  t        t         t        z        z
  t        t        dz  t        t
         t        z  f      z   k(  sJ |j                  t        t        t
        z  d      ddt        dz  z  z  t        t        z  dz  z   t        d      z   t        t        t        z        z
  t        t        dz  t        t
        t        z  f      z   k(  sJ |j                  t        t         t
        z  d      ddt        dz  z  z  t        t        z  dz  z
  t        d      z
  t        t         t        z        z   t        t        dz  t        t
         t        z  f      z   k(  sJ y )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            	         t        dd      } t        | t        d      t        d      z  z        }|j                         t        d      t        d      z  t        |       z  k(  sJ t        dd      \  }}}t        |||z   z        j                  d      t        |      t        ||z         z   k(  sJ t        t        |d	z        t        ||z        z        j                         t        d	t        |      z  t        |      z  d	t        |      z  t        |      z  z         t        t        |      t        |      z  t        |      t        |      z  z         t        d	      z   t        t        |      t        |      z   t        |      z        t        d	      z   fv sJ t        |t        |d	z        z        j                  d
      t        |      t        |d	z        z  k(  sJ t        |t        |d	z        z        j                         d	t        |      d	z  z  k(  sJ t        d      \  }}t        ||z        j                  d      t        |      t        |      z   k(  sJ t        ||z        j                  d      |t        |      z  k(  sJ t        t	        |            j                  d      |k(  sJ t        d      j                         d	t        d      z  t        d	      z   k7  sJ y )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   %  s   sT"AAAs1vA88:QAQ////g-GAq!q!a%y>  U +s1vAE
/BBBBs1a4yQqS!"))+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>DAqqs8???&#a&3q6/999q!t9$'1SV8333s1v;D)Q...
 v;1SV8c!f#4444rG   c                      t        dd      \  } }}t        | ||z   z        | |z   z  j                  dd      |t        |       z  |t        ||z         z  z   |t        |       z  z   |t        ||z         z  z   k(  sJ y )Nr   Trt   )r   r   )r   r   re   r*   s      rE   test_log_expand_failr   ;  s    g-GAq!1q5	NAE"**t*>!C	E Cs1q5z\Cc!fHC%'(QU|C4 4 4 4rG   c            	         t        dd      } t        | dz        j                         dt        |       z  k(  sJ t        t        | dt        d      z   z              dt        d      z   t        |       z  k(  sJ t        d      }t        t	        |            j                         t        |      dz  k(  sJ t        t        |t        d      dz
  z              t        d      dz
  t        |      z  k(  sJ t        |dz        j                         t        |       k7  sJ t        || | dz   z  z        j                         | t        |      z  | dz   z  k(  sJ y )Nr+   Trt   r9   r-   r7   r8   )r   r   re   r   r    )r+   r-   s     rE   test_log_simplifyr   B  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+++q1ac7|##%3q61q5)9999rG   c                  $   t        t        dt                    t        dd      k(  sJ t        t        dt                    t        t         d      k(  sJ t        t        dt                    t        j
                  k(  sJ t        t        dt                    t        t         t              k(  sJ t        t        t         d            t        j
                  k(  sJ t        t        t         t                    t        j
                  k(  sJ y )Nr7   r   r8   )r   r   r   r   r   NaNrk   rG   rE   test_log_AccumBoundsr   N  s    {1a ![A%6666{1a !["a%8888{2q!"aee+++{1b!"k2#r&::::{B3"#quu,,,{B3#$---rG   c                  v
   t        d      } t        t        d      t        t              k(  sJ t        t        dd      t        t              k7  sJ t        d      dk(  sJ t        t              dk(  sJ t        dt        z        dk(  sJ t        dt	        d      z        t	        d      k(  sJ t        t	        d       dz        t	        d       k(  sJ t        d	t	        d
      z        d
t	        d
      z  k(  sJ t        t        t              dz        t        j                  k(  sJ t        t              t        u sJ t        dd      t         u sJ t        dd      t         u sJ t        t         dz  d      t         t        z  dz  k(  sJ t        dt        z  d      dk(  sJ t        dt        d      z  d      dk(  sJ t        dt	        d      z        t	        d      k(  sJ t        t         dz        t        t        z  dz  k(  sJ t        t        dt        z               t        k(  sJ t        t        dz        j                  t              dt        t        dz        z  t        z  dt        t        dz        z   z  k(  sJ t        t        |       j                  t              t        t        |       t        z  dt        t        |       z   z  k(  sJ t        t        d            j                  d      j                  t        dd      d      sJ t!        t        dd            j                         j                  t        d            sJ t        d      j"                  du sJ t        dd      j"                  sJ t        dd      }t        |d      j"                  sJ t        ||dz   z  t	        |      z        |t	        |      z  k(  sJ t        |dz
  d      j"                  J t        | dt        j$                  z  z
  d      j"                  du sJ t        t        j                  dd      j"                  du sJ t        t'        dd      dd      j"                  sJ t        ddd      j"                  du sJ t        ddd      j"                  du sJ t        dd      j(                  sJ t        ddd      }t        |      j(                  du sJ t        |      j*                  du sJ t        dd      }t        |      j*                  du sJ y )Nr4   r   Fr=   r7   r8   d   r9   Q   r:   r   r      z 0.701338383413663009202120278965gG^Z9z-0.834310366631110r   Trt   r   ina)r   r   rW   r   )r   r   r+   r   r   r    r   rC   r   r   r
   r   diffr   r   r	   r   r   rB   r   r   r   )r4   r   r   rW   s       rE   test_lambertwr  W  s   sAAq>Xa[(((Aq5)Xa[888A;!A;!BqD>RCCL!SX---SVGAI3q6')))Bs1vI!CF(***DGAI!&&(((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B<5(((A&....sT"AA&....A!HSVO$#a&000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            
      >   t        d      } | j                  du sJ | j                  dusJ dddt        d      z
  z  z
  }|j                  dusJ dt        t        t        t	        d                  t        t	        d            z        z   }|j
                  dusJ y )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                  B     t        d       t        t         fd       y )Nr+   c                  8    t               j                  d      S ri   )r   r   rq   s   rE   r   z test_log_fdiff.<locals>.<lambda>  r   rG   r   rq   s   @rE   test_log_fdiffr    r   rG   c                  N   t        d      } t        |       j                  d|       | k(  sJ t        |       j                  d|       | dz   dz  k(  sJ t        |       j                  d|       | dz  dz  k(  sJ t        |       j                  d|       t        j                  u sJ y )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                  ,   t        dd      \  } }}t        | |z         j                         t        | |z         k(  sJ t        | |z   |z         j                         t        | |z   |z         k(  sJ t        t        t        z         j                         t        t              t        t              z  k(  sJ t        t        t        z   t
        z         j                         t        t              t        t              z  t        t
              z  k(  sJ y )NzA,B,CFcommutative)r   r   re   r+   r,   r-   )r   BCs      rE   test_exp_expand_NCr    s    g51GAq!q1u:#a!e*,,,q1uqy>  "c!a%!)n444q1u:#a&Q-///q1uqy>  "c!fSVmCF&::::rG   c                     t        dd      } t        t              j                         t        t              dfk(  sJ t        t               j                         dt        t              fk(  sJ t        dt        z        j                         dt        dt        z        fk(  sJ t        d      j                         dt        d      fk(  sJ t        |       j                         dt        |        fk(  sJ t        |        j                         t        |        dfk(  sJ t        t         t        z        j                         dt        t        t        z        fk(  sJ t        t         | z        j                         dt        t        | z        fk(  sJ t        |        j                         t        |        dfk(  sJ t        dd	      }t        |       j                         t        |       dfk(  sJ y )
NrW   Tr   r7   r   r9   r   Fr  )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                  T   t        dd      \  } }t        t        t        dz              dk(  sJ t        t        d            dk(  sJ t        t        ddt        z  z               t	        d      k(  sJ t        t        d	z        j                         t        t        d	z        k(  sJ t        t        t                    t        k(  sJ t        | |z        j                         t        |       t        |      z   k(  sJ t        | t        z        j                         t        t        |       z  k(  sJ t        d      j                  dk(  sJ t        d
t        z  t        z        j                  d      j                         d   dk\  sJ t        d      j                  du sJ y )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%DAqy1~!###y|!!!yQqS!"c!f,,,QrT?)AbD/111y|!!!qs8??AQ///q!t93q6)))Q<q    c"fQh!!A!&446q9Q>>>Q<##t+++rG   c            	          t        d      } t        d      \  }}}}t        t        | |z  |d|f|d|f            }|j                         t	        t        | |z        |d|f|d|f      k(  sJ y )Nr   zm n i jr   )r   r   r   re   r   )r   mrW   r   jexprs         rE   test_exp_summationr    sq    A#JAq!Qs1Q3Aq	Aq!9-.D;;=GC!Hq!Qi!QCCCCrG   c            	         ddl m} m} t        ddd      \  }}t        dd      \  }}t        dd	      }t        d
      }t	        t        ||z  |d| f            }t        |      |k(  sJ |j                         t        |t	        |      z  |d| f      k(  sJ t	        t        ||z  ||z  z  |d| f|d|f            }t        |      |k(  sJ |j                         t        |t	        |      z  |t	        |      z  z   |d| f|d|f      k(  sJ t	        t        d| ddf            }t        |      |k(  sJ |j                         |k(  sJ |j                  d      t        t	        d      | ddf      k(  sJ t	        t        t        ||z        |d| f            }|j                         t        ||z  |d| f      k(  sJ t	        t        t        ||z        |d| f            }|j                         |k(  sJ |j                  d      t        ||z  |d| f      k(  sJ t	        t        |dz  t        |      z  |d| f|d|f            }|j                         t        dt	        |      z  t	        |      z   |d| f|d|f      k(  sJ y )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%    sz   546DAq54(DAq$AAwq!taAY'(DD>T!!!;;=C#a&1a)4444wq!tAqDy1a)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&====ws1Q3x!Q+,D;;=C!aAY////ws1Q3x!Q+,D;;=D   ;;T;"c!A#1ay&9999wq!tCF{Q1I1ay9:D;;=C#a&3q6 1Aq!9q!QiHHHHrG   c                     ddl m} m} t        ddd      \  }}t        dd      \  }}t	        t        t        ||z  |d| f                  t        |t        |      z  |d| f      k(  sJ t	        t        t        ||z  ||z  z  |d| f|d|f                  t        |t        |      z  |t        |      z  z   |d| f|d|f      k(  sJ y )	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6DAq54(DAqC1q!Qi012c!CF(Q1I6NNNNC1QT	Aq!9q!Qi@AB#a&1SV8#aAYAq	:; ; ;rG   c                     t        t        t        dd            t        t        t        d            k(  sJ t        t        t        dd            t        t        t        d            k(  sJ t	        dd      } t        t        |       t        d            }t        t        |       t        d            }t        t        |       t        d      d      }t        t        |       t        d      d      }t        t        ||            t        t        ||            k(  sJ t        t        ||            t        t        ||            k(  sJ y )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BK HSR[$9999c"bk"jR&====rG   c                     t        d      t        d      z  dz
  j                  d      t        d      t        d      z  k(  sJ t        d      t        d      z  j                  d      t        d      t        d      z  dz   k(  sJ t        d      t        d      z  j                  d      dt        d	      t        d      z  z   k(  sJ t        d      t        d       t        d
      z   z  j                  d      dk(  sJ t        t        d      d      t        d      dt        d      z  z   k(  sJ t        t        d      t        d      z  d      t        d      t        d      z  dz   k(  sJ t        t        d      t        d	      z  t        d      z   d      ddt        d      z  t        d	      z  z   t        d      z   k(  sJ t        t        d      t        d	      z  t        d      z   d      t        d      t        d      z   t        d	      dt        d      z  z   t        d	      z  z   k(  sJ y )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                  R    t        ddd      } t        |       j                  du sJ y )NrW   Tr#  )r   r   is_nonnegativer   s    rE   test_issue_9116r8    s(    sT40Aq6  D(((rG   c            	      @   t        t        t        t        dt        z              z        j	                  t              t
        j                  k(  sJ t        t        t        t        dt        z              z        j	                  t              t
        j                  k(  sJ t        t        dt        z              j	                  t              t
        j                  k(  sJ t        t        dt        z              j	                  t              t
        j                  k(  sJ t        t        dt        z        dz         j	                  t              t        dt        d            k(  sJ t        t        t        t        dt        z        dz         z        j	                  t              dk(  sJ t        t        dt        z        dz
        j	                  t              t
        j                  k(  sJ t        t        t        t        dt        z        dz
        z        j	                  t              t
        j                  k(  sJ t        t        dt        z        dz         j	                  t              t        t         t        d            k(  sJ t        t        t        t        dt        z        dz         z        j	                  t              t        dd      k(  sJ t        t        dt        z        dz        j	                  t              t        t         d      k(  sJ t        t        t        t        dt        z        dz        z        j	                  t              t        dd      k(  sJ t        t        dt        z        dz        j	                  t              t        t         t              k(  sJ t        dt        z  t        t        dt        z        dz        z        j	                  t              t        dt              k(  sJ y )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   rz   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	:. .( .(b%8
/; 4 4  , ,(DI> ; ;
>6)
PrG   