
    Xh=@                        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
 d dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZmZmZmZ d d	lmZmZ d d
lmZmZmZ d dl m!Z! d dl"m#Z# d dl$m%Z%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ d dl0m1Z1m2Z2m3Z3m4Z4 	  edd          Z5 edd          Z6dZ7d Z8e4d             Z9d Z:e4d             Z;d Z<e1d             Z=d Z>e1d             Z?d Z@d ZAd ZBd  ZCd! ZDd" ZEd# ZFd$ ZGd% ZHd& ZId' ZJd( ZKd) ZLd* ZMd+ ZNd, ZOd- ZPd. ZQd/ ZRd0 ZSd1 ZTd2 ZUd3 ZVd4 ZWe1d5             ZXd6 ZYd7 ZZd8 Z[d9 Z\d: Z]d; Z^d< Z_d= Z`e1d>             Zad? Zbd@ ZcdA ZddB ZedC ZfdDS )E    )
EulerGamma)Function)EIIntegerRationaloopi)S)Symbol)explog)sqrt)acotatancossin)Eierf)digammagammaloggamma)zeta)cancel)coshcothsinhtanh)comparemrvrewritemrv_leadtermgruntzsign)XFAILraisesskipslowxT)realmFc                  6    t           st          d           d S d S )Nr(   )runslowr'        p/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/sympy/series/tests/test_gruntz.py_sskipr1   #   s#     V r/   c                  ~   t          t          t                    t          dt          z  t          t                     z
            t          dt          z            z
  z  t          t                    dk    sJ t          t          t                    t          dt          z  t          t                     z   t          t          dz             z             t          dt          z  t          t          t                               z
            z
  z  t          t                    dk    sJ t          t          t          t          t          t                     z
            ddt          z  z
  z            t          t          t                              z
  t          t                    t          u sJ t          t          t          t          t          t          t                     z                                 t          t          t          t                                        z  t          t                    t          u sJ t          t          t          t          t                                        t          t          t          t          t          t          t                               z
                                z  t          t                    t          u sJ t          t          t          t          t                                        t          t          t          t          t          t          t          t                                         z
                                z  t          t                    dk    sJ t          t          t          t                              t          t          t          t          t          t          t                                         z
                      z  t          t                    dk    sJ t          t	          t                    dz  t          t          t	          t                              t	          t	          t                              dz  z  t          t          t	          t	          t                                        t	          t	          t	          t                                        dz  z            z            z  t          t                    z  t          t                    dk    sJ t          t          t	          t                    z  t	          t          t          t                    z  t          dz  z
            dz  z  t	          t	          t          dz  dt          t          dt          dz  z  t	          t                    z                      z  z                       z  t          t                    t          dd          k    sJ t          t          t          t          t                     z  t          t                     t          dt          dz  z  t          dz   z            z   z            t          t                    z
  t          z  t          t                    t          d           k    sJ t          dt          z  dt          z  z   dt          z  z  t          t                    dk    sJ t          t          t	          t          t	          t          t	          d          t	          t                    z  z            z            z  t          t                    t          u sJ t          t          t          dt	          t          dz  t          z             z  t	          t	          t                              z                      t          t          dt	          t                    z  t	          t	          t                              z                      z  t          t                    t          u sJ t          t          t          t          dd          t          t          d	d
          z  z  t          dd          t          t          dd          z  z  z   dt          dz  z  z   t          dd          t          t          dd          z  z  z                       dz  t	          t	          t	          t          dd          t          t          d	d          z  z                                 t          d
d          z  z  t          t                    t          u sJ t          t          dt          z  t          t                     z  dt          t                    z  dt          dt          dz  z  t          dz   z            z  z   z            t          t                    z
  t          t                    dz  z  t          t                    dk    sJ t          t          t          t          t                     z  t          t                     t          dt          dz  z  t          dz   z            z   z            t          t                    z  t          t                    dk    sJ t          t	          t                    t	          t	          t                    t	          t	          t                              z             t	          t	          t                              z
  z  t	          t	          t                    t	          t	          t	          t                                        z             z  t          t                    dk    sJ t          t          t	          t	          t          t          t	          t                    t	          t	          t                              z            z                       t	          t	          t	          t          t                    t          z   t	          t                    z                                 z            t          t                    t          k    sJ t          t          t          t          t          t          t                     z                                 t          t          t                              z  t          t                    t          u sJ d S )N         r      
                  i6      1   -         )r#   r   r)   r	   r   r   r   r   r.   r/   r0   test_gruntz_evaluationrF   (   s	    #a&&#acCGGm,,s1Q3xx78!R@@BFFFF#a&&#acCGGmc1a4%jj899!c3q66'll*++, -./5 589: : : : #c!c1"gg+&&AaC011CAKK?BGG2MMMM#c#a#qb''k**++,,s3s1vv;;/?/??BGG2MMMM#c#a&&kk""SSS#a&&\\1A-B-B)C)C%D%DDR     #c#a&&kk""SSS#c!ff++5F5F1F-G-G)H)H%I%IIR     #c!ff++CCSVV,=,=(=$>$> ? ??BGG1LLLL#a&&!)c$s1vv,,CFFa/?"?SQ[[))SSVV-=-=,AABB#C D D DFJ1ggNR     1SVV8S3q66AqD11A55QTAc#a1fSVVm*<*<&=&=$==>>??ABCRI ILTUVXYNN[ [ [ [ 3qaRy#qb''C1a4Q,@,@"@ABBSVVKQNR  VVG$ $ $ $ 1a4!Q$;!A#&2..!3333!CCCFF3q66M 2334555q"==CCCC#c!C1qMM/#c!ff++56677Bs1vvIc#a&&kk12233456< <?AB B B B #c(1a..HROO);;hr1ooaQYZ[]_Q`Q`N`>``a"gI&(0R(8(8HR<L<L9L(LM N N O OPQRS!Q8B3C3C0C!CDDDEEFFQRTUVWXY[]_ _bde e e e 3qs3r77{Ac!ffHqQq!tVQU^1D1D/D$DEFFQOFFAI "& &)*+ + + + #aQBiaR3r!Q$wA+?+?!?@AA#a&&H!RPP    #a&&#c!ffs3q66{{233c#a&&kkABQ#c#a&&kk"2"2233567= =@AB B B B #s3q3s1vvc#a&&kk'9#:#::;;<<SQ!c!ff!45566779 : :;<bB BEFG G G G #c#a#qb''k**++,,s3q66{{:ArBBbHHHHHHr/   c                  6   t                       t          t          t          t          t                    ddt          z  z
  z                      t          t          t          t                    ddt          z  z
  t	          t                    t	          t                     z  z
  z                      z
  t          t
                    t
           u sJ t          t          t          t           dt          t                     z   z                      t          t           dt          t           dt          t                     z   z            z   z            z  t          t          t           t          t           dt          t                     z   z            z                       z  t          t           dt          t                     z   z            dz  z  t          t                    z
  t          z   t          t
                    dk    sJ d S Nr3   r5   )r1   r#   r   r)   r   r	   r.   r/   r0   test_gruntz_evaluation_slowrI   a   s   
HHH#c#a&&!ac'*++,,CFFA!Gc!ffAw.?$?@AABBCDErK KOQcR R R R 3sA2q3r77{+,,--c1"a#qb!c1"gg+>N:O:O6O2P.Q.QQQBaRS!WW%5!6!6677889!QaR[)**Q./14Q8:;<=>D DGHI I I I I Ir/   c                  f   t          t          t                    t          dt          z  t          t                     z             t          dt          z  t          t          dz             z             z
  z  t          t                    dk    sJ t          t          t          t          t          t                               z
            t          t                    z
  t          t          t                              z  t          t          dz            z  t          t                    dt          t                    z  k    sJ t          t          t          t                              t          t          dt          z  t          t          t                               z                       t          t          dt          z                      z
  z  t          t                    dk    sJ t          t          t                    t          t          t          t                     z             t          t                    z
  z  t          t                    t          u sJ t          t          t          t          t          t                                                  t          z  t          t                    t          t          dd                    k    sJ t          t          t          t          t          t                                                  t          z  t          t                    t          t          dd                    k    sJ t          t          t          t          t                                        t          t                    t          u sJ t          t          t          t                              t          t                    t          u sJ t          t          t          dt          t                    z  z             t          t                    z
  t          t                    z  t          dt          z            z
  t          z  t          t                    z  t          t                    t          dd          k    sJ t          t          t          t          dt          t                    z  z
            t          t                    z
  t          t                    z   z  t          t                    t          j        k    sJ t          t          t          dt          t                    z  z             t          t                    z
  t          t                    z  t          t                    dk    sJ d S )Nr3   r5   r7   r4   )r#   r   r)   r   r	   r   r   r
   r   r   r   r   r   r   r   Halfr.   r/   r0   test_gruntz_eval_specialrL   l   s    #a&&#acCGGm,,s1Q3adU3C/D/DDEq"MMQRRRRR3q3Aw<<'((3q661SQ[[@3q!t99LR tBxxK( ( ( (#c!ff++S1sCFF7||);%<%<!=!=C!HH!MNR    #a&&%CGG,,uQxx78!R@@BFFFF#c''!**--..//11b99S"a=Q=QQQQQ#c'#a&&//**++A-q"55Xb!__9M9MMMMM'''!**--..266"<<<<(8A;;''B//25555E!aaj.))E!HH4c!ff<s1Q3xxG!ff% %(0Q8 8 8 8!uQ588^,,uQxx7#a&&@A1bII6   5QuQxxZ((5883s1vv=q"EEJJJJJJr/   c                  b   t                       t          t          t          dz             t	          dt
          z            z  t          t                     t          t          t          j        z   z  t          t          t          j        z
  z  dz  z   z  z
  t          t                    t          u sJ t          t          t          t          t          t          t          t                                                                      t          z  t          t                    dk    sJ d S )Nr3   r5      r   )r1   r#   r   r)   r   r
   r   r   rK   r	   r   r.   r/   r0   test_gruntz_eval_special_slowrO      s    
HHH%A,,tAbDzz)GGQQV_q1qv:r/AABCDErK KNPQ Q Q Q#c#gggajj&9&9::;;<<==a?BGG1LLLLLLr/   c            
      H   t                       t          t          t          t          t          t                     z
            t          dt          z            z            t          t          t                              z
  t          t
                    t
          u sJ d S Nr3   )r1   r#   r   r   r)   r	   r.   r/   r0   ,test_grunts_eval_special_slow_sometimes_failrR      sj    
HHH#eAQBK((QqS122Sq]]BArJJbPPPPPPr/   c            
      \   t          t          t          t          t          t                               z
            t          t                    z
  t          t                     z  t          t          t                              z  t          z  t          t                    dk    sJ d S )Nr4   )r#   r   r)   r   r	   r.   r/   r0   test_gruntz_EirT      so    2a#s1vvg,,&''"Q%%/#qb''9#c!ff++EaGBOOSUUUUUUUr/   c            	      .   t          t          t          d          dz   t          z            t	          t          t          t                     z             t	          t                    z
  z  t          t
                    t          d           k    sJ d S )Nr5   r3   )r#   r   r   r)   r   r	   r.   r/   r0   test_gruntz_eval_special_failrV      s     SVVaZNtAQBK00477:;QD DHKAwO O O O O Or/   c                     t          t          t                    t          t                    t          u sJ t          t          t                    t          t                     t          u sJ t          t	          t                    t          t                    t          u sJ t          t	          t                    t          t                     t           u sJ t          dt          t                    z  t          t                    z  t          t                    t          u sJ t          dt          t                    z  t          t                    z  t          t                     dk    sJ t          dt	          t                    z  t          t                    z  t          t                    t          u sJ t          dt	          t                    z  t          t                    z  t          t                     dk    sJ t          t          t                    t          t                    dk    sJ t          t          t                    t          t                     dk    sJ t          t          t                    t          t                    dk    sJ t          t          t                    t          t                     dk    sJ d S )Nr5   r3   r4   )r#   r   r)   r	   r   r   r   r   r.   r/   r0   test_gruntz_hyperbolicrX      s   $q''1b!!R''''$q''1rc""b(((($q''1b!!R''''$q''1rc""rc))))!DGG)CFF"Ar**b0000!DGG)CFF"As++q0000!DGG)CFF"Ar**b0000!DGG)CFF"As++r1111$q''1b!!Q&&&&$q''1rc""b(((($q''1b!!Q&&&&$q''1rc""b((((((r/   c            	      ~
   t          dt          t                    dk    sJ t          t          t          t                    t                    dk    sJ t          t          t                    t          t          dz            t                    dk    sJ t          t          t          dz            t          t          t                              t                    dk    sJ t          dt          t          t                              t                    dk    sJ t          t          dt                    dk    sJ t          t          t                    t          t                    dk    sJ t          t          t          dz            t          t                    t                    dk    sJ t          t          t          t                              t          t          dz            t                    dk    sJ t          t          t          t                              dt                    dk    sJ t          ddt                    dk    sJ t          ddt                    dk    sJ t          ddt                    dk    sJ t          t          t          dz  t                    dk    sJ t          t          dz  t          dz  t                    dk    sJ t          t          dz  dt          z  t                    dk    sJ t          dt          z  t          t          z  t                    dk    sJ t          t          t          z  t           t                    dk    sJ t          t          t                    t          t                     t                    dk    sJ t          t          t                     t          dt          z            t                    dk    sJ t          t          dt          z            t          t                    dz  t                    dk    sJ t          t          t                    dz  t          t          t          t                     z             t                    dk    sJ t          t          t                    t          t          t          t                     z             t                    dk    sJ t          t          t          dz            dt          t          dz            z  t                    dk    sJ d S )Nr5   <r3   >r6   =r:   )r   r)   r   r+   r.   r/   r0   test_compare1r]      s   1as""""1c!ffa  C''''3q663q!t99a((C////3q!t99c#a&&kk1--44441c#a&&kk1%%,,,,1as""""3q661a  C''''3q!t99c!ffa((C////3s1vv;;AqD		1--44443s1vv;;1%%,,,,1as""""1b!####1b!####1adA#%%%%1a4Aq!!S((((1a41a  C''''1Q31a  C''''1a4!Q3&&&&3q663r77A&&#----3r77C!HHa((C////3qs88SVVQY**c11113q6619c!c1"gg+..22c99993q663q3r77{++Q//366663q!t99aAqD		k1--444444r/   c            	         t          t          t                    t          dz  t                    dk    sJ t          t          t          dz            t          t                    dz  t                    dk    sJ t          t          t                    t          t          t          t                     z             t                    dk    sJ t          t          t          t          t                     z             t          t                    t                    dk    sJ t          t          t          t          t                     z             t          t                     t                    dk    sJ t          t          t                     t          t                    dk    sJ t          t          t          t                     t                    dk    sJ t          t          t          dt          z  z             t          t                    dk    sJ t          t          t          t                               t          t                    t                    dk    sJ t          t          t          t          t                               t          z             t          t          t                               t                    dk    sJ d S )Nr8   r[   r5   r\   rZ   r3   r   r   r)   r.   r/   r0   test_compare2r`      s   3q661a4##s****3q!t99c!ffai++s22223q663q3r77{++Q//366663q3r77{##SVVQ//366663q3r77{##S!WWa00C77773r77Aq!!S((((1c1"ggq!!S((((3q1Q3w<<A&&#----3Aw<<Q++s22223sCFF7||a'((#s1vvg,,::cAAAAAAr/   c                      t          t          t          t                              t          t          t          t          t                               z             t                    dk    sJ d S )Nr[   r_   r.   r/   r0   test_compare3rb      sL    3s1vv;;ASVVG$4 5 5q99S@@@@@@r/   c                  F   t          t          d          t                    dk    sJ t          t          d          t                    dk    sJ t          t          d          t                    dk    sJ t          t          t                    t                    dk    sJ t          t	          t                     t                    dk    sJ t          t	          t                    t                    dk    sJ t          t	          t                     t                    dk    sJ t          ddt          z  z
  t                    dk    sJ t          ddt          z  z
  t                    dk    sJ t          t          dt          z            t                    dk    sJ t          t          t          d          z  t                    dk    sJ t          t          dz  t                    dk    sJ t          t          dz  t                    dk    sJ d S )	Nr   r6   r3   r:   r4   r5   r8   )r$   r   r)   r   r   r   r   r.   r/   r0   
test_sign1re      s   Q1$$$$Q1$$$$a  B&&&&A??aQBq    A??aQr!!!!AaCq    QqS!""""AaC!!!!!GAJJ##q((((1a==A1a==Ar/   c                     t          t          t                    dk    sJ t          t           t                    dk    sJ t          dd          } t          | t                    dk    sJ t          |  t                    dk    sJ t          | t          z  t                    dk    sJ t          |  t          z  t                    dk    sJ d S )Nr3   r4   yTpositive)r$   r)   r   rg   s    r0   
test_sign2rk      s    1::????A;;"sT"""A1::????A;;"!Q<<11a==Br/   c                 l    t          t          | |          d                                                   S Nr   )setr    keys)abs     r0   mmrvrr      s(    s1ayy|  ""###r/   c                     t          t          t                    t          hk    sJ t          t          dt          z  z   t                    t          hk    sJ t          t          dz  t                    t          hk    sJ t          t          t                    t                    t          hk    sJ t          t          t                    t                    t          t                    hk    sJ t          t          t                     t                    t          t                     hk    sJ t          t          t          dz            t                    t          t          dz            hk    sJ t          t          dt          z             t                    t          hk    sJ t          t          t          dt          z  z             t                    t          t          dt          z  z             hk    sJ d S rH   )rr   r)   r   r   r.   r/   r0   	test_mrv1rt      so   1::!AaCs""""1a==QCA??qc!!!!A??s1vvh&&&&QBQBy((((AqD		1#ad)),,,,QqS	1!$$$$A!Ga  SQqS\\N222222r/   c            
         t          t          t          t          t          t                               z             t                    t          t          t                               hk    sJ t          t          t          t          t                     z             t                    t          t          t          t                     z             t          t                     hk    sJ t          t          dt          z  t          t                     z             t                    t          t                     hk    sJ d S rQ   rr   r   r)   r.   r/   r0   
test_mrv2arw     s    ASVVG$%%q))c3q66'll^;;;;AQBK  !$$QaR[)9)93r77(CCCCCAaC#qb''M""A&&3r77)333333r/   c            	          t          t          t          t          t          dz             z             t                    t          t          dz             hk    sJ d S )Nr5   rv   r.   r/   r0   
test_mrv2bry     sI    AQTE

N##Q''CAJJ<777777r/   c                  <   t          t          t           dt          dz  z  z             t          t          dt          z  z             z
  t                    t          t          dt          z  z             t          dt          dz  z  t          z
            hk    sJ d S rH   rv   r.   r/   r0   
test_mrv2cr{     s    QB1a4K3q1Q3w<<', ,03A!Gc!AqD&1*oo/NO O O O O Or/   c                     t          t          t          dz            t          t          t                    z  z   t          t                    t          z  t          z  z   t                    t          t          dz            hk    sJ t          t          t                    t          dt          z  t          t                     z             t          dt          z            z
  z  t                    t          t                    t          t                     hk    sJ t          t          t          dz  dt          t          dt          dz  z  t          t                    z                      z  z             t                    t          t          dt          dz  z  t          t                    z                      hk    sJ t          t          t          t          t                    z
            t          t                    z  t                    t          hk    sJ t          t          dt          z  t          t                     z
            t          dt          z            z
  t          t                    z  t                    t          t                    t          t                     hk    sJ t          dt          t           t          t                     z             z  t          t                    z
  t                    t          t                    t          t                     t          t          t          t                     z
            hk    sJ t          t          t          t          t          t          t          t                    z            z  dz                       t                    t          t          t          t                    z            hk    sJ t          t          t          t          t          t                    dt          z  z                                 t                    t          hk    sJ d S )Nr5   r3   r6   )rr   r   r)   r   r.   r/   r0   	test_mrv3r}     s   AqD		Ac!ffH$s1vvqy{2A663q!t99+EEEEAAaC#qb''M""S1XX-.3 37:1vvsA2ww6GH H H H	1qS1a4A''((((* *+,. .25c!AqD&Q-6H6H2I2I1JK K K KAAJA&**qc1111	QqS3r77]		c!A#hh	&A.3 37:1vvsA2ww6GH H H H	#qb3r77l

c!ff$a) )-0VVS!WWc!c1"gg+>N>N,OP P P PC#aAh--!+,,--q11c!CFF(mm_DDDDCCFFQqSL))**++Q//A3666666r/   c                  4   t           } t           |  | t                     |  | t                              z              |  | t                              z
   |  | t                     |  |  | t                                        z             z   | t                    z  t                    t          hk    sJ t          t          t          t          t          t          t          t                    z            z  dz                       t          t          t          t          t                    dt          z  z                                 z
  t                    t          t          t          t                    z            hk    sJ d S rQ   )r   rr   r)   r   )lns    r0   	test_mrv4r   )  sD   	BBBqEEBBrr!uuII%&&BBqEE2BBrr!uurr""RRUU))}}7L4M4MMbbQReeS #   C#aAh--!+,,--CCFFQqSL8I8I4J4J0K0KKQOO	Qs1vvX     r/   c                 >    t          | d         | d         ||          S Nr3   r   )r!   )rp   rq   cs      r0   mrewriter   1  s    1Q41q!$$$r/   c                     t          t                    } t          t          | t                    t          t                    dt          z  t           fk    sJ t          t          dz            } t          t          | t                    t          t                    dt          z  t          dz   fk    sJ t          t          dt          z  z             } t          t          | t                    t          t                    dt          z  t           dt          z  z
  fk    sJ dt          t           t          t                     z             z  t          t                    z
  } t          t          | t                    t          t                    t           t          t                    z  t          z   t          t                     z  t          dz  z  t           fk    sJ d S rH   r   r)   r   r    r+   es    r0   test_rewrite1r   5  sK   AAC1IIq!$$1qb	1111AqD		AC1IIq!$$1q!te4444A!GAC1IIq!$$1qb1Q3h7777	#qb3r77l

c!ff$AC1IIq!$$1"SVV)a-aR)@A)Er(JJJJJJJr/   c                     t          t                    t          t          t          t                                        z  } t          | t                    t          t                    hk    sJ t	          t          | t                    t          t                    dt          z  t          t                    z  t           fk    sJ d S rQ   )r   r)   r   rr   r   r    r+   r   s    r0   test_rewrite2r   @  s    As3s1vv;;A1::#a&&!!!!C1IIq!$$1SVVaR(8888888r/   c                  *   t          t           dt          dz  z  z             t          t          dt          z  z             z
  } t          t          | t                    t          t                    dt          z  t          t          t          dz  t          z   t          dz  z            z  z   t           dt          z  z
  ft          dz  t          t          dz  t          z   t          dz  z            z
  t          z  t          dz  t          z
  ffv sJ d S )Nr3   r5   r4   r6   r7   r   r   s    r0   test_rewrite3r   H  s    QB1a4K3q1Q3w<<'AC1IIq!$$"Q$3	
A1a44 4 2 +"qs(*$'(!tc1a4!8QT/.B.B'BA&Eq2wQR{%S)U U U U U U Ur/   c            	      6   t          t          dt          z             t                    dk    sJ t          dt          t           t          t                     z             z  t          t                    z
  t                    dk    sJ t          t          dt          z  t          t                     z
            t          dt          z            z
  t          t                    z  t                    t          dt          z             dfk    sJ d S )Nr3   )r4   r   r   )r"   r   r)   r.   r/   r0   test_mrv_leadterm1r   O  s    QqS	1%%0000#qb3r77l+++c!ff4a88GCCCC	QqS3r77]		c!A#hh	&A.3 38;AaCy!nE E E E E Er/   c            	      2   t          t          t          t                    t          z             t          z
  t          t          t                    t          t                    z             z  t          t                    z  t                    dk    sJ d S )N)r3   r   )r"   r   r   r)   r.   r/   r0   test_mrv_leadterm2r   V  sm    SVVaZ1,c#a&&3q66/.B.BB3q66I1MM     r/   c                  N   t          t          t           t          t                     t          t           t          t                    z            z  z             t                    t          t           t          t          t                    z  z
            hk    sJ t	          t          t           t          t                     t          t           t          t                    z            z  z             t                    t          t                     dfk    sJ d S rm   )rr   r   r)   r   r"   r.   r/   r0   test_mrv_leadterm3r   \  s    QBaRaRAY//00!44aR!CFF(]9K9K8LLLLLQBaRaRAY!7788!<<aR!LLLLLLr/   c                     t          t          t          t                    t          u sJ t          t          t          t                     t           u sJ t          t           t          t                    t           u sJ t          t          dz  t          t                     t          u sJ t          t          dz   t          t                    t           u sJ t          t          t          t                    z  t          dd          dk    sJ t          dt          z  t          t                    dk    sJ t          t	          t                    t          t                    t          u sJ t          t	          t                     t          t                    t           u sJ t          t	          t                    t          z  t          t                    t          u sJ t          dt          z  t	          t                     z
  t          t                    dk    sJ t          t          dt          z  z   t          t                    t          u sJ d S )Nr5   r   +dirr3   )r#   r)   r	   r   r   r.   r/   r0   test_limit1r   b  s   !Qr!!!!!Q####1"a####!Q$B32%%%%1a4%BB3&&&&!CFF(Aqc***a////!A#q"""""#a&&!R  B&&&&3q66'1b!!bS((((#a&&(Ar""b((((!A#QB-B''1,,,,!ac'1b!!R''''''r/   c                     t          t          t          z  t          dd          dk    sJ t          t          t                    dz
  t          z  t          d          dk    sJ t          ddt          z  z   t          t                    dk    sJ t          t          dt          z             t          t                    dk    sJ t          t          t          t                     z   t          t                    t          u sJ t          t          t          t          dz             z   t          t                    t          u sJ t          t          t          t          t                               z   t          t                    t          u sJ t          ddt          z  z   t          t                     z
  t          t                    dk    sJ d S )Nr   r   r   r3   r4   r5      )r#   r)   r   r	   r.   r/   r0   test_limit2r   q  s_   !Q$1#&&&!++++3q66A:q.!Q''1,,,,!ac'1b!!Q&&&&3qs88)Q##r))))!c1"gg+q"%%++++!c1a4%jj.!R((B....!c3q66'll"Ar**b0000"qs(S!WW$a,,222222r/   c            	      |   t          d          } t          t          t          dt	          t                    z             z
  t          t
                    dk    sJ t          t          t          | t	          t                    z             z
  t          t
                    dk    sJ t          t	          t                    dt	          t                    z   z  t          t
                    dk    sJ t          t	          t                    | t	          t                    z   z  t          t
                    dk    sJ d S )Nrp   r3   r   )r   r#   r)   r   r   r	   )rp   s    r0   test_limit3r   |  s    sA!c!c!ff*oo%q"--2222!c!c!ff*oo%q"--2222#a&&!c!ff*%q"--2222#a&&!c!ff*%q"--222222r/   c                      t          dt          z  dt          z  z   dt          z  z  t          t                    dk    sJ t          ddt          z  z  ddt          z  z  z   t          z  t          d          dk    sJ d S )Nr6   r8   r3   r   r#   r)   r	   r.   r/   r0   test_limit4r     sq    1a4!Q$;!A#&2..!33331qs8a!A#h&*Aq11Q666666r/   c            
      4   t          t           dt          t                     z   z            } t          |           t          t           d| z   z            z  t          t          t           | z                       z  | dz  z  t          t                    z
  t          z   }t          |t                    d| z  t          t                     t          t                    t          t          | z
            t          t          d| z   z            hk    sJ d S rH   )r   r)   rr   )hexprs     r0   test_MrvTestCase_page47_ex3_21r     s    QBCGGAq66#qb!a%j//!#c1"q&kk"2"221a47#a&&@1DDa==QqS#qb''3q663q1u::s1a!e9~~NNNNNNNr/   c                  F   t          d          } t          t          t          z  t          t                    t          t          z  k    sJ t          | t          z  t          z  t          t                    | t          z  t          z  k    sJ t          | dz  t          z  t          z  t          t                    | t          z  t          z  k    sJ t          | dz  t          t                    z  t          z  t          t                    | t          z  t          z  k    sJ d S )Nrg   r6   )r   r#   r   r)   r	   r   rj   s    r0   test_gruntz_Ir     s    sA!A#q"2%%%%!A#a%B1Q3r6))))!A#a%'1b!!QqSV++++!A#c!ff*Q,2&&!A#b&000000r/   c                      t          t          dz   dt          t          dz             z  z  t          t                    t          k    sJ d S rQ   )r#   r)   r   r	   r   r.   r/   r0   test_issue_4814r     s<    1q5Ac!a%jjL)1b11Q666666r/   c            	         t          dt          t                    z  t          t                    dk    sJ t          dt	          t                    z  t          t                    dk    sJ t          t          t                    t	          t                    z  t          t                    t          u sJ t          t          t          t                              t          t                    z  t          t                    t          u sJ t          t          t                    t          d          dk    sJ t          t          t          dd          dt          z  z             t          t                    t          t          dd                    k    sJ t          t          t          t          z            t          t          t                              z  t          t                    dk    sJ t          t          t          t          t                                        t          t                    z  t          t                    t          u sJ d S )Nr3   r   r6   r5   r;   )r#   r   r)   r	   r   r   r   r   r.   r/   r0   test_intractabler     s   !E!HH*a$$))))!HQKK-B''1,,,,%((8A;;&2.."4444#eAhh--a(!R00B6666%((Aq!!Q&&&&%A1,--q"55x1~~9N9NNNNN#ad))CaMM)1b11Q6666#eE!HHoo&&s1vv-q"55;;;;;;r/   c            
         t          t          dt          t          t                              z  t          t
                    dt          t                    t          t          j                  z   z  z
            dk    sJ t          dt          t                    z  t          t
                     t
           u sJ d S r   )
r   r#   r   r   r)   r	   r
   r   rK   r   r.   r/   r0   test_aseries_trigr     s    &3tAww<<B//B#af++%&' ( (+,- - - -!DGG)Q$$++++++r/   c                      t          t          t          t          t          t          t                    z                      z  t          t                    t          u sJ d S )N)r#   r)   r   r   r	   r.   r/   r0   test_exp_log_seriesr     sB    !CAc!ffH&&&2.."444444r/   c                      t          t          dz  t          z   dz   dt          z  t          dz  z   z  dt          z  z  t          t                    dk    sJ d S )Nr;   r3   r5   r4   r   r.   r/   r0   test_issue_3644r     sK    AqD1HqL1a4!Q$;/2a48!R@@AEEEEEEr/   c                      t          ddd          } | dz   t          | dz   z  z  t          | dz   z  dz
  z  t          t          dz
  z  z
  }t          |t          d                                          | dz  k    sJ d S )NnT)integerri   r3   r5   )r   r)   r#   simplify)r   rs     r0   test_issue_6843r     s{    sD4000A	
QAE
AAJN+aQi7A!Q??##%%1,,,,,,r/   c                      t          t          t          dt          z            z
  t          t                    t          j        k    sJ d S rQ   )r#   r)   r   r	   r   r   r.   r/   r0   test_issue_4190r     s5    !eAaCjj.!R((AL888888r/   c                     t          d          } t          dd          }t          d          }t          dd          }t          dd          }d	| z  | |z
  d
z   z  | || |z
  d
z   z  z   z  |z  |d
z
  | | |z
  d	z   z  | || |z
  d
z   z  z   z  |z  z  z   | z
  | |z  | z
  z  }|                    ||d
z             }t          |                    ||          | t                    d
k    sJ t          |                    ||          | t                                                    d	|d
z   z  |z   d
z
  |d
z   |d
z   z  z  k    sJ d S )Nr   r   Trh   r   pr+   )negativer5   r3   )r   subsr#   r	   r   )r   r   r   r   r+   r   s         r0   test_issue_5172r     sz   sAsT"""AsAsT"""AsT"""AqS!a%!)_a!QUQY-/014	
QAEAIAq1uqyM 12Q6679:;=>TAXGD99QAD$))Aq//1b))Q....$))Aq//1b))2244	
QUa!	a!eq1u--. . . . . .r/   c                      t          dt          t                    z  t          d          dk    sJ t          t          t          t                    z  t          d          dk    sJ d S r   )r#   r   r)   r.   r/   r0   test_issue_4109r     sV    !E!HH*a##q((((!E!HH*a##q((((((r/   c                      t          t          dt          t                     z            t          dz  z  t          d          t          dt          z            k    sJ d S )Nr5   r   )r#   r   r   r)   r   r.   r/   r0   test_issue_6682r     sL    #aA2h--1$a++s1Z</@/@@@@@@@r/   c                      ddl m}  t          t          t           z  t          dd          t
           | dt           z            z  k    sJ d S )Nr   r$   -r   r4   )sympy.functionsr$   r#   r)   r
   r	   r   s    r0   test_issue_7096r     sW    $$$$$$!bS&!QC(((BttRB3K/@/@,@@@@@@@r/   c                       t          d           t          t           fd           t          t           fd           d S )Nfc                  L    t            t                    t          d          S )NrD   r#   r)   r   s   r0   <lambda>z&test_issue_7391_8166.<locals>.<lambda>  s    vaaddAq11 r/   c                      t          t            t                    dz  z  t          dz    t                    dz  z   z  t          d          S )Nr5   rD   r   r   r   s   r0   r   z&test_issue_7391_8166.<locals>.<lambda>  s<    va!aiA!a&@!QGG r/   )r   r&   
ValueErrorr   s   @r0   test_issue_7391_8166r     sH    A
:1111222
:GGGGHHHHHr/   c                     t          t                    ddt          z  z   t          dz  z  z  } t          t                    }t	          | t          t
                    |k    sJ t	          d| z  t          t
                    d|z  k    sJ d S rH   )r   r)   r   r   r#   r	   )eqanss     r0   test_issue_24210_25885r     su    	Q1Q3A	B
q''C"a####!B$2!C%''''''r/   N)g
sympy.corer   sympy.core.functionr   sympy.core.numbersr   r   r   r   r	   r
   sympy.core.singletonr   sympy.core.symbolr   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   r   'sympy.functions.special.error_functionsr   r   'sympy.functions.special.gamma_functionsr   r   r   &sympy.functions.special.zeta_functionsr   sympy.polys.polytoolsr   %sympy.functions.elementary.hyperbolicr   r   r   r   sympy.series.gruntzr   r    r!   r"   r#   r$   sympy.testing.pytestr%   r&   r'   r(   r)   r+   r-   r1   rF   rI   rL   rO   rR   rT   rV   rX   r]   r`   rb   re   rk   rr   rt   rw   ry   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/   r0   <module>r      sA   ! ! ! ! ! ! ( ( ( ( ( ( @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ " " " " " " $ $ $ $ $ $ = = = = = = = = 9 9 9 9 9 9 K K K K K K K K K K K K = = = = = = = = N N N N N N N N N N 7 7 7 7 7 7 ( ( ( ( ( ( H H H H H H H H H H H H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 : : : : : : : : : : : : F3T
F3T   
 5I 5I 5IpI I I K K K&M M M Q Q QV V V O O O) ) )5 5 5@
B 
B 
BA A A     $ $ $	3 	3 	34 4 48 8 8O O O7 7 7  % % %K K K9 9 9U U UE E E  M M M( ( (3 3 33 3 37 7 7 O O O1 1 17 7 7< < <, , ,5 5 5F F F- - -9 9 9 . . .) ) )
A A AA A A
I I I( ( ( ( (r/   