+
    i`                       ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ R	IHtHt ^ R
IHtHtHtHt ^ RI H!t!H"t" ^ RI#H$t$H%t%H&t&H't'H(t(H)t)H*t* ^ RI+H,t, ^ RI-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t; ^ RI<H=t=H>t> ^ RI?H@t@ ^ RIAHBtB ^ RICHDtDHEtE ^ RIFHGtG ^ RIHHItI ^ RIJHKtK ^ RILHMtM ^ RINHOtOHPtP ^ RIQHRtR ^ RISHTtT ^ RIHUtUHVtV ^ RIWHXtXHYtY ^ RIZH[t[ ^ RI\H]t] ^ RI^H_t_H`t`Hata ]! R4      w  tbtctd]! R R!R"7      te]! R#R!R$7      w  tftg]! R%R!R&7      th]! R'R!R(7      ti]! R%R!R)7      tj]! R'R!R*7      tk]! R+R!R,7      tl]! R-R!R.7      tm]! R/R!R07      tn]! R-R!R17      to]! R/R!R27      tp]! R3R!R47      tq]! R5R!R67      tr]! R7R!R!R87      tsR9 ttR: tuR; tvR< twR= txR> tyR? tzR@ t{RA t|RB t}RC t~RD tRE tRF tRG tRH tRI tRJ tRK t]`RL 4       tRM tRN tRO tRP tRQ tRR t]_RS 4       tRT tRU t]`RV 4       tRW tRX tRY tRZ tR[ tR\ tR] tR^ tR_ tR` tRa tRb tRc tRd tRe tRf tRg tRh tRi tRj tRk tRl tRm tRn tRo tRp tRq tRr tRs tRt tRu tRv tRw tRx tRy tRz tR{ tR| t]`R} 4       t]`R~ 4       t]`R 4       tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR# )    )AccumBounds)Add)Lambdadiff)Mod)Mul)EFloatIRationalnanoopizoo)Pow)S)Symbolsymbols)arg	conjugateimre)explog)acothasinhatanhcoshcothsinhtanh)sqrt)acosacotacscasecasinatanatan2coscotcscsecsinsinctan)besseljjn)	Heaviside)Matrix)cancelgcd)limit)O)series)ImageSet)	FiniteSetInterval)simplify)	unchanged)ArgumentIndexError	PoleError)NeEq)	Piecewise)SetExpr)XFAILslowraiseszx y zrTrealzk mintegerppositivennegative)nonpositivenonnegativenz)nonzeroep)extended_positiveen)extended_negative)extended_nonpositive)extended_nonnegativeenz)extended_nonzeroa)	algebraicna)rW   ra   c                  #   \        R 4      w  r\        RRR7      p\        P                  \        ^4      8X  g   Q h\        \        4      \        J g   Q h\        \
        4      \        J g   Q h\        \        4      \        R^4      8X  g   Q h\        \        4      \        \        4      ,
          \        R^4      8X  g   Q h\        \        \        ,          4      \        \        ,          8X  g   Q h\        \        ) \        ,          4      \        ) \        ,          8X  g   Q h^ \        \        4      ,          \        P                  J g   Q h^ \        \        4      ,          \        P                  J g   Q h^ \        \        4      ,           \        R^4      8X  g   Q h^\        \        4      ,           \        ^^4      8X  g   Q h\        ^ 4      ^ 8X  g   Q h\        V\        ,          4      \        \        V4      ,          8X  g   Q h\        \        V 4      4      V 8X  g   Q h\        \        V 4      4      V \        ^V ^,          ,           4      ,          8X  g   Q h\        \        V 4      4      \        ^V ^,          ,
          4      8X  g   Q h\        \!        V 4      4      ^\        ^^V ^,          ,          ,           4      V ,          ,          8X  g   Q h\        \#        V 4      4      ^V ,          8X  g   Q h\        \%        V 4      4      \        ^^V ^,          ,          ,
          4      8X  g   Q h\        \'        W4      4      V\        V ^,          V^,          ,           4      ,          8X  g   Q h\        \(        \        ,          4      \        \(        4      \        ,          8X  g   Q h\        \(        ) \        ,          4      \        \(        4      ) \        ,          8X  g   Q h\        R\        ,          4      \        ^4      ) \        ,          8X  g   Q h\        \(        4      ^ 8X  g   Q h\        \(        ) 4      ^ 8X  g   Q h\        ^\(        ,          4      ^ 8X  g   Q h\        R\(        ,          4      ^ 8X  g   Q h\        R^
^I,          ,          \(        ,          4      ^ 8X  g   Q h\        ^^
^g,          ,          \(        ,          4      ^ 8X  g   Q h\        \(        ^,          4      ^8X  g   Q h\        \(        ) ^,          4      R8X  g   Q h\        \(        \+        ^^4      ,          4      ^8X  g   Q h\        \(        \+        ^^4      ,          4      R8X  g   Q h\        RRRR7      p\        RRR7      p\        \(        V,          ^,          4      RV^,          \        P,                  ,
          ,          8X  g   Q h\        \(        \.        ,          ^,          4      P0                  \        8X  g   Q h\        \(        V,          ^,          4      ^ 8X  g   Q h\        \(        \.        ,          4      ^ 8X  g   Q h\        \(        \.        ,          4      P3                  \.        ^4      \        \(        \.        ,          ^,          4      P3                  \.        ^4      8X  g   Q h\        \(        ^,          4      \        P,                  \        ^4      ,          8X  g   Q h\        \(        \+        R^4      ,          4      \+        R^4      \        ^4      ,          8X  g   Q h\        \(        ^,          4      \        P,                  \        ^4      ,          8X  g   Q h\        \(        ) ^,          4      \+        R^4      \        ^4      ,          8X  g   Q h\        \(        \+        ^^4      ,          4      \        P,                  \        ^4      ,          8X  g   Q h\        \(        \+        R^4      ,          4      \+        R^4      \        ^4      ,          8X  g   Q h\        \(        ^,          4      \        P,                  8X  g   Q h\        \(        ) ^,          4      \+        R^4      8X  g   Q h\        \(        \+        ^^4      ,          4      \+        R^4      8X  g   Q h\        \(        \+        R^4      ,          4      \+        R^4      8X  g   Q h\        \(        \+        ^^4      ,          4      \        ^\        ^4      ,
          ^,          4      8X  g   Q h\        \(        \+        ^^4      ,          4      \        ^\        ^4      ,           ^,          4      8X  g   Q h\        \(        \+        ^^4      ,          4      \        \(        \+        ^^4      ,          4      8X  g   Q h\        \(        \+        ^^4      ,          4      \        \(        \+        ^^4      ,          4      8X  g   Q h\        \(        \+        ^^4      ,          4      \        \(        \+        ^^4      ,          4      ) 8X  g   Q h\        \(        \+        ^^4      ,          4      \        \(        \+        ^^4      ,          4      ) 8X  g   Q h\        \(        \+        R^4      ,          4      \        \(        \+        ^^4      ,          4      ) 8X  g   Q h\        \(        ^,          4      \        ^\        ^4      ,
          ^,          4      8X  g   Q h\        \(        ^
,          4      \+        R^4      \        ^4      ^,          ,           8X  g   Q h\        \(        ^,          4      \        ^4      ) ^,          \        ^4      ^,          ,           8X  g   Q h\        \(        \+        ^^4      ,          4      \        ^4      ^,          \        ^4      ^,          ,           8X  g   Q h\        \(        \+        R^4      ,          4      \        ^4      ) ^,          \        ^4      ^,          ,
          8X  g   Q h\        \(        \+        R^4      ,          4      \        ^4      ^,          \        ^4      ^,          ,
          8X  g   Q h\        \(        \+        ^h^i4      ,          4      \        \(        ^i,          4      8X  g   Q h\        \(        \+        ^j^i4      ,          4      \        \(        ^i,          4      ) 8X  g   Q h\        \(        \+        R^i4      ,          4      \        \(        ^i,          4      ) 8X  g   Q h\        \(        \+        R^i4      ,          4      \        \(        ^i,          4      8X  g   Q h\        V \        ,          4      \        V 4      \        ,          8X  g   Q h\        \.        \(        ,          4      ^ 8X  g   Q h\        ^\.        ,          \(        ,          4      ^ 8X  g   Q h\        ^\.        ,          \(        ,          ^,           4      \        ^4      8X  g   Q h\        ^\.        ,          \(        ,          \4        \(        ,          ,           ^,           4      R\4        ^\.        ,          ,           ,          \        ^4      ,          8X  g   Q h\        \.        \(        ,          \        ,          4      \        \.        \(        ,          4      \        ,          8X  g   Q h\        \6        4      P8                  RJ g   Q h\        ^ RR	7      P:                  '       g   Q h\        \<        4      P:                  e   Q h\        \>        4      P:                  RJ g   Q h\A        RRR7      p\        \(        V,          4      P:                  '       g   Q h\A        RRRR7      p\        V4      PB                  RJ g   Q h\        V4      PB                  e   Q h\E        \        \G        V 4      \I        V4      ,
          4      \        4      RJ g   Q h\E        \        \G        V 4      ) \I        V4      ,           4      \        4      RJ g   Q h\        \K        \M        ^ ^4      4      4      \K        \O        \Q        V \        V 4      4      \M        ^ ^4      4      4      8X  g   Q h\S        \U        ^^4      4      ^<^U.,            Fv  p\U        V^,          ^,           4       FV  pV\(        ,          V,          p \W        \Y        \        V 4      4      \        \Y        V 4      4      ,
          4      pVR8  d   KV  Q h	  Kx  	  \        ^ RR	7      PZ                  RJ g   Q h\        \.        \(        ,          RR	7      PZ                  RJ g   Q h\        \]        ^RRR	7      RR	7      PZ                  RJ g   Q hR
# )x yzT	imaginaryneFrL   evenerj   evaluateNqrationalqn)rq   rW   -q=)/r   r.   nargsr;   r   r   r   r   r   r   Zeror    r'   r(   r"   r#   r$   r%   r&   r)   r   r   HalfkfuncsubsmrH   is_realis_algebraicr`   rb   r   is_rational
isinstancer   r   rD   r<   r:   r   listrangeabsfloatis_zeror   )	xyre   rh   rk   ro   rr   drP   s	            q/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/functions/elementary/tests/test_trigonometric.pytest_sinr   3   s   5>DAt$A99	!$$$s8s??s8s??r7k"a((((r7SWB 2222r!t91s1u:"QSW9SW9s2w;+b!,,,,s2w;+a++++q6Q;;qs8qay   tAw<1tAw<1tA1H~----tAw<4AqD>)))tAw<1QQT\ 2Q 67777tAw<1q5   tAw<4A1H----uQ{q41q!t#44444r!t9R
"""s1u:$r(1$$$r!t9a
"""r7a<<s8q==qt9>>r"u:??r"b&y|!!!qSy|!!!r!t9>>s1u:r(1a. !Q&&&r(1a. !R'''	t%	0B$Ar"uQw<B"Q$-0000r!tAv;s"""r!tAv;!r!t9>>r!t9>>!Q3r!tAv;#3#3Aq#9999r!t9tAw&&&r(2q/!"hr1od1g&====r!t9tAw&&&s1u:"aa0000r(2q/!"affT!Wn444r(2q/!"hr1od1g&====r!t9s1u:"a(((r(1a. !Xb!_444r(2q/!"hr1o555r(1a. !T1tAw;!*;%<<<<r(1a. !T1tAw;!*;%<<<<r(1a. !SHQN):%;;;;r(1a. !SHQN):%;;;;r(1a. !c"Xa^*;&<%<<<<r(1a. !c"Xa^*;&<%<<<<r(5!$$%#b!Q.?*@)@@@@r!t9a$q'k1_----r"u:"a47194444r"u:$q'!d1gai////r(1b/!"d1gai$q'!)&;;;;r(2r""#QxzDGAI'====r(3##$Q	DGAI(====r(3$$%RV444r(3$$%#bf+555r(4%%&3r#v;,666r(4%%&#bf+555qs8tAwqy   qt9>>r!tBw<1qs2vz?c!f$$$qs2v"}q !bA!G_SV%;;;;qtAv;$qt*Q,&&&q6>>T!!!q5!.....q6&&&r75(((sT"Ar!t9!!!!!	tT	2Br7%'''q6%%%c2a52a5=)3/4777c2a5&2a5.)3/5888wx1~&'78F1c!f<M1~4' ,( ( ( ( %2,2r(**qsQwA"QAU3q6]Sq]24Au99   + q5!))T111qte$,,444s1b5)E:BBdJJJ    c                  \   R EF$  p \        RV ,          V ^,          4       EF  pV\        ,          V ,          p\        V\        ^,          ,           4      \        V4      8X  g   Q RW3,          4       h\        V\        ^,          ,
          4      \        V4      ) 8X  g   Q RW3,          4       h\        V4      \        V\        ^,          ,
          4      8X  g   Q RW3,          4       h\        V4      ) \        V\        ^,          ,           4      8X  d   K  Q RW3,          4       h	  EK'  	  R# )   fails for %d*pi/%dN)r                  
                  (   <   x   ru   )r   r   r.   r*   )r   rP   r   s      r   test_sin_cosr      s    Dr!tQqS!A"QAq2a4x=CF*I,@A6,II*q2a4x=SVG+J-AQF-JJ+q6SRT]*I,@A6,II*F7c!bd(m+J-AQF-JJ+ " Er   c                  0   \        \        4      P                  \        ^ ^	4      \        \        ^,          ^,          ,
          \        ^,          ^x,          ,           \        ^,          R,          ,
          \        \        ^	,          4      ,           8X  g   Q hR# )r   i  N)r.   r   r9   r8    r   r   test_sin_seriesr      s[    q6==Aq!	AqDF
QT#X1T	)AadG34 4 4r   c                     \        \        4      P                  \        4      \        ) \        \        \        ,          4      \        \        ) \        ,          4      ,
          ,          ^,          8X  g   Q h\        \        4      P                  \
        4      ^\        \        ^,          4      ,          ^\        \        ^,          4      ^,          ,           ,          8X  g   Q h\        \        4      P                  \        4      \        ^ \        \        \        4      ^ 4      \        \        \        \        4      ^ 4      ,          3^\        \        ^,          4      ,          \        \        ^,          4      ^,          ^,           ,          R34      8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \!        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \!        ^4      4      P                  4       8X  g   Q h\        \#        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \#        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \%        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \%        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \'        \        4      4      P                  \(        4      \        \        \        ) ,          ,          ^,          \        \        \        ,          ,          ^,          ,
          8X  g   Q h\        \        4      P                  \*        4      ^\+        \        4      ,          8X  g   Q h\        \        4      P                  \$        4      \%        \        \        ^,          ,
          RR7      8X  g   Q h\        \        4      P                  \,        4      ^\-        \        \        ^,          ,
          RR7      ,          8X  g   Q h\        \%        \        4      4      P                  \(        4      \        \%        \        4      4      8X  g   Q h\        \        4      P                  \.        4      \1        \        \        ,          ^,          4      \/        \2        P4                  \        4      ,          8X  g   Q h\        \        4      P                  \.        4      P                  \        ^ 4      \        ^ 4      8X  g   Q hR# )r   TFrm   N)r.   r   rewriter   r   r0   r+   rC   rB   r   r   r   r    r   rP   r   r!   r   r*   r   r   r,   r-   r1   r"   r   r   r   r   r   test_sin_rewriter      sa   q6>>#1"c!A#haRT&:";A"====q6>>#!C!H*a#ac(A+o">>>>q6>>#1bAlRAr
A%667S1X:s1Q3x{Q/6	88 8 8 tAw<T!QZs1v~~c27747CEEGH H HtAw<T!QZs1v~~c27747CEEGH H HtAw<T!QZs1v~~c27747CEEGH H HtAw<T!QZs1v~~c27747CEEGH H Hs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;s#qQBw{Qq!tVQY'>>>>q6>>#!CF(***q6>>##a"q&j5"AAAAq6>>#!c!b1f*u&E"EEEEs1v;s#s3q6{222q6>>'"d2a46l716613E&EEEEq6>>'"''1-Q777r   c           
      
   ^ RI Hp \        W4      '       g   Q hV! V ! V4      4      V ! V4      8X  g   Q hV! V ! \        V^RR7      4      4      V8X  g   Q h\	        V ! V4      V,
          4      P                  4       R8  g   Q hR# )r   )expand_trigFrm   绽|=N)sympy.core.functionr   r>   r   r   rP   )firk   r   s   &&& r   _test_extrigr      sr    /Q???qt!$$$ qQE234999qtax=??u$$$r   c            	         \        \        \        ,           4      P                  R R7      \        \        4      \	        \        4      ,          \	        \        4      \        \        4      ,          ,           8X  g   Q h\        \        \        ,
          4      P                  R R7      \        \        4      \	        \        4      ,          \	        \        4      \        \        4      ,          ,
          8X  g   Q h\        \        \        ,
          4      P                  R R7      \	        \        4      \        \        4      ,          \        \        4      \	        \        4      ,          ,
          8X  g   Q h\        ^\        ,          4      P                  R R7      ^\        \        4      ,          \	        \        4      ,          8X  g   Q h\        ^\        ,          4      P                  R R7      R\        \        4      ^,          ,          ^\        \        4      ,          ,           8X  g   Q h\        ^\        ,          4      P                  R R7      R\        \        4      ^,          ,          \	        \        4      ,          ^\        \        4      ,          \	        \        4      ,          ,           8X  g   Q h\        ^\
        ,          ^,          4      P                  R R7      \        ^\
        ,          ^,          RR7      8X  g   Q h\        \        \
        ^,          ,           4      P                  R R7      \        \
        ^,          4      \	        \        4      ,          \	        \
        ^,          4      \        \        4      ,          ,           8X  g   Q h\        \         ^^\        ^4      ,          \	        ^4      ,          4       \        \         ^R\        ^4      ^,          ,          ^\        ^4      ,          ,           4       R# )TtrigFrm   N)r.   r   r   expandr*   r   r   r   r   r   test_sin_expansionr      sE    q1u:$'3q6#a&=3q6#a&=+HHHHq1u:$'3q6#a&=3q6#a&=+HHHHq1u:$'3q6#a&=3q6#a&=+HHHHqs8???%3q6#a&888qs8???%CFAI#a&)@@@@qs8???%CFAIc!f)<qQxA)NNNNqtBw<D)S2b5-IIIIqBw<D)SBZA->RUCPQFAR-RRRRa3q6#a&)aCFAI#a&01r   c                     \        \        \        ) \        4      4      \        R^4      8X  g   Q h\        \        ^ \        4      4      \        R^4      8X  g   Q h\        \        \        ) ^ 4      4      \        R^4      8X  g   Q h\        \        ^ ^\        P                  ,          4      4      \        R^4      8X  g   Q h\        \        ^ \        P                  \        ^^4      ,          4      4      \        ^ ^4      8X  g   Q h\        \        \        P                  \        ^^4      ,          \        P                  \        ^^4      ,          4      4      \        R\        \        P                  \        ^^4      ,          4      4      8X  g   Q h\        \        \        P                  ^,          \        P                  ^,          4      4      \        \        \        P                  ^,          4      \        \        P                  ^,          4      4      8X  g   Q h\        \        \        P                  \        ^^4      ,          \        P                  \        ^^4      ,          4      4      \        \        \        P                  \        ^^4      ,          4      \        \        P                  \        ^^4      ,          4      4      8X  g   Q hR# r   Nrt   )r.   r   r   r   Pir   r   r   r   test_sin_AccumBoundsr      s   {B3#$B(::::{1b!"k"a&8888{B3"#{2q'9999{1af%&+b!*<<<<{1add8Aq>123{1a7HHHH{144A.Xa^0CDEUWY\]^]a]abjklnobp]pYqIrrrr{14461446*+{3qttAv;ADDQRF/TTTT{144A.Xa^0CDEUXYZY]Y]^fghjk^lYlUmorstswsw  yA  BC  EF  yG  tG  pH  JI  I  I  Ir   c                      \        \        4      P                  4       \        \        4      8X  g   Q h\	        \
        R  4       R# )c                  >    \        \        4      P                  ^4      # r   )r.   r   fdiffr   r   r   <lambda> test_sin_fdiff.<locals>.<lambda>      s1v||Ar   N)r.   r   r   r*   rG   r?   r   r   r   test_sin_fdiffr     s*    q6<<>SV###
67r   c                     \        \        ) 4      \        \        4      ) 8X  g   Q h\        \        ) 4      \        \        4      8X  g   Q h\        \        ) 4      \        \        4      ) 8X  g   Q h\	        \        ) 4      \	        \        4      ) 8X  g   Q h\        \        \
        ,           4      \        \        4      ) 8X  g   Q h\        \        ^\
        ,          ,           4      \        \        4      8X  g   Q h\        \        ^\
        ,          ,           4      \        \        4      ) 8X  g   Q h\        \        ^\
        ,          ,           4      \        \        4      8X  g   Q h\        \        ^\
        ,          ,
          4      \        \        4      ) 8X  g   Q h\        \        \
        ,           4      \        \        4      ) 8X  g   Q h\        \        ^\
        ,          ,           4      \        \        4      8X  g   Q h\        \        ^\
        ,          ,           4      \        \        4      ) 8X  g   Q h\        \        ^\
        ,          ,           4      \        \        4      8X  g   Q h\        \        ^\
        ,          ,
          4      \        \        4      ) 8X  g   Q h\        \        \
        ,           4      \        \        4      8X  g   Q h\        \        ^\
        ,          ,
          4      \        \        4      8X  g   Q h\	        \        \
        ,           4      \	        \        4      8X  g   Q h\	        \        ^\
        ,          ,
          4      \	        \        4      8X  g   Q h\        \
        ^,          \        ,
          4      \        \        4      8X  g   Q h\        \
        \        ^^4      ,          \        ,
          4      \        \        4      ) 8X  g   Q h\        \
        \        ^^4      ,          \        ,
          4      \        \        4      8X  g   Q h\        \
        ^,          \        ,
          4      \        \        4      8X  g   Q h\        \
        \        ^^4      ,          \        ,
          4      \        \        4      ) 8X  g   Q h\        \
        \        ^^4      ,          \        ,
          4      \        \        4      8X  g   Q h\        \
        ^,          \        ,
          4      \	        \        4      8X  g   Q h\        \
        \        ^^4      ,          \        ,
          4      \	        \        4      8X  g   Q h\        \
        \        ^^4      ,          \        ,
          4      \	        \        4      8X  g   Q h\	        \
        ^,          \        ,
          4      \        \        4      8X  g   Q h\	        \
        \        ^^4      ,          \        ,
          4      \        \        4      8X  g   Q h\	        \
        \        ^^4      ,          \        ,
          4      \        \        4      8X  g   Q h\        \
        ^,          \        ,           4      \        \        4      8X  g   Q h\        \
        ^,          \        ,           4      \        \        4      ) 8X  g   Q h\        \
        ^,          \        ,           4      \	        \        4      ) 8X  g   Q h\	        \
        ^,          \        ,           4      \        \        4      ) 8X  g   Q hR# r   N)r.   r   r*   r0   r+   r   r   r   r   r   test_trig_symmetryr   	  s:   r7s1vgr7c!fr7s1vgr7s1vgq2v;3q6'!!!q1R4x=CF"""q1R4x=SVG###q1R4x=CF"""q1R4x=SVG###q2v;3q6'!!!q1R4x=CF"""q1R4x=SVG###q1R4x=CF"""q1R4x=SVG###q2v;#a&   q1R4x=CF"""q2v;#a&   q1R4x=CF"""r!tax=CF"""r(1a. 1$%#a&000r(1a. 1$%Q///r!tax=CF"""r(1a. 1$%#a&000r(1a. 1$%Q///r!tax=CF"""r(1a. 1$%Q///r(1a. 1$%Q///r!tax=CF"""r(1a. 1$%Q///r(1a. 1$%Q///r!tax=CF"""r!tax=SVG###r!tax=SVG###r!tax=SVG###r   c            
         \        R 4      w  r\        P                  \        ^4      8X  g   Q h\        \        4      \        J g   Q h\        \
        4      \        R^4      8X  g   Q h\        \
        4      \        \
        4      ,
          \        R^4      8X  g   Q h\        \
        \        ,          4      \
        J g   Q h\        \
        ) \        ,          4      \
        J g   Q h\        \        4      \        J g   Q h\        ^ 4      ^8X  g   Q h\        \        V 4      4      V 8X  g   Q h\        \        V 4      4      ^\        ^V ^,          ,           4      ,          8X  g   Q h\        \        V 4      4      \        ^V ^,          ,
          4      8X  g   Q h\        \        V 4      4      ^\        ^^V ^,          ,          ,           4      ,          8X  g   Q h\        \        V 4      4      \        ^^V ^,          ,          ,
          4      8X  g   Q h\        \        V 4      4      ^V ,          8X  g   Q h\        \!        W4      4      V \        V ^,          V^,          ,           4      ,          8X  g   Q h\        \"        \        ,          4      \%        \"        4      8X  g   Q h\        \"        ) \        ,          4      \%        \"        4      8X  g   Q h\        R\        ,          4      \%        ^4      8X  g   Q h\        \"        ^,          4      ^ 8X  g   Q h\        \"        ) ^,          4      ^ 8X  g   Q h\        \"        ^,          4      ^ 8X  g   Q h\        \"        ) ^,          4      ^ 8X  g   Q h\        R^
^I,          ,          ^,           \"        ,          ^,          4      ^ 8X  g   Q h\        ^^
^g,          ,          ^,           \"        ,          ^,          4      ^ 8X  g   Q h\        RRRR7      p\        RRR7      p\        \"        V,          ^,          4      ^ 8X  g   Q h\        \"        V,          ^,          4      RV^,          ,          8X  g   Q h\        \"        4      R8X  g   Q h\        \"        ) 4      R8X  g   Q h\        ^\"        ,          4      ^8X  g   Q h\        ^\"        ,          4      R8X  g   Q h\        ^\"        ,          4      ^8X  g   Q h\        \"        ^,          4      \&        P(                  8X  g   Q h\        \"        \+        R^4      ,          4      \+        R^4      8X  g   Q h\        \"        ^,          4      \&        P(                  \        ^4      ,          8X  g   Q h\        \"        ) ^,          4      \&        P(                  \        ^4      ,          8X  g   Q h\        \"        \+        ^^4      ,          4      \+        R^4      \        ^4      ,          8X  g   Q h\        \"        \+        R^4      ,          4      \+        R^4      \        ^4      ,          8X  g   Q h\        \"        ^,          4      \&        P(                  \        ^4      ,          8X  g   Q h\        \"        ) ^,          4      \&        P(                  \        ^4      ,          8X  g   Q h\        \"        \+        ^^4      ,          4      \+        R^4      \        ^4      ,          8X  g   Q h\        \"        \+        R^4      ,          4      \+        R^4      \        ^4      ,          8X  g   Q h\        \"        \+        ^^4      ,          4      \        ^4      ^,           ^,          8X  g   Q h\        \"        \+        ^^4      ,          4      \        ^4      ^,
          ^,          8X  g   Q h\        \"        \+        ^^4      ,          4      \        \"        \+        ^^4      ,          4      ) 8X  g   Q h\        \"        \+        ^^4      ,          4      \        \"        \+        ^^4      ,          4      ) 8X  g   Q h\        \"        \+        ^^4      ,          4      \        \"        \+        ^^4      ,          4      ) 8X  g   Q h\        \"        \+        ^^4      ,          4      \        \"        \+        ^^4      ,          4      8X  g   Q h\        \"        \+        R^4      ,          4      \        \"        \+        ^^4      ,          4      ) 8X  g   Q h\        \"        ^,          4      \        ^\        ^4      ,           ^,          4      8X  g   Q h\        \"        ^,          4      \        ^4      ^,          \        ^4      ^,          ,           8X  g   Q h\        \"        \+        ^^4      ,          4      \        ^4      ) ^,          \        ^4      ^,          ,           8X  g   Q h\        \"        \+        ^^4      ,          4      \        ^4      ^,          \        ^4      ^,          ,
          8X  g   Q h\        \"        \+        ^^4      ,          4      \        ^4      ) ^,          \        ^4      ^,          ,
          8X  g   Q h\        \"        \+        ^h^i4      ,          4      \        \"        ^i,          4      ) 8X  g   Q h\        \"        \+        ^j^i4      ,          4      \        \"        ^i,          4      ) 8X  g   Q h\        \"        \+        R^i4      ,          4      \        \"        ^i,          4      ) 8X  g   Q h\        \"        \+        R^i4      ,          4      \        \"        ^i,          4      ) 8X  g   Q h\        V \        ,          4      \%        V 4      8X  g   Q h\        \,        \"        ,          \        ,          4      \%        \,        \"        ,          4      8X  g   Q h\        \.        4      P0                  RJ g   Q h\        ^ RR7      P2                  '       g   Q h\        \4        4      P2                  e   Q h\        \6        4      P2                  RJ g   Q h\9        R	RR
7      p\        \"        V,          4      P2                  '       g   Q h\        \"        \+        ^^4      ,          4      P2                  '       g   Q h\        \,        \"        ,          4      R\,        ,          8X  g   Q h\        ^\,        ,          \"        ,          4      ^8X  g   Q h\        ^ RR7      P:                  RJ g   Q h\        \+        ^^4      4      P:                  RJ g   Q h\        \        RRR7      RR7      P:                  e   Q h\=        \?        ^^4      4      ^<^U.,            Fv  p\?        ^V,          ^,           4       FV  pV\"        ,          V,          p \A        \C        \        V 4      4      \        \C        V 4      4      ,
          4      pVR8  d   KV  Q h	  Kx  	  R# )rd   rP   TFri   rk   rl   rm   Nro   rp   rs   rt   ru   rv   rw   rx   r{   r|   )"r   r*   r}   r;   r   r   r   r   r   r#   r(   r"   r'   r$   r%   r&   r)   r   r   r   r   r   r   rH   r   r   r`   rb   r   r   r   r   r   r   )r   r   rP   rk   ro   r   s         r   test_cosr   .  s	   5>DA99	!$$$s8s??r7k"a((((r7SWB 2222r!t9??s1u:s8s??q6Q;;tAw<1tAw<1tA1H~----tAw<4AqD>)))tAw<1tAAqDL11111tAw<4A1H----tAw<1q5   uQ{q41q!t#44444r!t9R   s1u:b!!!r!t9Qr!t9>>s1u:??r!t9>>s1u:??2r6	Ar!!#$)))"c'	Ar!!#$)))T.A$Ar!tAv;!r!tAv;21+%%%r7b==s8r>>qt9>>qt9??qt9>>r!t9r(2q/!"hr1o555r!t9tAw&&&s1u:Q'''r(2q/!"hr1od1g&====r(2q/!"hr1od1g&====r!t9tAw&&&s1u:Q'''r(1a. !Xb!_T!W%<<<<r(2q/!"hr1od1g&====r(1a. !d1gk1_444r(1a. !d1gk1_444r(1a. !c"Xa^*;&<%<<<<r(1a. !c"Xa^*;&<%<<<<r(1a. !c"Xa^*;&<%<<<<r(1a. !SHQN):%;;;;r(5!$$%#b!Q.?*@)@@@@r!t9a$q'k1_----r"u:aT!WQY....r(1b/!"tAwhqj4719&<<<<r(1b/!"d1gai$q'!)&;;;;r(2r""#QxzDGAI'====r(3$$%#bf+555r(3$$%#bf+555r(4%%&3r#v;,666r(4%%&3r#v;,666qs8tAwqtAv;$qt*$$$q6>>T!!!q5!.....q6&&&r75(((sT"Ar!t9!!!!!r(1a. !.....qt9aqs2v;!q5!))U222x1~&&%/// tB'%8@@HHH%2,2r(**qsQwA"QAU3q6]Sq]24Au99   +r   c                  Z   \        R R4      p \        \        \        \        3 F  pV! V \
        ,          4      V! \
        ^,          4      8X  g   Q hV! R\
        ,          4      V! \
        ^,          4      8X  g   Q hV! R\
        ,          4      V! R\
        ,          4      8X  d   K  Q h	  R# )z!123456789012345678901234567890.25 g     @g@Nghfffff?)r
   r.   r*   r0   r+   r   )cclss     r   test_issue_6190r     s}    126AS#s#1R4yC1I%%%58}BqD	)))3r6{c7B,//// $r   c                  Z   \        \        4      P                  \        ^ ^	4      ^\        ^,          ^,          ,
          \        ^,          ^,          ,           \        ^,          R,          ,
          \        ^,          R,          ,           \        \        ^	,          4      ,           8X  g   Q hR# )r     i  N)r*   r   r9   r8   r   r   r   test_cos_seriesr     sh    q6==Aq!	AqDF
QT"Wq!tCx'!Q$u*4qAw>? ? ?r   c                     \        \        4      P                  \        4      \        \        \        ,          4      ^,          \        \        ) \        ,          4      ^,          ,           8X  g   Q h\        \        4      P                  \
        4      ^\        \        ^,          4      ^,          ,
          ^\        \        ^,          4      ^,          ,           ,          8X  g   Q h\        \        4      P                  \        4      \        ^\        \        \        4      ^ 4      \        \        \        ^\        ,          4      ^ 4      ,          3\        \        ^,          4      ^,          ^,
          \        \        ^,          4      ^,          ^,           ,          R34      8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \!        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \!        ^4      4      P                  4       8X  g   Q h\        \#        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \#        ^4      4      P                  4       8X  g   Q h\        \%        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \%        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P                  \        4      P                  \        ^4      P                  4       \        \        4      P                  \        4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \'        \        4      4      P                  \(        4      \        \        ,          ^,          \        \        ) ,          ^,          ,           8X  g   Q h\        \        4      P                  \*        4      ^\+        \        4      ,          8X  g   Q h\        \        4      P                  \$        4      \%        \        \        ^,          ,           RR7      8X  g   Q h\        \        4      P                  \,        4      ^\-        \        ) \        ^,          ,           RR7      ,          8X  g   Q h\        \%        \        4      4      P                  \(        4      \        \%        \        4      4      8X  g   Q h\        \        4      P                  \.        4      \        \1        \        \        ,          ^,          4      \/        \2        P4                  ) \        4      ,          \7        \        ^ 4      3R4      8X  g   Q h\        \        4      P                  \.        4      P                  \        ^ 4      \        ^ 4      8X  g   Q hR# )r   TFrm   Nr   T)r*   r   r   r   r   r0   r+   rC   rB   r   r   r   r    r   rP   r   r!   r   r.   r   r   r-   r,   r1   r"   r   r   rA   r   r   r   test_cos_rewriter     s   q6>>##ac(1*sA2a4y{"::::q6>>#1s1Q3x{?QQqS1_"EEEEq6>>#1bAlRAqta%889!HaK!Oc!A#hkAo6=	?? ? ? tAw<T!QZs1v~~c27747CEEGH H HtAw<T!QZs1v~~c27747CEEGH H HtAw<T!QZs1v~~c27747CEEGH H HtAw<T!QZs1v~~c27747CEEGH H Hs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;T!QZs1v~~c2773q6BDDFG G Gs1v;s#q!tAvA2a'7777q6>>#!CF(***q6>>##a"Q$h"????q6>>#!CRT	E$B"BBBBs1v;s#s3q6{222q6>>'"ibd1fgqvvgq112a8<'    q6>>'"''1-Q777r   c            	         \        \        \        ,           4      P                  R R7      \        \        4      \        \        4      ,          \	        \        4      \	        \        4      ,          ,
          8X  g   Q h\        \        \        ,
          4      P                  R R7      \        \        4      \        \        4      ,          \	        \        4      \	        \        4      ,          ,           8X  g   Q h\        \        \        ,
          4      P                  R R7      \        \        4      \        \        4      ,          \	        \        4      \	        \        4      ,          ,           8X  g   Q h\        ^\        ,          4      P                  R R7      ^\        \        4      ^,          ,          ^,
          8X  g   Q h\        ^\        ,          4      P                  R R7      ^\        \        4      ^,          ,          ^\        \        4      ,          ,
          8X  g   Q h\        ^\        ,          4      P                  R R7      ^\        \        4      ^,          ,          ^\        \        4      ^,          ,          ,
          ^,           8X  g   Q h\        ^\
        ,          ^,          4      P                  R R7      \        ^\
        ,          ^,          RR7      8X  g   Q h\        \        \
        ^,          ,           4      P                  R R7      \        \
        ^,          4      \        \        4      ,          \	        \
        ^,          4      \	        \        4      ,          ,
          8X  g   Q h\        \         ^^\        ^4      ^,          ,          ^,
          4       \        \         ^^\        ^4      ^,          ,          ^\        ^4      ,          ,
          4       R# )Tr   Frm   N)r*   r   r   r   r.   r   r   r   r   r   test_cos_expansionr     s;   q1u:$'3q6#a&=3q6#a&=+HHHHq1u:$'3q6#a&=3q6#a&=+HHHHq1u:$'3q6#a&=3q6#a&=+HHHHqs8???%3q619q888qs8???%3q619qQx)????qs8???%3q619qQ{)BQ)FFFFqtBw<D)S2b5-IIIIqBw<D)SBZA->RUCPQFAR-RRRRa3q619q)a3q619qQx/0r   c                     \        \        \        ) \        4      4      \        R^4      8X  g   Q h\        \        ^ \        4      4      \        R^4      8X  g   Q h\        \        \        ) ^ 4      4      \        R^4      8X  g   Q h\        \        ^ ^\        P                  ,          4      4      \        R^4      8X  g   Q h\        \        \        P                  ) ^,          \        P                  ^,          4      4      \        \        \        P                  ) ^,          4      ^4      8X  g   Q h\        \        \        P                  \        ^^4      ,          \        P                  \        ^^4      ,          4      4      \        R\        \        P                  \        ^^4      ,          4      4      8X  g   Q h\        \        \        P                  \        ^^4      ,          \        P                  \        ^^4      ,          4      4      \        \        \        P                  \        ^^4      ,          4      \        \        P                  \        ^^4      ,          4      4      8X  g   Q h\        \        \        P                  ^,          \        P                  ^,          4      4      \        \        \        P                  ^,          4      \        \        P                  ^,          4      4      8X  g   Q hR# r   )r*   r   r   r   r   r   r   r   r   test_cos_AccumBoundsr     s   {B3#$B(::::{1b!"k"a&8888{B3"#{2q'9999{1af%&+b!*<<<<{ADD57ADDF+,CaL!0LLLL{144A.Xa^0CDEUWY\]^]a]abjklnobp]pYqIrrrr{144A.Xa^0CDEUXYZY]Y]^fghjk^lYlUmorstswsw  yA  BC  EF  yG  tG  pH  JI  I  I  I{14461446*+{3qttAv;ADDQRF/TTTTr   c                      \        \        4      P                  4       \        \        4      ) 8X  g   Q h\	        \
        R  4       R# )c                  >    \        \        4      P                  ^4      # r   )r*   r   r   r   r   r   r    test_cos_fdiff.<locals>.<lambda>  r   r   N)r*   r   r   r.   rG   r?   r   r   r   test_cos_fdiffr     s,    q6<<>c!fW$$$
67r   c                  B!   \        \        4      \        J g   Q h\        \        4      \        J g   Q h\        \        4      \	        \        ) \        4      8X  g   Q h\        \        4      \        \        4      ,
          \	        \        ) \        4      8X  g   Q h\         P
                  \        ^4      8X  g   Q h\        \        \        ,          4      \        8X  g   Q h\        \        ) \        ,          4      \        ) 8X  g   Q h\        ^ 4      ^ 8X  g   Q h\        \        \        4      4      \        8X  g   Q h\        \        \        4      4      \        \        ^\        ^,          ,
          4      ,          8X  g   Q h\        \        \        4      4      \        ^\        ^,          ,
          4      \        ,          8X  g   Q h\        \        \        4      4      ^\        ,          8X  g   Q h\        \        \        4      4      ^\        ^^\        ^,          ,          ,
          4      \        ,          ,          8X  g   Q h\        \        \        4      4      \        ^^\        ^,          ,          ,
          4      \        ,          8X  g   Q h\        \!        \"        \        4      4      \"        \        ,          8X  g   Q h\        \$        \        ,          4      \'        \$        4      \        ,          8X  g   Q h\        \$        ) \        ,          4      \'        \$        4      ) \        ,          8X  g   Q h\        R\        ,          4      \'        ^4      ) \        ,          8X  g   Q h\        \$        4      ^ 8X  g   Q h\        \$        ) 4      ^ 8X  g   Q h\        ^\$        ,          4      ^ 8X  g   Q h\        R\$        ,          4      ^ 8X  g   Q h\        R^
^I,          ,          \$        ,          4      ^ 8X  g   Q h\        \$        ^,          4      \        J g   Q h\        \$        \)        ^^4      ,          4      \        J g   Q h\        \$        ^,          4      \        ^4      8X  g   Q h\        \$        \)        R^4      ,          4      \        ^4      8X  g   Q h\        \$        ^,          4      \*        P,                  J g   Q h\        \$        ) ^,          4      \*        P.                  J g   Q h\        \$        \)        ^^4      ,          4      \*        P,                  J g   Q h\        \$        \)        R^4      ,          4      \*        P,                  J g   Q h\        \$        ^,          4      \        ^^\        ^4      ,          ,
          4      8X  g   Q h\        \$        \)        ^^4      ,          4      \        ^^\        ^4      ,          ,           4      8X  g   Q h\        \$        \)        ^^4      ,          4      \        ^^\        ^4      ,          ,           4      ) 8X  g   Q h\        \$        \)        R^4      ,          4      \        ^^\        ^4      ,          ,
          4      ) 8X  g   Q h\        \$        ^,          4      ^\        ^4      ,          8X  g   Q h\        \$        ) ^,          4      R\        ^4      ,          8X  g   Q h\        \$        \)        ^^4      ,          4      ^\        ^4      ,          8X  g   Q h\        \$        \)        R	^4      ,          4      ^\        ^4      ,          8X  g   Q h\        \$        ^,          4      R\        ^4      ,           8X  g   Q h\        \$        \)        ^^4      ,          4      ^\        ^4      ,           8X  g   Q h\        \$        \)        ^^4      ,          4      R\        ^4      ,
          8X  g   Q h\        \$        \)        ^^4      ,          4      ^\        ^4      ,
          8X  g   Q h\        \$        ^
,          4      \        ^^\        ^4      ,          ^,          ,
          4      8X  g   Q h\        \$        \)        ^^
4      ,          4      \        ^^\        ^4      ,          ^,          ,           4      8X  g   Q h\        \$        \)        ^^
4      ,          4      \        ^^\        ^4      ,          ^,          ,           4      ) 8X  g   Q h\        \$        \)        R
^
4      ,          4      \        ^^\        ^4      ,          ^,          ,
          4      ) 8X  g   Q h\        \$        ^,          4      \        ^4      ) ^,           8X  g   Q h\        \$        \)        ^^4      ,          4      \        ^4      ^,           8X  g   Q h\        \$        \)        ^^4      ,          4      \        ^4      ) ^,
          8X  g   Q h\        \$        \)        ^^4      ,          4      \        ^4      ^,
          8X  g   Q h\        \$        ^,          4      P1                  4       R\        ^4      ,
          \        ^4      ,           \        ^4      ,           8X  g   Q h\        \$        \)        ^^4      ,          4      P1                  4       R\        ^4      ,           \        ^4      ,
          \        ^4      ,           8X  g   Q h\        \$        \)        ^^4      ,          4      P1                  4       ^\        ^4      ,
          \        ^4      ,
          \        ^4      ,           8X  g   Q h\        \$        \)        ^^4      ,          4      P1                  4       ^\        ^4      ,           \        ^4      ,           \        ^4      ,           8X  g   Q h\        \$        \)        ^^4      ,          4      P1                  4       R\        ^4      ,
          \        ^4      ,
          \        ^4      ,
          8X  g   Q h\        \$        \)        ^^4      ,          4      P1                  4       R\        ^4      ,           \        ^4      ,           \        ^4      ,
          8X  g   Q h\        \$        \)        ^^4      ,          4      P1                  4       ^\        ^4      ,
          \        ^4      ,           \        ^4      ,
          8X  g   Q h\        \$        \)        ^^4      ,          4      P1                  4       ^\        ^4      ,           \        ^4      ,
          \        ^4      ,
          8X  g   Q h\        \        \        ,          4      \'        \        4      \        ,          8X  g   Q h\        \2        \$        ,          4      ^ 8X  g   Q h\        ^\2        ,          \$        ,          4      ^ 8X  g   Q h\        \2        \$        ,          \        ,          4      \'        \2        \$        ,          4      \        ,          8X  g   Q h\        \4        4      P6                  e   Q h\        \4        4      P8                  RJ g   Q h\        ^ RR7      P:                  '       g   Q h\        \<        4      P:                  e   Q h\        \>        4      P:                  RJ g   Q h\        \$        \)        ^
^4      ,          4      \        \$        \)        ^^4      ,          4      8X  g   Q h\        \$        \)        ^^4      ,          4      \        \$        \)        ^^4      ,          4      ) 8X  g   Q h\        \$        \)        R^4      ,          4      \        \$        \)        ^^4      ,          4      8X  g   Q h\        \$        \)        ^^4      ,          4      \        \$        ^,          4      8X  g   Q h\        \$        \)        R^4      ,          4      \        \$        ^,          4      ) 8X  g   Q h\        \4        4      P@                  e   Q h\        \        \4        ,          4      P@                  RJ g   Q h\        \$        \        \+        ^4      ^,          ,           ,          4      ^\        ,          ,          p V PC                  \        4      R^\$        ,          \        ^,          ,          ,          8X  g   Q hR# )r   NTFrm   ru   rv   rt   rw   irz   )"r0   r   r   r   r   r}   r;   r   r(   r   r'   r"   r#   r$   r%   r&   r)   r   r   r!   r   r   OneNegativeOneradsimpr   rH   r   is_extended_realr   r`   rb   	is_finiteas_leading_termr   s    r   test_tanr     s
   s8s??s8s??r7k2#r****r7SWRC 444499	!$$$r!t9>>s1u:!q6Q;;tAw<1tAw<1tA1H~----tAw<4AqD>A----tAw<1q5   tAw<1QQT\ 2Q 67777tAw<4A1H-1111uQ{qs"""r!t9R
"""s1u:$r(1$$$r!t9a
"""r7a<<s8q==qt9>>r"u:??r"b&y|!!!r!t9r(1a. !S(((r!t9Qr(2q/!"d1g---r!t9s1u:&&&r(2q/!"aee+++r(2q/!"aee+++r!t9Q47]++++r(1a. !T!aQi-%8888r(2q/!"tA$q'	M':&::::r(3""#Q47](;';;;;r!t9$q'	!!!s1u:DG###r(1a. !QtAwY...r(2q/!"aQi///r!t9T!W$$$r(1a. !Qa[000r(1a. !R$q'\111r(1a. !Qa[000r"u:a!DG)A+o....r(1b/!"d1qay{?&;;;;r(2r""#Q471_(='====r(3##$a!DG)A+o)>(>>>>r"u:$q'A%%%r(1b/!"d1gk111r(1b/!"tAwhl222r(2r""#tAw{222r"u:2Q<$q'#9DG#CCCCr(1b/!"**,T!WtAw0Fa0PPPPr(1b/!"**,DGd1g0EQ0OOOOr(2r""#++-T!WtAw1Fa1PPPPr(2r""#++-d1gQ1G$q'1QQQQr(2r""#++-d1gQ1G$q'1QQQQr(2r""#++-T!WtAw1Fa1PPPPr(2r""#++-T!WtAw1Fa1PPPPqs8tAwqy   qt9>>r!tBw<1qtAv;$qt*Q,&&&q6>>!!!q6""d***q5!.....q6&&&r75(((r(2q/!"c"Xa^*;&<<<<r(2q/!"s2hq!n+<'=&====r(3""#s2hq!n+<'====r(2r""#s2b5z111r(3##$RU333q6###qs8%%% 	BAaDF
Oac"AQ2qtAqDy>111r   c                  L   \        \        4      P                  \        ^ ^	4      \        \        ^,          ^,          ,           ^\        ^,          ,          ^,          ,           ^\        ^,          ,          R,          ,           \        \        ^	,          4      ,           8X  g   Q hR# )r   i;  N)r0   r   r9   r8   r   r   r   test_tan_seriesr   K  sc    q6==Aq!	AqDF
Qq!tVBYAqD,qAw67 7 7r   c                     \        \        ) \        ,          4      \        \        \        ,          4      r\        \        4      P	                  \         4      \        W,
          ,          W,           ,          8X  g   Q h\        \        4      P	                  \
        4      ^\        \        4      ^,          ,          \        ^\        ,          4      ,          8X  g   Q h\        \        4      P	                  \        4      \        \        \        P                  ^,          ,
          RR7      \        \        4      ,          8X  g   Q h\        \        4      P	                  \        4      ^\        \        4      ,          8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \        \        4      4      P	                  \         4      P                  \        ^4      P                  4       \        \        4      P	                  \         4      P                  \        \        ^4      4      P                  4       8X  g   Q h\        \!        \        4      4      P	                  \"        4      \        \        \        ) ,          \        \        ,          ,
          ,          \        \        ) ,          \        \        ,          ,           ,          8X  g   Q h\        \        4      P	                  \$        4      \%        \        4      \%        \        \&        ^,          ,
          RR7      ,          8X  g   Q h\        \        4      P	                  \(        4      \)        \        ) \&        ^,          ,           RR7      \)        \        4      ,          8X  g   Q h\        \        \        4      4      P	                  \"        4      \        \        \        4      4      8X  g   Q h\        \&        \+        ^^4      ,          RR7      P	                  \,        4      \-        \-        ^4      ^,          \+        ^^4      ,           4      \+        R^4      \-        ^4      ^,          ,           ,          8X  g   Q h\        \        4      P	                  \.        4      \/        \        P0                  \        4      \/        \        P0                  ) \        4      ,          8X  g   Q h\        \        4      P	                  \.        4      P                  \        ^ 4      \        ^ 4      8X  g   Q hR# r   Frm   Nrt   )r   r   r   r0   r   r.   r*   r   r   r+   r    r   rP   r   r!   r   r   r   r-   r   r,   r   r"   r1   r   )neg_exppos_exps     r   test_tan_rewriter   P  s   A2a4y#ac(Wq6>>#!W%6"79J"KKKKq6>>#!CFAI+c!A#h"6666q6>>##a!$$q&j5"A#a&"HHHHq6>>#!CF(***tAw<$))!Q/113s1v~~c7J7O7OPQSWXYSZ7[7]7]7____tAw<$))!Q/113s1v~~c7J7O7OPQSWXYSZ7[7]7]7____tAw<$))!Q/113s1v~~c7J7O7OPQSWXYSZ7[7]7]7____tAw<$))!Q/113s1v~~c7J7O7OPQSWXYSZ7[7]7]7____s1v;s#((A.002c!fnnS6I6N6NqRUVWRX6Y6[6[6]]]]s1v;s#((A.002c!fnnS6I6N6NqRUVWRX6Y6[6[6]]]]s1v;s#((A.002c!fnnS6I6N6NqRUVWRX6Y6[6[6]]]]s1v;s#((A.002c!fnnS6I6N6NqRUVWRX6Y6[6[6]]]]s1v;s#q!aR%!Q$,'7QBA'FFFFq6>>##a&QAX)F"FFFFq6>>##qb2a4i%"@Q"GGGGs1v;s#s3q6{222r(1a. 5199$?4QPQ	1~I D (Q$q'!) ;D= = = =q6>>'"gaffa&8!&&!9L&LLLLq6>>'"''1-Q777r   c                     ^ \        \        ^",          4      \        \        ^",          4      ,          \        \        ^",          4      ,
          P	                  \
        4      8X  g   Q h^ \        \        ^,          4      \        \        ^,          4      ,          \        \        ^,          4      ,
          P	                  \
        4      8X  g   Q h\        \        ^,          4      P	                  \
        4      \        \        ^,          4      8X  g   Q h\        \        \        ^^4      ,          4      P	                  \        4      \        \        \        ^^4      ,          4      8X  g   Q h\        \        \        ^^4      ,          RR7      P	                  \        4      \        \        ^4      ^,          \        ^^4      ,           4      \        R^4      \        ^4      ^,          ,           ,          8X  g   Q hR# )r   Frm   Nrt   )r*   r   r0   r.   r   powr   r"   r   r   r   test_tan_rewrite_slowr   h  sG   RUC2J&RU3<<SAAAARUC2J&RU3<<SAAAAr"u:c"c"R%j000r(1b/!"**40C8Ar?8J4KKKKr(1a. 5199$?4QPQ	1~I D (Q$q'!) ;D= = = =r   c                     \        \        4      P                  \        \        4      \        4      \        8X  g   Q h\        \        4      P                  \        \        4      \        \        4      8X  g   Q h\        \        4      P                  \        \        P
                  ^,          4      \        J g   Q h\        \        4      P                  \        \        P
                  \        ^^4      ,          4      \        J g   Q hR# r   )r0   r   r   r   r   r   r   r   r   r   r   test_tan_subsr   r  s    q6;;s1vq!Q&&&q6;;q!A&&&q6;;q!$$q&!S(((q6;;q!$$x1~-.#555r   c            
         \        \        \        ,           4      P                  R R7      \        \        4      \        \        4      ,           ^\        \        4      \        \        4      ,          ,
          ,          P                  4       8X  g   Q h\        \        \        ,
          4      P                  R R7      \        \        4      \        \        4      ,
          ^\        \        4      \        \        4      ,          ,           ,          P                  4       8X  g   Q h\        \        \        ,           \        ,           4      P                  R R7      \        \        4      \        \        4      ,           \        \        4      ,           \        \        4      \        \        4      ,          \        \        4      ,          ,
          ^\        \        4      \        \        4      ,          ,
          \        \        4      \        \        4      ,          ,
          \        \        4      \        \        4      ,          ,
          ,          P                  4       8X  g   Q h^ \        ^\        ,          4      P                  R R7      P                  \         4      P                  \        \        4      \        ^^4      3.4      ^,          ^,
          8X  g   Q h^ \        ^\        ,          4      P                  R R7      P                  \         4      P                  \        \        4      \        ^^4      3.4      ^7,          ^%,
          8X  g   Q h^ \        ^\        ,          \        ^,          ,
          4      P                  R R7      P                  \         4      P                  \        \        4      \        ^^4      3.4      ^,          ^,
          8X  g   Q h\        \         ^^\        ^4      ,          ^\        ^4      ^,          ,
          ,          4       \        \         ^\        ^4      ^,          ) ^\        ^4      ,          ,           ^^\        ^4      ^,          ,          ,
          ,          4       R# )Tr   N)
r0   r   r   r   re   r   r   r   r   r   r   r   r   test_tan_expansionr   y  s   q1u:$'SVc!f_q3q6#a&=?P,Q+Y+Y+[[[[q1u:$'SVc!f_q3q6#a&=?P,Q+Y+Y+[[[[q1uqy>  d +	Q#a&3q6	!CF3q6M#a&$8	8	
SVCF]	SVCF]	*SVCF]	:	<=CVXF F F AaCT*2237<<s1vxPQST~>V=WXY[[^_____AaCT*2237<<s1vxPQST~>V=WXY[[^`````AaC"Q$J&&D&199#>CCc!fhWXZ[nE]D^_`ccfggggga3q61s1vqy=12a3q619*qQx/!aA	k/BCr   c            
      T   \        \        \        ) \        4      4      \        \        ) \        4      8X  g   Q h\        \        \        P                  ^,          \        P                  \        ^^4      ,          4      4      \        \        ) \        4      8X  g   Q h\        \        \        P                  ^,          \        P                  ^,          4      4      \        \        \        P                  ^,          4      \        \        P                  ^,          4      4      8X  g   Q hR# r   N)r0   r   r   r   r   r   r   r   r   test_tan_AccumBoundsr     s    {B3#$RC(<<<<{1446144A#678KR<PPPP{14461446*+{3qttAv;ADDQRF/TTTTr   c                      \        \        4      P                  4       \        \        4      ^,          ^,           8X  g   Q h\        \        R 4       R# )r   c                  >    \        \        4      P                  ^4      # r   )r0   r   r   r   r   r   r    test_tan_fdiff.<locals>.<lambda>  r   r   N)r0   r   r   rG   r?   r   r   r   test_tan_fdiffr     s2    q6<<>SVQY]***
67r   c                     \        \        4      \        J g   Q h\         P                  \        ^4      8X  g   Q h\        \        \
        ,          4      \
        ) 8X  g   Q h\        \        ) \
        ,          4      \
        8X  g   Q h\        \        4      \        J g   Q h\        ^ 4      \        J g   Q h\        ^\        ,          4      \        J g   Q h\        \        \        4      4      \        8X  g   Q h\        \        \        4      4      ^\        ,          8X  g   Q h\        \        \        4      4      \        ^\        ^,          ,
          4      \        ,          8X  g   Q h\        \        \        4      4      \        \        ^\        ^,          ,
          4      ,          8X  g   Q h\        \        \        4      4      \        ^^\        ^,          ,          ,
          4      \        ,          8X  g   Q h\        \        \        4      4      ^\        ^^\        ^,          ,          ,
          4      \        ,          ,          8X  g   Q h\        \!        \"        \        4      4      \        \"        ,          8X  g   Q h\        \        \
        ,          4      \%        \        4      ) \
        ,          8X  g   Q h\        \        ) \
        ,          4      \%        \        4      \
        ,          8X  g   Q h\        R\
        ,          4      \%        ^4      \
        ,          8X  g   Q h\        \        4      \        ^\        ,          4      u;8X  d   \        ^\        ,          4      8X  g   Q h Q h\        \        ) 4      \        R\        ,          4      u;8X  d   \        R\        ,          4      8X  g   Q h Q h\        \        ^,          4      ^ 8X  g   Q h\        \        ) ^,          4      ^ 8X  g   Q h\        \        \'        ^^4      ,          4      ^ 8X  g   Q h\        \        \'        ^^4      ,          4      ^ 8X  g   Q h\        \        ^,          4      ^\        ^4      ,          8X  g   Q h\        \        \'        R^4      ,          4      ^\        ^4      ,          8X  g   Q h\        \        ^,          4      \(        P*                  J g   Q h\        \        ) ^,          4      \(        P,                  J g   Q h\        \        \'        ^^4      ,          4      \(        P*                  J g   Q h\        \        \'        R^4      ,          4      \(        P*                  J g   Q h\        \        ^,          4      \        ^4      8X  g   Q h\        \        ) ^,          4      \        ^4      ) 8X  g   Q h\        \        \'        ^^4      ,          4      \        ^4      8X  g   Q h\        \        \'        R^4      ,          4      \        ^4      8X  g   Q h\        \        ^,          4      ^\        ^4      ,           8X  g   Q h\        \        \'        ^^4      ,          4      R	\        ^4      ,           8X  g   Q h\        \        \'        ^^4      ,          4      ^\        ^4      ,
          8X  g   Q h\        \        \'        ^^4      ,          4      R	\        ^4      ,
          8X  g   Q h\        \        ^,          4      \        ^4      ^,           8X  g   Q h\        \        \'        ^^4      ,          4      \        ^4      ) ^,           8X  g   Q h\        \        \'        ^^4      ,          4      \        ^4      ^,
          8X  g   Q h\        \        \'        ^^4      ,          4      \        ^4      ) ^,
          8X  g   Q h\        \        ^,          4      P/                  4       \        ^4      \        ^4      ,           ^,           \        ^4      ,           8X  g   Q h\        \        \'        ^^4      ,          4      P/                  4       \        ^4      ) \        ^4      ,
          ^,           \        ^4      ,           8X  g   Q h\        \        \'        ^^4      ,          4      P/                  4       \        ^4      ) \        ^4      ,           ^,
          \        ^4      ,           8X  g   Q h\        \        \'        ^^4      ,          4      P/                  4       \        ^4      \        ^4      ,
          ^,
          \        ^4      ,           8X  g   Q h\        \        \'        ^^4      ,          4      P/                  4       \        ^4      ) \        ^4      ,           ^,           \        ^4      ,
          8X  g   Q h\        \        \'        ^^4      ,          4      P/                  4       \        ^4      \        ^4      ,
          ^,           \        ^4      ,
          8X  g   Q h\        \        \'        ^^4      ,          4      P/                  4       \        ^4      \        ^4      ,           ^,
          \        ^4      ,
          8X  g   Q h\        \        \'        ^^4      ,          4      P/                  4       \        ^4      ) \        ^4      ,
          ^,
          \        ^4      ,
          8X  g   Q h\        \        \
        ,          4      \%        \        4      ) \
        ,          8X  g   Q h\        \0        \        ,          \
        ,          4      \%        \0        \        ,          4      ) \
        ,          8X  g   Q h\        \2        4      P4                  e   Q h\        \2        4      P6                  RJ g   Q h\        \8        4      P:                  e   Q h\        \<        4      P:                  RJ g   Q h\        \        \'        ^
^4      ,          4      \        \        \'        ^^4      ,          4      8X  g   Q h\        \        \'        ^^4      ,          4      \        \        \'        ^^4      ,          4      ) 8X  g   Q h\        \        \'        R
^4      ,          4      \        \        \'        ^^4      ,          4      8X  g   Q h\        \        \'        ^'^"4      ,          4      \        \        \'        ^^"4      ,          4      8X  g   Q h\        \        \'        R^"4      ,          4      \        \        \'        ^^"4      ,          4      ) 8X  g   Q h\        \        4      P>                  e   Q h\        \2        4      P>                  e   Q h\A        RRR7      p \        V 4      P>                  RJ g   Q h\        \        4      PC                  \        ^\        ,          4      \        J g   Q h\        \        \        ^,           ,          4      ^\        ,          ,          pVPE                  \        4      ^^\        ,          \        ^,          ,          ,          8X  g   Q hR# )r   NTFr   rf   ru   rv   rw   rt   rz   i)#r+   r   r}   r;   r   r   r   r   r$   r   r(   r'   r"   r#   r%   r&   r)   r   r   r   r   r   r   r   r   rH   r   r   r`   r   rb   r   r   r   r   )r   r   s     r   test_cotr     s]	   s8s??99	!$$$r!t9??s1u:??s8s??q6S==qt9tAw<1tAw<1q5   tAw<4AqD>A----tAw<1tA1H~----tAw<4A1H-1111tAw<1QQT\ 2Q 67777uQ{qs"""r!t9b	!###s1u:b!###r!t9Q	!!!r7c!B$i,3qt9,,,,,s8s2b5z/SBZ/////r!t9>>s1u:??r(1a. !Q&&&r(1a. !Q&&&r!t9$q'	!!!r(2q/!"aQi///r!t9s1u:&&&r(2q/!"aee+++r(2q/!"aee+++r!t9Qs1u:$q'!!!r(1a. !T!W,,,r(2q/!"d1g---r!t9DG###r(1a. !R$q'\111r(1a. !Qa[000r(1a. !R$q'\111r"u:a1$$$r(1b/!"tAwhl222r(1b/!"d1gk111r(2r""#Qx!|333r"u:47T!W#4q#847#BBBBr(1b/!"**,a470BQ0Fa0PPPPr(1b/!"**,a470BQ0Fa0PPPPr(2r""#++-a471BQ1Fa1PPPPr(2r""#++-$q'DG1Ca1G$q'1QQQQr(2r""#++-a471BQ1Fa1PPPPr(2r""#++-a471BQ1Fa1PPPPr(2r""#++-$q'DG1Ca1G$q'1QQQQqs8Qxz!!!qtAv;4":+a-'''q6>>!!!q6""d***q6&&&r75(((r(2q/!"c"Xa^*;&<<<<r(2q/!"s2hq!n+<'=&====r(3""#s2hq!n+<'====r(2r""#s2hq"o+='>>>>r(3##$RB-?)@(@@@@q6###q6###sd#Aq6t###q6;;q!B$3&&& 	BAJ1AQ1ad1a4i=000r   c            
      B   \        \        \        \        ^^4      ,          4      \	        \        \        ^^4      ,          4      ,          \        \        \        ^^4      ,          4      ,          ^,
          P                  4       4      R8  g   Q h\        \        \        \        ^^4      ,          4      \        \        \        ^^4      ,          4      ,          \	        \        \        ^^4      ,          4      ,          ^,
          P                  4       4      R8  g   Q hR# )   g+=N)r   r0   r   r   r*   r.   evalfr+   r   r   r   test_tan_cot_sin_cos_evalfr    s    Bx2&'Bx2,>(??BxPQSUDV@WWZ[[bbdehmmmmBx2&'Bx2,>(??BxPQSUDV@WWZ[[bbdehmmmmr   c            	         ^\        \        \        ^^4      ,          4      \        \        \        ^^4      ,          4      ,          \	        \        \        ^^4      ,          4      ,          P                  4       8X  g   Q h^\        \        \        ^^4      ,          4      \	        \        \        ^^4      ,          4      ,          \        \        \        ^^4      ,          4      ,          P                  4       8X  g   Q hR# r   N)r0   r   r   r*   r.   ratsimpr+   r   r   r   test_tan_cot_sin_cos_ratsimpr    s    RB'(RB-?)@@RQRTVEWAXXaaccccRB'(RB-?)@@RQRTVEWAXXaaccccr   c                  &   \        \        4      P                  \        ^ ^	4      ^\        ,          \        ^,          ,
          \        ^,          ^-,          ,
          ^\        ^,          ,          R,          ,
          \        ^,          R,          ,
          \        \        ^	,          4      ,           8X  g   Q h\        \        ^,          \        ^,          ,           4      P                  \        ^ ^4      \        R,          ^\        ^,          ,          ,
          \        R,          ,           ^\        ,          ,
          ^,           \        \        4      ,           8X  g   Q h\        \        ^\        ,
          ,          4      P                  \        ^ ^4      R\        \        ,          ,          \        \        ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        4      P                  ^ \        4      ^\        ,          8X  g   Q h\        \        4      P                  ^\        4      \        P                  J g   Q h\        \        4      P                  ^\        4      \        ^,          ) ^-,          8X  g   Q hR# )r   i  iu  Nr   ru   rt   )r+   r   r9   r8   r   taylor_termr   r~   r   r   r   test_cot_seriesr	    s   q6==Aq!	!ac	AqDGa1fSj(1a494qAw>? ? ? q!tad{""1a+	B!AqD&1r7"QqS(1,qt34 4 4r1Q3x=1a(B1I1Q,>1a4,HHHHq6a#qs***q6a#qvv---q6a#1uRx///r   c            	      D	   \        \        ) \        ,          4      \        \        \        ,          4      r\        \        4      P	                  \         4      \        W,           ,          W,
          ,          8X  g   Q h\        \        4      P	                  \
        4      \        ^\        ,          4      ^\        \        4      ^,          ,          ,          8X  g   Q h\        \        4      P	                  \        4      \        \        4      \        \        \        ^,          ,
          RR7      ,          8X  g   Q h\        \        4      P	                  \        4      ^\        \        4      ,          8X  g   Q hR pV! \        4       V! \        4       V! \        4       V! \        4       V! \
        4       V! \        4       V! \        4       \        \        \        4      4      P	                  \        4      \        ) \        \        ) ,          \        \        ,          ,           ,          \        \        ) ,          \        \        ,          ,
          ,          8X  g   Q h\        \        4      P	                  \        4      \        \        \        ^,          ,
          RR7      \        \        4      ,          8X  g   Q h\        \        4      P	                  \         4      \!        \        4      \!        \        ) \        ^,          ,           RR7      ,          8X  g   Q h\        \        \        4      4      P	                  \        4      \        \        \        4      4      8X  g   Q h\        \        \#        ^^4      ,          RR7      P	                  \$        4      \#        R^4      \%        ^4      ^,          ,           \%        \%        ^4      ^,          \#        ^^4      ,           4      ,          8X  g   Q h\        \        4      P	                  \&        4      \'        \(        P*                  ) \        4      \'        \(        P*                  \        4      ,          8X  g   Q h\        \        4      P	                  \&        4      P-                  \        ^ 4      \        ^ 4      8X  g   Q hR# )r   Frm   c                 4   \        V ! \        4      4      P                  \        4      \        \        4      P                  \        4      P	                  \        V ! \        4      4      ,
          pVP                  \        4      P                  4       ^ 8X  g   Q hR# r   N)r+   r   r   r   r   r   )r   re   s   & r   checktest_cot_rewrite.<locals>.check  s\    QL  %As(;(@(@DG(LLyy~$$&!+++r   Nrt   )r   r   r   r+   r   r.   r*   r   r0   r    r   r!   r   r   r   r-   r,   r   r"   r1   r   r   r   )r   r   r  s      r   test_cot_rewriter    s   A2a4y#ac(Wq6>>#!W%6"79J"KKKKq6>>##ac(As1vqyM"::::q6>>##a&QAX)F"FFFFq6>>#!CF(***, 
$K	$K	$K	$K	#J	#J	#Js1v;s#r1qb51a4<'8!aR%!Q$,'GGGGq6>>##a"q&j5"ACF"JJJJq6>>##a&3sR!V|e+L"LLLLs1v;s#s3q6{222r(1a. 5199$?HRQROVZ[\V]^_V_D_8<T!WQYRSUV=W8XDY Y Y Yq6>>'"gqvvgq&9'!&&!:L&LLLLq6>>'"''1-Q777r   c            	         \        \        \        ^^"4      ,          4      P                  \        4      P                  4       \        \        \        ^^"4      ,          4      \        \        \        ^^"4      ,          4      ,          P                  \        4      P                  4       8X  g   Q h\        \        \        ^^4      ,          4      P                  \        4      \        \        \        ^^4      ,          4      \        \        \        ^^4      ,          4      ,          P                  \        4      8X  g   Q h\        \        ^,          4      P                  \        4      \        \        ^,          4      8X  g   Q h\        \        ^,          4      P                  \        4      \        \        ^,          4      8X  g   Q h\        \        \        ^^4      ,          RR7      P                  \        4      \        R^4      \        ^4      ^,          ,           \        \        ^4      ^,          \        ^^4      ,           4      ,          8X  g   Q hR# )r   Frm   Nrt   )	r+   r   r   r   r   r  r*   r.   r"   r   r   r   test_cot_rewrite_slowr    s   r(1b/!"**3/779	RB	 RB%7!8	8AA#FNNPQ Q Qr(1b/!"**3/	RB	 RB%7!8	8AA#FG G Gr"u:c"c"R%j000r"u:d#s2b5z111r(1a. 5199$?	"a4719	$T!WQY!Q-G(HHI I Ir   c                     \        \        4      P                  \        \        4      \        4      \        8X  g   Q h\        \        4      P                  \        \        4      \        \        4      8X  g   Q h\        \        4      P                  \        ^ 4      \        J g   Q h\        \        4      P                  \        \
        P                  4      \        J g   Q hR# r  )r+   r   r   r   r   r   r   r   r   r   test_cot_subsr  (  s    q6;;s1vq!Q&&&q6;;q!A&&&q6;;q!###q6;;q!$$3&&&r   c            
         \        \        \        ,           4      P                  R R7      P	                  4       \        \        4      \        \        4      ,          ^,
          \        \        4      \        \        4      ,           ,          8X  g   Q h\        \        \        ,
          4      P                  R R7      P	                  4       \        \        4      \        \        ) 4      ,          ^,
          \        \        4      \        \        ) 4      ,           ,          8X  g   Q h\        \        \        ,           \
        ,           4      P                  R R7      P	                  4       \        \        4      \        \        4      ,          \        \
        4      ,          \        \        4      ,
          \        \        4      ,
          \        \
        4      ,
          R\        \        4      \        \        4      ,          ,           \        \        4      \        \
        4      ,          ,           \        \        4      \        \
        4      ,          ,           ,          8X  g   Q h\        ^\        ,          4      P                  R R7      P	                  4       \        \        4      ^,          ^,
          \        \        4      ,          ^\        \        4      ^,          ,          ^,
          ,          8X  g   Q h\        ^\        ,          4      P                  R R7      \        \        4      ^,          ^^\        \        4      ,          ,          ,
          8X  g   Q h\        ^\        ,          4      P                  R R7      P	                  4       \        \        4      ^,          ^,
          \        \        4      ,          ^\        \        4      ^,          ,          ^,
          ,          8X  g   Q h\        ^\        ,          \        ^,          ,
          4      P                  R R7      P                  4       \        \        4      ^,          ) ^\        \        4      ^,          ,          ,           ^\        \        4      ^,          ,          ,           ^\        \        4      ,          ,
          ^,
          \        \        4      ^,          ^\        \        4      ^,          ,          ,           ^\        \        4      ^,          ,          ,
          ^\        \        4      ,          ,
          ^,           ,          8X  g   Q h\        \         ^R\        ^4      ^,          ,           ^\        ^4      ,          ,          4       \        \         ^R\        ^4      ,          \        ^4      ^,          ,           R^\        ^4      ^,          ,          ,           ,          4       R# )Tr   Nrt   rv   )
r+   r   r   r   togetherre   r   r5   r0   r   r   r   r   test_cot_expansionr  /  so   q1u:$'002	QA	SVc!f_-/ / /q1u:$'002AsA2wSVc1"g-7/ / / /q1uqy>  d +446	QAs1v	A	&Q	/#a&	8	c!fSVm	c!fSVm	+c!fSVm	;	=> > > qs8???%..0	QQA#a&!)a02 2 2qs8???%QAqQxL)@@@@qs8???%..0A	As1v5 Q{Q50 0 0 0qsRTz?!!t!,335	Q
Qs1vqy[ 1SVQY;.3q69A=q619qQ{"Qs1vqy[01SV8;a?:A A A A a"s1vqy.1SV845a"SV)c!fai/"qQ{2BCDr   c                  B   \        \        \        ) \        4      4      \        \        ) \        4      8X  g   Q h\        \        \        P                  ) ^,          \        P                  ^,          4      4      \        \        ) \        4      8X  g   Q h\        \        \        P                  ^,          \        P                  ^,          4      4      \        \        \        P                  ^,          4      \        \        P                  ^,          4      4      8X  g   Q hR# r   )r+   r   r   r   r   r   r   r   test_cot_AccumBoundsr  C  s    {B3#$RC(<<<<{ADD57ADDF+,RC0DDDD{14461446*+{3qttAv;ADDQRF/TTTTr   c                      \        \        4      P                  4       \        \        4      ^,          ) ^,
          8X  g   Q h\        \        R 4       R# )r   c                  >    \        \        4      P                  ^4      # r   )r+   r   r   r   r   r   r    test_cot_fdiff.<locals>.<lambda>K  r   r   N)r+   r   r   rG   r?   r   r   r   test_cot_fdiffr  I  s4    q6<<>c!faiZ!^+++
67r   c                     \        \        \        4      \        4      '       g   Q h\        R RR7      p \        V 4      \        P
                  J g   Q h\        \        P                  4      \        P                  J g   Q h\        \        P                  4      \        P                  J g   Q h\        \        P                  4      \        P                  J g   Q h\        \        P                  4      \        P                  J g   Q h\        RRRR7      p\        V\        ,          4      \        P                  J g   Q h\        V) \        ,          4      \        P                  J g   Q h\        \        ^,          4      ^\        ,          8X  g   Q h\        \        ) ^,          4      ^\        ,          8X  g   Q h\        \        \        ^^4      ,          4      ^^\        ,          ,          8X  g   Q h\        \        \        ^^4      ,          4      R
^\        ,          ,          8X  g   Q h\        \        ) 4      \        \        4      8X  g   Q h\        \        4      P                  \        4      \        \        4      \        ,          \        \        4      \        ^,          ,          ,
          8X  g   Q h\        \        4      P                  \        4      \        \        4      \        ,          P                  \        4      8X  g   Q h\        \        4      P                  \        \        4      \        \        4      ) ^\        \        4      ,          \        ,          ,
          ^\        \        4      ,          \        ^,          ,          ,           \        ,          8X  g   Q h\        \        4      P                  \        \        4      \        \        4      \        ,          P                  \        \        4      8X  g   Q h\!        \        \        4      P                  \        4      \        ^ 4      ^ 8X  g   Q h\!        \        \        4      P                  \        \        4      \        ^ 4      \	        ^4      ) ^,          8X  g   Q h\        \        4      P#                  4       ^\        ^,          ^,          ,
          \        ^,          ^x,          ,           \%        \        ^,          4      ,           8X  g   Q h\        \        4      P'                  \(        4      \)        ^ \        4      8X  g   Q h\        \        4      P'                  \        4      \+        \        \        4      \        ,          \-        \        ^ 4      3R4      8X  g   Q h\        \        RR7      P.                  RJ g   Q h\        ^ RR7      P.                  RJ g   Q h\        V\        ,          RR7      P.                  RJ g   Q h\        \        4      P.                  e   Q h\        RRRR	7      p\        \        4      P0                  e   Q h\        V4      P0                  RJ g   Q h\        \2        V,          4      P0                  RJ g   Q h\        \2        ^d,          4      P0                  RJ g   Q h\        \        4      P4                  e   Q h\        V4      P4                  RJ g   Q hR# )sTzerorP   )rL   rW   Frm   Nxr)rJ   rW   ru   r   )r   r/   r   r   r   r   Infinityr~   NegativeInfinityNaNComplexInfinityr   r   r   r*   r.   r7   r9   r8   r   r2   rC   rA   r   r   r   r   )r  rP   r!  s      r   	test_sincr&  N  sW   d1gt$$$$sA7aee

qvv%%%""#qvv---;!%%!!"aee+++sD$/A":2;!&&   1:RA;!b&   8Aq>!"a1R4j0008Aq>!"bAbDk1118tAw7<<?c!fQhQ144447<<?s1vaxooa00007<<13q6'Ac!fHQJ"63q6!Q$"F!IIII7<<1#a&(A!6666aa!Q'1,,,aa#Q*qteAg555 7>>q1a46zAqDH4qAw>>>>7??2"Q(***7??39c!fQh1a-A9#MMMMU#++t333E"**e333"u%--5557??"""	4	.B7??"""8t###":%%%#;$&&&7$$$8%%%r   c                  `   \        \        4      \        J g   Q h\         P                  \        ^4      8X  g   Q h\        \        4      \
        ) \        ,          8X  g   Q h\        \        ) 4      \
        \        ,          8X  g   Q h\        \        4      \        J g   Q h\        ^ 4      ^ 8X  g   Q h\        ^4      \        ^,          8X  g   Q h\        R4      \        ) ^,          8X  g   Q h\        \        ^4      ^,          4      \        ^,          8X  g   Q h\        \        ^4      ) ^,          4      \        ) ^,          8X  g   Q h\        \        ^4      ^,          4      \        ^,          8X  g   Q h\        \        ^4      ) ^,          4      \        ) ^,          8X  g   Q h\        \        ^\        ^4      ,
          ^,          4      4      \        ^,          8X  g   Q h\        \        ^\        ^4      ,
          ^,          4      ) 4      \        ) ^,          8X  g   Q h\        \        P                  4      \        ^,          8X  g   Q h\        \        R^4      4      \        ) ^,          8X  g   Q h\        \        ^\        ^4      ,
          4      ^,          4      \        ^,          8X  g   Q h\        \        ^\        ^4      ,
          4      ) ^,          4      \        ) ^,          8X  g   Q h\        \        ^4      ^,
          ^,          4      \        ^
,          8X  g   Q h\        \        ^4      ^,
          ) ^,          4      \        ) ^
,          8X  g   Q h\        \        ^4      ^,
          \        ^4      ,          4      \        ^,          8X  g   Q h\        \        ^4      ^,
          ) \        ^4      ,          4      \        ) ^,          8X  g   Q hR F}  p \        V ^,          ) V ^,          ^,           4       FT  p\        W4      ^8X  g   K  \        \        V\        ,          V ,          4      4      V\        ,          V ,          8X  d   KT  Q h	  K  	  \        \        4      P!                  \        4      ^\        ^\        ^,          ,
          4      ,          8X  g   Q h\        RRR7      P"                  RJ g   Q h\        R4      P"                  RJ g   Q h\        \$        4      P"                  e   Q h\        R\
        ,          4      \
        ) \'        ^4      ,          8X  g   Q h\        \        ^^4      RR7      P(                  RJ g   Q h\        \        R^4      RR7      P(                  RJ g   Q h\        \*        4      P(                  e   Q h\        \        \        ^^4      4      4      \        R	^4      \        ,           8X  g   Q h\        \        \        R	^4      4      4      \        ^^4      \        ,
          8X  g   Q h\-        \         \/        \        4      4      '       g   Q hR# )
r   皙?Frm   TNrt   r   r   r   r   r   ru   ry   )r'   r   r}   r;   r   r   r   r   r"   r   r   r   r   r6   r.   r   r   r   rH   r   is_positiverM   r>   r*   )r   rP   s     r   	test_asinr+    sb   9::1%%%8r"u9"9 7a<<7bd??8s1uQ	?bd"""a
s1u$$$Q	?bd"""a
s1u$$$a$q'k1_%&"Q$...q47{Ao&&'B3q5000<2a4Q RCE)))a$q'k"A%&"Q$...$q47{#$Q&'B3q5000a1a BrE)))$q'A+q !bSV+++a1d4j()RU222$q'A+tDz)*rc"f444 Aw1q)A1yA~C"QK(AbDF222 * 
 7<<?aQAX....e$,,4448u$$$7??"""1:!E!H$$$A/;;tCCCQ%0<<EEE7&&&HQN#$Q"(<<<<HRO$%!Q")<<<<T3q6""""r   c                  `   \        \        4      P                  \        ^ ^	4      \        \        ^,          ^,          ,           ^\        ^,          ,          ^(,          ,           ^\        ^,          ,          ^p,          ,           \        \        ^	,          4      ,           8X  g   Q h\        \        4      P	                  ^\        4      p V ^\        ^,          ,          ^(,          8X  g   Q h\        \        4      P	                  ^\        V ^ 4      ^\        ^,          ,          ^p,          8X  g   Q hR# r  )r'   r   r9   r8   r  t5s    r   test_asin_seriesr/    s    7>>!Q"	AqDF
Qq!tVBY1a4+a1g56 6 6	a		Q	"B1a4??7q!R+qAvcz999r   c            	         \        \        4      P                  \        4      \        8X  g   Q h\        \        ^,           4      P                  \        4      \        ^,          8X  g   Q h\        \        ^,
          4      P                  \        4      \        ) ^,          8X  g   Q h\        ^\        ,          4      P                  \        ^R7      \        \        \        4      ,          \        ^,          ,           \        \        ^4      ,          ,
          8X  g   Q h\        ^\        ,          4      P                  \        RR7      \        ) \        \        4      ,          ^\        ,          ^,          ,
          \        \        ^4      ,          ,           8X  g   Q h\        \        \        ,          ^,           4      P                  \        ^R7      \        \        ^4      ,
          8X  g   Q h\        \        ) \        ,          ^,           4      P                  \        ^R7      \        ^4      8X  g   Q h\        \        \        ,          ^,
          4      P                  \        ^R7      \        ^4      ) 8X  g   Q h\        \        ) \        ,          ^,
          4      P                  \        ^R7      \        ) \        ^4      ,           8X  g   Q h\        \        ) \        ^,          ,          \        ,           ^,
          4      P                  \        ^R7      \        ) ^,          \        \        ^\        ^4      ,
          4      ,          ,           8X  g   Q h\        \        ) \        ^,          ,          \        ,           ^,
          4      P                  \        RR7      \        ) ^,          \        \        ^\        ^4      ,
          4      ,          ,           8X  g   Q hR# r   cdirNrt   )r'   r   r   r   r   r   r"   r   r   r   test_asin_leading_termr4    sj   7""1%***A;&&q)RT111A;&&q)bSU222!9$$QQ$/1SV8bd?Qs1vX3MMMM!9$$QR$0QBs1vI"Q4F3q64QQQQ!a=(((3rDG|CCC1q>))!!)4Q???!a=(((3Qx???1q>))!!)4d1gEEE1a4!a 000;s1uqQQUVWQX[IYGY?YYYY1a4!a 000<A#aRVWXRYkJZHZ@ZZZZr   c                  <   \        \        4      P                  \        4      \        ) \        \        \        ,          \        ^\        ^,          ,
          4      ,           4      ,          8X  g   Q h\        \        4      P                  \        4      ^\        \        ^\        ^\        ^,          ,
          4      ,           ,          4      ,          8X  g   Q h\        \        4      P                  \        4      \        P                  ^,          \        \        4      ,
          8X  g   Q h\        \        4      P                  \        4      ^\        \        \        ^,          ) ^,           4      ^,           \        ,          4      ,          8X  g   Q h\        \        4      P                  \        4      \        ^\        ,          4      ) \        ^,          ,           8X  g   Q h\        \        4      P                  \        4      \        ^\        ,          4      8X  g   Q hR# r  )r'   r   r   r   r   r"   r(   r#   r   r   r$   r&   r   r%   r   r   r   test_asin_rewriter6    s3   7??3A2c!A#QAX*>&?#????7??4 Ad1a$q1a4x..@+A&B$BBBB7??4 ADDFT!W$44447??4 AdD!Q$Oa,?+B&C$CCCC7??4 T!A#YJA$55557??4 D1I---r   c                      \        \        4      P                  4       ^\        ^\        ^,          ,
          4      ,          8X  g   Q h\	        \
        R 4       R# )r   c                  >    \        \        4      P                  ^4      # r   )r'   r   r   r   r   r   r   !test_asin_fdiff.<locals>.<lambda>      tAw}}Q'7r   N)r'   r   r   r"   rG   r?   r   r   r   test_asin_fdiffr;    s7    7==?aQAX....
78r   c            
      l   \        \        4      \        J g   Q h\        \        4      \        J g   Q h\         P                  \	        ^4      8X  g   Q h\        \
        4      \        \
        ,          8X  g   Q h\        \
        ) 4      \        ) \
        ,          8X  g   Q h\        ^ 4      \        ^,          8X  g   Q h\        \        P                  4      \        ^,          8X  g   Q h\        \        R^4      4      \        \        ^^4      ,          8X  g   Q h\        ^4      ^ 8X  g   Q h\        R4      \        8X  g   Q h\        \        ^4      ^,          4      \        ^,          8X  g   Q h\        \        ^4      ) ^,          4      \        \        ^^4      ,          8X  g   Q h\        ^^4       EF|  p \        V 4       EFh  p\        W4      ^8X  g   K  \        \        V\        ,          V ,          4      4      V\        ,          V ,          8X  g   Q h\        \        V\        ,          V ,          4      ) 4      \        V\        ,          V ,          ,
          8X  g   Q h\        \        V\        ,          V ,          4      4      \        ^,          \!        \        V\        ,          V ,          4      4      ,
          8X  g   Q h\        \        V\        ,          V ,          4      ) 4      \        ^,          \!        \        V\        ,          V ,          4      ) 4      ,
          8X  d   EKi  Q h	  EK  	  \        ^\        ,          4      \        ^,          \!        ^\        ,          4      ,
          8X  g   Q h\        \"        4      P%                  \"        4      R\        ^\"        ^,          ,
          4      ,          8X  g   Q h\        R4      P&                  RJ g   Q h\        R4      P&                  RJ g   Q h\        \(        4      P&                  e   Q h\        \        ^^4      RR7      P*                  RJ g   Q h\        \        R^4      RR7      P*                  RJ g   Q h\        \        ^^4      RR7      P*                  RJ g   Q h\        \,        4      P*                  e   Q h\        ^\,        ,           4      P/                  4       \        ^
\,        ,           4      8w  g   Q h\        R\0        ,           4      P/                  4       \        R\0        ,           4      8w  g   Q h\        \        ^^4      4      P/                  4       \        \        ^^4      4      8X  g   Q h\        \        R^4      4      P/                  4       \        \        R^4      4      8X  g   Q h\        \,        \0        \        ,          ,           4      P/                  4       \        \,        \0        \        ,          ,
          4      8X  g   Q h\        \2        4      P/                  4       \        \/        \2        4      4      8w  g   Q hR# )	r   r(  TFNrm   rt   ru   rv   )r#   r   r   r}   r;   r   r   r   r   r   r   r"   r   r6   r*   r.   r'   r   r   r   rH   r*  rM   r   rP   re   )r   nums     r   	test_acosr>    s(   99::1%%%8qt92 7bd??<2a4Q Bx1~$55557a<<8r>>Q	?bd"""a
r(1a.0000 1b\8C3{aCBqM*c"fQh666SR]N+rCF1H}<<<CBqM*bdT#c"fQh-5H.HHHHSR]N+r!tdCBqM>6J/JJJJ   !91tAaCy((((7<<?ba!Q$h////9$$$8u$$$7??"""A/;;tCCCQ%0<<DDDA/;;uDDD7&&&A;  "d26l222Q<!!#tBF|333A))+tHQN/CCCCQ **,Xb!_0EEEEAaC=""$Q1W5557$y|"4444r   c                     \        \        4      P                  \        4      \        ^,          8X  g   Q h\        \        ^,           4      P                  \        4      \	        ^4      \	        \        ) 4      ,          8X  g   Q h\        \        ^,
          4      P                  \        4      \        8X  g   Q h\        ^\        ,          4      P                  \        ^R7      \
        ) \        \        4      ,          \
        \        ^4      ,          ,           8X  g   Q h\        ^\        ,          4      P                  \        RR7      \
        \        \        4      ,          ^\        ,          ,           \
        \        ^4      ,          ,
          8X  g   Q h\        \
        \        ,          ^,           4      P                  \        ^R7      \        ^4      ) 8X  g   Q h\        \
        ) \        ,          ^,           4      P                  \        ^R7      \        ^4      8X  g   Q h\        \
        \        ,          ^,
          4      P                  \        ^R7      \        R4      8X  g   Q h\        \
        ) \        ,          ^,
          4      P                  \        ^R7      ^\        ,          \        R4      ,
          8X  g   Q h\        \
        ) \        ^,          ,          \        ,           ^,
          4      P                  \        ^R7      \        \
        \        \	        ^4      ^,           4      ,          ,           8X  g   Q h\        \
        ) \        ^,          ,          \        ,           ^,
          4      P                  \        RR7      \        \
        \        \	        ^4      ^,           4      ,          ,           8X  g   Q hR# )r   r2  Nrt   ru   )r#   r   r   r   r"   r   r   r   r   r   test_acos_leading_termr@  	  sU   7""1%A---A;&&q)T!WT1"X-====A;&&q)R///!9$$QQ$/A2c!f9qQx3GGGG!9$$QR$0Ac!fHqtOaAh4NNNN!a=(((3Qx???1q>))!!)4Q???!a=(((3tBx???1q>))!!)4"tBxGGG1a4!a 000;rAc$q'TU+FVDV?VVVV1a4!a 000<Qs4PQ7UV;GWEW@WWWWr   c                     \        \        4      P                  \        ^ ^4      \        ^,          \        ,
          \        ^,          ^,          ,
          ^\        ^,          ,          ^(,          ,
          ^\        ^,          ,          ^p,          ,
          \	        \        ^,          4      ,           8X  g   Q h\        \        4      P                  \        ^ ^4      \        ^,          \        \        4      P                  \        ^ ^4      ,
          8X  g   Q h\        \        4      P                  ^\        4      p V R\        ^,          ,          ^(,          8X  g   Q h\        \        4      P                  ^\        V ^ 4      R\        ^,          ,          ^p,          8X  g   Q h\        \        4      P                  ^ \        4      \        ^,          8X  g   Q h\        \        4      P                  ^\        4      \        P                  J g   Q hR# )r   Nrv   rw   )	r#   r   r9   r   r8   r'   r  r   r~   r-  s    r   test_acos_seriesrB    sJ   7>>!Q"
1q1a46AadF2I%!Q$s
2Qq!tW<= = =7>>!Q"bdT!W^^Aq!-D&DDDD	a		Q	"BAqD7q!R+r!Q$ws{:::7q!$1,,,7q!$...r   c                     \        \        4      P                  \        4      \        ^,          \
        \        \
        \        ,          \        ^\        ^,          ,
          4      ,           4      ,          ,           8X  g   Q h\        \        4      P                  \        4      \        \        ) \        \        R,          4      ,          ^,           ,          ^,          \        \        ^\        ^,          ,
          4      \        ,          4      ,           8X  g   Q h\        ^ 4      P                  \        4      \        P                  ^,          8X  g   Q h\        R4      P                  \        4      \        R4      P                  \        4      8X  g   Q h\        \        4      P                  \        4      \        P                  ^,          \        \        4      ,
          8X  g   Q h\        \        4      P                  \        4      R\        \        \        ^,          ) ^,           4      ^,           \        ,          4      ,          \        ^,          ,           8X  g   Q h\        \        4      P                  \        4      \        ^\        ,          4      8X  g   Q h\        \        4      P                  \        4      \        ^\        ,          4      ) \        ^,          ,           8X  g   Q hR# )r         ?Nru   )r#   r   r   r   r   r   r"   r(   r   r   r'   r$   r&   r%   r   r   r   test_acos_rewriterE  %  s   7??32a4!C!d1q!t8n0D,E*E#EEEE7??4 B4B=(81(<$=a$?$tAPQSTPTH~VWGWBX$XXXX7??4 ADDF***9T"d3i&7&7&<<<<7??4 ADDFT!W$44447??4 BtT1a4%!)_q-@!,C'D$Dr!t$KKKK7??4 D1I---7??4 T!A#YJA$5555r   c                      \        \        4      P                  4       R\        ^\        ^,          ,
          4      ,          8X  g   Q h\	        \
        R 4       R# )r   c                  >    \        \        4      P                  ^4      # r   )r#   r   r   r   r   r   r   !test_acos_fdiff.<locals>.<lambda>2  r:  r   Nrt   )r#   r   r   r"   rG   r?   r   r   r   test_acos_fdiffrI  0  s7    7==?ba!Q$h////
78r   c                     \        \        4      \        J g   Q h\         P                  \        ^4      8X  g   Q h\        \        4      \
        ^,          8X  g   Q h\        \        ) 4      \
        ) ^,          8X  g   Q h\        \        4      \        \
        ) ^,          \
        ^,          4      8X  g   Q h\        ^ 4      ^ 8X  g   Q h\        ^4      \
        ^,          8X  g   Q h\        \        ^4      4      \
        ^,          8X  g   Q h\        ^\        ^4      ,           ) 4      \
        \        R^4      ,          8X  g   Q h\        \        ^^\        ^4      ,          ,
          4      4      \
        ^,          8X  g   Q h\        \        ^^\        ^4      ,          ^,          ,
          4      ) 4      \
        ) ^
,          8X  g   Q h\        \        ^^\        ^4      ,          ^,          ,           4      4      \
        \        ^^
4      ,          8X  g   Q h\        R\        ^4      ,           4      \
        ) ^,          8X  g   Q h\        ^\        ^4      ,           4      \
        \        ^^4      ,          8X  g   Q h\        R\        ^4      ,
          4      \
        \        R^4      ,          8X  g   Q hR F}  p \        V ^,          ) V ^,          ^,           4       FT  p\        W4      ^8X  g   K  \        \        V\
        ,          V ,          4      4      V\
        ,          V ,          8X  d   KT  Q h	  K  	  \        \        4      \
        ^,          8X  g   Q h\        \        4      P                  \        4      ^^\        ^,          ,           ,          8X  g   Q h\        \        4      P                   RJ g   Q h\        R\"        ,          4      \"        ) \%        ^4      ,          8X  g   Q h\'        \         \)        \        4      4      '       g   Q h\        \)        \        ^^4      4      4      \        R^4      \
        ^,          ,           8X  g   Q h\+        \        ^^4      4      P,                  RJ g   Q h\        \.        \0        \2        \4        \6        \8        \:        \<        \>        \@        3 EFP  pVP                   '       g   VPB                  f   VPD                  \        V4      PD                  J g   Q hVPF                  \        V4      PF                  J g   Q hVPH                  \        V4      PH                  J g   Q hVPJ                  \        V4      PJ                  J g   Q hVPL                  \        V4      PL                  J g   Q hMVPN                  \        V4      PD                  J g   Q hVPP                  \        V4      PF                  J g   Q hVPR                  \        V4      PH                  J g   Q hVPT                  \        V4      PJ                  J g   Q hVPV                  \        V4      PL                  J g   Q hVPN                  \        V4      PN                  J g   Q hVPP                  \        V4      PP                  J g   Q hVPR                  \        V4      PR                  J g   Q hVPT                  \        V4      PT                  J g   Q hVPV                  \        V4      PV                  J d   EKQ  Q h	  R# )	r   TFNrv   ru   rw   r)  rt   ),r(   r   r}   r;   r   r   r   r   r"   r   r   r6   r0   r   r   rH   r   r   r   r>   r+   r$   r   rM   rP   npnnrV   rX   rZ   enpennr^   r   
is_nonzeror*  is_negativeis_nonpositiveis_nonnegativeis_extended_nonzerois_extended_positiveis_extended_negativeis_extended_nonpositiveis_extended_nonnegative)r   r=  r  s      r   	test_atanrX  5  s   9::1%%%8r!t9A9RCE2a400007a<<7bd??Q=BqD   !d1g+2hr1o#5555QT!W_%&"Q$...a!d1g+q.())*rc"f444QT!Wq()*b!R.@@@@T!W"R'''DG8Ar? 2222T!WHR$4!4444 1a4!Q$(+C3{aCBqM*c"fQh666 , 
 8r!t7<<?aQTl***7??d"""1:!E!H$$$T3q6""""HQN#$Q"Q$(>>>>A++u444Ar2r2r3S9999**2<<47#5#5555==DG$7$7777==DG$7$7777##tAw'='====##tAw'='====((DG,>,>>>>))T!W-@-@@@@))T!W-@-@@@@,,Q0F0FFFF,,Q0F0FFFF$$Q(C(CCCC%%a)E)EEEE%%a)E)EEEE((DG,K,KKKK((DG,K,KKKK# :r   c            	      0   \        \        4      P                  \        4      \        \        ^\        \        ,          ,
          4      \        ^\        \        ,          ,           4      ,
          ,          ^,          8X  g   Q h\        \        4      P                  \
        4      \        ^\        \        ^,          ^,           4      ,          4      ) \        ^,          ,           \        \        ^,          4      ,          \        ,          8X  g   Q h\        \        4      P                  \        4      \        \        ^,          4      \        ^\        \        ^,          ^,           4      ,          4      ,          \        ,          8X  g   Q h\        \        4      P                  \        4      \        ^\        ,          4      8X  g   Q h\        \        4      P                  \        4      \        \        ^,          4      \        \        \        ^,          ^,           4      4      ,          \        ,          8X  g   Q h\        \        4      P                  \        4      \        \        \        ^,          ^,           4      4      ) \        ^,          ,           \        \        ^,          4      ,          \        ,          8X  g   Q h\        R\        ,          4      P                  4       \        \        4      P                  \        4      P                  \        R\        ,          /R7      8X  g   Q h\        ^\        ,          4      P                  4       \        \        4      P                  \        4      P                  \        ^\        ,          /R7      8X  g   Q hR# )r   r   Nrw   )r(   r   r   r   r   r'   r"   r   r#   r$   r&   r%   r  r   r   r   test_atan_rewriter[  l  s   7??31c!ac'l3q1Q3w<&?#@#BBBB7??4 d1T!Q$(^+;&<%<r!t%CT!Q$Z$OPQ$QQQQ7??4 DAJtAd1a4!8n4D/E$Ea$GGGG7??4 D1I---7??4 DAJtDAN/C$CA$EEEE7??4 d41q>&:%:RT%A41:$Ma$OOOO1:a!5!;!;!BqD!;!JJJJ!9??Q 4 : :1Q3 : HHHHr   c                      \        \        4      P                  4       ^\        ^,          ^,           ,          8X  g   Q h\        \        R 4       R# )r   c                  >    \        \        4      P                  ^4      # r   )r(   r   r   r   r   r   r   !test_atan_fdiff.<locals>.<lambda>z  r:  r   N)r(   r   r   rG   r?   r   r   r   test_atan_fdiffr_  x  s2    7==?aAl***
78r   c                  
   \        \        4      P                  \        4      \        8X  g   Q h\        ^\        ,          4      P                  \        ^R7      \        ^,          8X  g   Q h\        ^\        ,          4      P                  \        RR7      \        ) ^,          8X  g   Q h\        \        \        ,           4      P                  \        ^R7      \        ) \        \        4      ,          ^,          \        ^,          ,           \        \        ^4      ,          ^,          ,           8X  g   Q h\        \        \        ,           4      P                  \        RR7      \        ) \        \        4      ,          ^,          ^\        ,          ^,          ,
          \        \        ^4      ,          ^,          ,           8X  g   Q h\        \        \        ,
          4      P                  \        ^R7      \        \        \        4      ,          ^,          \        ^,          ,           \        \        ^4      ,          ^,          ,
          8X  g   Q h\        \        \        ,
          4      P                  \        RR7      \        \        \        4      ,          ^,          \        ^,          ,           \        \        ^4      ,          ^,          ,
          8X  g   Q h\        \        ^\        ,          ,           4      P                  \        ^R7      \        \        ^4      ,          8X  g   Q h\        \        ^\        ,          ,           4      P                  \        RR7      \        ) \        \        ^4      ,          ,           8X  g   Q h\        \        ^\        ,          ,
          4      P                  \        ^R7      \        \        \        ^4      ,          ,
          8X  g   Q h\        \        ^\        ,          ,
          4      P                  \        RR7      \        ) \        ^4      ,          8X  g   Q h\        ^\        ,          \        \        ,          ,
          \        ^,          ,
          4      P                  \        ^R7      \        ) ^,          \        \        ^4      ,          ^,          ,           8X  g   Q h\        ^\        ,          \        \        ,          ,
          \        ^,          ,
          4      P                  \        RR7      \        ) ^,          \        \        ^4      ,          ^,          ,           8X  g   Q hR# r1  )r(   r   r   r   r   r   r   r   r   r   test_atan_leading_termra  }  s)   7""1%***!9$$QQ$/2a4777!9$$QR$0RCE999A;&&qq&1aRAYq[2a45G!CPQF(ST*5TTTTA;&&qr&2qbQikAbDF6JQsSTvXVWZ6WWWWA;&&qq&1Qs1vXaZ"Q$5F3q6RS5SSSSA;&&qr&2aAhqj2a46G!CPQF(ST*6TTTTAaC=(((3qqzAAAAaC=(((4aaj8HHHHAaC=(((3rAeAhJFFFAaC=(((458CCC!ac	AqD !11!!1<A#a&QR
@RRRR!ac	AqD !11!"1="Q3q6RSASSSSr   c                  (  a	a
 \         P                  \        ^4      8X  g   Q h\        ^ ^ 4      \        P                  J g   Q h\        ^ ^4      ^ 8X  g   Q h\        ^^4      \
        ^,          8X  g   Q h\        ^^ 4      \
        ^,          8X  g   Q h\        ^R4      \
        \        ^^4      ,          8X  g   Q h\        ^ R4      \
        8X  g   Q h\        RR4      \
        \        R^4      ,          8X  g   Q h\        R^ 4      \
        ) ^,          8X  g   Q h\        R^4      \
        ) ^,          8X  g   Q h\        RRR7      p \        RRR7      p\        W4      p\        ) \        V \        V,          ,           \        V ^,          V^,          ,           4      ,          4      ,          pV^3V \        33pVP                  V4      VP                  V4      8X  g   Q h\        RRR7      o	\        RRR7      o
\        S
S	4      \        S
S	,          4      \
        ,
          8X  g   Q h\        RRR	7      o
\        S
S	4      \        S
S	,          4      \
        ,           8X  g   Q h\        R4      o
\        S
S	4      \        S
S	R
R7      8X  g   Q h\        RRR7      p\        ^ V4      ^ 8X  g   Q h\        RRR7      p\        ^ V4      \
        8X  g   Q h\        S
\        4      ^ 8X  g   Q h\        S
\        ) 4      ^\
        ,          \        \!        S
4      \        P"                  4      ,          \
        ,
          8X  g   Q h\        S
S	4      P%                  \        4      \        ) \        S	\        S
,          ,           \        S	^,          S
^,          ,           4      ,          4      ,          8X  g   Q h\        ^ ^ 4      \        P                  J g   Q h\        S
S	4      \'        S	\        S
,          ,           4      ,
          pVP                  S	^S
^/4      P%                  \&        4      ^ 8X  g   Q hVP                  S	^S
^\        ,          /4      P%                  \&        4      \
        ) \        \        \        ^4      \        ,          ^,          4      ,          ,
          8X  g   Q hVP                  S	^\        ,          S
^/4      P%                  \&        4      \
        ) ^,          \        \        \        ^4      \        ,          4      ,          ,
          8X  g   Q hVP                  S	^\        ,          S
^\        ,          /4      P%                  \&        4      \
        ) \        \        ^^4      4      ,           \        \        ^^4      4      ,           8X  g   Q h\        RRR7      p \        RRR7      p\        W4      pVP%                  \&        4      pV \        VR/pV\        ) \        \)        \        V ,          V,           4      \        \)        V ^,          V^,          ,           4      4      ,          4      ,          \'        \        V ,          V,           \        V ^,          V^,          ,           4      ,          4      ,           8X  g   Q hWx,
          P                  V4      P+                  ^ 4      '       g   Q h\        ^ S	4      P%                  \        4      \-        \
        \!        S	4      ^ 8  3^ \/        S	^ 4      3\0        R34      8X  g   Q h\        ^ V4      P%                  \        4      \-        \
        V^ 8  3^ \/        V^ 4      3\        P                  R34      8X  g   Q h\        ^ V 4      '       g   Q V! \        4      ^ 8H  4       h\        ^ W,           4      P%                  \        4      \-        \
        V^ 8  3R4      8X  g   Q h\        S
S	4      P%                  \        4      \-        ^\        S
S	\        S	^,          S
^,          ,           4      ,           ,          4      ,          \/        S
^ 4      3\
        \!        S	4      ^ 8  3^ \!        S	4      ^ 8  \/        \3        S	4      ^ 4      ,          3\0        R34      8X  g   Q h\5        \        S	S
4      4      \        \5        S	4      \5        S
4      4      8X  g   Q h\7        \        S
S	4      S	4      S
) S	^,          S
^,          ,           ,          8X  g   Q h\7        \        S
S	4      S
4      S	S	^,          S
^,          ,           ,          8X  g   Q h\9        \7        \        S
S	4      P%                  \        4      S	4      4      S
) S	^,          S
^,          ,           ,          8X  g   Q h\9        \7        \        S
S	4      P%                  \        4      S
4      4      S	S	^,          S
^,          ,           ,          8X  g   Q h\;        \        ^^4      P=                  ^4      4      R8X  g   Q h\?        \@        V	V
3R l4       R# )r   r   Trf   rH   rI   r   rQ   r   rT   Frm   urN   z0.46365c                  :   < \        S S4      P                  ^4      # )r   )r)   r   )r   r   s   r   r   test_atan2.<locals>.<lambda>  s    uQ{'8'8';r   Nrt   rv   ru   )r   T)!r)   r}   r;   r   r$  r   r   r   r   r   r"   r   r   r(   r   r3   r   r   r   r   r   equalsrC   rA   r   r   r   r   r=   strr  rG   r?   )r   rH   eqansrepsrc  exrk   r   r   r   s            @@r   
test_atan2rl    s   ;;)A,&&&A;!%%A;!A;"Q$A;"Q$B<2hq!n,,,,B<2R=BxA....Q<B3q5   Q<B3q5   t$A$A	qB"S!ac'41q!t,,-
-CFQFD774=CHHTN***sT"AsT"AA;$qs)b.(((s%AA;$qs)b.(((sAA;%1u5555sT"AA;!sT"AA;"B<ARC=AbD2a5!&&!99B>>>>A;s#r#q1Q3wQTAqD[8I.I*J'JJJJA;!%%	q!s1qs7|	#B77Aa1:&&s+q00077Aa1Q3< ((-"qT!WQYq[9I7I1IIII77Aac1Q< ((-"Q3tAwqy>9I1IIII77Aac1QqS>"**3/B3hq!n9M3MPTU]^_abUcPd3ddddt$A$AaAiinGq!R=DqbS1q\$s1a4!Q$;/?*@@AAC1qRVWXZ[W[^_ab^bWbRcHcDdddddKd#**1----A;t$	2r!uqy/-.1aM-0$K)9 9 9 9 A;t$	2q1u+2a8}quuVZm(\\\\A;;)wt}));AE?""4(Ir1q5k9,MMMMA;t$	tAq41q!t,,-..1a9AOAbAl*+$K	)   
 U1a[!U9Q<1%FFFFaQA2q!tad{#3333aQ1adQTk?222Dq!,,S11561"adQTk:JJJJDq!,,S11561adQTk?JJJuQ{  #$	111
;<r   c                       ! R  R\         4      p V ! R4      pV ! R4      p\        \        W4      P                  4       R,
          4      R8:  g   Q hR# )c                   *   a  ] tR tRt o RtR tRtV tR# )test_issue_17461.<locals>.Ai  Tc                    \        R 4      # )g      @)r
   )selfprecs   &&r   _eval_evalf'test_issue_17461.<locals>.A._eval_evalf  s    :r   r   N)__name__
__module____qualname____firstlineno__r   rs  __static_attributes____classdictcell__)__classdict__s   @r   Aro    s     	 	r   r|  XYg-DT!?r   N)r   r   r)   r  )r|  r   r   s      r   test_issue_17461r    sH    F  	
#A	#AuQ{  "%6675@@@r   c                     \        \        4      \        J g   Q h\         P                  \        ^4      8X  g   Q h\        \        ) 4      ^ 8X  g   Q h\        \        4      ^ 8X  g   Q h\        \
        4      ^ 8X  g   Q h\        ^4      \        ^,          8X  g   Q h\        ^ 4      \        ^,          8X  g   Q h\        \        ^4      ^,          4      \        ^,          8X  g   Q h\        ^\        ^4      ,          4      \        ^,          8X  g   Q h\        R\        ^4      ,          4      \        ) ^,          8X  g   Q h\        \        4      P                  \        4      R^\        ^,          ,           ,          8X  g   Q h\        \        4      P                  RJ g   Q h\        \        \        ,          4      \        ) \        \        4      ,          8X  g   Q h\        R\        ,          4      \        \        ^4      ,          8X  g   Q h\        \        4      P                  e   Q h\        \        4      P                  RJ g   Q h\        \         4      P                  RJ g   Q h\        \        4      P                  RJ g   Q h\        \#        ^^4      4      P$                  RJ g   Q h\'        \         \)        \        4      4      '       g   Q h\'        \         \+        \        4      4      '       g   Q h\        \)        \#        ^^4      4      4      \#        ^^4      8X  g   Q h\        \+        \#        R^4      4      4      \#        ^^4      \        ^,          ,
          8X  g   Q hR# )r   TNFrt   ru   )r$   r   r}   r;   r   r   r   r"   r   r   rH   r   r   r   r*  rP   rM   r   r   r>   r+   r0   r   r   r   	test_acotr    sY   9::1%%%9>>8q==9>>7bd??7bd??Q	?bd"""$q'	?bd"""47
s1u$$$7<<?b!ad(m+++7##t+++":!E"I%%%1:58###7&&&7%'''7$&&&7%'''A++u444T3q6""""T3q6""""HQN#$A666HRO$%!Q"Q$)>>>>r   c            	         \        \        4      P                  \        4      \        \        ^\        \        ,          ,
          4      \        ^\        \        ,          ,           4      ,
          ,          ^,          8X  g   Q h\        \        4      P                  \
        4      \        \        \        \        ^,          ) 4      \        \        ^,          ) ^,
          4      ,          4      ) \        ^,          ,           ,          \        \        R,          4      ,          8X  g   Q h\        \        4      P                  \        4      \        \        \        R,          4      ,          \        \        \        ^,          ) 4      \        \        ^,          ) ^,
          4      ,          4      ,          8X  g   Q h\        \        4      P                  \        4      \        ^\        ,          4      8X  g   Q h\        \        4      P                  \        4      \        \        \        R,          4      ,          \        \        \        ^,          ^,           \        ^,          ,          4      4      ,          8X  g   Q h\        \        4      P                  \        4      \        \        \        \        ^,          ^,           \        ^,          ,          4      4      ) \        ^,          ,           ,          \        \        R,          4      ,          8X  g   Q h\        \        ) ^,          4      P                  4       \        \        4      P                  \        4      P                  \        \        ) ^,          /R7      8X  g   Q h\        \        ^,          4      P                  4       \        \        4      P                  \        4      P                  \        \        ^,          /R7      8X  g   Q hR# )r   rZ  Nru   )r$   r   r   r   r   r'   r"   r   r#   r(   r&   r%   r  r   r   r   test_acot_rewriter    s8   7??31c!ac'l3q1Q3w<&?#@#BBBB7??4 AT1a4%[q!teai-H(I'IBqD'P$QRVWX[]W^R_$____7??4 Ad1r7mODq!teT1a4%RS)_9T4U$UUUU7??4 D1I---7??4 Ad1r7mODq!taxAo9N4O$OOOO7??4 AT1a4!8QT/-B(C'Cbd'J$KDQRUWQXM$YYYY1:a!5!;!;!QBqD!;!JJJJ!9??Q 4 : :1Q3 : HHHHr   c                      \        \        4      P                  4       R\        ^,          ^,           ,          8X  g   Q h\        \        R 4       R# )r   c                  >    \        \        4      P                  ^4      # r   )r$   r   r   r   r   r   r   !test_acot_fdiff.<locals>.<lambda>  r:  r   Nrt   )r$   r   r   rG   r?   r   r   r   test_acot_fdiffr    s2    7==?b!Q$(m+++
78r   c                  
   \        ^\        ,          4      P                  \        4      \        8X  g   Q h\        \        \        ,           4      P                  \        ^R7      \        \	        \        4      ,          ^,          \
        ^,          ,           \        \	        ^4      ,          ^,          ,
          8X  g   Q h\        \        \        ,           4      P                  \        RR7      \        \	        \        4      ,          ^,          \
        ^,          ,           \        \	        ^4      ,          ^,          ,
          8X  g   Q h\        \        \        ,
          4      P                  \        ^R7      \        ) \	        \        4      ,          ^,          \
        ^,          ,           \        \	        ^4      ,          ^,          ,           8X  g   Q h\        \        \        ,
          4      P                  \        RR7      \        ) \	        \        4      ,          ^,          ^\
        ,          ^,          ,
          \        \	        ^4      ,          ^,          ,           8X  g   Q h\        \        4      P                  \        ^R7      \
        ^,          8X  g   Q h\        \        4      P                  \        RR7      \
        ) ^,          8X  g   Q h\        \        \        ^,          ,           4      P                  \        ^R7      \
        \        \        \        ^4      ^,          4      ,          ,
          8X  g   Q h\        \        \        ^,          ,           4      P                  \        RR7      \        ) \        \        ^4      ^,          4      ,          8X  g   Q h\        \        \        ^,          ,
          4      P                  \        ^R7      \        \        \        ^4      ^,          4      ,          8X  g   Q h\        \        \        ^,          ,
          4      P                  \        RR7      \
        ) \        \        \        ^4      ^,          4      ,          ,           8X  g   Q h\        \        ^,          \        \        ,          ,
          \        ^,          ,
          4      P                  \        ^R7      \
        ) ^,          \        \	        ^4      ,          ^,          ,
          8X  g   Q h\        \        ^,          \        \        ,          ,
          \        ^,          ,
          4      P                  \        RR7      \
        ) ^,          \        \	        ^4      ,          ^,          ,
          8X  g   Q hR# r1  )r$   r   r   r   r   r   r   r   r   r   r   test_acot_leading_termr    sG   !9$$Q'1,,,A;&&qq&1Qs1vXaZ"Q$5F3q6RS5SSSSA;&&qr&2aAhqj2a46G!CPQF(ST*6TTTTA;&&qq&1aRAYq[2a45G!CPQF(ST*5TTTTA;&&qr&2qbQikAbDF6JQsSTvXVWZ6WWWW7""11"-A5557""12".2#a%777AaC=(((3rAeAaDFmO7KKKKAaC=(((451a=8HHHHAaC=(((3qqtAvFFFAaC=(((4aad1fo8MMMM!ac	AqD !11!!1<A#a&QR
@RRRR!ac	AqD !11!"1="Q3q6RSASSSSr   c                  P    \        \        4      P                  \        38X  g   Q hR # N)r.   r   argsr   r   r   test_attributesr  $  s    q6;;1$r   c                     \        \        ^,          \        ,
          4      \        \        4      8X  g   Q h\        \        \        ,
          4      \        \        4      8X  g   Q h\        \        ^,          \        ,
          4      \        \        4      8X  g   Q h\        \        \        ,
          4      \        \        4      ) 8X  g   Q hR# r   )r.   r   r   r*   r   r   r   test_sincos_rewriter  (  st    r!tax=CF"""rAv;#a&   r!tax=CF"""rAv;3q6'!!!r   c                <    V ! V4      P                   ^ ,          V) 8H  # )zEChecks that the expr has been rewritten using f(-x) -> f(x)
arg : -x
r  r   r   s   &&r   _check_even_rewriter  /  s     9>>!$$r   c                :    V ! V4      P                   P                  # )zFChecks that the expr has been rewritten using f(-x) -> -f(x)
arg : -x
)r   is_Mulr  s   &&r   _check_odd_rewriter  6  s     9>>   r   c                :    V ! V4      P                   ^ ,          V8H  # )z%Checks that the expr is not rewrittenr  r  s   &&r   _check_no_rewriter  =  s    9>>!##r   c                     \        ^4      p \        ^4      p\         .p\        \        \        \        \
        \        .pR^R,          ) \        ,          \        ) ^i,          \        ) \        ,          \        ) \        ,
          .pV Fl  pV F  p\        WV4      '       d   K  Q h	  \        WPV,          4      '       g   Q hV! \        \        ,
          4      V! \        \        ,
          4      8X  d   Kl  Q h	  V Fm  pV F  p\        WV4      '       d   K  Q h	  \        WPV,          4      '       g   Q hV! \        \        ,
          4      V! \        \        ,
          4      ) 8X  d   Km  Q h	  R# )r      Nrt   )r*   r.   r0   r+   r'   r(   r$   r	   r   r   r   r  r  r  )r`   brj   odd
with_minusr   exprs          r   test_evenodd_rewriter  B  s#   AAAA5DS$d
+Cq$whlRCGaRTA26:JD&t2222  s++++E1q5k" 	" "	  D%d1111  s++++EAE{l# 	# #	 r   c                  t   \        \        4      P                  \        4      \        8X  g   Q h\        \        4      P                  \        4      ^8X  g   Q h\	        \        4      P                  \        4      \        8X  g   Q h\        \        4      P                  \        4      ^\        ,          8X  g   Q hR# r  )r.   r   r   r*   r0   r+   r   r   r   test_as_leading_term_issue_5272r  V  sz    q6!!!$)))q6!!!$)))q6!!!$)))q6!!!$!+++r   c                  z   \        ^\        ,          4      P                  \        4      \        R^4      8X  g   Q h\        \        P
                  4      P                  \        4      \        \        P
                  4      8X  g   Q h\        ^\        ,          4      P                  \        4      \        R^4      8X  g   Q h\        \        P
                  4      P                  \        4      \        \        P
                  4      8X  g   Q h\        ^\        ,          4      P                  \        4      \        \        P                  \        P                  4      8X  g   Q h\        ^\        ,          4      P                  \        4      \        \        P                  \        P                  4      8X  g   Q h\        ^\        ,          4      P                  \        4      \        \        P                  \        P                  4      8X  g   Q h\        ^\        ,          4      P                  \        4      \        \        P                  \        P                  4      8X  g   Q h\        \        \        ^,           ,          4      ^\        ,          ,          p V P                  \        4      \        ^,          8X  g   Q hR# r   )r.   r   r   r   r   r   r*   r-   r#  r"  r,   r0   r+   r   r   s    r   test_leading_termsr  ]  s   qs8##A&+b!*<<<<qvv;&&q)S[888qs8##A&+b!*<<<<qvv;&&q)S[888qs8##A&+a6H6H!***UUUUqs8##A&+a6H6H!***UUUUqs8##A&+a6H6H!***UUUUqs8##A&+a6H6H!***UUUU 	BAJ1AQ2a4'''r   c                     \        \        \        ^,          \        ^,           4      P                  \        4      \	        \        ^,          \        ^,           ,          4      P                  \        4      ,
          4      ^ 8X  g   Q h\        \	        \
        \        ,          4      P                  \
        ^ ^4      \        \
        \        4      P                  \
        ^ ^4      ,
          \        ^ \        4      ,           \	        ^ 4      ,
          4      \        \
        ^,          4      8X  g   Q h\        \	        \
        \        ,          4      P                  \        ^^4      \        \
        \        4      P                  \        ^^4      ,
          \        \
        ^4      ,           \	        \
        4      ,
          4      \        \        ^,
          ^,          \        ^34      8X  g   Q h\        \	        \
        \        ,           \        ,          4      P                  \        ^^4      \        \
        \        ,           \        4      P                  \        ^^4      ,
          \        ^\
        ,           ^4      ,           \	        ^\
        ,           4      ,
          4      \        \        ^,
          ^,          \        ^34      8X  g   Q h\        \        \
        \        4      .4      P                  \
        \        .4      \        \        \
        ^,          \        ^,          ,           ,          \
        ) \
        ^,          \        ^,          ,           ,          ..4      8X  g   Q hR# r   )
r5   r)   r   r   r(   r   r9   r8   r4   jacobianr   r   r   test_atan2_expansionr  l  s+   %1a!e$))!,tAqD!a%L/A/F/Fq/IIJaOOO$qs)""1a+eAqk.@.@Aq.II!QK "&q'* +./1g6 6 6$qs)""1a+eAqk.@.@Aq.II!QK "&q'* +./Q
QF.CD D D$Aqy/((Aq1E!a%O4J4J1aQR4SS!a%O$&*1q5k2 367Q
QF6KL L L5A;- ))1a&1AqD1a4K1"adQTk"23456 6 6r   c                      R  p V ! \         RRR4       V ! \         RRR4       V ! \        RRR4       V ! \        RRR4       R# )c                     \        V ! ^V,          4      P                  4       V ! ^\        ,          4      P                  \        VR7      P	                  4       P                  \        V4      ,
          4      V8  g   Q hR# )r   )dirN)r   r  r   r9   removeOr   )rP   vr   rk   s   &&&&r   ttest_aseries.<locals>.ty  sa    acFLLNQqsV]]1!]4<<>CCAqIIKMNO 	O Or   g?+gh㈵>-Ng)r(   r$   )r  s    r   test_aseriesr  x  sB    O dCddD#tdCddD#tr   c                  l   \        R RR7      p \        RRR7      p\        RRR7      p\        ^V ,          \        ,          4      ^8X  g   Q h\        ^V ,          \        ,          4      ^ 8X  g   Q h\	        ^V ,          \        ,          4      ^ 8X  g   Q h\        ^V ,          \        ,          4      \        J g   Q h\        ^V ,          \        ,          4      \        \        V ,          4      8X  g   Q h\        ^V ,          \        ,          4      ^ 8X  g   Q h\	        ^V ,          \        ,          4      ^ 8X  g   Q h\        ^V ,          \        ,          4      \        J g   Q h\        RV ,          \        ,          4      ^8X  g   Q h\        RV ,          \        ,          4      ^ 8X  g   Q h\	        RV ,          \        ,          4      ^ 8X  g   Q h\        RV ,          \        ,          4      \        J g   Q h\        RV ,          \        ,          4      \        \        V ,          4      8X  g   Q h\        RV ,          \        ,          4      ^ 8X  g   Q h\	        RV ,          \        ,          4      ^ 8X  g   Q h\        RV ,          \        ,          4      \        J g   Q h\        R	V ,          \        ,          4      \        R
\        ,          V ,          4      8X  g   Q h\        R	V ,          \        ,          4      \        R
\        ,          V ,          4      8X  g   Q h\	        R	V ,          \        ,          4      \	        R
\        ,          V ,          4      8X  g   Q h\        R	V ,          \        ,          4      \        R
\        ,          V ,          4      8X  g   Q h\        ^V,          \        ,          4      ^8X  g   Q h\        ^V,          \        ,          4      ^ 8X  g   Q h\	        ^V,          \        ,          4      ^ 8X  g   Q h\        ^V,          \        ,          4      \        J g   Q h\        ^V,          \        ,          4      ^8X  g   Q h\        ^V,          \        ,          4      ^ 8X  g   Q h\	        ^V,          \        ,          4      ^ 8X  g   Q h\        ^V,          \        ,          4      \        J g   Q h\        RV,          \        ,          4      ^8X  g   Q h\        RV,          \        ,          4      ^ 8X  g   Q h\	        RV,          \        ,          4      ^ 8X  g   Q h\        RV,          \        ,          4      \        J g   Q h\        RV,          \        ,          4      ^8X  g   Q h\        RV,          \        ,          4      ^ 8X  g   Q h\	        RV,          \        ,          4      ^ 8X  g   Q h\        RV,          \        ,          4      \        J g   Q h\        R	V,          \        ,          4      \        R
\        ,          V,          4      8X  g   Q h\        R	V,          \        ,          4      \        R
\        ,          V,          4      8X  g   Q h\	        R	V,          \        ,          4      \	        R
\        ,          V,          4      8X  g   Q h\        R	V,          \        ,          4      \        R
\        ,          V,          4      8X  g   Q h\        ^V,          \        ,          4      ^8X  g   Q h\        ^V,          \        ,          4      ^ 8X  g   Q h\	        ^V,          \        ,          4      ^ 8X  g   Q h\        ^V,          \        ,          4      \        J g   Q h\        ^V,          \        ,          4      R8X  g   Q h\        ^V,          \        ,          4      ^ 8X  g   Q h\	        ^V,          \        ,          4      ^ 8X  g   Q h\        ^V,          \        ,          4      \        J g   Q h\        RV,          \        ,          4      ^8X  g   Q h\        RV,          \        ,          4      ^ 8X  g   Q h\	        RV,          \        ,          4      ^ 8X  g   Q h\        RV,          \        ,          4      \        J g   Q h\        RV,          \        ,          4      R8X  g   Q h\        RV,          \        ,          4      ^ 8X  g   Q h\	        RV,          \        ,          4      ^ 8X  g   Q h\        RV,          \        ,          4      \        J g   Q h\        R	V,          \        ,          4      \        R
\        ,          V,          4      8X  g   Q h\        R	V,          \        ,          4      \        R
\        ,          V,          4      8X  g   Q h\	        R	V,          \        ,          4      \	        R
\        ,          V,          4      8X  g   Q h\        R	V,          \        ,          4      \        R
\        ,          V,          4      8X  g   Q h\        ^\        ,          \        ,          4      \        ^\        ,          \        ,          4      8X  g   Q h\        ^\        ,          \        ,          4      \        ^\        ,          \        ,          4      8X  g   Q h\	        ^\        ,          \        ,          4      \	        ^\        ,          \        ,          4      8X  g   Q h\        ^\        ,          \        ,          4      \        ^\        ,          \        ,          4      8X  g   Q h\        ^\        ,          \        ,          4      \        ^\        ,          \        ,          4      8X  g   Q h\        ^\        ,          \        ,          4      \        ^\        ,          \        ,          4      8X  g   Q h\	        ^\        ,          \        ,          4      \	        ^\        ,          \        ,          4      8X  g   Q h\        ^\        ,          \        ,          4      \        ^\        ,          \        ,          4      8X  g   Q h\        R\        ,          \        ,          4      \        R\        ,          \        ,          4      8X  g   Q h\        R\        ,          \        ,          4      \        R\        ,          \        ,          4      8X  g   Q h\	        R\        ,          \        ,          4      \	        R\        ,          \        ,          4      8X  g   Q h\        R\        ,          \        ,          4      \        R\        ,          \        ,          4      8X  g   Q h\        R\        ,          \        ,          4      \        R\        ,          \        ,          4      8X  g   Q h\        R\        ,          \        ,          4      \        R\        ,          \        ,          4      8X  g   Q h\	        R\        ,          \        ,          4      \	        R\        ,          \        ,          4      8X  g   Q h\        R\        ,          \        ,          4      \        R\        ,          \        ,          4      8X  g   Q h\        R	\        ,          \        ,          4      \        R	\        ,          \        ,          4      8X  g   Q h\        R	\        ,          \        ,          4      \        R	\        ,          \        ,          4      8X  g   Q h\	        R	\        ,          \        ,          4      \	        R	\        ,          \        ,          4      8X  g   Q h\        R	\        ,          \        ,          4      \        R	\        ,          \        ,          4      8X  g   Q hR# )r   TrK   rk   rl   o)r  g      @g      @g      @rD  Nrt   )r   r*   r   r.   r0   r+   r   r   )r   rk   r  s      r   test_issue_4420r    s	   sD!AsAsA qs2v;!qs2v;!qs2v;!qs2v;#qs2v;#bd)###qs2v;!qs2v;!qs2v;#s1uRx=As1uRx=As1uRx=As1uRx=Cs1uRx=C1I%%%s1uRx=As1uRx=As1uRx=Cs1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM))) qs2v;!qs2v;!qs2v;!qs2v;#qs2v;!qs2v;!qs2v;!qs2v;#s1uRx=As1uRx=As1uRx=As1uRx=Cs1uRx=As1uRx=As1uRx=As1uRx=Cs1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))qs2v;!qs2v;!qs2v;!qs2v;#qs2v;"qs2v;!qs2v;!qs2v;#s1uRx=As1uRx=As1uRx=As1uRx=Cs1uRx=Bs1uRx=As1uRx=As1uRx=Cs1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM))) qs2v;#ad1f+%%%qs2v;#ad1f+%%%qs2v;#ad1f+%%%qs2v;#ad1f+%%%qs2v;#ad1f+%%%qs2v;#ad1f+%%%qs2v;#ad1f+%%%qs2v;#ad1f+%%%s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))s1uRx=CBqM)))r   c                  n   \        \        R  4       \        \        R 4       \        \        4      P	                  4       \
        8X  g   Q h\        \        4      P	                  4       \        8X  g   Q h\        \        R 4       \        \        R 4       \        \        4      P	                  4       \        8X  g   Q h\        \        4      P	                  4       \        8X  g   Q h\        \        4      P	                  4       \        8X  g   Q h\        \        4      P	                  4       \        8X  g   Q hR# )c                  <    \        \        4      P                  4       # r  )r.   r   inverser   r   r   r   test_inverses.<locals>.<lambda>      3q6>>#3r   c                  <    \        \        4      P                  4       # r  )r*   r   r  r   r   r   r   r    r  r   c                  <    \        \        4      P                  4       # r  )r,   r   r  r   r   r   r   r    r  r   c                  <    \        \        4      P                  4       # r  )r-   r   r  r   r   r   r   r    r  r   N)rG   AttributeErrorr0   r   r  r(   r+   r$   r'   r.   r#   r*   r   r   r   test_inversesr    s    
>34
>34q6>>t###q6>>t###
>34
>347??###7??###7??###7??###r   c            	         \        R RR7      w  rW\        ,          ,           pR EF  p\        V4      P                  VR7      \        V 4      \	        V4      ,          \        V 4      \        V4      ,          38X  g   Q h\        V4      P                  VR7      \        V 4      \	        V4      ,          \        V 4      ) \        V4      ,          38X  g   Q h\        V4      P                  VR7      \        ^V ,          4      \        ^V ,          4      \	        ^V,          4      ,           ,          \        ^V,          4      \        ^V ,          4      \	        ^V,          4      ,           ,          38X  g   Q h\        V4      P                  VR7      \        ^V ,          4      ) \        ^V ,          4      \	        ^V,          4      ,
          ,          \        ^V,          4      \        ^V ,          4      \	        ^V,          4      ,
          ,          38X  g   Q h\        V 4      P                  VR7      \        V 4      ^ 38X  g   Q h\        V 4      P                  VR7      \        V 4      ^ 38X  g   Q h\        V 4      P                  VR7      \        V 4      ^ 38X  g   Q h\        V 4      P                  VR7      \        V 4      ^ 38X  d   EK  Q h	  R# )za bTrI   )deepN)TF)	r   r   r.   as_real_imagr   r*   r    r0   r+   )r`   r  re   r  s       r   test_real_imagr    sG   5t$DA	aCA||&3q6$q'>3q6$q'>*JK 	K K||&3q6$q'>CF747?*KL 	L L1v"""-#ac(C!H1I= 3QqS	3qs8d1Q3i#782: : 	: :1v"""-3qs8)S1X1I> 3QqS	3qs8d1Q3i#782: : 	: :1v"""-#a&!<<<1v"""-#a&!<<<1v"""-#a&!<<<1v"""-#a&!<<< r   c                  *   R EF  p R EF  pW,          p\        ^\        V^,           ^,          ^,           ^
4      4       EF^  p^\        W24      8X  g   K  V\        ,          V,          p\	        V4      P                  \        4      p\        V4      P                  \        4      pVP                  \        \        4      '       d   Q RW23,          4       hVP                  \        \        4      '       d   Q RW23,          4       hR\        \	        VP                  ^4      4      VP                  ^4      ,
          4      8  g   Q RW23,          4       hR\        \        VP                  ^4      4      VP                  ^4      ,
          4      8  d   EKR  Q RW23,          4       h	  EK  	  EK  	  \        \        ^,          4      P                  \        4      \        \        \        ^,          4      ^,          \        P                  ,           4      8X  g   Q h\        \        \        R^4      ,          ^,          RR7      P                  \        4      \        \        \        \        ^^4      ,          4      ) ^,          \        P                  ,           4      ) 8X  g   Q h\        \        ^\        \        P                  RR7      RR7      P                  \        4      R	8X  g   Q h\        \        ^,          ^,          4      pR
\        \        ^4      ) ^,           4      ,          \        \        ^4      ^,           4      ,          ^@,          ^\        ^"4      ,          \        \        ^4      ^,           4      ,          ^,          ,
          \        \        ^4      ^,           4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^@,          ,
          \        \        ^4      ) ^,           4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^,          ,
          \        ^^ 4      ,
          \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^@,          ,           ^\        ^4      ,          \        \        ^4      ^,           4      ,          ^,          ,           \        ^"4      \        \        ^4      ) ^,           4      ,          ^,          ,           ^\        ^4      ,          \        \        ^4      ) ^,           4      ,          ^,          ,           \        ^4      \        \        ^4      ) ^,           4      ,          \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^,          ,           ^\        ^4      ,          ^ ,          ,           \        ^4      \        \        ^4      ) \        \        ^4      ^,           4      ,          \        \        ^4      ^ ,          \        ^4      \        \        ^4      ) ^,           4      ,          ^ ,          ,           \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^^ 4      ,           4      ,          ^,          ^\        ^4      ,          \        \        ^4      ^ ,          \        ^4      \        \        ^4      ) ^,           4      ,          ^ ,          ,           \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^^ 4      ,           4      ,          \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^@,          ,
          ^\        ^4      ,          \        \        ^4      ) ^,           4      ,          \        \        ^4      ^ ,          \        ^4      \        \        ^4      ) ^,           4      ,          ^ ,          ,           \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^^ 4      ,           4      ,          ^ ,          ,
          \        ^"4      \        \        ^4      ^ ,          \        ^4      \        \        ^4      ) ^,           4      ,          ^ ,          ,           \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^^ 4      ,           4      ,          \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^@,          ,           \        \        ^4      ^ ,          \        ^4      \        \        ^4      ) ^,           4      ,          ^ ,          ,           \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^^ 4      ,           4      ^,          ,           \        P                  ,           \        \        ^4      ) ^,           4      \        \        ^4      ^ ,          \        ^4      \        \        ^4      ) ^,           4      ,          ^ ,          ,           \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^^ 4      ,           4      ,          \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^"4      \        \        ^4      ) ^,           4      ,          \        \        ^4      ^ ,          \        ^4      \        \        ^4      ) ^,           4      ,          ^ ,          ,           \        ^4      \        R\        ^4      ,          \        \        ^4      ^,           4      ,          \        ^4      \        \        ^4      ) ^,           4      ,          ,
          \        ^"4      \        \        ^4      ) ^,           4      ,          ,           ^\        ^4      ,          ,           ^",           4      ,          ^ ,          ,           \        ^^ 4      ,           4      ,          ^ ,          ,           4      ,          ^,          ,           pVP                  \        4      V8X  g   Q hVP                  4       VP                  4       8X  g   Q h\        \        ^	,          ^,          4      P                  \        4      \	        \        ^	,          4      \	        \        \        ^^4      ,          4      ,          \        \        ^	,          4      \        \        \        ^^4      ,          4      ,          ,           8X  g   Q hR# )r   r   MbP?Frm   Nr   r   r      r   r   r   rt   rv   r   )r   minr6   r   r.   r   r"   r*   hasr   r  r   r   r   r   rP   )	rM   r  rP   r   r   s1c1rk   r`   s	            r   test_sincos_rewrite_sqrtr    s    AA 1c1q51*q."56A	>"QAQ-BQ-B!vvc3//N1E1NN/!vvc3//N1E1NN/#c!''!*o&C"DDcFZ^_]cFccD#c!''!*o&C"DDcFZ^_]cFccD 7  & r"u:d#tC1IaK!&&,@'AAAAr(3""2%6>>Bx2.//1AFF:;;< < <s1b!&&51EBJJ  BqDGA
4b	BT"X] 33B6	$r(
4R2&&s*	+-1$r(
3 .DGDbB//$q'$Ry2~:N2NN
r(4b	B'
'(*+DH*579: ;.;;=.>	> AEd2hY
F A2d1g:d48b=11DGD$r(
B = 5 2htT"XIN++,./Rj9;=> ?A??BAC	C
 FNaQS_	U 	QRQZT"X] 33d1gdDH9
D ? 7 2htT"XIN++,./Rj9;=> ? 	??A	B	B 	
$q'	$tBx"}%%c)	* -1HT48)b.5I,I#,M	N T!W*T48)b.)
)#
-		. 15RtBxi
? : 1DGDbB//$q'$Ry2~:N2NN
r(4b	B'
'(*+DH*579: ;1;;>1?	? BC48B	O q'$QxT"X] 33Db"Qd2hY^$$R':(QRQZT"X] 33d1gdDH9
D ? 7 2htT"XIN++,./Rj9;=> ? 	??A	B:B EMRQSDT:U 5V V WXX 	
$q'	$tBx{T!WT48)b.-A%A"%DDQRQZT"X] 33d1gdDH9
D ? 7 2htT"XIN++,./Rj9;=> ? 	??A	BB 	R  	 r$q'z$tBx"}*==QdSUhY
N I A  2htT"XIN++ ,./Rj 9;= > ?	? @B		B	B 	
$q'	$Ry2~&&tDHRKQd2hY^$$R'-(QRQZT"X] 33d1gdDH9
D ? 7 2htT"XIN++,./Rj9;=> ? 	??A	B-B EMRQSDT-U (V 	V WY	YY r(4Rd1gdDH9r>.B&B2&EEQRQZT"X] 33d1gdDH9
D ? 7 2htT"XIN++,./Rj9;=> ? 	??A	BB 	R   r$q'z$tBx"}*==QdSUhY
N I A  2htT"XIN++ ,./Rj 9;= > ?? @B	BB$ 	T"Xb[474b	B#77::QRQZT"X] 33d1gdDH9
D ? 7 2htT"XIN++,./Rj9;=> ? 	??A	BBDLRQSDTU 	VVW	X%X* 	
+* tBxi"n%d48B;atBxi
G B :: ,abajd2hm)<<Qd2hY^$$%'+Bxd2hY^0D'DE	$r(
  , 'r2.,/ '0 0 15RQZT"XPR]@S5SQd2hY^$$6%'+Bxd2hY^0D'D6E	$r(
66 1
 +4 #2htT"XIN';;Db"Qd2hY^$$R'B(QRQZT"X] 33d1gdDH9
D ? 7 2htT"XIN++,./Rj9;=> ? 	??A	BBB 	R	B =  	5  <  = *	  X 99T?a335ACCE>> r!tBw<%BqD	#b!R())C1Ic"Xa_:L6M,MMN N Nr   c                      \        \        R ,          4      P                  \        4      P	                  ^@4      \        \        R ,          4      P	                  ^@4      8X  g   Q hR# )i  N)r*   r   r   r"   r  r   r   r   test_sincos_rewrite_sqrt_257r  ^  sA    r#v;t$**2.#bf+2C2CB2GGGGr   c                     R EF  p R EF  pW,          p\        ^\        V^,           ^,          ^,           ^
4      4       EF  p^\        W24      8X  g   K  V\        ,          V,          p^V,          V8w  d   ^V,          ^V,          8w  d   \	        V4      P                  \        4      pVP                  \        \        4      '       d   Q RW23,          4       hR\        \	        VP                  ^4      4      VP                  ^4      ,
          4      8  g   Q RW23,          4       hV^ 8w  g   K  W28w  g   K  \        V4      P                  \        4      pVP                  \        \        4      '       d   Q RW23,          4       hR\        \        VP                  ^4      4      VP                  ^4      ,
          4      8  d   EK  Q RW23,          4       h	  EK  	  EK  	  R# )r   r   r  Nr  r  )r   r  r6   r   r0   r   r"   r  r+   r   r  )rM   r  rP   r   r   t1r  s          r   test_tancot_rewrite_sqrtr  c  sa    AA1c1q51*q."56A	>"QA!qQqSAaCZ V^^D1#%66#s#3#3R5IQF5RR3#c3qwwqz?RXXa[+H&JJiL`deciLiiJQ16 V^^D1#%66#s#3#3R5IQF5RR3#c3qwwqz?RXXa[+H&JJiL`deciLiiJ 7  r   c                  N   \        R RR7      p \        R4      p\        P                  \        ^4      8X  g   Q h\        \        4      \
        J g   Q h\        ^ 4      ^8X  g   Q h\        \        4      R
8X  g   Q h\        \        ^,          4      \        J g   Q h\        \        ) ^,          4      \        J g   Q h\        \        ^,          4      ^\        ^4      ,          ^,          8X  g   Q h\        \        ^,          4      ^8X  g   Q h\        \        \        ^^4      ,          4      \        J g   Q h\        \        \        ^	^4      ,          4      \        \        \        ^^4      ,          4      ) 8X  g   Q h\        \        \        ^^4      ,          4      \        ^4      ) 8X  g   Q h\        \        4      ^\        ^4      ,          8X  g   Q h\        V \        ,          4      ^\        V 4      ,          8X  g   Q h\        V ) 4      \        V 4      8X  g   Q h\        \        V 4      4      V 8X  g   Q h\        V4      P                  4       \        \        V4      4      8X  g   Q h\        V4      P                  4       \        \        V4      4      \        \!        V4      4      ,          \#        \        V4      4      ^,          \%        \!        V4      4      ^,          ,          \        \        V4      4      ^,          \        \!        V4      4      ^,          ,          ,           ,          \#        \        V4      4      \%        \!        V4      4      ,          \#        \        V4      4      ^,          \%        \!        V4      4      ^,          ,          \        \        V4      4      ^,          \        \!        V4      4      ^,          ,          ,           ,          38X  g   Q h\        V 4      P'                  RR7      ^\        V 4      ,          8X  g   Q h\        ^V ,          4      P'                  RR7      ^^\        V 4      ^,          ,          ^,
          ,          8X  g   Q h\        V 4      P(                  R8X  g   Q h\        V4      P*                  R8X  g   Q h\        \,        4      P.                  e   Q h\        \0        4      P.                  RJ g   Q h\        V 4      P3                  4       \        V 4      8X  g   Q h\        ^ RR7      P4                  R8X  g   Q h\        V 4      P4                  R8X  g   Q h\        \        ^,          RR7      P4                  R8X  g   Q h\7        \        V 4      V ^ ^R7      ^V ^,          ^,          ,           ^V ^,          ,          ^,          ,           \9        V ^,          4      ,           8X  g   Q h\7        \        \        V 4      4      4      ^V ^,          ^,          ,           ^V ^,          ,          ^`,          ,           \9        V ^,          4      ,           8X  g   Q h\7        \        \        V 4      4      V \        ^,          ^,          ^R7      ^\        V \        \        ^^4      ,          ,
          4      ,          V \        \        ^^4      ,          ,
          \        ^^4      ,          ^,          ,           V \        \        ^^4      ,          ,
          \        ^^4      ,          ^,          ,           \9        V \        \        ^^4      ,          ,
          ^,          V \        \        ^^4      ,          34      ,           8X  g   Q h\        V 4      P;                  V 4      \=        V 4      \        V 4      ,          8X  g   Q h\        V4      P?                  ^V4      ^V^,          ,          ^,          8X  g   Q h\        V4      P?                  ^V4      ^=V^,          ,          R	,          8X  g   Q h\        V4      P?                  ^V4      ^ 8X  g   Q hR# )r   TrI   re   r   NFrm   x0rP   r   rt   ) r   r-   r}   r;   r   r   r   r"   r   r   r   r&   r   r  r*   r   r   r.   r    r   r   r   r`   r   rb   r   r   r9   r8   r   r0   r  )r   re   s     r   test_secr  v  s   $AA99	!$$$s8s??q6Q;;r7b==r!t9s1u:r!t9$q'	!###r!t9>>r(1a. !S(((r(1a. !c"Xa^*;&<%<<<<r(1a. !d1gX---q6QtAwYqs8qay   r7c!ftAw<1q6Yq\!2222F!AZRUSAZ]41;>9 AZ]41;>9: ;AZRUSAZ]41;>9 AZ]41;>9: ;<< = < q6==d=#qQx///qs8???%Ac!faiK!O)<<<<q6""d***q6>>T!!!q6&&&r75(((q6!!#s1v---q5!++t333q6t###r!te$..%777#a&!Q'1q!tAv:!Q$r	+AAadG+KKKK $s1v,1q!tAv:!Q$r	#9AadG#CCCC 4A<r!tAv3d1r(1a.(())QHQN1B-BXaQR^,STV,VVHQN""Xa^3C78:;QHQPQNAR=RUV<VYZ\^_ghikl_m\mXn:opp q p q6;;q>SVCF]*** q6a#qAvby000q6a#r!Q$ws{222q6a#q(((r   c            	         \        \        4      P                  \        4      ^\        \        \        ,          4      ^,          \        \        ) \        ,          4      ^,          ,           ,          8X  g   Q h\        \        4      P                  \
        4      ^\        \        4      ,          8X  g   Q h\        \        4      P                  \        4      \        \        ^,          4      ^,          ^,           \        \        ^,          4      ^,          ) ^,           ,          8X  g   Q h\        \        4      P                  \        4      \        \        4      8X  g   Q h\        \        4      P                  \        4      \        \        4      8X  g   Q h\        \        4      P                  \        4      \        \        ^,          4      ^,          ^,           \        \        ^,          4      ^,          ^,
          ,          8X  g   Q h\        \        4      P                  \        4      ^\        \        \        ^,          ,           RR7      ,          8X  g   Q h\        \        4      P                  \        4      \        \        ^,          4      ^,          ^,           \        \        ^,          4      ^,          ) ^,           ,          8X  g   Q h\        \        4      P                  \        4      \        \        ) \        ^,          ,           RR7      8X  g   Q h\        \        4      P                  \        4      \        \        ^4      \        \        \        ,          4      \        \         P"                  ) \        4      ,          ,          \%        \        ^ 4      3R4      8X  g   Q h\        \        4      P                  \        4      P'                  \        ^ 4      \        ^ 4      8X  g   Q hR# )r   Frm   Nr   )r-   r   r   r   r   r*   r0   r   r"   re   r+   r.   r   r,   r1   rC   r   r   rA   r   r   r   r   test_sec_rewriter    sL   q6>>#!S1XaZ#qbd)A+%=">>>>q6>>#!CF(***q6>>#3qs8Q;?c!A#hk\A5E"FFFFq6>>##a&(((q6>>$3q6)))q6>>#3qs8Q;?S1Xq[1_"EEEEq6>>#!c!b1f*u&E"EEEEq6>>#3q1u:q=1#4#a!e*a-!9K"LLLLq6>>##qb2a4i%"@@@@q6>>'"ia$r!t*WaffWa%8892a8D'    q6>>'"''1-Q777r   c                      \        \        4      P                  4       \        \        4      \        \        4      ,          8X  g   Q h\	        \
        R  4       R# )c                  >    \        \        4      P                  ^4      # r   )r-   r   r   r   r   r   r    test_sec_fdiff.<locals>.<lambda>  r   r   N)r-   r   r   r0   rG   r?   r   r   r   test_sec_fdiffr    s2    q6<<>SVCF]***
67r   c            
        a \        R RR7      o\        R4      p \        R 4      p^\        R 4      ,          pVP                  V4      R8X  g   Q hVP                  V4      R8X  g   Q h\        P                  \        ^4      8X  g   Q h\        ^ 4      \        J g   Q h\        \        4      \        J g   Q h\        \        4      \        J g   Q h\        \        ^,          4      ^8X  g   Q h\        \        ) ^,          4      R8X  g   Q h\        \        ^,          4      ^8X  g   Q h\        \        ^,          4      ^\        ^4      ,          ^,          8X  g   Q h\        \        \        ^^4      ,          4      ^8X  g   Q h\        \        \        ^	^4      ,          4      \        \        \        ^^4      ,          4      ) 8X  g   Q h\        \        \        ^^4      ,          4      \        ^4      8X  g   Q h\        \        4      \        ) \        ^4      ,          8X  g   Q h\        S\        ,          4      \        ) \        S4      ,          8X  g   Q h\        S) 4      \        S4      ) 8X  g   Q h\        \        S4      4      S8X  g   Q h\        V 4      P                  4       \        \        V 4      4      8X  g   Q h\        V 4      P                  4       \        \!        V 4      4      \#        \%        V 4      4      ,          \        \!        V 4      4      ^,          \#        \%        V 4      4      ^,          ,          \'        \!        V 4      4      ^,          \        \%        V 4      4      ^,          ,          ,           ,          \'        \!        V 4      4      ) \        \%        V 4      4      ,          \        \!        V 4      4      ^,          \#        \%        V 4      4      ^,          ,          \'        \!        V 4      4      ^,          \        \%        V 4      4      ^,          ,          ,           ,          38X  g   Q h\        S4      P)                  RR7      ^\        S4      ,          8X  g   Q h\        ^S,          4      P)                  RR7      ^^\        S4      ,          \'        S4      ,          ,          8X  g   Q h\        S4      P*                  R8X  g   Q h\        V 4      P,                  R8X  g   Q h\        \.        4      P0                  e   Q h\        \2        4      P0                  RJ g   Q h\        S4      P5                  4       \        S4      8X  g   Q h\        ^ RR7      P6                  R8X  g   Q h\        S4      P6                  R8X  g   Q h\        \        ^,          RR7      P6                  R8X  g   Q h\9        \        S4      S\        ^,          ^R7      ^S\        ^,          ,
          ^,          ^,          ,           ^S\        ^,          ,
          ^,          ,          ^,          ,           \;        S\        ^,          ,
          ^,          S\        ^,          34      ,           8X  g   Q h\9        \        S4      S^ ^R7      ^S,          S^,          ,           ^S^,          ,          R	,          ,           ^S^,          ,          R
,          ,           \;        S^,          4      ,           8X  g   Q h\        S4      P=                  S4      \?        S4      ) \        S4      ,          8X  g   Q h\        S4      PA                  ^S4      ^ 8X  g   Q h\        S4      PA                  ^S4      ^S^,          ,          R	,          8X  g   Q h\        S4      PA                  ^S4      ^S^,          ,          R
,          8X  g   Q h\C        \D        V3R l4       R# )r   TrI   re   r   NFrm   r  ih  i;  c                  8   < \        S 4      P                  ^4      # r   )r,   r   r   s   r   r   test_csc.<locals>.<lambda>	  s    s1v||Ar   rt   )#r   r,   r.   rf  r}   r;   r   r   r   r"   r   r   r    r%   r   r  r   r   r   r*   r   r   r   r`   r   rb   r   r   r9   r8   r   r+   r  rG   r?   )re   cosecant	alternater   s      @r   test_cscr    s   $AA 3xH#c(
I??9%---H%---99	!$$$q6S==r7c>>s8s??r!t9>>s1u:r!t9>>r!t9$q'	!###r(1a. !Q&&&r(1a. !c"Xa^*;&<%<<<<r(1a. !T!W,,,q6aRQZqs8r$q'z!!!r7s1vgtAw<1q6Yq\!2222F!AZRU#SAZ]41;>%A%(AZ]41;>%A&B C"Q%j[be$c"Q%j!mDAKN&Bbe*a-RUQ6'7 899 : 9 q6==d=#qQx///qs8???%Ac!fHSVO)<<<<q6""d***q6>>T!!!q6&&&r75(((q6!!#s1v---q5!++u444q6t###r!te$..$666#a&!1*	QAXM!OaRTAob001a"Q$h]Q1I3NNO O O#a&!Q'aC!A#I!Q$s
"R1WU]2Qq!tW<= = = q6;;q>c!fWSV^+++q6a#q(((q6a#qAvcz111q6a#r!Q$wu}444
67r   c            
      *   \        R RR7      p \        V 4      \        J g   Q h\        \        4      \        J g   Q h\        ^4      ^ 8X  g   Q h\        R4      \        8X  g   Q h\        \
        4      \        ^,          8X  g   Q h\        \
        ) 4      \        ^,          8X  g   Q h\        \        4      \        ^,          8X  g   Q h\        \        \        \        ^^4      ,          4      4      \        \        ^^4      ,          8X  g   Q h\        ^\        ^4      ,           4      \        \        ^^4      ,          8X  g   Q h\        ^\        ^4      ,          4      \        ^,          8X  g   Q h\        \        ^^\        ^4      ,          ,
          4      4      \        ^,          8X  g   Q h\        \        ^^\        ^4      ,          ,           4      ) 4      \        \        ^^4      ,          8X  g   Q h\        \        ^^\        ^4      ,          ^,          ,           4      4      \        \        ^^
4      ,          8X  g   Q h\        \        ^^\        ^4      ,          ^,          ,           4      ) 4      \        \        ^^
4      ,          8X  g   Q h\        \        ^4      \        ^4      ,
          4      \        \        ^^4      ,          8X  g   Q hR EF|  p\        V4       EFh  p\        W!4      ^8X  g   K  \        \        V\        ,          V,          4      4      V\        ,          V,          8X  g   Q h\        \        V\        ,          V,          4      ) 4      \        V\        ,          V,          ,
          8X  g   Q h\        \        V\        ,          V,          4      4      \        ^,          \        \        V\        ,          V,          4      4      ,
          8X  g   Q h\        \        V\        ,          V,          4      ) 4      \        ^,          \        \        V\        ,          V,          4      ) 4      ,
          8X  d   EKi  Q h	  EK  	  \        \        4      P                  \        4      ^\        ^,          \        ^^\        ^,          ,          ,
          4      ,          ,          8X  g   Q h\        \        4      P                  \         4      \"        \!        \        ^^\        ^,          ,          ,
          4      \"        \        ,          ,           4      ,          \        ^,          ,           8X  g   Q h\        \        4      P                  \$        4      \%        ^\        ,          4      ) \        ^,          ,           8X  g   Q h\        \        4      P                  \&        4      \'        ^\        ,          4      8X  g   Q h\        \        4      P                  \(        4      \        ^\        \        ^,          4      \        ,          ,
          ,          ^,          \        \        ^,          4      \)        \        \        ^,          ^,
          4      4      ,          \        ,          ,           8X  g   Q h\        \        4      P                  \*        4      \        ^\        \        ^,          4      \        ,          ,
          ,          ^,          \        \        ^,          4      \+        ^\        \        ^,          ^,
          4      ,          4      ,          \        ,          ,           8X  g   Q h\        \        4      P                  \        4      \        \        4      ) \        ^,          ,           8X  g   Q h\-        \.        R 4       R# )re   Tr  c                  >    \        \        4      P                  ^4      # r   )r&   r   r   r   r   r   r   test_asec.<locals>.<lambda>1  r:  r   Nrt   )r   r   r   )r   r&   r   r   r   r   r-   r   r"   r   r6   r,   r%   r   r   r   r   r   r'   r#   r(   r$   rG   r?   )re   r   r=  s      r   	test_asecr    s   sA7c>>97a<<8r>>8r!t9191BxA&'(Bx1~,====DG8Aq> 1111$q'	?bd"""Q47]#$1,,,a!DG)m$$%HQN)::::Q471_%&"Xa_*<<<<a!DG)A+o&&'2hq"o+====Q$q'!"b"b)9&99998C3{aCBqM*c"fQh666SR]N+rCF1H}<<<CBqM*bdT#c"fQh-5H.HHHHSR]N+r!tdCBqM>6J/JJJJ   7<<?aAd1qAv:&6!677777??31Sa!AqD&j)9AaC)?%@#@2a4#GGGG7??4 T!A#YJA$55557??4 D1I---7??4 
AQT
1a$q!t*T$q!tax.-A"A!"CCD D D7??4 
AQT
1a$q!t*T!DAN2B-C"CA"EEF F F7??4 T!WHr!tO333
78r   c                  p   \        \        P                  4      P                  R J g   Q h\	        RRRR7      p \        V 4      P
                  RJ g   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\	        RR RR7      p\        V4      P                  R J g   Q hR# )FrP   T)rO   rL   Nr  rJ   finite)r&   r   r   r   r   r   r   rH   )rP   r  s     r   test_asec_is_realr  4  s    <5(((sT40A7##t+++7??"""7??"""st,A7??e###r   c            	         \        ^\        ,          4      P                  \        4      \        ^,          8X  g   Q h\        \        ^,           4      P                  \        4      \	        ^4      \	        \        4      ,          8X  g   Q h\        \        ^,
          4      P                  \        4      \        8X  g   Q h\        \        4      P                  \        ^R7      \
        ) \        \        4      ,          \
        \        ^4      ,          ,           8X  g   Q h\        \        4      P                  \        RR7      \
        \        \        4      ,          ^\        ,          ,           \
        \        ^4      ,          ,
          8X  g   Q h\        \
        \        ,          R,           4      P                  \        ^R7      \        R4      8X  g   Q h\        \
        ) \        ,          R,           4      P                  \        ^R7      \        R4      ) 8X  g   Q h\        \
        \        ,          R,
          4      P                  \        ^R7      ^\        ,          \        R4      ,
          8X  g   Q h\        \
        ) \        ,          R,
          4      P                  \        ^R7      \        R4      8X  g   Q h\        \
        ) \        ^,          ,          \        ,           \        ^4      ^,          ,
          4      P                  \        ^R7      \        \
        \        ^\	        ^4      ,
          4      ,          ,           8X  g   Q h\        \
        ) \        ^,          ,          \        ,           \        ^4      ^,          ,
          4      P                  \        RR7      \        \
        \        ^\	        ^4      ,
          4      ,          ,           8X  g   Q hR# r   r2  Nrt   rD  g      )r&   r   r   r   r"   r   r   r   r   r   r   test_asec_leading_termr  >  sh   !9$$Q'2a4///A;&&q)T!WT!W_<<<A;&&q)R///7""11"-!CFQs1vX1EEEE7""12".!CF(QrT/Ac!fH2LLLL!c	?**11*5cBBB1s
++AA+649*DDD!c	?**11*52T
9JJJJ1s
++AA+6$t*DDD1a4!ad1f$%55aa5@B3qSWXYSZ{K[I[D[[[[1a4!ad1f$%55ab5AR!CPQTXYZT[P[L\J\E\\\\r   c                     \        \        4      P                  \        ^ ^	4      \        \	        ^4      ,          \        \	        \        4      ,          ,
          \        \        ^,          ,          ^,          ,
          ^\        ,          \        ^,          ,          ^ ,          ,
          ^\        ,          \        ^,          ,          ^`,          ,
          ^#\        ,          \        ^,          ,          R,          ,
          \        \        ^	,          4      ,           8X  g   Q h\        \        4      P                  ^\        4      p V R\        ,          \        ^,          ,          ^ ,          8X  g   Q h\        \        4      P                  ^\        V ^ 4      R\        ,          \        ^,          ,          ^`,          8X  g   Q hR# )r   r  Nrv   rw   )r&   r   r9   r   r   r8   r  )t4s    r   test_asec_seriesr  O  s   7>>!Q"	#a&1SV8a1fQh&1QT"4
A#ad(2+	1QT	$	')*1a4	11 1 1 
a		Q	"BAad27q!R+r!tAqDy|;;;r   c            
         \        \        4      \        J g   Q h\        ^4      \        ^,          8X  g   Q h\        R4      \        ) ^,          8X  g   Q h\        \        4      ^ 8X  g   Q h\        \        ) 4      ^ 8X  g   Q h\        \        4      ^ 8X  g   Q h\        ^ 4      \        J g   Q h\        \        ^4      4      R\        ,           8X  g   Q h\        \        ^4      4      R\        ,           8X  g   Q h\        \        ^4      4      ^^\        ,          ,
          8X  g   Q h\        \         \        \        4      4      '       g   Q h\        \         \        \        4      4      '       g   Q h\        ^\        ^4      ,          4      \        ^,          8X  g   Q h\        \        \        \        ^^4      ,          4      4      \        ) ^,          8X  g   Q h\        \        ^^\        ^4      ,          ^,          ,           4      4      \        ^,          8X  g   Q h\        \        ^^\        ^4      ,          ^,          ,           4      ) 4      \        ) ^,          8X  g   Q h\        R4      \        ) ^,          8X  g   Q h\        \        ^^\        ^4      ,          ,           4      ) 4      \        ) ^,          8X  g   Q h\        \        ^^\        ^4      ,          ,
          4      4      \        \        ^^4      ,          8X  g   Q h\        ^\        ^4      ,           4      \        ^
,          8X  g   Q h\        \        ^4      \        ^4      ,
          4      \        \        R^4      ,          8X  g   Q h\        \        4      P                  \        4      R\        ^,          \        ^^\        ^,          ,          ,
          4      ,          ,          8X  g   Q h\        \        4      P                  \        4      \        ) \        \        ^^\        ^,          ,          ,
          4      \        \        ,          ,           4      ,          8X  g   Q h\        \        4      P                  \        4      \        ^\        ,          4      8X  g   Q h\        \        4      P                  \         4      \!        ^\        ,          4      ) \        ^,          ,           8X  g   Q h\        \        4      P                  \"        4      \#        \        \        ^,          ^,
          4      4      ) \        ^,          ,           \        \        ^,          4      ,          \        ,          8X  g   Q h\        \        4      P                  \$        4      \%        ^\        \        ^,          ^,
          4      ,          4      ) \        ^,          ,           \        \        ^,          4      ,          \        ,          8X  g   Q h\        \        4      P                  \&        4      \'        \        4      ) \        ^,          ,           8X  g   Q h\)        \*        R 4       R# )r   c                  >    \        \        4      P                  ^4      # r   )r%   r   r   r   r   r   r   test_acsc.<locals>.<lambda>z  r:  r   Nrt   rv   r   ru   rw   )r%   r   r   r   r   r,   r>   r   r-   r"   r   r   r   r   r   r'   r#   r(   r$   r&   rG   r?   r   r   r   	test_acscr  X  s   97bd??8s1u8q==9>>9>>7c>>A<27"""A<27"""A<1qt8###T3q6""""T3q6""""$q'	?bd"""BxA&'(RCE111Q471_%&"Q$...a!DG)A+o&&'B3q50008s1ua!DG)m$$%"Q...Q47]#$8Aq>(9999DG2%%%Q$q'!"b"b)9&99997<<?b!Q$tA!Q$J'7"788887??3A2c$q1QT6z*:QqS*@&A#AAAA7??4 D1I---7??4 T!A#YJA$55557??4 
tAqD1H~
	A	%tAqDz1!34 4 47??4 d1T!Q$(^+;&<%<r!t%CT!Q$Z$OPQ$QQQQ7??4 T!WHr!tO333
78r   c                  l   \        \        4      P                  \        4      \        \        4      8X  g   Q h\        \        4      P                  \        4      \        \        4      8X  g   Q h\        \        4      P                  \
        4      ^\        ,          \        \        \        ,          4      \        \        ) \        ,          4      ,
          ,          8X  g   Q h\        \        4      P                  \        4      ^\        \        4      ,          8X  g   Q h\        \        4      P                  \        4      \        \        ^,          4      ^,          ^,           ^\        \        ^,          4      ,          ,          8X  g   Q h\        \        4      P                  \        4      \        \        ^,          4      ^,          ^,           ^\        \        ^,          4      ,          ,          8X  g   Q h\        \        4      P                  \        4      ^\        \        \        ^,          ,
          RR7      ,          8X  g   Q h\        \        4      P                  \        4      \        \        ) \        ^,          ,           RR7      8X  g   Q h\        ^\        \        \        \        4      ) 4      ,
          4      P                  \        4      R\        \        ) ^,          ^,
          \        \        \        \        \        4      ,          4      ,           \        \        \        ) ^,          \        \        \        \        4      ,          ,           RR7      ,          ,           RR7      ,          8X  g   Q h\        \        4      P                  \        4      \	        ^4      \	        \        \        ,          4      \        \        P                  \        4      ,          ,          8X  g   Q h\        \        4      P                  \        4      P!                  \        ^ 4      \        ^ 4      8X  g   Q hR# r   )r,   r   r   r   r"   r   r   r.   r0   r+   r*   r   r-   r1   r   r   r   r   r   r   test_csc_rewriter  }  sr   q6>>##a&(((q6>>$3q6)))q6>>#!A#s1Q3x#qbd)';"<<<<q6>>#!CF(***q6>>#3qs8Q;?Qs1Q3xZ"@@@@q6>>#3qs8Q;?Qs1Q3xZ"@@@@q6>>#!CBqD5$A"AAAAq6>>##qb2a4i%"@@@@ q31~&&'//4c2#a%!)c!GAqM/22CA'!Q-/%@@AKPR RR R R q6>>'"d1gtBqDz'!&&!:L/L&MMMMq6>>'"''1-Q777r   c                     \        ^\        ,          4      P                  \        4      \        8X  g   Q h\        \        ^,           4      P                  \        4      \        ^,          8X  g   Q h\        \        ^,
          4      P                  \        4      \        ) ^,          8X  g   Q h\        \        4      P                  \        ^R7      \        \        \        4      ,          \        ^,          ,           \        \        ^4      ,          ,
          8X  g   Q h\        \        4      P                  \        RR7      \        ) \        \        4      ,          ^\        ,          ^,          ,
          \        \        ^4      ,          ,           8X  g   Q h\        \        \        ,          R,           4      P                  \        ^R7      \        R4      8X  g   Q h\        \        ) \        ,          R,           4      P                  \        ^R7      \        \        R4      ,
          8X  g   Q h\        \        \        ,          R,
          4      P                  \        ^R7      \        ) \        R4      ,
          8X  g   Q h\        \        ) \        ,          R,
          4      P                  \        ^R7      \        R4      ) 8X  g   Q h\        \        ) \        ^,          ,          \        ,           \        ^4      ^,          ,
          4      P                  \        ^R7      \        ) ^,          \        \        \        ^4      ^,           4      ,          ,           8X  g   Q h\        \        ) \        ^,          ,          \        ,           \        ^4      ^,          ,
          4      P                  \        RR7      \        ) ^,          \        \        \        ^4      ^,           4      ,          ,           8X  g   Q hR# r  )r%   r   r   r   r   r   r   r"   r   r   r   test_acsc_leading_termr    s   !9$$Q'1,,,A;&&q)RT111A;&&q)bSU2227""11"-3q6BqD1SV81KKKK7""12".1"SV)ad1f2DqQx2OOOO!c	?**11*5cBBB1s
++AA+6"tCy.HHH!c	?**11*5"tDz9IIII1s
++AA+649*DDD1a4!ad1f$%55aa5@RCEAcRVWXRY\]R]N^L^D^^^^1a4!ad1f$%55ab5AbSUQsSWXYSZ]^S^O_M_E____r   c                     \        \        4      P                  \        ^ ^	4      \        ) \	        ^4      ,          \
        ^,          ,           \        \	        \        4      ,          ,           \        \        ^,          ,          ^,          ,           ^\        ,          \        ^,          ,          ^ ,          ,           ^\        ,          \        ^,          ,          ^`,          ,           ^#\        ,          \        ^,          ,          R,          ,           \        \        ^	,          4      ,           8X  g   Q h\        \        4      P                  ^\        4      p V ^\        ,          \        ^,          ,          ^`,          8X  g   Q h\        \        4      P                  ^\        V ^ 4      ^#\        ,          \        ^,          ,          R,          8X  g   Q hR# )r   r  N)r%   r   r9   r   r   r   r8   r  )t6s    r   test_acsc_seriesr    s   7>>!Q"	
3q6	BqD1SV8#a1fQh.
A#ad(2+	!AqD	$&(d1a4in	578Aw	?? ? ? 
a		Q	"B1QT"7q!R+r!tAqDy~===r   c                  f   \        \        ^,           4      P                  \        ^R\        4      \        ^4      ) \        ,           \        ^4      \        ,          \        ,          ^,          ,           \        ^4      \        ,          \        ^,          ,          ^	,          ,
          \        ^4      \        ,          \        ^,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        ^,           4      P                  \        ^R\        ) 4      \        ^4      \        ^4      \        ,          \        ,          ^,          ,
          \        ^4      \        ,          \        ^,          ,          ^	,          ,           \        ^4      \        ,          \        ^,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        ^,
          4      P                  \        ^R\        4      \        ^4      ) \        ^4      \        ,          \        ,          ^,          ,
          \        ^4      \        ,          \        ^,          ,          ^	,          ,
          \        ^4      \        ,          \        ^,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        ^,
          4      P                  \        ^R\        ) 4      \        ^4      \        ,
          \        ^4      \        ,          \        ,          ^,          ,           \        ^4      \        ,          \        ^,          ,          ^	,          ,           \        ^4      \        ,          \        ^,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        ^\        ,           4      P                  \        ^R4      \        ^,          \        ^4      \        \        ) 4      ,          ,
          \        ^4      \        ) \        ^4      ^,          ,          ,          ^,          ,
          ^\        ^4      ,          \        ) \        ^4      ^,          ,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        R\        ,           4      P                  \        ^R4      \        ) ^,          \        ^4      \        \        4      ,          ,           \        ^4      \        \        ^4      ^,          ,          ,          ^,          ,           ^\        ^4      ,          \        \        ^4      ^,          ,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        4      4      P                  \        ^R4      \        ^,          \        ^4      \        \        ) 4      ,          ,
          \        ^4      \        ) \        ^4      ^,          ,          ,          ^,          ,           \        ^4      \        ) \        ^4      ^,          ,          ,          ^x,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        4      ) 4      P                  \        ^R4      \        ) ^,          \        ^4      \        \        ) 4      ,          ,           \        ^4      \        ) \        ^4      ^,          ,          ,          ^,          ,
          \        ^4      \        ) \        ^4      ^,          ,          ,          ^x,          ,           \        \        ^,          4      ,           8X  g   Q hR# r   Nrt   )	r'   r   _eval_nseriesr   r   r"   r8   r   r   r   r   r   test_asin_nseriesr    s   A;$$Q43Qx"}GAIaKM8GAIadN1$8%'+AwqyA~b'889;<QT78C C C CA;$$Q4!4QGAIaKM9GAIadN1$9%'+AwqyA~b'899;<QT79C C C CA;$$Q43QxGAIaKM8GAIadN1$8%'+AwqyA~b'889;<QT78C C C CA;$$Q4!4Q"GAIaKM9GAIadN1$9%'+AwqyA~b'899;<QT79C C C C A;$$Q40BqD4748;K4KGaR1Q46N25 !$q'	A21a. 8 <5=?@Aw5G G G GQ<%%aD1bSUT!WT!W_5LGA!QK6tAwYq1Q46{236679:1a46A A A AA<%%aD1RTDGD!H<L5LGaR1Q46N16#Awad1f~5c96:<=adG6D D D DQ=&&q!T2rc!ed1gdA2h>N6NGaR1Q46N17#Awad1f~5c97:<=adG7D D D Dr   c                     \        \        ^,           4      P                  \        ^R\        4      \        ^4      ) \	        ^4      \        ,          \        ,          ^,          ,
          \	        ^4      \        ,          \        ^,          ,          ^	,          ,           \	        ^4      \        ,          \        ^,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        ^,           4      P                  \        ^R\        ) 4      \        ^4      \	        ^4      \        ,          \        ,          ^,          ,           \	        ^4      \        ,          \        ^,          ,          ^	,          ,
          \	        ^4      \        ,          \        ^,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        ^,
          4      P                  \        ^R\        4      \        R4      \	        ^4      \        ,          \        ,          ^,          ,           \	        ^4      \        ,          \        ^,          ,          ^	,          ,           \	        ^4      \        ,          \        ^,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        ^,
          4      P                  \        ^R\        ) 4      \        R4      ) ^\        ,          ,           \	        ^4      \        ,          \        ,          ^,          ,
          \	        ^4      \        ,          \        ^,          ,          ^	,          ,
          \	        ^4      \        ,          \        ^,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        ^\        ,           4      P                  \        ^R4      \	        ^4      \	        \        ) 4      ,          \	        ^4      \        ) \        ^4      ^,          ,          ,          ^,          ,           ^\	        ^4      ,          \        ) \        ^4      ^,          ,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        R\        ,           4      P                  \        ^R4      \        \	        ^4      \	        \        4      ,          ,
          \	        ^4      \        \        ^4      ^,          ,          ,          ^,          ,
          ^\	        ^4      ,          \        \        ^4      ^,          ,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        4      4      P                  \        ^R4      \	        ^4      \	        \        ) 4      ,          \	        ^4      \        ) \        ^4      ^,          ,          ,          ^,          ,
          \	        ^4      \        ) \        ^4      ^,          ,          ,          ^x,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        4      ) 4      P                  \        ^R4      \        \	        ^4      \	        \        ) 4      ,          ,
          \	        ^4      \        ) \        ^4      ^,          ,          ,          ^,          ,           \	        ^4      \        ) \        ^4      ^,          ,          ,          ^x,          ,
          \        \        ^,          4      ,           8X  g   Q hR# )r   Nru   rt   )	r#   r   r  r   r"   r8   r   r   r   r   r   r   test_acos_nseriesr     s   A;$$Q43Qx$q'!)A+a-7OGAIadN18AwqyA~b(8)+,QT783 3 3 3A;$$Q4!4Q$q'!)A+a-8OGAIadN19AwqyA~b(9)+,QT793 3 3 3A;$$Q43tBx$q'!)A+a-7OGAIadN18AwqyA~b(8)+,QT783 3 3 3A;$$Q4!4b	AbD8HGAIaKM9GAIadN1$9%'+AwqyA~b'899;<QT79C C C C A;$$Q40DGD!H4DGaR1Q46N25 !$q'	A21a. 8 <5=?@Aw5G G G GQ<%%aD1R$q'$q'/5IGA!QK6tAwYq1Q46{236679:1a46A A A AA<%%aD1T!WT1"X5EGaR1Q46N16#Awad1f~5c96:<=adG6D D D DQ=&&q!T2b4748;K6KGaR1Q46N17#Awad1f~5c97:<=adG7D D D Dr   c                     \        \        ^\        ,          ,           4      P                  \        ^R^4      \        \	        ^4      ,          \        ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,
          ^\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        ^\        ,          ,           4      P                  \        ^RR4      \        \	        ^4      ,          \        ,
          \        ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,
          ^\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        ^\        ,          ,
          4      P                  \        ^R^4      \        ) \	        ^4      ,          \        ,           \        ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,           ^\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        ^\        ,          ,
          4      P                  \        ^RR4      \        ) \	        ^4      ,          \        ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,           ^\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        ^\        ,          4      P                  \        ^R^4      \        ^,          \        ,
          \        \        ^,          4      ,           8X  g   Q h\        ^\        ,          4      P                  \        ^RR4      \        ) ^,          \        ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        ,           4      P                  \        ^R4      \        \        ^4      ,          ^,          \        ^,          ,           \        \        \        4      ,          ^,          ,
          \        ^,          ,           \        \        ^,          ,          ^,          ,           \        ^,          ^0,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        ,
          4      P                  \        ^R4      \        ) \        ^4      ,          ^,          \        ^,          ,           \        \        \        4      ,          ^,          ,           \        ^,          ,           \        \        ^,          ,          ^,          ,
          \        ^,          ^0,          ,
          \        \        ^,          4      ,           8X  g   Q hR# r  )r(   r   r   r  r   r8   r   r   r   r   r   test_atan_nseriesr    s   AaC=&&q!T1558ac9IaC1HQJ:AqD:1g:& & & &AaC=&&q!T26!E!H*r/aC;
A#ad(1*;!Q$wrz;"$%adG;, , , ,AaC=&&q!T15!E!Hr9IaC:
A#ad(1*:!Q$wrz:"$%adG:, , , ,AaC=&&q!T261"U1X+!:KaC1HQJ;AqD;1g;& & & &!9""1aq1RTAX!Q$5GGGG!9""1ar2rc!eai!AqD'6IIIIA;$$Q40Ac!fHQJA4Ec!fHQJ515Avby5!#$a475+-.q!tW55 5 5 5A;$$Q40QBs1vIaK"Q$4Fc!fHQJ515Avby5!#$a475+-.q!tW55 5 5 5r   c                     \        \        \        ^4      ^,          \        ,          ,           4      P	                  \        ^R^4      \        ) \        \        ^4      ^,          4      ,          \        ,           ^\        ,          ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,           ^p\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          \        ,          ,           4      P	                  \        ^RR4      \        ) \        \        ^4      ^,          4      ,          ^\        ,          ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,           ^p\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          \        ,          ,
          4      P	                  \        ^R^4      \        \        \        ^4      ^,          4      ,          ^\        ,          ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,
          ^p\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          \        ,          ,
          4      P	                  \        ^RR4      \        \        \        ^4      ^,          4      ,          \        ,
          ^\        ,          ^,          ,
          ^\        ,          \        ^,          ,          ^	,          ,
          ^p\        ^,          ,          ^Q,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        4      P	                  \        ^R^4      \        ^,          \        ,
          \        \        ^,          4      ,           8X  g   Q h\        \        4      P	                  \        ^RR4      \        ) ^,          \        ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        ,           4      P	                  \        ^R4      \        ) \        ^4      ,          ^,          \        ^,          ,           \        \        \        4      ,          ^,          ,           \        ^,          ,
          \        \        ^,          ,          ^,          ,
          \        ^,          ^0,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        ,
          4      P	                  \        ^R4      \        \        ^4      ,          ^,          \        ^,          ,           \        \        \        4      ,          ^,          ,
          \        ^,          ,
          \        \        ^,          ,          ^,          ,           \        ^,          ^0,          ,           \        \        ^,          4      ,           8X  g   Q hR# r   )	r$   r   r   r   r  r   r   r8   r   r   r   r   test_acot_nseriesr    s   AaDF1H++Aq$:qbqtAv>N?	
1Q?1QT!?!!Q$hrk?*,-adG?4 4 4 4AaDF1H++Aq$;r%!Q-?OaCE@
aC1HQJ@QT"@%'(Aw@/ / / /AaDF1H++Aq$:aad1foaCE?
aC1HQJ?QT"?%'(Aw?/ / / /AaDF1H++Aq$;qqtAv@	
1Q@1QT!@!!Q$hrk@*,-adG@4 4 4 47  AtQ/2a4!8a1g3EEEE7  AtR0RCEAI!Q$4GGGGA;$$Q40QBs1vIaK"Q$4Fc!fHQJ515Avby5!#$a475+-.q!tW55 5 5 5A;$$Q40Ac!fHQJA4Ec!fHQJ515Avby5!#$a475+-.q!tW55 5 5 5r   c                     \        \        \        ^4      ^,          ,           4      P                  \        ^R\        4      \        \        ^4      ^,          4      ^\        ^4      ,          \        ,          \        ,          ^,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          ,           4      P                  \        ^R\        ) 4      \        \        ^4      ^,          4      ) ^\        ^4      ,          \        ,          \        ,          ^,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          ,
          4      P                  \        ^R\        4      \        \        ^4      ) ^,          4      ) ^\        ,          ,           ^\        ^4      ,          \        ,          \        ,          ^,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          ,
          4      P                  \        ^R\        ) 4      \        \        ^4      ) ^,          4      ^\        ^4      ,          \        ,          \        ,          ^,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          \        \        ^,          4      ,           8X  g   Q h\        ^\        ,           4      P                  \        ^R4      \        ^4      \        \        4      ,          ^\        ^4      ,          \        \        ^4      ^,          ,          ,          ^,          ,
          ^+\        ^4      ,          \        \        ^4      ^,          ,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        R\        ,           4      P                  \        ^R4      \        \        ^4      \        \        ) 4      ,          ,
          ^\        ^4      ,          \        ) \        ^4      ^,          ,          ,          ^,          ,           ^+\        ^4      ,          \        ) \        ^4      ^,          ,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        4      4      P                  \        ^R4      \        ^4      \        \        4      ,          \        ^4      \        \        ^4      ^,          ,          ,          ^,          ,
          \        ^4      \        \        ^4      ^,          ,          ,          ^x,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        4      ) 4      P                  \        ^R4      \        \        ^4      \        \        4      ,          ,
          \        ^4      \        \        ^4      ^,          ,          ,          ^,          ,           \        ^4      \        \        ^4      ^,          ,          ,          ^x,          ,
          \        \        ^,          4      ,           8X  g   Q hR# r   )	r&   r   r   r  r   r"   r8   r   r   r   r   r   test_asec_nseriesr    sM   AaDF
))!Qa8D1aLd1gIaKM!O=Qik!Q$&q(=)+-d1g:a<1+<Q+>=?AB1a4=I I I IAaDF
))!Qqb9d1Q46l]d1gIaKM!O>Qik!Q$&q(>)+-d1g:a<1+<Q+>>?AB1a4>I I I IAaDF
))!Qa8T1Q4%']NbD=	T!W9Q;q=?=tAwYq[A-a/=024T!W*Q,q!t2CA2E=FHI!Q$=P P P PAaDF
))!Qqb9T1Q4%']d1gIaKM!O>Qik!Q$&q(>)+-d1g:a<1+<Q+>>?AB1a4>I I I I A;$$Q40DGDGOd1gIa!A$q&k"5!$q'z!ad1f+5c95:<=adG5D D D DQ<%%aD1R$q'$r(:J5Jd1gIrQqT!VnR6 "$T!W*qbAaDF^";C"?6@BCAqD'6J J J JA<%%aD1T!WT!W_GA!QK6 GA!QK/364671g6> > > >Q=&&q!T2b4747?6JGA!QK7 GA!QK/374671g7> > > >r   c                     \        \        \        ^4      ^,          ,           4      P                  \        ^R\        4      \        \        ^4      ^,          4      ^\        ^4      ,          \        ,          \        ,          ^,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          ,           4      P                  \        ^R\        ) 4      \        \        ^4      ^,          4      ) \        ,           ^\        ^4      ,          \        ,          \        ,          ^,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          ,
          4      P                  \        ^R\        4      \        \        ^4      ^,          4      \        ,
          ^\        ^4      ,          \        ,          \        ,          ^,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        ^4      ^,          ,
          4      P                  \        ^R\        ) 4      \        \        ^4      ^,          4      ) ^\        ^4      ,          \        ,          \        ,          ^,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           ^\        ^4      ,          \        ,          \        ^,          ,          ^	,          ,           \        \        ^,          4      ,           8X  g   Q h\        ^\        ,           4      P                  \        ^R4      \        ^,          \        ^4      \        \        4      ,          ,
          ^\        ^4      ,          \        \        ^4      ^,          ,          ,          ^,          ,           ^+\        ^4      ,          \        \        ^4      ^,          ,          ,          ^,          ,
          \        \        ^,          4      ,           8X  g   Q h\        R\        ,           4      P                  \        ^R4      \        ) ^,          \        ^4      \        \        ) 4      ,          ,           ^\        ^4      ,          \        ) \        ^4      ^,          ,          ,          ^,          ,
          ^+\        ^4      ,          \        ) \        ^4      ^,          ,          ,          ^,          ,           \        \        ^,          4      ,           8X  g   Q h\        \        \        4      4      P                  \        ^R4      \        ^,          \        ^4      \        \        4      ,          ,
          \        ^4      \        \        ^4      ^,          ,          ,          ^,          ,           \        ^4      \        \        ^4      ^,          ,          ,          ^x,          ,
          \        \        ^,          4      ,           8X  g   Q h\        \        \        4      ) 4      P                  \        ^R4      \        ) ^,          \        ^4      \        \        4      ,          ,           \        ^4      \        \        ^4      ^,          ,          ,          ^,          ,
          \        ^4      \        \        ^4      ^,          ,          ,          ^x,          ,           \        \        ^,          4      ,           8X  g   Q hR# r   )	r%   r   r   r  r   r"   r8   r   r   r   r   r   test_acsc_nseriesr  
  sh   AaDF
))!Qa8D1aLd1gIaKM!O=Qik!Q$&q(=)+-d1g:a<1+<Q+>=?AB1a4=I I I IAaDF
))!Qqb9d1Q46l]>	
471Qq>T!W9Q;q!t+A->.0247
1QT0A!0C>DFG1g>N N N NAaDF
))!Qa8D1aL2<Md1gIaKM!O=Qik!Q$&q(=)+-d1g:a<1+<Q+>=?AB1a4=I I I IAaDF
))!Qqb9d1Q46l]d1gIaKM!O>Qik!Q$&q(>)+-d1g:a<1+<Q+>>?AB1a4>I I I I A;$$Q40BqD4747?4Jd1gIa!A$q&k"5!$q'z!ad1f+5c95:<=adG5D D D DQ<%%aD1bSUT!WT1"X=M5Md1gIrQqT!VnR6 "$T!W*qbAaDF^";C"?6@BCAqD'6J J J JA<%%aD1RTDGDGO5KGA!QK6 GA!QK/364671g6> > > >Q=&&q!T2rc!ed1gd1go6MGA!QK7 GA!QK/374671g7> > > >r   c                      \        R RR7      p \        V 4      P                  e   Q h\        V 4      P                  e   Q h\	        V 4      P                  e   Q hR# )rP   TrK   N)r   r.   is_irrationalr*   r0   rP   s    r   test_issue_8653r    sP    sD!Aq6'''q6'''q6'''r   c                  f    \        R RRR7      p \        V ^,
          4      P                  RJ g   Q hR# )rP   T)rL   rO   N)r   r(   rR  r  s    r   test_issue_9157r  %  s,    sD40AA;%%---r   c                  *  a \        R 4      w  op \        S4      P                  4       ^\        ,          8X  g   Q h\	        S4      P                  4       ^\        ,          8X  g   Q h\        S4      P                  4       \        8X  g   Q h\        S4      P                  4       \        8X  g   Q h\        S4      P                  4       ^\        ,          8X  g   Q h\        S4      P                  4       ^\        ,          8X  g   Q h\        ^S,          4      P                  4       \        8X  g   Q h\        ^S,          ^,
          4      P                  4       \        ^,          8X  g   Q h\	        RS,          4      P                  4       \        \        ^^4      ,          8X  g   Q h\	        SV ,          4      P                  S4      ^\        ,          \        V 4      ,          8X  g   Q h\        ^S,          V ,          ^\        ,          ,           4      P                  V 4      ^\        ,          \        ^S,          4      ,          8X  g   Q h\        ^S,          4      P                  V 4      \        P                  J g   Q h\        \        V3R l4       R# )zx, yc                  F   < \        S ^,          4      P                  S 4      # r   )r.   periodr  s   r   r   "test_trig_period.<locals>.<lambda>9  s    AqD	(8(8(;r   Nrv   )r   r.   r  r   r*   r0   r+   r-   r,   r   r   r   r~   rG   NotImplementedError)r   r   s    @r   test_trig_periodr  *  s   6?DAqq6==?ad"""q6==?ad"""q6==?b   q6==?b   q6==?ad"""q6==?ad"""qs8??"""qsQw< BqD(((Av;2hq!n#4444qs8??12c!f,,,qs1uqt|##A&!B$s1Q3x-777qs8??1'''
 ;<r   c                      \        \        4      P                  \        4      \        \        4      8X  g   Q h\        \        4      P                  \        4      \        \        4      8X  g   Q hR # r  )r.   r   r   r"   r   r   r   r   test_issue_7171r  <  s@    q6>>$3q6)))q6>>##a&(((r   c                     \        R RR7      w  r\        ^\        ^\        ,          V,          ^ 4      3\	        \        V,          4      \        V,          ,          R34      p\        ^\        ^\        ,          V,          ^ 4      3\        \        V,          4      R34      pVP                  \
        4      V8X  g   Q hR# )zw, kTrI   N)r   rC   rB   r   r.   r/   r   )wr   Fsolns       r   test_issue_11864r  A  s    6%DA1b2am$s2a4y"Q$'7&>?AaAbDFA'$r!t*d);<D99T?d"""r   c                     \        R RRR7      p \        V 4      P                  e   Q h\        V 4      P                  e   Q h\	        V 4      P                  RJ g   Q h\        V 4      P                  e   Q h\        V 4      P                  e   Q h\        V 4      P                  RJ g   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\        \        4      P                  e   Q h\        \        4      P                  RJ g   Q h\        \        4      P                   RJ g   Q h\#        \        4      P                  RJ g   Q h\#        \        4      P                   RJ g   Q hR# )re   FTr  N)r   r.   r   r*   r0   r-   r,   r+   r'   rM   rP   r&   r#   r%   r(   r*  rP  r$   )re   s    r   test_real_assumptionsr  G  s   st,Aq6>>!!!q6>>!!!q6>>U"""q6>>!!!q6>>!!!q6>>U"""7??"""7??"""7??"""7??"""7??"""7??"""7??"""7??"""7$&&&7$&&&7$&&&7$&&&r   c            	      D   \        \        ^4      4      R\        ,           8X  dZ   \        ) ^,          R\        ,           u;8:  d   \        ^,          8:  d)   M Q h\        ^4      \        R\        ,           4      8X  g   Q h\        \        ^4      4      R\        ^,          ,           8X  dh   \        ) ^,          R\        ^,          ,           u;8:  d   \        ^,          8:  d0   M Q h\        ^4      \        R\        ^,          ,           4      8X  g   Q h\	        \        ^4      4      \        ) ^,          ^,           8X  dW   ^ \        ) ^,          ^,           u;8:  d   \        8:  d1   M Q h\        ^4      \        \        ) ^,          ^,           4      8X  g   Q h\	        \        ^4      4      R\        ,          ^,           8X  dU   ^ R\        ,          ^,           u;8:  d   \        8:  d0   M Q h\        ^4      \        R\        ,          ^,           4      8X  g   Q h\	        \        ^4      4      R^
\        ,          ,           8X  dU   ^ R^
\        ,          ,           u;8:  d   \        8:  d0   M Q h\        ^4      \        R^
\        ,          ,           4      8X  g   Q h\        \        ^4      4      R\        ,          ^,           8X  dh   \        ) ^,          R\        ,          ^,           u;8  d   \        ^,          8  d0   M Q h\        ^4      \        R\        ,          ^,           4      8X  g   Q h\        \        ^4      4      R\        ,          ^,           8X  dh   \        ) ^,          R\        ,          ^,           u;8  d   \        ^,          8  d0   M Q h\        ^4      \        R\        ,          ^,           4      8X  g   Q h\        \        ^4      4      R\        \        ^^4      ,          ,           8X  d|   \        ) ^,          R\        \        ^^4      ,          ,           u;8  d   \        ^,          8  d:   M Q h\        ^4      \        R\        \        ^^4      ,          ,           4      8X  g   Q h\        \        ^4      4      R\        ,          ^,           8X  dh   \        ) ^,          R\        ,          ^,           u;8  d   \        ^,          8:  d0   M Q h\        ^4      \        R\        ,          ^,           4      8X  g   Q h\        \        ^4      4      R\        \        ^^4      ,          ,           8X  d|   \        ) ^,          R\        \        ^^4      ,          ,           u;8  d   \        ^,          8:  d:   M Q h\        ^4      \        R\        \        ^^4      ,          ,           4      8X  g   Q h\        \        ^4      4      R^\        ,          ,           8X  dU   ^ R^\        ,          ,           u;8:  d   \        8:  d0   M Q h\        ^4      \        R^\        ,          ,           4      8X  g   Q h\        \        ^4      4      R	\        \        ^	^4      ,          ,           8X  di   ^ R	\        \        ^	^4      ,          ,           u;8:  d   \        8:  d:   M Q h\        ^4      \        R	\        \        ^	^4      ,          ,           4      8X  g   Q h\        \        ^4      4      R
\        ,          ^,           8X  dh   \        ) ^,          R
\        ,          ^,           u;8:  d   \        ^,          8:  d0   M Q h\        ^4      \        R
\        ,          ^,           4      8X  g   Q h\        \        ^
4      4      \        \        R^4      ,          ^
,           8X  d|   \        ) ^,          \        \        R^4      ,          ^
,           u;8:  d   \        ^,          8:  d:   M Q h\        ^
4      \        \        \        R^4      ,          ^
,           4      8X  g   Q hR# )r   Nru   irw   iirz   ir   ry   )r'   r.   r   r*   r#   r(   r0   r+   r   r$   r&   r-   r,   r%   r   r   r   test_issue_14320r   \  sF   A<27"Ab(@BqD(@\\c!fPSTVY[T[P\F\\\A<219$2#a%219*D1*Dbb#a&TWXZ]_`a]aXaTbJbbbA<B3q519$!s1uqy*>B*>\\CFcSURUVWRWZ[R[nD\\\B=BrEBJ&AB,Ar,Aaas2wRUVXY[V[^`V`RaGaaaB=C"R%K'Q#2+-C-CddRTWX[^`ac^cXcTdIdddB=BrEBJ&RCEBrEBJ,EA,Eee3r7VYZ\]_Z_bdZdVeKeeeB=BrEBJ&RCEBrEBJ,EA,Eee3r7VYZ\]_Z_bdZdVeKeeeB=C"Xa^"333"Qr(STVW.GXAX9_[]^_[_9_  M  Mehikelpstwz|  ~F  GH  JK  ~L  {L  uL  qM  fM  M  MB=BrEBJ&RCEBrEBJ,F"Q$,FffCPRGWZ[]^`[`ce[eWfLfffB=C"Xb!_"4442#a%#8TVXY?HZBZ:b^`ab^b:b  Q  Qhklnhosvwz}  AI  JL  NO  AP  ~P  xP  tQ  iQ  Q  QB=C!B$J&Aqt,Ar,Aaas2wRUVY\]^`\`V`RaGaaaB=C"Xa^"333cBxPQST~DU>U9[Y[9[  I  Iadegahlopsvx  zB  CD  FG  zH  wH  qH  mI  bI  I  IB=BrEBJ&RCERURZ,G2a4,GggSQSWX[\^_a\adf\fXgMgggB=BxA.33"Q"XbRS_BTWYBY9a]_`a]a9a  O  Ogjkmgnruvx  zB  CE  GH  zI  wI  LN  wN  sO  hO  O  O  hOr   c                     \        ^\        ,          ^,           4      \        ^4      8X  g   Q h\        ^\        ,          ^,
          4      \        ^4      8X  g   Q h\        \        ^,           4      \        ^4      ) 8X  g   Q h\        \        ^,
          4      \        ^4      ) 8X  g   Q h\        ^\        ,          ^,           4      \        ^4      8X  g   Q h\        ^\        ,          ^,
          4      \        ^4      ) 8X  g   Q h\        \        ^,           4      \        ^4      ) 8X  g   Q h\        \        ^,
          4      \        ^4      8X  g   Q h\        R4      p \        \        ^,          V ,           4      \        V 4      8X  g   Q h\        \        ^,          V ,
          4      \        V 4      8X  g   Q h\        \        \	        ^^4      ,          V ,           4      \        V 4      ) 8X  g   Q h\        \        \	        ^^4      ,          V ,
          4      \        V 4      ) 8X  g   Q h\        \        ^,          V ,
          4      \        V 4      8X  g   Q h\        \        ^,          V ,           4      \        V 4      ) 8X  g   Q h\        \        \	        ^^4      ,          V ,           4      \        V 4      8X  g   Q h\        \        \	        ^^4      ,          V ,
          4      \        V 4      ) 8X  g   Q hR# )r   r   N)r-   r   r,   r   r   r  s    r   test_issue_14543r"  n  s   qtby>SW$$$qtby>SW$$$rBw<CG8###rBw<CG8###qtby>SW$$$qtby>c"gX%%%rBw<CG8###rBw<3r7"""sAr!tax=CF"""r!tax=CF"""r(1a. 1$%#a&000r(1a. 1$%#a&000r!tax=CF"""r!tax=SVG###r(1a. 1$%Q///r(1a. 1$%#a&000r   c                      \        \        \        \        \        ^4      ,          ,           ,          4      p V P                  4       V ^ 38X  g   Q hR# r  )r(   r   r0   r  )r  s    r   test_as_real_imagr$    s:     1qQx< !D4)+++r   c                      \        \        P                  \        ^,          R,           ,          4      p V P	                  4       ^8X  g   Q hR# )r   Ng      ?)r*   r   r   r   r  )e3s    r   test_issue_18746r'    s1    	QTT1Q39	B99;!r   c            	         \        \        \        ^,          4      \        \        4      \        ^,          8X  g   Q h\        \        \        ^,          ^,
          4      \        \        4      \        ^,          8X  g   Q h\        \        \        ^\        ,          4      \        ^\        ,          4      ,          4      \        \        4      \        ^,          8X  g   Q hR# r   )r7   r(   r   r   r   r   r   r   r   test_issue_25833r)    s    adQ#r!t+++adQhB'2a4///c!Q$iAaC()1b1RT999r   c                     \        \        \        4      \        ,          4      P                  \        4      \        ^,          8X  g   Q h\        \        R 4       \        \        \        4      \        ,          4      P                  \        4      \        ^,          8X  g   Q h\        \        R 4       \        \        \        4      \        ,          4      P                  \        4      ^ 8X  g   Q h\        \        R 4       \        \        \        4      \        ,          4      P                  \        4      \        ^,          8X  g   Q h\        \        R 4       \        \        \        4      \        ,          4      P                  \        4      ^ 8X  g   Q h\        \        R 4       \        \        \        4      \        ,          4      P                  \        4      \        ^,          8X  g   Q h\        \        R 4       R# )r   c                  f    \        \        ^\        ,          4      4      P                  \        4      # r   )r(   r   r   r   r   r   r   r   "test_issue_25847.<locals>.<lambda>      d3qs8n<<Q?r   c                  f    \        \        ^\        ,          4      4      P                  \        4      # r,  )r'   r   r   r   r   r   r   r   r-    r.  r   c                  f    \        \        ^\        ,          4      4      P                  \        4      # r,  )r#   r   r   r   r   r   r   r   r-    r.  r   c                  f    \        \        ^\        ,          4      4      P                  \        4      # r,  )r$   r   r   r   r   r   r   r   r-    r.  r   c                  f    \        \        ^\        ,          4      4      P                  \        4      # r,  )r&   r   r   r   r   r   r   r   r-    r.  r   c                  f    \        \        ^\        ,          4      4      P                  \        4      # r,  )r%   r   r   r   r   r   r   r   r-    r.  r   N)r(   r.   r   r   r   rG   r@   r'   r#   r$   r&   r%   r   r   r   test_issue_25847r4    s<   Aq>))!,1444
9?@ Aq>))!,1444
9?@ Aq>))!,111
9?@ Aq>))!,1444
9?@ Aq>))!,111
9?@ Aq>))!,1444
9?@r   c                  V   \        \        \        ,           4      P                  \        \        4      R^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,
          ^^\        ^,          ,          ,          ,           \        \        ^,          ,          ,           ^\        ,          ,
          \
        ^,          ,           \        \        R,          \        \        34      ,           8X  g   Q h\        \        \        ,           4      P                  \        \        ) 4      R^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,
          ^^\        ^,          ,          ,          ,           \        \        ^,          ,          ,           ^\        ,          ,
          \
        ^,          ,
          \        \        R,          \        \        ) 34      ,           8X  g   Q h\        \        \        ,
          4      P                  \        \        4      R^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,           ^^\        ^,          ,          ,          ,           \        \        ^,          ,          ,
          ^\        ,          ,
          \
        ^,          ,           \        \        R,          \        \        34      ,           8X  g   Q h\        \        \        ,
          4      P                  \        \        ) 4      R^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,           ^^\        ^,          ,          ,          ,           \        \        ^,          ,          ,
          ^\        ,          ,
          \
        ^,          ,
          \        \        R,          \        \        ) 34      ,           8X  g   Q h\        \        \        ,           4      P                  \        \        4      ^^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,           ^^\        ^,          ,          ,          ,
          \        \        ^,          ,          ,
          ^\        ,          ,           \        \        R,          \        \        34      ,           8X  g   Q h\        \        \        ,           4      P                  \        \        ) 4      ^^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,           ^^\        ^,          ,          ,          ,
          \        \        ^,          ,          ,
          ^\        ,          ,           \        \        R,          \        \        ) 34      ,           8X  g   Q h\        \        \        ,
          4      P                  \        \        4      ^^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,
          ^^\        ^,          ,          ,          ,
          \        \        ^,          ,          ,           ^\        ,          ,           \        \        R,          \        \        34      ,           8X  g   Q h\        \        \        ,
          4      P                  \        \        ) 4      ^^\        ^,          ,          ,          ^\        ,          \        ^,          ,          ,
          ^^\        ^,          ,          ,          ,
          \        \        ^,          ,          ,           ^\        ,          ,           \        \        R,          \        \        ) 34      ,           8X  g   Q hR# )   Nr   r  )r(   r   r   r9   r   r   r8   r$   r   r   r   test_issue_23843r7    s   A;a$Qq!tVqs1a4x(?!Qq!tV*(LqQRTUQUv(UXYZ[X[([^`ab^b(befghkmgnqrtvpwex(xxxxA;a"%a1f!AqD)@1a1f:)MPQRSUVRVPV)VYZ[\Y\)\_abc_c)cfghilnhorsvxuxqyfz)zzzzA;a$Qq!tVqs1a4x(?!Qq!tV*(LqQRTUQUv(UXYZ[X[([^`ab^b(befghkmgnqrtvpwex(xxxxA;a"%a1f!AqD)@1a1f:)MPQRSUVRVPV)VYZ[\Y\)\_abc_c)cfghilnhorsvxuxqyfz)zzzz A;a$AadFac!Q$h(>AadF(KaPQSTPTf(TWXYZWZ(Z]^_`ce_fijlnho]p(ppppA;a"%Qq!tVqs1a4x)?!Qq!tV*)LqQRTUQUv)UXYZ[X[)[^_`adf`gjknpmpiq^r)rrrrA;a$AadFac!Q$h(>AadF(KaPQSTPTf(TWXYZWZ(Z]^_`ce_fijlnho]p(ppppA;a"%Qq!tVqs1a4x)?!Qq!tV*)LqQRTUQUv)UXYZ[X[)[^_`adf`gjknpmpiq^r)rrrrr   N)!sympy.calculus.accumulationboundsr   sympy.core.addr   r   r   r   sympy.core.modr   sympy.core.mulr   sympy.core.numbersr	   r
   r   r   r   r   r   r   sympy.core.powerr   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   r   r   &sympy.functions.elementary.exponentialr   r   %sympy.functions.elementary.hyperbolicr   r   r   r   r   r    r!   (sympy.functions.elementary.miscellaneousr"   (sympy.functions.elementary.trigonometricr#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   sympy.functions.special.besselr1   r2   'sympy.functions.special.delta_functionsr3   sympy.matrices.denser4   sympy.polys.polytoolsr5   r6   sympy.series.limitsr7   sympy.series.orderr8   sympy.series.seriesr9   sympy.sets.fancysetsr:   sympy.sets.setsr;   r<   sympy.simplify.simplifyr=   sympy.core.exprr>   r?   r@   sympy.core.relationalrA   rB   $sympy.functions.elementary.piecewiserC   sympy.sets.setexprrD   sympy.testing.pytestrE   rF   rG   r   r   re   rH   r   r   rM   rP   rK  rL  rV   rX   rZ   rM  rN  r^   r`   rb   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r  r  r&  r+  r/  r4  r6  r;  r>  r@  rB  rE  rI  rX  r[  r_  ra  rl  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r   r"  r$  r'  r)  r4  r7  r   r   r   <module>rT     s   9  .   H H H   " / I I = _ _ _ 9Z Z Z Z 8 = ' / %   & ) 1 , % = ( : & 4 4 '
1a
3Tud#1
3
3CT"CT"D$DD)DD)T-T-UT*
3$D$$/|K~K4
8>%2I8
"$JfR0?
8D
1U8
e2P7
80 = =6
DU8
X1vn d d
	084 I I'E(U8
1&h.#b:[".9
,5^X"/69
4Ln	I9
T&G=R	A?:	I9T&"%!$
#(,(	6j*Z
$=$ LN LN^ H H j j$<)~8"8
>8B%9P$]"<"9J8&`">D(D(5$5$>(>((.
=$)
#'*O$1.,
:A2sr   