
    \hM                        S SK Jr  S SKJrJrJrJr  S SKJrJ	r	J
r
Jr  S SKJr  S SKJrJr  S SKJrJr  S SKJrJrJrJr  S SKJr  S S	KJr  S S
KJrJrJ r J!r!  S SKJ"r"J#r#J$r$  S SKJ%r%J&r&  S SKJ'r'J(r(  S SK)J*r*  S SK+J,r,  S SK-J.r.  S SK/J0r0J1r1  S SK2J3r3  S SK4J5r5J6r6  S r7S r8S r9S r:S r;S r<S r=S r>S r?S r@S rAS rBS  rCS! rDS" rES# rFS$ rGS% rHS& rIS' rJS( rKS) rLS* rMS+ rN\3S, 5       rOS- rPS. rQS/ rRS0 rSg1)2    )product)Subs	count_opsdiffexpand)EIRationalpi)S)Symbolsymbols)explog)coshcothsinhtanh)sqrt)	Piecewise)coscotsintan)acosasinatan2)asecacsc)acotatan)	integrate)Matrix)simplify)exptrigsimptrigsimp)XFAILxyc            	      J   [        S5      u  p[        S[        U 5      S-  -
  5      [        U 5      S-  :X  d   e[        S[        U 5      S-  -
  5      [        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -   5      S:X  d   e[        S[	        U 5      S-  -   5      S[        U 5      S-  -  :X  d   e[        S[        U 5      S-  -  S-
  5      [	        U 5      S-  :X  d   e[        S[        U 5      S-  -  [	        U 5      S-  -
  5      S:X  d   e[        S[        U 5      S-  -   5      S[        U 5      S-  -  :X  d   e[        S[        U 5      S-  -  S-
  5      S[	        U 5      S-  -  :X  d   e[        S[        U 5      S-  -  [        U 5      S-  -
  5      S:X  d   e[        S[        U 5      S-  -  S[        U 5      S-  -  -   5      S:X  d   e[        S[        U S-  5      S-  -  S[        U S-  5      S-  -  -   5      S[        U 5      -  S-  [        SS5      -   :X  d   e[        [        U 5      [        U 5      -  5      [	        U 5      :X  d   e[        S[	        U 5      -  [        U 5      -  5      S[        U 5      -  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      [        U 5      S-  :X  d   e[        U[	        U 5      S-  -  [        U 5      S-  -  5      U[        U 5      S-  -  :X  d   e[        [        U 5      [        U 5      -  5      S[        U 5      -  :X  d   e[        [        X-   5      [        X-
  5      -   5      S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  5      S[        U5      -  [        U 5      -  :X  d   e[        [        X-   5      [        X-
  5      -   5      S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  5      S[        U 5      -  [        U5      -  :X  d   e[        [	        X-   5      [	        U 5      S[	        U 5      [	        U5      -  -
  -  -
  5      [        U5      [        U5      * [	        U 5      -  [        U5      -   -  :X  d   e[        [        X-   5      [        X-
  5      -   5      S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  5      S[        U5      -  [        U 5      -  :X  d   e[        [        X-   5      [        X-
  5      -   5      S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  5      S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        U 5      S[        U 5      [        U5      -  -   -  -
  5      [        U5      [        U5      [        U 5      -  [        U5      -   -  :X  d   e[        [        S5      S-  [        S5      S-  -   5      S	:X  d   eS[        U 5      S-  -  S[        U 5      S-  -  -   n[        [        U5      5      [        S5      :X  d   eg )
Nx,y               |Pk?      ?)r   r&   r   r   r   r   r
   r   r   r   r   )r)   r*   es      Z/var/www/auris/envauris/lib/python3.13/site-packages/sympy/simplify/tests/test_trigsimp.pytest_trigsimp1r7      s   5>DAAA	M"c!fai///AA	M"c!fai///CFAIA	)*a///AA	M"aA	k111Ac!faiK!O$A	111Ac!faiK#a&!)+,111AA	M"aA	k111Ac!faiK!O$#a&!)333Ac!faiK#a&!)+,111Ac!faiK!CFAI+-.!333Ac!A#hkMAc!A#hkM12aAhqj8Aq>6QQQQCF3q6M"c!f,,,Ac!fHSVO$#a&000CFAIc!fai'(CFAI555Ac!faiKA	)*aA	k999CF3q6M"aAh...CJQU+,#a&Q???CJQU+,#a&Q???CJQU+,#a&Q???CJQU+,3q6	#a&0@@@@CJQSVCF]):!;;<AQAQ'() ) ) DK$qu+-.!DG)DG2CCCCDK$qu+-.!DG)DG2CCCCDK$qu+-.!DG)DG2CCCCDK$qu+-.!DG)DG2CCCCDK$q'1tAwtAw+>"??@Qaa47*+, , , CL!Oc'lAo56#===	#a&!)aA	k!ACFs1v%%%    c                     [        [        S5      S-  [        S5      -  [        S5      -  [        S5      S-  -  5      [	        S5      S-  [        S5      -  [        S5      -  :X  d   e[        [	        S5      S-  [        S5      -  [        S5      -  [        S5      S-  -  5      [        S5      S-  [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [	        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [	        S5      -  5      [        S5      [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      [        S5      -  :X  d   eg )Nr.   r0   )
r&   r   r   r   r   r   r   r   r   r    r8   r6   test_trigsimp1ar;   B   sT   CFAIc!f$SV+CFAI56#a&!)CF:J3q6:QQQQCFAIc!f$SV+CFAI56#a&!)CF:J3q6:QQQQCF3q6M#a&(Q/0CF3q6M#a&4HHHHCF3q6M#a&(Q/0CF3q6M#a&4HHHHCF3q6M#a&(Q/0CF3q6M#a&4HHHHCF3q6M#a&(Q/0CF3q6MAAADGCFN3q6)$q'12d1gc!fnSV6KKKKDGCFN3q6)$q'12d1gc!fnSV6KKKKDGCFN3q6)$q'12d1gc!fnSV6KKKKDGCFN3q6)$q'12c!fSVmDG6KKKKDGCFN3q6)$q'12c!fSVmDG6KKKKDGCFN3q6)$q'12c!fSVmCCCr8   c            
         [        S5      u  p[        [        U 5      S-  [        U5      S-  -  [        U 5      S-  [        U5      S-  -  -   [        U 5      S-  -   SS9S:X  d   e[        [        U 5      S-  [        U5      S-  -  [        U 5      S-  [        U5      S-  -  -   [        U 5      S-  -   SS9S:X  d   e[        [	        X [        U5      S-  [        U5      S-  -   5      5      [	        X S5      :X  d   eg )Nr,   r.   T	recursiver-   )r   r&   r   r   r   r(   s     r6   test_trigsimp2r?   Q   s   5>DACFAIc!fai'#a&!)CFAI*==A	I ! ! !CFAIc!fai'#a&!)CFAI*==A	I ! ! !Q3q619s1vqy()+.21m< < <r8   c            	          [        S5      n [        [        S[        U 5      S-  -  S[	        U 5      S-  -  -   5      S-
  5      S:  d   eg )Nr)          @r.   绽|=)r   absr&   r   r   r)   s    r6   test_issue_4373rE   [   sE    sAxCFAICFAI56<=EEEr8   c                     [        S5      u  p[        [        U 5      [        U 5      -  5      [	        U 5      :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      [	        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      [	        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      [	        U 5      S-  :X  d   e[        [        U 5      [        U 5      -  5      S[	        U 5      -  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      S[	        U 5      S-  -  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      S[	        U 5      S-  -  :X  d   e[        [	        U 5      5      [        [        U 5      [        U 5      -  5      :X  d   eg )Nr,   r.   r0   
   r-   )r   r&   r   r   r   r(   s     r6   test_trigsimp3rH   `   sw   5>DACF3q6M"c!f,,,CFAIc!fai'(CFAI555CFAIc!fai'(CFAI555CFBJs1vrz)*c!fbj888CF3q6M"aAh...CFAIc!fai'(Ac!faiK777CFBJs1vrz)*aA
l:::CFxAs1v6666r8   c                  0   [        S5      u  pnS[        U5      S-  -  S[        U5      S-  -  -   S[        U5      S-  -  -
  n[        U5      S:X  d   e[        U5      S-  S[        U5      S-  -  [        U5      S-  -  -   S[        U5      S-  -  [        U5      S-  -  -   S[        U5      S-  -  -   n[        U5      S-  * S[        U5      S-  -  -
  n[	        XE-  5      S:X  d   e[        S	[        U5      S-  -  [        U5      S-  -   [        U5      S-  -
  5      S:X  d   e[        U5      S
-  * S-  [        U5      -  [        U5      S
-  S-  [        U5      -  -   [        SU-  5      [        SU-  5      -  S-  -
  n[        U5      S:X  d   eg )Na x y      r.      r/   r2   r0   r   )r   r   r   r&   r$   )ar)   r*   eqnds         r6   test_issue_4661rT   n   s   gGA!	CFAI#a&!)	#aA	k	1BB<2A	Ac!faiKA	))Ac!faiKA	,AAAc!faiKOA	Q
Qs1vqy[ AAC=BBs1vqyL3q619,s1vqy89R???FAI+a-Q	3q619Q;A"6	6QqS#ac(9J19L	LBB<1r8   c                      [        S5      u  p[        U 5      S-  [        U5      S-  -  [        U 5      S-  [        U5      S-  -  [        U 5      S-  -  -   [        U 5      S-  -   n[	        U5      S:X  d   eg )Na br.   r-   )r   r   r   r   r&   )rP   brQ   s      r6   test_issue_4494rX   z   sm    5>DA	Q3q619	s1vqyQ23q619<	<s1vqy	HBB<1r8   c            
          [        S5      u  pn[        [        [        [	        U5      [        U5      S-  -  U5      U5      5      [	        U5      [        U5      S-  -  :X  d   eg )NrJ   r1   )r   r&   r   r"   r   r   rP   r)   r*   s      r6   test_issue_5948r[      sZ    gGA!D3q6#a&!)#3Q7;<q6#a&!)  r8   c                  P   [        S5      u  pn[        [        U5      [        U5      -  [        U5      [        U5      -  -   5      [        X-   5      :X  d   e[        [        U5      [        U5      -  [        U5      [        U5      -  -   S-   5      [        X-   5      S-   :X  d   eg )NrJ   r0   )r   r&   r   r   rZ   s      r6   test_issue_4775r]      s    gGA!CF3q6M#a&Q-/0CJ>>>CF3q6M#a&Q-/12c!%j1nDDDr8   c                  ~   [        S5      u  pn[        [        U5      S-  [        U5      S-  [        U5      S-  -  -   [        U5      S-  [        U5      S-  -  -   5      S:X  d   e[        U S-  [        U5      S-  -  U S-  [        U5      S-  -  [        U5      S-  -  -   U S-  [        U5      S-  -  [        U5      S-  -  -   5      U S-  :X  d   e[        U S-  [        U5      S-  -  [        U5      S-  -  U S-  [        U5      S-  -  [        U5      S-  -  -   5      U S-  [        U5      S-  -  :X  d   eg )NrJ   r.   r-   )r   r&   r   r   rZ   s      r6   test_issue_4280r_      s6   gGA!CFAIA	#a&!) 33c!faiA	6IIJaOOOAqDQNQT#a&!)^CFAI%==1SVQYsSTvWXy@XXY]^`a]aaaaAqDQN3q619,q!tCFAI~c!fai/GGHAqDQTUVQWYZQZNZZZr8   c                     [        S5      [        S5      -  [        S5      [        S5      -  -   [        S5      * [        S5      -  [        S5      [        S5      -  -   [        S5      [        S5      -  [        S5      [        S5      -  -
  [        S5      [        S5      -  [        S5      [        S5      -  -   [        S5      [        S5      -  [        S5      [        S5      -  -   [        S5      -   [        S5      [        S5      -  [        S5      [        S5      -  -   [        S5      [        S5      -  [        S5      [        S5      -  -   4n U  Vs/ s H  n[	        U5      PM     sn[        S5      [        S5      [        S5      * [        S5      [        S5      [        S5      -   [        S5      [        S5      /:X  d   eg s  snf )Nr.   r0   r/   r-   )r   r   r   r   r&   )eqsr5   s     r6   test_issue_3210rb      s^   q6#a&=3q6#a&=(	QAQA&As1vAs1v%As1vAs1v%As1vAs1v%A.QQ$q'$q'/)QQ$q'$q'/)
C "%%AHQK%AA	QAAQQQ*
 
 
 
%s   Gc            
      f   [        S5      u  pn[        [        U5      S-  [        U5      S-  [        U5      -  -   5      [        U5      :X  d   e[        [	        [        [        U5      [        U5      S-  -  U5      U5      5      [        U5      [        U5      S-  -  :X  d   e[        [	        [        [        U5      [        U5      S-  -  U5      U5      5      [        U5      [        U5      S-  -  :X  d   e[        U5      U-  [        U5      U-  -  n[        U5      U:X  d   e[        UR                  US5      5      [        U5      S-  :X  d   e[        UR                  US5      5      [        S5      U-  :X  d   e[        U5      S-  [        U5      S-  -  [        U5      S-  -  [        U5      S-  -  R                  5       S[        U5      S-  -  [        U5      S-  -  :X  d   e[        [        U5      [        U5      -  [        X-   5      -  [        X-   5      -  5      S[        U5      [        X-   5      -  -  :X  d   e[        S5      [        S5      S-   S-  -  [        S5      S-
  S-  -  n[        U5      UR                  5       :X  d   e[        [        S5      [        S5      S-   S-  -  [        S5      S-
  S-  -  5      [        S5      [        S5      S-  -  :X  d   e[        U5      R                  [        U5      5      SL d   e[        U5      S-  [        U5      S-  -   S-
  n[        U5      S-  S[        U5      S-  -  -
  nSXe-  -   n[        [        U5      5      [        S5      :w  d   eXS-
  -  X-  -
  n[        U5      [        R                  L d   e[        USS9[        R                  L d   e[        S5      R                  (       d   e[        [        U5      S-  * S[        U5      S-  -  [        U5      S-  -  -
  [        U5      S-  -
  5      S	:X  d   eg )
NrJ   r0   r.   r-   rL   FTr=   rO   )r   r&   r   r   r   r"   subsr   factorr   equalsr   NaN
is_Integer)rP   r)   r*   r5   rQ   zz1rR   s           r6   test_trigsimp_issuesrk      s   gGA! CFAIA	#a& 001SV;;; D3q6#a&!)#3Q7;<As1vqy  D3q6#a&!)#3Q7;<As1vqy   	A	#a&!)AA;!AFF1aL!SVQY...AFF1aL!SVQY... FAIc!faiA	)#a&!)3==?	#a&!)CFAI  CF3q6M#ac(*3qs834	3q6#ae*   
QQ!a	Q!a	/BB<299;&&&CFCFQJ?*CFQJ?:;As1vqy  
 q6==Q E))) 	A	CFAI!A	QQs1vqy[	 B	
RTACFs1v%%%	
EQSBB<155   B$'155000A;!!!!SVQYJ3q619SVQY!66QBCrIIIr8   c                      [        S5      n [        U [        U 5      -  [        U 5      -  5      U [	        U 5      -  :X  d   e[        [	        U 5      * [        U 5      [        U 5      -  -   5      S:X  d   eg )Nr)   r   )r   r&   r   r   r   rD   s    r6   test_trigsimp_issue_2515rm      s`    sAAc!fHSVO$#a&000SVGc!fSVm+,111r8   c                      [        [        S[        -  5      R                  SS95      [        S[        -  5      :X  d   eg )Nr.   T)trig)r&   r   r)   r   r:   r8   r6   test_trigsimp_issue_3826rp      s0    C!HOOO./3qs8;;;r8   c                      [        SSSS9n [        SU S-  -  [        [        U -  S-  5      -  S-  SU S-
  -  S-  -   5      SU S-  -  [        [        U -  S-  5      -  S-  SU -  S-  -   :X  d   eg )NrR   T)integerpositiver.   rL   r-   )r   r&   r   r   )rR   s    r6   test_trigsimp_issue_4032rt      s    sD40AA!HSAa[(*QQZ\9:	AaCRT!VQAa'( ( (r8   c                  f    [        [        [        S-  5      5      [        [        S-  5      :X  d   eg )NrL   )r&   r   r   r:   r8   r6   test_trigsimp_issue_7761rv      s%    DAJ41:---r8   c                  z   [        S5      u  p[        SSS9u  p#[        X"[        U 5      S-  -  -
  5      U[        U 5      S-  -  :X  d   e[        X"[        U 5      S-  -  -
  5      U[        U 5      S-  -  :X  d   e[        U[        U 5      S-  -  U[        U 5      S-  -  -   5      U:X  d   e[        X"[	        U 5      S-  -  -   5      U[        U 5      S-  -  :X  d   e[        U[        U 5      S-  -  U-
  5      U[	        U 5      S-  -  :X  d   e[        U[        U 5      S-  -  U[	        U 5      S-  -  -
  5      U:X  d   e[        X"[        U 5      S-  -  -   5      U[        U 5      S-  -  :X  d   e[        U[        U 5      S-  -  U-
  5      U[	        U 5      S-  -  :X  d   e[        U[        U 5      S-  -  U[        U 5      S-  -  -
  5      U:X  d   e[        X-  [        U 5      S-  -  X-  [        U 5      S-  -  -   5      X-  :X  d   e[        U[        U 5      -  [        U 5      -  5      U[	        U 5      -  :X  d   e[        U[	        U 5      -  [        U 5      -  5      U[        U 5      -  :X  d   e[        U[        U 5      S-  -  [        U 5      S-  -  5      U[        U 5      S-  -  :X  d   e[        X-  [	        U 5      S-  -  [        U 5      S-  -  5      X-  [        U 5      S-  -  :X  d   e[        U[        U 5      -  [        U 5      -  5      U[        U 5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -   5      SU-  [        U 5      -  [        U5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -
  5      SU-  [        U5      -  [        U 5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -   5      SU-  [        U 5      -  [        U5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -
  5      SU-  [        U 5      -  [        U5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -   5      SU-  [        U 5      -  [        U5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -
  5      SU-  [        U5      -  [        U 5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -   5      SU-  [        U 5      -  [        U5      -  :X  d   e[        U[        X-   5      -  U[        X-
  5      -  -
  5      SU-  [        U 5      -  [        U5      -  :X  d   e[        U[        S5      S-  -  U[        S5      S-  -  -   5      S	U-  :X  d   eg )
Nr,   zA,BFcommutativer.   r0   r2   r3   r4   r   r&   r   r   r   r   r   r   )r)   r*   ABs       r6   test_trigsimp_noncommutativer}      s&   5>DA5e,DAA#a&!)O$#a&!)333A#a&!)O$#a&!)333Ac!faiK!CFAI+-.!333A#a&!)O$#a&!)333Ac!faiK!O$#a&!)333Ac!faiK!CFAI+-.!333A#a&!)O$#a&!)333Ac!faiK!O$#a&!)333Ac!faiK!CFAI+-.!333ACA	MACA	M12ac999Ac!fHSVO$#a&000Ac!fHSVO$#a&000Ac!faiKA	)*aA	k999ACA	M#a&!)+,CFAI===Ac!fHSVO$#a&000Ac!%jL1SZ</0AaCAJs1v4EEEEAc!%jL1SZ</0AaCAJs1v4EEEEAc!%jL1SZ</0AaCAJs1v4EEEEAc!%jL1SZ</0BqDQKA4FFFFAd15kMAd15kM12ac$q'k$q'6IIIIAd15kMAd15kM12ac$q'k$q'6IIIIAd15kMAd15kM12ac$q'k$q'6IIIIAd15kMAd15kM12ac$q'k$q'6IIIIAc'lAo%#g,/(99:c!eCCCr8   c            	         [        S5      u  p[        [        U 5      S-  S-   5      [        U 5      S-  :X  d   e[        [        U 5      S-  S-
  5      [        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -
  5      S:X  d   e[        S[	        U 5      S-  -
  5      S[        U 5      S-  -  :X  d   e[        SS[        U 5      S-  -  -
  5      [	        U 5      S-  :X  d   e[        [	        U 5      S-  S[        U 5      S-  -  -   5      S:X  d   e[        [        U 5      S-  S-
  5      S[        U 5      S-  -  :X  d   e[        S[        U 5      S-  -  S-   5      S[	        U 5      S-  -  :X  d   e[        [        U 5      S-  S[        U 5      S-  -  -
  5      S:X  d   e[        S[        U 5      S-  -  S[        U 5      S-  -  -
  5      S:X  d   e[        S[        U S-  5      S-  -  S[        U S-  5      S-  -  -
  5      S[        U 5      -  S-  [        SS5      -   :X  d   e[        [        U 5      [        U 5      -  5      [	        U 5      :X  d   e[        [	        U 5      5      [        [        U 5      [        U 5      -  5      :X  d   e[        [        U 5      [        U 5      -  5      S[	        U 5      -  :X  d   e[        S[	        U 5      -  [        U 5      -  5      S[        U 5      -  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      [        U 5      S-  :X  d   e[        U[	        U 5      S-  -  [        U 5      S-  -  5      U[        U 5      S-  -  :X  d   e[        [        U 5      [        U 5      -  5      S[        U 5      -  :X  d   e[        S-  [        -  [        S-  [        -  [        S-  [        -  4 H  n[        [        U5      [        U 5      -  [        U5      [        U 5      -  -   5      [        X-   5      :X  d   e[        [        U5      * [        U 5      -  [        U5      [        U 5      -  -   5      [        X-
  5      :X  a  M   e   S[        U 5      S-  -  S[        U 5      S-  -  -
  n[        [        U5      5      [        S5      :X  d   e[        [        [        U 5      S-  S-
  5      5      [        [        U 5      S-  5      :X  d   e[        [        U 5      S-  [        U5      S-  -  [        U 5      S-  [        U5      S-  -  -
  [        U 5      S-  -
  S	S
9S:X  d   e[        [        U 5      S-  [        U5      S-  -  [        U 5      S-  [        U5      S-  -  -
  [        U 5      S-  -   S	S
9S:X  d   e[        [        S[        U 5      S-  -  S[        U 5      S-  -  -
  5      S-
  5      S:  d   e[        [        U 5      S-  [        U 5      S-  -  5      [	        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      [	        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      [	        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      S[	        U 5      S-  -  :X  d   e[        [        U 5      [        U 5      -  5      S[	        U 5      -  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      S[	        U 5      S-  -  :X  d   e[        [        U 5      S-  [        U 5      S-  -  5      S[	        U 5      S-  -  :X  d   e[        U [        U 5      -  [	        U 5      -  5      U [        U 5      -  :X  d   e[        [        U 5      * [        U 5      [	        U 5      -  -   5      S:X  d   e[        U 5      S[        U 5      -  :w  d   e[        [        U 5      S[        U 5      -  -
  5      S:X  d   e[        S[	        U 5      S-  -  S[        U 5      S-  -  -
  5      [	        U 5      S-  :X  d   eg )Nr,   r.   r-   r/   r0   r1   rN   rL   Tr=   rA   rB   rG   r   )r   r&   r   r   r   r   r
   r   r	   r   r   rC   r   r   )r)   r*   rP   r5   s       r6   test_hyperbolic_simpr     sU   5>DADGQJN#tAwz111DGQJN#tAwz111DGQJa!+,111AQ
N#qa!|333A$q'1*$%a!333DGQJ47A:-.!333DGQJN#qa!|333Ad1gqjL1$%47A:555DGQJ47A:-.!333Ad1gqjL1T!WaZ</0A555Ad1Q3ilNQtAaCy!|^34$q'	!hqRSn8TTTTDGDGO$Q///DGaa 9999DGDGO$$q'	111Ad1gId1g%&!DG)333DGQJtAwz)*d1gqj888Ad1gqjLa!+,$q'1*<<<DGDGO$$q'	111d1fbd1fbd1f%QQ$q'$q'/9:d15kIIIaa(4747?:;tAE{JJJ & 	
$q'1*qa!|#ACFs1v%%% Da!a()T$q'1*-====DGQJtAwz)DGQJtAwz,AADGQJN ! ! !DGQJtAwz)DGQJtAwz,AADGQJN ! ! ! xDGQJT!WaZ783>?%GGGDGQJtAwz)*d1gqj888DGQJtAwz)*d1gqj888DGRKQ+,Q;;;DGQJtAwz)*aQ
l:::DGDGO$$q'	111DGQJtAwz)*aQ
l:::DGRKQ+,$q'2+===Ad1gId1g%&!DG)333T!WHtAwtAw./1444q6Qs1vXCFQs1vX%&!+++Ad1gqjL1T!WaZ</0DGQJ>>>r8   c                  ,   SSK Jn   [        [        5      n[	        [        5      nSU-  U-  SU-  -   SUS-  -  -   SUS-  -  -   S	U-  -   S
-   U* US-  -  SU-  U-  -   S
U-  -   SUS-  -  -   SUS-  -  -   SU-  -   S-   -  nSU-  SU-  -
  S-   nSU-  SU-  -
  nXE-  U* U* -  /nU " U5      U;   d   eU " X!-  [
        /S9[        [        5      :X  d   eU " X-  5      X-  :X  d   e[        U* S-   U-  X* S-   -  -   SS9SU-  :X  d   e[        U* S-   U-  X* S-   -  -   SSS9SU-  :X  d   eU " US/S9U;   d   eU " U[        S5      /S9U;   d   eU " [	        [        [        -  5      [        [        [        -  5      -  [        /S9[        [        [        5      -  :X  d   eU " [        [        5      [        [        5      -   S[        [        5      [        [        5      -  -   -  [        [        [        4/S9[        [        [        -   5      :X  d   eg )Nr   )trigsimp_groebnerrL      r/   r0      r.         r1      %   r-   rM   rN   )hintsgroebnermethodT)r   
polynomial)sympy.simplify.trigsimpr   r   r)   r   r   r&   intr	   r   r*   )r   csexresnumresdenomresultss          r6   test_trigsimp_groebnerr   G  s[   9AAAA
A#a%"Q$,1a4
"QT'
)BqD
02
5	
1a4!A#a%"Q$1a4'"QT'1BqD82=
?BcAaCi!mF!ac	H&H9 56GR G+++QS.#a&888QS!QS(((aR!VQJBF+%'*+A#. . .aR!VQJBF+%$8;<Q3? ? ? Rs+w666RAx0G;;; S1Xc!A#h.tf=47JJJ d1gd1go$q'$q'/0AB%)1aL>36:1q5kB B Br8   c                    ^ S n S n[         S-   [         [        [         5      S-  -   [        [         5      S-  -   -  n[        S/5      n[        U/5      m[	        TSU S9U:X  d   e[	        TSUS9U:w  d   e[        R
                  " S5      m[        U4S jSR                  5        5       5      (       d   eS[        [        5      -  [        -   n[        U5      U:X  d   eg )	Nc                 *    [        [        U 5      5      $ N)lenstrexprs    r6   <lambda>2test_issue_2827_trigsimp_methods.<locals>.<lambda>f  s    CD	Nr8   c                     [        U 5      * $ r   )r   r   s    r6   r   r   g  s    Yt_,r8   r-   r.   fu)r   measurec              3   >   >#    U  H  n[        TUS 9T:H  v   M     g7f)r   N)r&   ).0mMs     r6   	<genexpr>3test_issue_2827_trigsimp_methods.<locals>.<genexpr>q  s$      ,* /0x!$)*s   zfu matching groebner old)r)   r   r   r#   r&   eyeallsplitr   r   r%   )measure1measure2r   ansrQ   r   s        @r6    test_issue_2827_trigsimp_methodsr   e  s    *H,HEAA	MCFAI-.D
!+CvAAdH5<<<AdH5<<< 	

1A ,"((*, , , , , 
47QBr?b   r8   c            	         [        [        [        SS5      5      [        [        SS5      5      S/5      n [        [        [        SS5      5      [        [        SS5      5      S/5      n[        [        [        SS5      5      [        [        SS5      5      S/5      nU R	                  U5      nU R	                  U5      n[        U5      [        [        SS5      5      :X  d   e[        U5      [        [        SS5      5      :X  d   eg )Nr-   2   r      r0   )r#   r   r
   r   dotr&   )t1t2t3r1r2s        r6   !test_issue_15129_trigsimp_methodsr   w  s    	Xa_%s8Ar?';Q?	@B	Xa_%s8Ar?';Q?	@B	Xa_%s8Ar?';Q?	@B	B	BB<3x2////B<3x2////r8   c                  r
  ^	 S m	[        [        [        5      [        [        * 5      -   5      S[        [        5      -  :X  d   e[        [        [        5      [        [        * 5      -
  5      S[	        [        5      -  :X  d   e[        S[        [        5      -  S[        [        * 5      -  -
  [        [        5      [        [        * 5      -   -  5      S[        [        5      -  :X  d   e[        S[        S[        -  5      -  S-
  [        S[        -  5      S-   -  5      S[        [        5      -  :X  d   e[        [        5      [        [        [        5      -  -   [        [        5      [        [        [        5      -  -
  [        [        5      [	        [        5      -
  [        [        5      [	        [        5      -   /n [        [        [        -  5      [        [        * [        -  5      [        [        * 5      [        [        5      /n[        U	4S j[        U  Vs/ s H  n[        U5      PM     snU5       5       5      (       d   e[        [        5      [        [        5      -   [        [        5      [        [        5      -
  [        [        5      [        [	        [        5      -  -   [        [        5      [        [	        [        5      -  -
  /nU Vs/ s H  n[        U5      U:H  PM     sn(       d   e/ n[        [        S5      -  S[        [        S5      -  -  [        [        -  [        S5      -  [        * [        [        S5      -  -  [        [        [        5      -  S[        [        [        5      -  -  [        [        -  [        [        5      -  [        * [        [        [        5      -  -  [        [        S[        -   5      -  S[        [        S[        -   5      -  -  /
nS[        [        [        [        -  S[        -   4 H]  n[        U5      n[        USU-  -
  -  USU-  -   -  nUR                  [        U5      5        UR                  [        SU-  5      5        M_     [        U	4S j[        XA5       5       5      (       d   e[        SS5       H  n[        U5      nUSU-  -   n [        U 5      nU[        U 5      :X  d   eT	" US[        U5      -  5      (       d   eUSU-  -
  n [        U 5      nU[        U 5      :X  d   eT	" US[	        U5      -  5      (       a  M   e   g s  snf s  snf )Nc                 6    SSK Jn  U" X5      (       a  X:X  d  gg)Nr   )verify_numericallyFT)sympy.core.randomr   )rP   rW   tns      r6   validtest_exptrigsimp.<locals>.valid  s    >1QVr8   r.   r-   c              3   8   >#    U  H  u  pT" X5      v   M     g 7fr   r:   r   ijr   s      r6   r   #test_exptrigsimp.<locals>.<genexpr>  s!      , (+tquQ{{ (+   c              3   8   >#    U  H  u  pT" X5      v   M     g 7fr   r:   r   s      r6   r   r     s     4|tquQ{{|r   r0   )r%   r   r)   r   r   r   r   r	   r   r   zipr*   r   appendr$   range)
r5   okeiueresrP   wrQ   r   r   s
            @r6   test_exptrigsimpr     s    s1vQB'(Ad1gI555s1vQB'(Ad1gI555#a&3r7*SVCG^<=47JJJ#ac(
1s1Q3xz23qay@@@	Q!CF(	CFQs1vX-	a47	DGd1g-	/A
ac(C1IsA2wA	/B ,s#$%1RR1%r(+ , , , , , a&3q6/3q6CF?
q'Ad1gI
tAw472
4B,./BbKOr!B///
C
DG)Q$q'	]AaCAJAc!fH	$q'	1aQi=!A#c!f*qb!CF(m	$q1u+q!DQK-(
*B AqsAE"FAaC[!ac'"

8B< 

8AbD>"	 #
 4s3|444441a[F!GQKKN"""Q$q'	""""!GQKKN"""Q$q'	"""" # 	& 0s   T/T4c                  &   [        SSS9u  p[        SSS9n[        X-   5      [        [        U 5      [        U5      -  5      :X  d   e[        U 5      [        U5      -  [        U5      [        U 5      -  -
  nU[        U5      s=:X  a  S:w  d   e   eg )NrV   Frx   r)   Tr   )r   r   r   r%   )rP   rW   r)   ps       r6   test_exptrigsimp_noncommutativer     s    
%U
+CAs%Aqu:SVCF]3333As1vAs1v%AA#!#####r8   c                  T    S[        SS5      S-
  -  S[        SS5      -  S-  :X  d   eg )Nr.   r-   r0   rL   )r
   r:   r8   r6   test_powsimp_on_numbersr     s0    x1~!"a!Q&7&9999r8   c                  x   [        S5      u  pp#SS[        U5      -  U-  S[        SU-  5      -  U-  -   S[        SU-  5      -  U-  -   SU-  -
  -  U -  S	[        U5      -  S[        SU-  5      -  -
  -  n[        U5      S
S[        U5      -  [	        U5      -  U-  SU-  -   -  U -  [        U5      -  :X  d   eg )Nzxp, y, x, zrL   ir/   r0   r   r.   r   	   r2   )r   r   r   r&   r   )xpr*   r)   ri   rQ   s        r6   test_issue_6811_failr     s     -(KB1	
CAJqL1S1X:a<'"S1X+a-7"Q$>	?	BAc!fHqQTUVWXUXQYzDY	ZBB<2qQxAq01Q367:3q6AAAAr8   c                  `   [         [         [        -   -  [        [         [        -   -  -
  n [        [         5      S-  [        [         5      S-  -   n[	        [         [        -   [        -  [         -  5      n[        U5      n[        [        XU:  4US45      5      [        XU:  4US45      :X  d   eg )Nr.   T)r)   r*   r   r   r   r$   r&   r   )e1e2e3s2s       r6   test_Piecewiser     s    	
AEQAY	B	QSVQY	B	Q	!	B	"B Ir7mb$Z892Bw-"d,- - -r8   c            	          [        [        [        SS5      5      [        [        SS5      5      -   5      [        [        R
                  5      S-  :X  d   eg )Nr-   r.   rO   )r$   r   r
   r   r   Halfr:   r8   r6   test_issue_21594r     s<    C1&Xb^)<<=affaOOOr8   c            	         [        S5      u  p[        S[        U 5      S-  -
  SS9[        U 5      S-  :X  d   e[        S[        U 5      S-  -
  SS9[        U 5      S-  :X  d   e[        [        U 5      S-  [        U 5      S-  -   SS9S:X  d   e[        S[	        U 5      S-  -   SS9S[        U 5      S-  -  :X  d   e[        S[        U 5      S-  -  S-
  SS9[	        U 5      S-  :X  d   e[        S[        U 5      S-  -  [	        U 5      S-  -
  SS9S:X  d   e[        S[        U 5      S-  -   SS9S[        U 5      S-  -  :X  d   e[        S[        U 5      S-  -  [        U 5      S-  -
  SS9S:X  d   e[        S[        U 5      S-  -  S[        U 5      S-  -  -   SS9S:X  d   e[        [        U 5      [        U 5      -  SS9[	        U 5      :X  d   e[        S[	        U 5      -  [        U 5      -  SS9S[        U 5      -  :X  d   e[        [        U 5      S-  [        U 5      S-  -  SS9[        U 5      S-  :X  d   e[        U[	        U 5      S-  -  [        U 5      S-  -  SS9U[        U 5      S-  -  :X  d   e[        [        U 5      [        U 5      -  SS9S[        U 5      -  :X  d   e[        [        X-   5      [        X-
  5      -   SS9S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  SS9S[        U5      -  [        U 5      -  :X  d   e[        [        X-   5      [        X-
  5      -   SS9S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  SS9S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -   SS9S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  SS9S[        U5      -  [        U 5      -  :X  d   e[        [        X-   5      [        X-
  5      -   SS9S[        U 5      -  [        U5      -  :X  d   e[        [        X-   5      [        X-
  5      -
  SS9S[        U 5      -  [        U5      -  :X  d   e[        [        S	5      S-  [        S	5      S-  -   SS9S
:X  d   e[        [        U 5      [        U 5      -  SSS9[	        U 5      :X  d   e[        [        U 5      [        U 5      -  SSS9[        U 5      [        U 5      -  :X  d   e[        [        U 5      [        U 5      -  SS[        /S9[	        U 5      :X  d   e[        S[        [        U 5      S-  [        U 5      S-  -   5      S-  -
  SSS9[        S5      S-  :X  d   eg )Nr,   r-   r.   T)oldr/   r0   r2   r3   r4   combined)r   r   r   )r   r   r   )r   deeprz   r(   s     r6   test_trigsimp_oldr     s,   5>DAAA	Mt,A	999AA	Mt,A	999CFAIA	)t4999AA	Mt,#a&!);;;Ac!faiK!O.#a&!);;;Ac!faiK#a&!)+6!;;;AA	Mt,#a&!);;;Ac!faiK#a&!)+6!;;;Ac!faiK!CFAI+-48A===CF3q6Mt,A666Ac!fHSVO.!CF(:::CFAIc!fai'T2c!fai???Ac!faiKA	)t4#a&!)CCCCF3q6Mt,#a&888CJQU+6!CF(3q6/IIICJQU+6!CF(3q6/IIICJQU+6!CF(3q6/IIICJQU+6"SV)CF:JJJJDK$qu+-48Ad1gId1g<MMMMDK$qu+-48Ad1gId1g<MMMMDK$qu+-48Ad1gId1g<MMMMDK$qu+-48Ad1gId1g<MMMMCL!Oc'lAo54@CGGGCF3q6MtJ?3q6IIICF3q6MtJ?3q6#a&=PPPCF3q6MtJseLPSTUPVVVVAc#a&!)CFAI-.11t$G3q6ST9TTTr8   c            	         [        S5      n [        U 5      [        U 5      p![        [        [
        [        [        [        4 H0  nUR                  S 5      nU [        U" U" U 5      5      SS9:X  a  M0   e   X!/X/4 H  u  pV[        SS/SS9 Hl  u  px[        Xv-  X-  5      n	[        U	SS9n
X:w  d   e[        U
5      [        [        U	5      5      :X  d   e[        U
5      [        [        U	5      5      :X  a  Ml   e   M     g )NalphaT)inverserO   r-   r.   )repeat)r   r   r   r   r   r   r   r!   r    r   r&   r   r   )r   r   r   finvfrP   rW   r   r   angleangle_inverteds              r6   test_trigsimp_inverser     s    GEu:s5zqtT4t4LLah>>>> 5
 ! RGA.DA!#qsOE%eT:N!***~&(3u:*>>>>~&(3u:*>>>> / !r8   N)T	itertoolsr   sympy.core.functionr   r   r   r   sympy.core.numbersr   r	   r
   r   sympy.core.singletonr   sympy.core.symbolr   r   &sympy.functions.elementary.exponentialr   r   %sympy.functions.elementary.hyperbolicr   r   r   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   r   r   r   r   r   r    r!   sympy.integrals.integralsr"   sympy.matrices.denser#   sympy.simplify.simplifyr$   r   r%   r&   sympy.testing.pytestr'   	sympy.abcr)   r*   r7   r;   r?   rE   rH   rT   rX   r[   r]   r_   rb   rk   rm   rp   rt   rv   r}   r   r   r   r   r   r   r   r   r   r   r   r   r:   r8   r6   <module>r      s     ? ? 3 3 " / = J J 9 : I I H H A A / ' , ; & &&RD<F
7	E[
(+J\2<(. DF8?vB<!$0)#V$: B B
-P$UN?r8   