
    \hK                        S SK Jr  S SKJr  S SK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  S SKJrJrJrJrJrJr  S SKJrJr  S S	KJrJrJrJrJrJ r   S S
K!J"r"  S SK#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r<J=r=J>r>J?r?J@r@JArAJBrB  S SKCJDrD  S SKEJFrFJGrGJHrHJIrIJJrJJKrK  S rLS rMS rNS rOS rPS rQS rRS rSS rTS rUS rVS rWS rXS rYS rZS r[S r\S r]S  r^S! r_S" r`S# raS$ rbS% rcS& rdS' reS( rfS) rgS* rhS+ rig,)-    )Add)Mul)IRationalpi)evaluate)S)DummySymbolsymbols)coshcothcschsechsinhtanh)rootsqrt)coscotcscsecsintan)powsimp)LTR1TR10TR10iTR11_TR11TR12TR12iTR13TR14TR15TR16TR111TR2TR2iTR3TR4TR5TR6TR7TR8TR9TRmorrie_TR56TRpowerhyper_as_trigfuprocess_common_addends
trig_splitas_f_sign_1)verify_numerically)abcxyzc                      [        S[        [        5      -  [        [        5      -   5      S[	        [        5      -  S[        [        5      -  -   :X  d   eg )N      )r   r   r>   r   r   r        T/var/www/auris/envauris/lib/python3.13/site-packages/sympy/simplify/tests/test_fu.pytest_TR1rG      s;    qQx#a& !Qs1vX#a&%8888rE   c            	      ~   [        [        [        5      5      [        [        5      [	        [        5      -  :X  d   e[        [        [        5      5      [	        [        5      [        [        5      -  :X  d   e[        [        [        [        5      [        [        5      [	        [        5      -  -
  5      5      S:X  d   eg )Nr   )r)   r   r>   r   r   r   rD   rE   rF   test_TR2rI      ss    s1v;#a&Q-'''s1v;#a&Q-'''s3q6CF3q6M)*+q000rE   c                  j   [        S[        -  [        [        -  -  5      S[        -  [        -  :w  d   e[        [	        [        5      [        [        5      -  5      [        [        5      :X  d   e[        [	        [        5      [	        [        5      -  [        [        5      -  5      [        [        5      [	        [        5      -  :X  d   e[        S[	        [        5      [        [        5      -  -  5      S[        [        5      -  :X  d   e[        S[	        [        5      [	        [        5      -  [        [        5      -  -  5      S[        [        5      -  [	        [        5      -  :X  d   e[        [	        [        5      S-  [        [        5      S-   -  5      [	        [        5      [        [        5      S-   -  S-  :X  d   e[        [	        [        5      S-  [        [        5      S-   -  SS9[        [        S-  5      S-  :X  d   e[        [	        S5      [        S5      S-   -  SS9[        [        R                  5      :X  d   e[        [	        S5      [        S5      S-   -  SS9[        S5      :X  d   e[        [	        S5      [        S5      S-   -  SS9[        S5      :X  d   e[        [	        S5      [        S5      S-   -  SS9[        S[        R                  -  5      :X  d   e[        [        S5      S-   [	        S5      -  SS9S[        [        R                  5      -  :X  d   e[        [        S5      S-   [	        S5      -  SS9S[        S5      -  :X  d   e[        [        S5      S-   [	        S5      -  SS9S[        S5      -  :X  d   e[        [        S5      S-   [	        S5      -  SS9S[        S[        R                  -  5      -  :X  d   e[        [        S5      S-   [        * -  [	        S5      [        -  -  SS9[        [        R                  5      [        -  :X  d   e[        [        S5      S-   [        * -  [	        S5      [        -  -  SS9[        S5      [        -  :X  d   e[        [        S5      S-   [        * -  [	        S5      [        -  -  SS9[        S5      S-   [        * -  [	        S5      [        -  -  :X  d   e[        [        S5      S-   [        * -  [	        S5      [        -  -  SS9[        S5      S-   [        * -  [	        S5      [        -  -  :X  d   e[        [        S5      S-   [        -  [	        S5      [        * -  -  SS9[        [        R                  5      [        * -  :X  d   e[        [        S5      S-   [        -  [	        S5      [        * -  -  SS9[        S5      [        * -  :X  d   e[        [        S5      S-   [        -  [	        S5      [        * -  -  SS9[        S5      S-   [        -  [	        S5      [        * -  -  :X  d   e[        [        S5      S-   [        -  [	        S5      [        * -  -  SS9[        S5      S-   [        -  [	        S5      [        * -  -  :X  d   e[        SSS9n [        [        S5      S-   U -  [	        S5      U * -  -  SS9[        S[        R                  -  5      U * -  :X  d   e[        S[        S5      S-   U -  [	        S5      U * -  -  -  SS9[        S[        R                  -  5      U -  :X  d   eg )	NrB   rC   T)half      iinteger)r   r>   r?   r*   r   r   r   r	   Halfr;   r   )rN   s    rF   	test_TR2irR      s   
 1a419!A#)))As1v#a&(((As1vc!f$%QA6663q6#a&=!"aAh...3q6#a&=Q'()Qs1vXc!f_<<<Aq#a&1*%&#a&#a&1**=a*????Aq#a&1*%D1S1XaZ???AA
#$/3qvv;>>>AA
#$/3q6999AA
#$/3q6999AA
#$/3qx=@@@Q!SV#$/1S[=@@@Q!SV#$/1SV8;;;Q!SV#$/1SV8;;;Q!SV#$/1S166]?BBBQ!r"3q619,48CKNJJJQ!r"3q619,48CFAIEEEQ!r"3q619,48SVaZA2<NsSTvWXy<XXXXQ!r"3q619,48SVaZA2<NsSTvWXy<XXXXQ!aA!,48CK1"<MMMMQ!aA!,48CFaRLHHHQ!aA!,48SVaZ!OCPQFVWUWL<XXXXQ!aA!,48SVaZ!OCPQFVWUWL<XXXXT"A#a&1*qQ1"-T:c!AFF(mqb>QQQQCFQJ?3q6QB</0t<AaffHq@PPPPrE   c                  F   [        [        [        [        [        [        -
  -  -
  5      5      [        [        [        [        -
  -  [        -   5      :X  d   e[        [        S-  [        -   5      [        [        5      * :X  d   e[        S[        -  S-  [        -   5      [        [        5      * :X  d   e[        [
        [        [        [        [        4 HS  n U " [        [        SS5      -  5      n[        U5      n[        X5      (       a  UR                  UR                  :w  a  MS   e   [        S5         [        S[        -  S-  5      nS S S 5        WR                  S[        -  5      (       a  [        U5      [        [        S-  5      :X  d   eg ! , (       d  f       NM= f)	NrB            F	         )r+   r   r?   r>   r   r   r   r   r   r   r   r:   funcr   has)frN   jeqs       rF   test_TR3r_   B   s%   s1q!a%y=!"c!QU)a-&8888r!tax=SVG###r"uQw{Aw&&&3S#s+b!Q F!!''AFFaff,<<< ,
 
%2b\ 
66!B$<<CGs2b5z1111 
s   5F
F c                     S[         S-  [         S-  [         S-  [         S-  4 HQ  n [        S5         [        U 5      nS S S 5        [        W[        5      (       a  [	        U5      [        U 5      :X  a  MQ   e   g ! , (       d  f       NB= f)Nr      rL   rU   rB   F)r   r   r   
isinstancer,   )rN   r^   s     rF   test_TR4rc   Q   sd    Ar!tRT2a4(e_QB "c""s2w#a&'888 )_s   A::
B	c                     S n [        [        [        5      S-  [        [        U SS5      [        [        5      [        [        5      S-  * S-   -  :X  d   e[        [        [        5      S-  [        [        U SS5      [        [        5      S-  :X  d   e[        [        [        5      S-  [        [        U SS5      [        [        5      S-  * S-   S-  :X  d   e[        [        [        5      S-  [        [        U SS	5      [        [        5      S-  :X  d   e[        [        [        5      S
-  [        [        U SS	5      [        [        5      S-  * S-   S-  :X  d   e[        [        [        5      [        -  [        [        U SS	5      [        [        5      [        -  :X  d   e[        [        [        5      S[        -  S-   -  [        [        U SS	5      [        [        5      S[        -  S-   -  :X  d   eg )Nc                     SU -
  $ NrC   rD   r>   s    rF   <lambda>test__TR56.<locals>.<lambda>Y   s    !a%rE   rU   rL   FrB   rC   
   ra   T   )Tr   r>   r   r   )hs    rF   
test__TR56rn   X   s{   ASVQYS!Q.#a&3q619*q.2IIIISVRZc1a/3q62:===SVQYS!Q.CFAI:>A2EEEESVQYS!Q-Q:::SVQYS!R.CFAI:>A2EEEE SVQYS!Q-Q:::SVacAgS!Q5Q!A#'9JJJJrE   c                  @   [        [        [        5      S-  5      [        [        5      S-  * S-   :X  d   e[        [        [        5      S-  5      [        [        5      S-  :X  d   e[        [        [        5      S-  5      [        [        5      S-  * S-   S-  :X  d   eg NrB   rC   rL   )r-   r   r>   r   rD   rE   rF   test_TR5rr   e   y    s1vqy>c!faiZ!^+++s1vrz?c!frl***s1vqy>s1vqyj1nq0000rE   c                  @   [        [        [        5      S-  5      [        [        5      S-  * S-   :X  d   e[        [        [        5      S-  5      [        [        5      S-  :X  d   e[        [        [        5      S-  5      [        [        5      S-  * S-   S-  :X  d   eg rp   )r.   r   r>   r   rD   rE   rF   test_TR6ru   k   rs   rE   c                     [        [        [        5      S-  5      [        S[        -  5      S-  [        R                  -   :X  d   e[        [        [        5      S-  S-   5      [        S[        -  5      S-  [        SS5      -   :X  d   eg )NrB   rC   rU   )r/   r   r>   r	   rQ   r   rD   rE   rF   test_TR7rw   q   sg    s1vqy>S1XaZ!&&0000s1vqy1}QqS!hq!n!<<<<rE   c            
      &   [        [        S5      [        S5      -  5      [        S5      S-  [        S5      S-  -   :X  d   e[        [        S5      [        S5      -  5      [        S5      S-  [        S5      S-  -   :X  d   e[        [        S5      [        S5      -  5      [        S5      * S-  [        S5      S-  -   :X  d   e[        [        S5      [        S5      -  [        S5      -  5      [        S5      S-  [        S5      S-  -
  [        S5      S-  -   :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  5      [        S5      S-  [        S5      S-  -   [        S5      S-  -   [        S5      S-  -   [        S	5      S-  -   [        S5      S-  -   [        SS5      -   :X  d   e[        [        S5      [        S5      -  [        S5      -  [        S5      -  [        S5      -  5      [        S5      S-  [        S5      S-  -   S[        S5      -  S
-  -   [        S
5      S
-  -   [        S5      S-  -   [        S	5      S
-  -   [        S5      S
-  -   [        S5      S
-  -   [        SS
5      -   [        S5      S-  -   :X  d   e[        [        [        [        SS5      -  5      S-  [        [        [        SS5      -  5      S-  -  S
[        [        S-  5      S-  -  -  5      [        SS5      :X  d   eg )NrB   rU   rM   rC   rL   ra   rj   rk               rV   @   )r0   r   r   r   r   rD   rE   rF   test_TR8r~   v   s   s1vc!f}QCF1H!4444s1vc!f}QCF1H!4444s1vc!f}#a&SVAX!5555s1vc!f}SV#$Aq3q6!8(;c!fQh(FFFFs1vc!f}SV#CF*+Aq3r719s1vax'#a&(2SWQY>Aq	Aq>	"" " " s1vc!f}SV#CF*3q612B	CF1HqQx{*SWRZ7#a&(BB
	WRZ	 "%b'"*	-/72	?ADQ	JJ J J s2hq!n$%q(RA->)?)BBBs2a4yRS|OTUYabcegYhhhhrE   c            
      L
   [         R                  n SU -  n[        U 5      U :X  d   e[        [        S5      [        S5      -   5      S[        U 5      -  [        U5      -  :X  d   e[        [        S5      [        S5      -
  5      S[	        U 5      -  [	        U5      -  :X  d   e[        [	        S5      [	        S5      -
  5      S[	        U 5      -  [        U5      -  :X  d   e[        [	        S5      [	        S5      -   5      S[	        U5      -  [        U 5      -  :X  d   e[        [        S5      S[	        S5      -  -   S[	        S5      -  -   5      [        S5      S[	        U5      -  [        U 5      -  -   :X  d   e[        [        S5      [        S5      -   S[        S5      -  [        S5      -  -   5      S[        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -   [        S5      -  S-  [        S5      -   5      S[        S5      -  [        S5      -  :X  d   e[        [        S5      [        S5      -   [        S5      -   [        S5      -   5      S[        [         R                  5      -  [        S5      -  [        [        SS5      5      -  :X  d   e[        [        S5      [        S5      [        S5      -  -   5      [        S5      [        S5      [        S5      -  -   :X  d   e[        [        [        5      * [        [        [        -  5      -   5      S[	        [        [        -  S-  [        S-  -
  5      -  [	        [        [        -  S-  [        S-  -   5      -  :X  d   e[        [	        [        5      * [	        [        [        -  5      -   5      S[	        [        [        -  S-  [        S-  -
  5      -  [        [        [        -  S-  [        S-  -   5      -  :X  d   e[        [        5      n[	        [        5      nS	 GH  nX#4X24[        [        5      [        [        [        -  5      4[	        [        5      [	        [        [        -  5      44 H  n [        X@5      n[        U Vs/ s H  n[        U6 PM     sn6 n[        U5      nU S
   R                  U S   R                  :X  a.  [        XxR                  SS95      (       a:  UR                  (       d)  U S   R                  U S
   R                  :w  d  M  Xx:w  d  M   e   GM     g s  snf )NrU   rC   rB   rq   rL   rM   ra   rW   )rC   rC   )rC   )r   rC   )r   r   r   Ttrig)r	   rQ   r1   r   r   r   r?   r>   zipr   r   rZ   r:   expandis_Add)	r;   r<   r=   ssiargsaiexts	            rF   test_TR9r      s   	A	!Aq6Q;;s1vA1SV8CF?222s1vA1SV8CF?222s1vA2c!f9SV#3333s1vA1SV8CF?222s1v#a& 1SV8+,A3q6#a&0HHHHs1vA3q6#a&01Qs1vXc!f_DDDAQQ')CF23qQxAFFFs1vAQ'#a&01	#aff+c!fS!Q001 1 1s1vAs1v%&#a&3q6#a&=*@@@@AwQqS!"bQqSUQqS[)9&9#ac!eack:J&JJJJAwQqS!"aAaCEAaCK(8&8QqSUQqS[9I&IIIIAAAA2&1&3q63qs8"4s1vs1Q3x6HIAr:D$/$BsBx$/0BBA!		QqTYY.&r888+>??188Q499!		)bg7 7	 J 3 0s   ?T!c                     [        [        [        [        -   5      5      [	        [        5      * [	        [        5      -  [        [        5      [        [        5      -  -   :X  d   e[        [	        [        [        -   5      5      [	        [        5      [        [        5      -  [	        [        5      [        [        5      -  -   :X  d   e[        [	        [        [        -   [
        -   5      5      [	        [        5      * [	        [        5      -  [        [        5      [        [        5      -  -   [	        [
        5      -  [	        [        5      [        [        5      -  [	        [        5      [        [        5      -  -   [        [
        5      -  -   :X  d   e[        [        [        [        -   [
        -   5      5      [	        [        5      * [	        [        5      -  [        [        5      [        [        5      -  -   [        [
        5      -  [	        [        5      [        [        5      -  [	        [        5      [        [        5      -  -   [	        [
        5      -  -
  :X  d   eg N)r   r   r;   r<   r   r=   rD   rE   rF   	test_TR10r      sn   AE
Aws1v~As1v====AE
s1vc!f}s1vc!f}<<<<AEAI
a&Q#a&Q-	'Q/	QAQA	&A.	// / / AEAI
a&Q#a&Q-	'Q/	QAQA	&A.	// / /rE   c            
         [        [        S5      [        S5      -  [        S5      [        S5      -  -   5      [        S5      :X  d   e[        [        S5      [        S5      -  [        S5      [        S5      -  -
  5      [        S5      :X  d   e[        [        S5      [        S5      -  [        S5      [        S5      -  -
  5      [        S5      :X  d   e[        [        S5      [        S5      -  [        S5      [        S5      -  -   5      [        S5      :X  d   e[        [        S5      [        S5      -  [        S5      [        S5      -  -   S-   5      [        S5      S-   :X  d   e[        [        S5      [        S5      -  [        S5      [        S5      -  -   [        S5      -   5      [        S5      [        S5      -   :X  d   e[        S[        S5      -  [        S5      -  S[        S5      -  [        S5      -  -   [        S5      -   5      S[        S5      -  [        S5      -   :X  d   e[        [        S5      [        S5      -  [        S5      [        S5      [        S5      -  [        S5      [        S5      -  -   -  -   5      [        S5      :X  d   e[        S5      [        S5      -  [        S5      [        S5      [        S5      -  [        S5      [        S5      -  -   -  -   [        S5      -  [        S5      [        S5      -  -   n [        U 5      [        U R                  5       5      s=:X  a  [        S5      :X  d   e   e[        [	        S5      [        [
        5      -  [
        -  [	        S5      [        [
        5      -  [
        -  -   5      S[	        S5      -  [
        -  [        [
        [        S-  -   5      -  :X  d   e[        [        [
        5      [	        S5      -  [        [
        5      [	        S5      -  -   [        [
        5      [	        S5      -  S-  -   [        [
        5      [	        S5      -  S-  -   5      S[	        S5      -  [        [
        [        S-  -   5      -  S-  :X  d   e[        [        [
        5      [	        S5      -  [        [
        5      [	        S5      -  -   [        [        5      [	        S5      -  S-  -   [        [        5      [	        S5      -  S-  -   5      [	        S5      [        [
        [        S-  -   5      -  S-  [	        S5      [        [        [        S-  -   5      -  S-  -   :X  d   e[        [        [
        5      [	        S5      [        [
        5      -  -   S[	        S5      -  [        [
        [        S-  -   5      -  -   5      S[        [
        5      -  :X  d   e[        [        [
        5      [	        S5      [        [
        5      -  -   S[	        S5      -  [        [
        [        S-  -   5      -  -   S[        [
        5      -  -   5      S[	        S5      -  [        [
        [        S-  -   5      -  :X  d   e[        [        S5      [        S5      -  [        S5      [        S5      -  -   5      [        S5      [        S5      -  [        S5      [        S5      -  -   :X  d   e[        S	S
S9n[        [	        S5      [        [
        5      -  U-  [	        S5      [        [
        5      -  U-  -   5      S[	        S5      -  [        [
        [        S-  -   5      -  U-  :X  d   e[        [
        5      n[        [
        5      n[        [        5      n[        [        5      nS Hx  nX%-  X4-  4X$-  X5-  44 Ha  n[        Xg5      n[        U V	s/ s H  n	[        U	6 PM     sn	6 n
[        U
5      nXR                  SS9-
  (       d  UR                  (       d  Ma   e   Mz     [        [
        5      n[        [
        5      n[        [        S-  5      n[        [        S-  5      nS Hx  nX%-  X4-  4X$-  X5-  44 Ha  n[        Xg5      n[        U V	s/ s H  n	[        U	6 PM     sn	6 n
[        U
5      nXR                  SS9-
  (       d  UR                  (       d  Ma   e   Mz     g s  sn	f s  sn	f )NrC   rU   rB   rL   rV   rM   ra   rW   AFcommutativer   Tr   )r   r   r   r   r   r>   r   r?   r   r   r   r   r   )r^   r   r=   r   rm   rr   argsir   r   r   r   s               rF   
test_TR10ir      s   QAQA./3q6999QAQA./3q6999QAQA./3q6999QAQA./3q6999QAQA.23s1vzAAAQAQA.Q78CFSVOKKK3q6#a&1SV8CF?2SV;<	#a&3q6  QAQQAQA)F!GGHA  
a&Q-#a&As1vAs1v%' '(+A
/14QA
?B9biik*4c!f44444aQ!DGCFN1$445	$q'	!CBqDM!" " "QQ#a&a.0F47N1"1vd1g~a/0 145d1gIc!bd(m4KA4MN N NQQ#a&a.0F47N1"1vd1g~a/0 1QA1Ha$q'#a"Q$h-"7"99: : : Q$q'#a&.(1T!W9SRT]+BBCqQxOOOQ$q'#a&.(d1gIc!bd(m#$&'Ah/ 034T!W9SRT]3JK K KQAQA./As1vAs1v%& & & 	s&AaQ!DGCFN1$445	$q'	#a"Q$h-!" " " 	AAAAAAAA2sACj13*-Er>D$/$BsBx$/0Bb	AXX4X00AHHH==	 . 3 	AAAABqD	ABqD	A2sACj13*-Er>D$/$BsBx$/0Bb	AXX4X00AHHH==	 . 3 0 0s   0c0cc            	      H   [        [        S[        -  5      5      S[        [        5      -  [        [        5      -  :X  d   e[        [        S[        -  5      5      S[        [        5      S-  * [        [        5      S-  -   [        [        5      -  [        [        5      -  -  :X  d   e[        [        [        [	        SS5      -  5      5      S[        [        S-  5      S-  * [        [        S-  5      S-  -   [        [        S-  5      -  [        [        S-  5      -  -  :X  d   e[        [        S[        -  5      5      [        [        5      S-  * [        [        5      S-  -   :X  d   e[        [        S[        -  5      5      [        [        5      S-  * [        [        5      S-  -   S-  S[        [        5      S-  -  [        [        5      S-  -  -
  :X  d   e[        [        S5      5      [        S5      :X  d   e[        [        [
        [	        SS5      -  5      [
        [	        SS5      -  5      [        [
        [	        SS5      -  5      S-  * [        [
        [	        SS5      -  5      S-  -   :X  d   e[        [        S5      S5      [        S5      S-  * [        S5      S-  -   :X  d   e[        [        S5      S5      [        S5      :X  d   e[        [        [        5      [        [        S-  5      -  [        S-  5      S[        [        S-  5      -  :X  d   eg )NrB   rL   rU   rV   ra   )r    r   r>   r   r   r   rD   rE   rF   	test_TR11r      sq   AaC>Qs1vXc!f_,,,AaC>Q#a&!)c!fai!7Q ?A FGGGGAhq!n$%&	S1Xq[L3qs8Q;&AaC0QqS9:; ; ; AaC>c!faiZ#a&!)3333AaC>
a&!)c!fai	!#aA	k#a&!)&;;< < < A<3q6!!!Bx1~%&8Aq>(9:s2hqRSnCT?UWX?X>X[^_abjklnobp_p[qst[t>ttttA?s1vqyj3q6194444A?c!f$$$As1Q3x1%3qs8333rE   c            	      0   [        [        [        S-  5      [        S[        -  5      -  [        [        S-  5      -  [        [        S-  5      [        [        S-  5      -  -  5      S[        [        S-  5      -  [        [        S-  5      -  [        S[        -  5      -  :X  dl   [        [        [        S-  5      [        S[        -  5      -  [        [        S-  5      -  [        [        S-  5      [        [        S-  5      -  -  5      5       e[        [        [        S-  5      [        [        S-  5      -  5      S[        [        S-  5      -  :X  d   e[        [        [        S-  5      [        [        S-  5      -  5      SS[        [        S-  5      -  -  :X  d   e[        [        S[        -  5      [        [        S-  5      -  [        [        S-  5      -  5      [        S[        -  5      S[        [        S-  5      -  -  :X  dF   [        [        S[        -  5      [        [        S-  5      -  [        [        S-  5      -  5      5       e[        [        [        5      [        [        S-  5      -  5      S[        [        S-  5      -  :X  d   eg )NrU   rB   rL   ra   rk   rC   )r!   r   r>   r   rD   rE   rF   
test__TR11r      s   QqS#ac("3qs8+S1Xc!A#h->?@	#ac(
3qs8C!H$% [%*3qs8C!H+<S1X+Es1Q3xPSTUVWTWPXGX+Y%Z[ %QqS#ac("#qQqSz111QqS#ac("#q!C!H*~555QqS#ac("3qs8+,AaC!C!H*0EEhuSQRSTQTXVYZ[\]Z]V^M^_bcdefcf_gMgGhhEQAaC!Qs1Q3xZ///rE   c                     [        [        [        [        -   5      5      [        [        5      [        [        5      -   [        [        5      * [        [        5      -  S-   -  :X  d   e[        [        [        [        -   [        -   5      5      [        [        5      [        [        5      [        [        5      -   [        [        5      * [        [        5      -  S-   -  -   S[        [        5      [        [        5      -   [        [        5      -  [        [        5      * [        [        5      -  S-   -  -
  -  :X  d   e[        [        [        [        -  5      5      [        [        [        -  5      :X  d   eg rf   )r"   r   r>   r?   r@   rD   rE   rF   	test_TR12r      s    AE
AQ3q6'#a&.12DEEEEAEAI	Q3q6CF?c!fWSV^a%78	8	SVc!f_c!f$s1vgc!fnq&899	;; ; ; AaC>S1X%%%rE   c                     [        [        S5      [        S5      -  5      [        S5      * [        S5      -  [        S5      [        S5      -  -
  S-   :X  d   e[        [        S5      [        S5      -  5      S[        S5      [        S5      -  -   [        S5      [        S5      -  -   :X  d   e[        [        S5      [        S5      -  [        S5      -  5      [        S5      * [        S5      -  [        S5      [        S5      -  -
  S-   [        S5      -  :X  d   e[        [        S5      [        S5      -  [        S5      -  5      [        S5      * [        S5      -  S-   [        S5      [        S5      -  -
  [        S5      -  :X  d   eg )NrU   rB   rM   rC   )r$   r   r   rD   rE   rF   	test_TR13r     s>   As1v3q6'#a&.3q6#a&="@1"DDDDAs1v!c!fSVm"3c!fSVm"CCCCAs1vc!f$%
a&Q#a&Q-	'!	+SV34 4 4As1vc!f$%
a&Q!	c!fSVm	+SV34 4 4rE   c                  `    [        [        [        5      [        [        5      -   5      S:X  d   eg NrB   )r   r   r>   r   rD   rE   rF   test_Lr     s!    SVc!f_"""rE   c                     [        [        S5      S-  [        S5      S-  -   [        [        S-  5      -   5      [	        SS5      :X  d   e[        [        S5      [        [        5      -  [        S5      [        [        5      -  -   5      S[        S5      -  [        [        [        S-  -   5      -  :X  d   e[        [        5      S-  [        [        5      S-  -
  [        [        5      S-  -   S[        [        5      S-  -  -   n [        U 5      [        [        5      S-  S[        [        5      S-  -  -
  S-   :X  d   e[        [        R                  [        S[        -  5      S-  -
  5      [        [        5      S-  :X  d   e[        [        [        5      [        [        5      [        [        5      -
  -  [        [        5      [        [        5      [        [        5      -   -  -   5      [        S5      [        [        [        -   [        S-  -   5      -  :X  d   e[        [        S5      [        [        5      -  S-  [        [        5      S-  -   5      [        [        [        S-  -   5      :X  d   e[        S[        S[        -  5      S-  S-  -
  [        [        5      S-  -
  [        [        5      S-  -
  5      [        [        5      S-  * [        [        5      S-  -   :X  d   e[        [        [        [	        SS5      -  5      5      [        [        S-  5      :X  d   e[        [        [        S-  5      [        [        [	        SS5      -  5      -  [        [        [	        SS5      -  5      -  [        [        [	        SS5      -  5      -  5      [	        SS	5      :X  d   e[        [        [        [	        S
S5      -  5      [        [        [	        SS5      -  5      -   [        S5      [        [        [	        SS5      -  5      -  [        [        [	        S
S5      -  5      -  -
  5      [        S5      * :X  d   e[        [        S5      [        S5      -  5      [        S5      [        S5      -  :X  d   e[        [        S5       Vs/ s H  n[        SU-  5      PM     sn6 n[        U5      [        S5      S[        S5      -  -  :X  d   e[        [        [        5      [        [        [        5      S-  5      -   5      [        [        5      [        [        [        5      S-  5      -   :X  d   e[        S[        [        5      S-  -  S[        [        5      -  -   S[        S5      -  [        [        5      S-  -  -   S[        S5      -  [        [        5      -  -   [        S[        -  5      S-   -  5      S
[        [        5      -  S[        S5      -  [        [        5      -  -   :X  d   eg s  snf )N2   rB   ra   rU   rL   rC   rW      rz   rV   rM   rj   i   i#   )r6   r   r   r   r   r   r>   r?   r	   rQ   r;   r<   r   r   range)r^   rN   exprs      rF   test_fur     s   c"gqj3r7A:%BqD	12hq!nDDDd1gc!fntAws1v~-.!DG)CBqDM2IIII 
QSVQY	Q	*Qs1vqy[	8Bb6SVQY3q619,q0000affs1Q3xz!"c!fai///c!fc!fs1vo&QQ#a&)AABQAEBqDL!!" " " d1gc!fnQQ)*c!bd(m;;;a#ac(A+a-#a&!)+c!fai78	Q
SVQY   c"Xa^#$%RU333c"Q$iBx1~-..s2hq!n3D/EEc"XVWYZ^J[F\\]aijkmoappppBx2#b!R&8"99DGC8TUWY?HZD[<[\_`bcklmoqcr`r\s<ssu	a   c!fSVmAs1v---E"I.IqQTI./Dd8s4y$s1v+.... c!ftCFAI&'3q6DQO+CCCCs3q619}r#a&y(1T!W9SVQY+>>473q6AQQUXYZ[\Y\U]`aUacd	#a&1T!W9SV##$ $ $ /s   W.c                     [        [        [        5      [        [        5      -  S S9[	        [        5      :X  d   e[        [        [        5      [        [        5      -  S S9[        [        5      [        [        5      -  :X  d   eg )Nc                 $    U R                   " 5       $ r   	count_opsrg   s    rF   rh    test_objective.<locals>.<lambda>:  s
    q{{}rE   )measurec                 &    U R                   " 5       * $ r   r   rg   s    rF   rh   r   <  s    ~rE   )r6   r   r>   r   r   rD   rE   rF   test_objectiver   9  sd    c!fSVm%<=F  c!fSVm%=>F3q6M  rE   c                  F    S n [        [        / SQSS06U S SS9S:X  d   eg )Nc                 \    [        U R                   Vs/ s H
  oUS-  -  PM     sn6 $ s  snf r   )r   r   )r>   rN   s     rF   rh   -test_process_common_addends.<locals>.<lambda>C  s%    316626aQqS6232s   ))rC   rB   rU   rL   r   Fc                     U S-  $ r   rD   rg   s    rF   rh   r   E  s    qsrE   )key2key1ra   )r7   r   )dos    rF   test_process_common_addendsr   @  s9     
4B!#|"De"Db(+DE E ErE   c                  T   [        [        [        5      [        [        5      5      SSS[        [        S4:X  d   e[        S[        [        5      -  S[        [        5      -  5      SSS[        [        S4:X  d   e[        [        [        5      [	        [        5      -  [        [        5      [	        [        5      -  5      [	        [        5      SS[        [        S4:X  d   e[        [        [        5      [        S5      * [	        [        5      -  SS9SSS[        [        S-  S	4:X  d   e[        [        [        5      [	        [        5      SS9[        S5      SS[        [        S
-  S	4:X  d   e[        [        [        5      [	        [        5      * SS9[        S5      SS[        [        S
-  S	4:X  d   e[        [        S5      [        [        5      -  [        S5      * [	        [        5      -  SS9S[        S5      -  SS[        [        S-  S	4:X  d   e[        [        S5      * [        [        5      -  [        S5      * [	        [        5      -  SS9S[        S5      -  SS[        [        S-  S	4:X  d   e[        [        [        5      [        S5      -  [	        [        5      [        S5      -  SS9[        S5      S-  SS[        [        S-  S	4:X  d   e[        [        S5      * [        [        5      -  [	        [        5      -  [        S5      * [	        [        5      -  [	        [        5      -  SS9S[        S5      -  [	        [        5      -  SS[        [        S-  S	4:X  d   e[        [        [        5      [	        [        5      5      b   e[        [        [        5      [	        [        5      5      b   e[        S[        [        5      -  [	        [        5      * 5      b   e[        [        [        5      [        S5      * [	        [        5      -  5      b   e[        [        [        5      [        [        5      -  [	        [        5      [	        [        5      -  5      b   e[        [        [        5      [        [        5      -  [	        [        5      [	        [        5      -  5      b   e[        [        S5      * [        [        5      -  [        S5      [	        [        5      -  [	        [        5      -  SS9 b   e[        [        S5      [        [        5      -  [        S5      SS9b   e[        [        S5      [        [        S5      -  [	        S5      [        S5      -  SS9b   e[        [        S5      [        S5      -  [        S5      [	        S5      -  SS9b   eg )NrC   TrB   rq   r   rU   )twora   FrL   rM   rV   )	r8   r   r>   r?   r   r   r   r@   r   rD   rE   rF   test_trig_splitr   H  s[   c!fc!f%!Q1a)>>>>aAh3q6	*q!RAt.DDDDc!fSVmSVCF]3	QAq!T"# # # c!ftAwhs1vo48	
Ar1bdE"# # #c!fc!f$/	a!Q2a4'( ( (c!fs1vg40	a!RBqD%() ) )d1gc!fntAwhs1vo4@	
47Ar1bdE*+ + +tAwhs1voQxADA	DGQ1bdE*+ + +c!fT!Wnc!fT!Wn$?	aAq!RT5)* * *tAwhs1voc!f,!WHSVOCF".	DGCF	Aq!RT512 2 2 c!fc!f%---c!fc!f%---aAhQ(000c!ftAwhs1vo.666c!fSVmSVCF]3;;;c!fSVmSVCF]3;;;tAwhs1votAws1v~c!f'<$G   d1gd1gos1v48@@@d1gd1aj(#a&Q-TBJJJc!fSVmSVCF]=EEErE   c                     [        S[        [        S5       V s/ s H  n [        U 5      PM     sn 6 -  5      S[	        S5      -  [	        S5      -  [        S5      -  [        S5      -  [        S5      -  S[	        S5      -  [	        S	5      -  -  :X  d   e[        [
        5      [
        :X  d   e[        S
[
        -  5      S
[
        -  :X  d   e[        [        S-  5      [        [        [        S
S5      -  5      -  [        [        [        SS5      -  5      -  n[        [        U5      5      [        SS5      :X  d   e[        [        SS5       V s/ s H  n [        S
U -  [        -  S-  5      PM     sn 6 n[        [        [        U5      5      5      [        SS5      :X  d   e[        [
        5      [        [
        S
-  5      -  n[        U5      U:X  d   e[        [
        S
-  5      [	        [
        S
-  5      -  [        [
        5      S	-  -  n[        U5      [	        S
[
        -  5      [        [
        5      S
-  -  S-  :X  d   eg s  sn f s  sn f )NrV   rj   r|   rz   rM   rW   r}   rC   rU   rB   rL   r   rk      i   )
r2   r   r   r   r   r>   r   r   r0   r+   )rN   er^   s      rF   test_TRmorrier   l  s   AcE"I6IqCFI6778	#b'	#b'#a& Q'A.3q6	#a&0@AB B BA;!AaC=AaCBqD	#b!Q'((RA->)??Ax{xA...uQ|4|!c!Q$r'"*o|45As8A; HQ$6666	QAaCBB<2	QqS#ac(	3q619	$BB<3qs8CFAI-a//// 7 5s   I"Ic            	         [        S[        [        5      S-  -  5      S[        [        5      S-  -  :X  d   e[        [        [        5      S-  [        [        S-  5      S-  -  5      S[        [        5      -  S-  [        S[        -  5      S-  -   [        [        5      * S-  [        S[        -  5      S-  -   [	        SS5      -   -  :X  d   e[        SS5       H{  n [        [        [        5      U -  [        [        [        5      U -  5      5      (       d   e[        [        [        5      U -  [        [        [        5      U -  5      5      (       a  M{   e   g )NrC   rB   rU   rL   rk   )r4   r   r>   r   r   r   r:   )ks    rF   test_TRpowerr   }  s   1SVQY;1SVQY;...3q619S1Xq[()	
3q6!c!A#hqj	 CF719s1Q3xz#9HQN#JKL L L1a[!#a&!)WSVQY-?@@@@!#a&!)WSVQY-?@@@@ rE   c                  F   SSK Jn Jn  [        [        5      S-  [        [        5      S-  -   n[        U5      u  p4U" [        U5      5      [        S[        -  5      :X  d   e[        [        [        [        -   5      5      u  pTU" [        U5      5      [        [        5      [        [        5      -   [        [        5      [        [        5      -  S-   -  :X  d   e[        5       nU " [        [        5      U5      [        [        [        U-  5      -  :X  d   eU " [        [        5      U5      [        [        [        U-  5      -  :X  d   eU " [        [        5      U5      [!        [        U-  5      [        -  :X  d   eU " [        [        5      U5      [#        [        U-  5      :X  d   eU " [%        [        5      U5      ['        [        U-  5      :X  d   eU " [)        [        5      U5      [+        [        U-  5      [        -  :X  d   e[        [
        [        [        [$        [(        4 H$  nU" [,        5      nU" U " X5      U5      U:X  a  M$   e   U" [#        [        [        -  [.        -   5      [        5      [        [        [.        [        -  -   5      :X  d   eU" [        [        [        -  [.        -   5      [        5      [        [        [.        [        -  -   5      [        -  :X  d   eU" [        [        [        -  [.        -   5      [        5      [        [        [.        [        -  -   5      [        -  :X  d   eU" [!        [        [        -  [.        -   5      [        5      [        [        [.        [        -  -   5      [        -  :X  d   eU" ['        [        [        -  [.        -   5      [        5      [%        [        [.        [        -  -   5      :X  d   eU" [+        [        [        -  [.        -   5      [        5      [)        [        [.        [        -  -   5      [        -  :X  d   eg )Nr   )_osborne	_osborneirB   rC   )sympy.simplify.fur   r   r   r>   r   r5   r6   r   r?   r"   r
   r   r   r   r   r   r   r   r   r   r   r   r@   )	r   r   r^   r   r\   r   drZ   rm   s	            rF   test_hyper_as_trigr     s   5	a!d1gqj	 BDARU8tAaCy   a!e%DAT!W:$q'DG+d1gd1go.ABBBBADGQ1S1X:---DGQ1S1X:---DGQ3qs8A:---DGQ3qs8+++DGQ3qs8+++DGQ3qs8A:---tT4t4H!+q000 5 S1q\1%a!A#g666S1q\1%a!A#gq888S1q\1%a!A#gq888S1q\1%a!A#gq888S1q\1%a!A#g666S1q\1%a!A#gq888rE   c                     [         [        [        4 V s/ s H  n [        U 5      PM     sn u  pn[	        X-   U* U-  S-   -  5      [        [         [        -   5      :X  d   e[	        X-   X-  S-
  -  5      [        [         [        -   5      * :X  d   e[	        U* U-
  X-  S-
  -  5      [        [         [        -   5      :X  d   eX-   U* U-  S-   S-  -  SU-  SU-  -
  -  SX-  S-
  -  -  n[	        UR                  5       5      S[        [         [        -   5      -  [        [         [        -   5      -  [        [         5      [        [        5      -   S-
  -  S-  :X  d   e[	        [        [        5      [        [        5      -  5      [        [        5      [        [        5      -  :X  d   eU[        S5      -   U* U-  S-   -  n[	        U5      U:X  d   eX-   S-   S-  U* U-  S-   -  n[	        U5      U:X  d   eX* U-  S-   -  n[	        U5      U:X  d   eX-   [         S-   -  R                  5       S-  X-  S-
  -  n[	        U5      [         S-   S-  * [        [         [        -   5      -  :X  d   eg s  sn f )NrC   rB   rU   )	r;   r<   r=   r   r#   r   r>   r   r   )rN   tatbtcr^   s        rF   
test_TR12ir     s2   #$a),)Q#a&),JBB"'RCFQJ'(CAJ666"'BEAI&'CAJ;6662#(RUQY'(CAJ666
'RCFQJ?	"BrEAbDL	11beai=	AB
3q1u:c!a%j #a&3q6/A"56q89 9 9QA3q6#a&=000
s1v+B
	#B9??
'A+	B3r6A:	&B9??	SVaZB9??Ga!e
$
$
&	*BEAI	6B9!a%!CAJ.... -s   I,c                     [        [        5      S-
  [        [        5      S-   -  n [        [        5      S-  * n[        U 5      U:X  d   e[        SU -  5      SU-  :X  d   e[        [        [        5      S-
  S-  [        [        5      S-   S-  -  5      US-  :X  d   e[        [        [        5      S-
  S-  [        [        5      S-   S-  -  5      US-  [        [        5      S-   -  :X  d   e[        [        [        5      S-
  S-  [        [        5      S-   S-  -  5      US-  [        [        5      S-
  -  :X  d   e[        [        5      S-
  [        -  [        [        5      S-   [        -  -  n [        U 5      U :X  d   e[        [        5      S-
  [        -  [        [        5      S-   -  n [        U 5      U :X  d   e[        [        5      S-
  S-  [        [        5      S-   -  n [        U 5      U :X  d   e[        SSS9n[        [        [        5      S-
  U-  [        [        5      S-   U-  -  5      X-  :X  d   e[        [        [        5      S-
  U-  [        [        5      S-   U-  -  5      [        [        5      S-  * U-  :X  d   e[        [        5      S-
  US-   -  [        [        5      S-   U-  -  n [        U 5      [        [        5      S-
  X-  -  U 4;   d   e[        [        [        5      S-
  [        [        5      S-   -  5      [        [        5      S-  * :X  d   e[        [        5      S-   [        [        5      S-
  -  n[        [        5      S-
  S-  [        [        5      S-   -  nS[        [        5      S-
  -  S[        [        5      S-   -  -  n[        X4-  U-  [        S-
  -  5      S[        S-
  [        [        5      S-  -  [        [        5      S-  -  -  :X  d   eg )	NrC   rB   rU   rN   TrO   irL   )r   r>   r   r%   r?   r   r   )r^   ansrN   p1p2p3s         rF   	test_TR14r     s3   
a&1*s1vz	"Bq619*C8s??":3Q!aQ!a/0CF:::Q!aQ!a/0CFCFQJ4GGGGQ!aQ!a/0CFCFQJ4GGGG
a&1*q#a&1*q	(B8r>>
a&1*q#a&1*	%B8r>>
a&1*q#a&1*	%B8r>>T"AQ!aQ!a/0CF:::Q!aQ!a/0c!faiZ!OCCC
a&1*A	A
Q	.B8Q!SV+R0000Q!c!fqj)*s1vqyj888
a&1*s1vz	"B
a&1*aQ!	$B
SVaZ.1c!fqj>	*Bb!a% !S1q5#a&!)*;CFAI*E%FFFFrE   c                  X   [        SS[        [        5      S-  -  -
  5      [        [        5      S-  * :X  d   e[	        SS[        [        5      S-  -  -
  5      [        [        5      S-  * :X  d   e[        SS[        [        5      S-  -  -
  5      S[        [        5      S-  -
  :X  d   eg )NrC   rB   )r&   r   r>   r   r'   r   r   r(   rD   rE   rF   test_TR15_16_17r     s    Ac!faiK SVQYJ...Ac!faiK SVQYJ...Qs1vqy[!QQ]222rE   c                      [        [        S-   5      S[        S4:X  d   e[        [        S-
  5      S[        S4:X  d   e[        [        * S-   5      S[        S4:X  d   e[        [        * S-
  5      S[        S4:X  d   e[        S[        -  S-   5      S[        S4:X  d   e[        [        [        -  [        -
  5      [        [        S4:X  d   e[        [        * [        -  [        -   5      [        * [        S4:X  d   eg )NrC   r   rB   )r9   r>   r?   rD   rE   rF   test_as_f_sign_1r     s    q1u!Q***q1u!Q+++rAv2q"+---rAv2q!*,,,qsQwAq!9,,,qsQwAq":---r!tax aRBK///rE   c                     [        SSS9n [        SSS9n[        S[        [        5      -  [	        [        5      -  U-  U -  5      [	        S[        -  5      U-  U -  :X  d   e[        [        S5      [        S5      -  U-  U -  5      [        S5      * [        S5      -  [        S5      [        S5      -  -
  S-   U-  U -  :X  d   eS[        [        5      -  [	        [        5      -  U-  U -  [        [        5      S-  -   R                  5       [	        S[        -  5      U-  U -  [        S[        -  5      S-  -   [        R                  S-  -   :X  d   eg )	Nr   Fr   BrB   rU   rM   rC   )
r   r0   r   r>   r   r$   r   simplifyr	   One)r   r   s     rF   test_issue_25590r     s"   s&As&AqQxAq "#s1Q3xz!|333As1va!"Aws1v~As1v'E'I1&LQ&NNNN c!fHSVOAa#a&!)+5573qs8A:a<#aPQc(ST*;TWXW\W\]^W^;^^^^rE   N)jsympy.core.addr   sympy.core.mulr   sympy.core.numbersr   r   r   sympy.core.parametersr   sympy.core.singletonr	   sympy.core.symbolr
   r   r   %sympy.functions.elementary.hyperbolicr   r   r   r   r   r   (sympy.functions.elementary.miscellaneousr   r   (sympy.functions.elementary.trigonometricr   r   r   r   r   r   sympy.simplify.powsimpr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   rl   r4   r5   r6   r7   r8   r9   sympy.core.randomr:   	sympy.abcr;   r<   r=   r>   r?   r@   rG   rI   rR   r_   rc   rn   rr   ru   rw   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rD   rE   rF   <module>r      s     0 0 * " 6 6 V V A S S *       
 1 & &91!QH29
K11=
i78/4>n4$0&4##$LE!FH0"A9</&G830	_rE   