ó
    ‰*£héÄ ã                  ó  • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
JrJr  S SKJrJrJrJr  S SKJr  S SKJrJrJrJrJr  S S	KJrJr  S S
KJr  S SKJ r J!r!  S SK"J#r#  S SK$J%r%J&r&  S SK'J(r(J)r)  S SK*J+r,J-r-J.r.  S SK/J0r0J1r1  S SK2J3r3  S SK4J5r5J6r6J7r7  S SK8J9r9  S SK:J;r;J<r<J=r=  S SK>J?r?  S SK@JArA  S SKBJCrC  S SKDJErE  S rF " S S\	5      rG\S 5       rHS rIS@SAS jjrJ " S S \G5      rK " S! S"\G5      rL " S# S$\G5      rM " S% S&\G5      rN " S' S(\G5      rO " S) S*\O5      rP " S+ S,\O5      rQ " S- S.\	5      rR " S/ S0\	5      rS " S1 S2\S5      rT " S3 S4\S5      rU " S5 S6\S5      rV " S7 S8\S5      rW " S9 S:\S5      rX " S; S<\S5      rY " S= S>\S5      rZg?)Bé    )Úannotations)ÚAdd)Úcacheit)ÚExpr)ÚDefinedFunctionÚArgumentIndexErrorÚ	PoleErrorÚ
expand_mul)Ú	fuzzy_notÚfuzzy_orÚ	FuzzyBoolÚ	fuzzy_and)ÚMod)ÚRationalÚpiÚIntegerÚFloatÚequal_valued)ÚNeÚEq)ÚS)ÚSymbolÚDummy)Úsympify)Ú	factorialÚRisingFactorial)Ú	bernoulliÚeuler)ÚargÚimÚre)ÚlogÚexp)Úfloor)ÚsqrtÚMinÚMax)Ú	Piecewise)Ú	cos_tableÚ	ipartfracÚfermat_coords)ÚAnd)Ú	factorint)Úsymmetric_poly)Únumbered_symbolsc                ól   • [        U [        5      (       a  gU R                  [        R                  5      $ )z:Helper to extract symbolic coefficient for imaginary unit N)Ú
isinstancer   Úas_coefficientr   ÚImaginaryUnit)r   s    Úe/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/functions/elementary/trigonometric.pyÚ_imaginary_unit_as_coefficientr5   !   s'   € ä�#”u×ÑØà×!Ñ!¤!§/¡/Ó2Ð2ó    c                  ó`   • \ rS rSrSrSr\R                  4rS r	S r
SS jrSS jrSS	 jrS
rg)ÚTrigonometricFunctioné-   z(Base class for trigonometric functions. Tc                ó  • U R                   " U R                  6 nUR                   U R                   :X  aH  UR                  S   R                  (       a)  [        UR                  S   R                  5      (       a  gg g UR                  $ ©Nr   F)ÚfuncÚargsÚis_rationalr   Úis_zero©ÚselfÚss     r4   Ú_eval_is_rationalÚ'TrigonometricFunction._eval_is_rational3   se   € Ø�IŠI�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÓØ�v‰v�a‰y×$×$¬°1·6±6¸!±9×3DÑ3D×)EÑ)EØð *FÐ$ð —=‘=Ð r6   c                ój  • U R                   " U R                  6 nUR                   U R                   :X  au  [        U R                  S   R                  5      (       a  U R                  S   R                  (       a  g[        U R                  S   5      nUb  UR                  (       a  gg g UR                  $ ©Nr   FT)r<   r=   r   r?   Úis_algebraicÚ	_pi_coeffr>   )rA   rB   Úpi_coeffs      r4   Ú_eval_is_algebraicÚ(TrigonometricFunction._eval_is_algebraic;   s‡   € Ø�IŠI�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÓÜ˜Ÿ™ 1™×-Ñ-×.Ñ.°4·9±9¸Q±<×3L×3LØÜ  §¡¨1¡Ó.ˆHØÑ#¨×(<×(<Øð )=Ð#ð —>‘>Ð!r6   c                óX   • U R                   " SSU0UD6u  p4X4[        R                  -  -   $ )NÚdeep© )Úas_real_imagr   r3   )rA   rM   ÚhintsÚre_partÚim_parts        r4   Ú_eval_expand_complexÚ*TrigonometricFunction._eval_expand_complexF   s/   € Ø×,Ò,Ñ@°$Ð@¸%Ñ@ÑˆØ¤§¡Ñ0Ñ0Ð0r6   c                ó¬  • U R                   S   R                  (       a[  U(       a5  SUS'   U R                   S   R                  " U40 UD6[        R                  4$ U R                   S   [        R                  4$ U(       a3  U R                   S   R                  " U40 UD6R                  5       u  p4X44$ U R                   S   R                  5       u  p4X44$ )Nr   FÚcomplex)r=   Úis_extended_realÚexpandr   ÚZerorO   )rA   rM   rP   r!   r    s        r4   Ú_as_real_imagÚ#TrigonometricFunction._as_real_imagJ   s³   € Ø�9‰9�Q‰<×(×(ÞØ#(��iÑ ØŸ	™	 !™×+Ò+¨DÑ:°EÑ:¼A¿F¹FÐCÐCàŸ	™	 !™¤a§f¡fÐ-Ð-ÞØ—Y‘Y˜q‘\×(Ò(¨Ñ7°Ñ7×DÑDÓF‰FˆBð ˆxˆð —Y‘Y˜q‘\×.Ñ.Ó0‰FˆBØˆxˆr6   Nc                óö  • [        U R                  S   5      nUc  [        UR                  5      S   nUR	                  U5      (       d  [
        R                  $ X2:X  a  U$ X#R                  ;   a€  UR                  (       a&  UR                  U5      u  pEXR:X  a  U[        U5      -  $ UR                  (       a8  UR                  U5      u  peUR                  USS9u  pEXR:X  a  U[        U5      -  $ [        S5      e)Nr   F)Úas_Addz%Use the periodicity function instead.)r
   r=   ÚtupleÚfree_symbolsÚhasr   rY   Úis_MulÚas_independentÚabsÚis_AddÚNotImplementedError)rA   Úgeneral_periodÚsymbolÚfÚgÚhÚas          r4   Ú_periodÚTrigonometricFunction._periodW   sÔ   € Ü�t—y‘y ‘|Ó$ˆØ‰>Ü˜1Ÿ>™>Ó*¨1Ñ-ˆFà�u‰u�V�}‰}Ü—6‘6ˆMà‹;Ø!Ð!à—^‘^Ó#Ø�x�xØ×'Ñ'¨Ó/‘�Ø“;Ø)¬#¨a«&Ñ0Ð0à�x�xØ×'Ñ'¨Ó/‘�Ø×'Ñ'¨°uÐ'Ð=‘�Ø“;Ø)¬#¨a«&Ñ0Ð0ä!Ð"IÓJÐJr6   rN   ©T©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú
unbranchedr   ÚComplexInfinityÚ_singularitiesrC   rJ   rS   rZ   rl   Ú__static_attributes__rN   r6   r4   r8   r8   -   s2   † Ù2à€JØ×'Ñ'Ð)€Nò!ò	"ô1ô÷Kr6   r8   c            	     ó   • SSSSSSSSS	.$ )
N)é   é   )r{   é   )r|   é   )r}   é
   )r}   é   )r   r~   )é   é   )é(   é<   )é   r€   r�   é   é   r‚   rƒ   éx   rN   rN   r6   r4   Ú_table2rˆ   q   s&   € ð ØØØØØØØñ	ð 	r6   c                ó  • [         R                  n/ n[        R                  " U 5       HG  nUR	                  [
        5      nU(       a  UR                  (       a  X-  nM6  UR                  U5        MI     U[         R                  L a  U [         R                  4$ U[         R                  -  nX-
  nUR                  (       d#  SU-  R                  (       a#  UR                  SL a  [        X%[
        -  /-   6 U4$ U [         R                  4$ )a—  
Split ARG into two parts, a "rest" and a multiple of $\pi$.
This assumes ARG to be an Add.
The multiple of $\pi$ returned in the second position is always a Rational.

Examples
========

>>> from sympy.functions.elementary.trigonometric import _peeloff_pi
>>> from sympy import pi
>>> from sympy.abc import x, y
>>> _peeloff_pi(x + pi/2)
(x, 1/2)
>>> _peeloff_pi(x + 2*pi/3 + pi*y)
(x + pi*y + pi/6, 1/2)

é   F)r   rY   r   Ú	make_argsÚcoeffr   r>   ÚappendÚHalfÚ
is_integerÚis_even)r   rI   Ú
rest_termsrk   ÚKÚm1Úm2s          r4   Ú_peeloff_pir•   ƒ   sÆ   € ô$ �v‰v€HØ€JÜ�]Š]˜3ÖˆØ�G‰G”B‹KˆÞ�——Ø‰MŠHà×Ñ˜aÖ ñ  ð ”1—6‘6ÒØ”A—F‘Fˆ{Ðà
”Q—V‘VÑ
€BØ	‰€BØ	‡}‡}˜!˜B™$×*×*¨r¯z©z¸UÒ/BÜ�Z¤b¡5 'Ñ)Ð+¨RÐ/Ð/Ø”—‘ˆ;Ðr6   c                ó  • U [         L a  [        R                  $ U (       d  [        R                  $ U R                  (       Ga"  U R                  [         5      nU(       Ga  UR                  5       u  p4UR                  (       a�  [        U5      S-  nUS:w  aa  [        [        [        US5      R                  5       5      5      * nSU-  nX7-  n[        U5      n	[        X˜5      (       a  [        X—5      nX4-  nO[        [        U5      5      nX4-  nUR                  (       a@  US-  n
U
S:X  a  U$ U
(       d(  UR                   b  [        R                  $ [#        S5      $ X¤-  $ U$  gU R$                  (       a  [        R                  $ g)a¾  
When arg is a Number times $\pi$ (e.g. $3\pi/2$) then return the Number
normalized to be in the range $[0, 2]$, else `None`.

When an even multiple of $\pi$ is encountered, if it is multiplying
something with known parity then the multiple is returned as 0 otherwise
as 2.

Examples
========

>>> from sympy.functions.elementary.trigonometric import _pi_coeff
>>> from sympy import pi, Dummy
>>> from sympy.abc import x
>>> _pi_coeff(3*x*pi)
3*x
>>> _pi_coeff(11*pi/7)
11/7
>>> _pi_coeff(-11*pi/7)
3/7
>>> _pi_coeff(4*pi)
0
>>> _pi_coeff(5*pi)
1
>>> _pi_coeff(5.0*pi)
1
>>> _pi_coeff(5.5*pi)
3/2
>>> _pi_coeff(2 + pi)

>>> _pi_coeff(2*Dummy(integer=True)*pi)
2
>>> _pi_coeff(2*Dummy(even=True)*pi)
0

é   r   rŠ   N)r   r   ÚOnerY   ra   rŒ   Úas_coeff_MulÚis_Floatrc   ÚintÚroundr"   Úevalfr   r   r�   r�   r   r?   )r   ÚcyclesÚcxÚcÚxrh   ÚpÚmÚcmÚiÚc2s              r4   rH   rH   ¨   s3  € ðJ Œb‚yÜ�u‰uˆÞÜ�v‰vˆØ	��ˆØ�Y‰Y”r‹]ˆßØ—?‘?Ó$‰DˆAØ�z�zä˜“F˜Q‘J�Ø˜“6ÜœU¤3 q¨!£9§?¡?Ó#4Ó5Ó6Ð6�AØ˜1™�AØ™�BÜ˜B›�AÜ# A×*Ñ*Ü$ Q›N˜Ø™S˜øä ¤ Q£Ó(�AØ™�BØ�|�|Ø˜‘U�Ø˜“7Ø�HÞØ—y‘yÑ,Ü Ÿv™v˜Ü" 1›:Ð%à™4�KØˆIð5 ð: ð 
��Ü�v‰vˆØr6   c                  óê   ^ • \ rS rSrSrSS jrSS jr\S 5       r\	\
S 5       5       rSU 4S jjrS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS S jrS rS rS rS rS rS r Sr!U =r"$ )!Úsinéó   a3  
The sine function.

Returns the sine of x (measured in radians).

Explanation
===========

This function will evaluate automatically in the
case $x/\pi$ is some rational number [4]_.  For example,
if $x$ is a multiple of $\pi$, $\pi/2$, $\pi/3$, $\pi/4$, and $\pi/6$.

Examples
========

>>> from sympy import sin, pi
>>> from sympy.abc import x
>>> sin(x**2).diff(x)
2*x*cos(x**2)
>>> sin(1).diff(x)
0
>>> sin(pi)
0
>>> sin(pi/2)
1
>>> sin(pi/6)
1/2
>>> sin(pi/12)
-sqrt(2)/4 + sqrt(6)/4


See Also
========

csc, cos, sec, tan, cot
asin, acsc, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Trigonometric_functions
.. [2] https://dlmf.nist.gov/4.14
.. [3] https://functions.wolfram.com/ElementaryFunctions/Sin
.. [4] https://mathworld.wolfram.com/TrigonometryAngles.html

c                ó4   • U R                  S[        -  U5      $ ©NrŠ   ©rl   r   ©rA   rg   s     r4   ÚperiodÚ
sin.period#  ó   € Ø�|‰|˜Aœb™D &Ó)Ð)r6   c                óT   • US:X  a  [        U R                  S   5      $ [        X5      e©Nr—   r   )Úcosr=   r   ©rA   Úargindexs     r4   ÚfdiffÚ	sin.fdiff&  s'   € Ø�q‹=Ü�t—y‘y ‘|Ó$Ð$ä$ TÓ4Ð4r6   c           
     ó$  • SSK Jn  SSKJn  UR                  (       aq  U[
        R                  L a  [
        R                  $ UR                  (       a  [
        R                  $ U[
        R                  [
        R                  4;   a	  U" SS5      $ U[
        R                  L a  [
        R                  $ [        X5      (       Ga8  SSKJn  UR                  UR                   pe[#        US[$        -  -  5      nU[
        R                  La  XWS-  [$        -  -
  nU[
        R                  La  XgS-  [$        -  -
  nU" XV5      R'                  U" [$        S-  [$        [)        SS5      -  5      5      [
        R*                  LaZ  U" XV5      R'                  U" [$        [)        S	S5      -  [$        [)        S
S5      -  5      5      [
        R*                  La	  U" SS5      $ U" XV5      R'                  U" [$        S-  [$        [)        SS5      -  5      5      [
        R*                  La%  U" [-        [/        U5      [/        U5      5      S5      $ U" XV5      R'                  U" [$        [)        S	S5      -  [$        [)        SS5      -  5      5      [
        R*                  La%  U" S[1        [/        U5      [/        U5      5      5      $ U" [-        [/        U5      [/        U5      5      [1        [/        U5      [/        U5      5      5      $ [        X5      (       a  UR3                  U 5      $ UR5                  5       (       a
  U " U* 5      * $ [7        U5      nUb  SSKJn	  [
        R<                  U	" U5      -  $ [?        U5      n
U
Gb2  U
R@                  (       a  [
        R                  $ SU
-  R@                  (       a3  U
RB                  SL a$  [
        RD                  U
[
        RF                  -
  -  $ U
RH                  (       d  U
[$        -  nX±:w  a  U " U5      $ g U
RH                  (       a‘  U
S-  nUS:”  a  U " US-  [$        -  5      * $ SU-  S:”  a  U " SU-
  [$        -  5      $ U
[)        S	S5      -   S-  [$        -  n[K        U5      n[        U[J        5      (       d  U$ U
[$        -  U:w  a  U " U
[$        -  5      $ g URL                  (       aL  [O        U5      u  pÎU(       a8  U[$        -  n[/        U5      [K        U5      -  [K        U5      [/        U5      -  -   $ UR                  (       a  [
        R                  $ [        U[P        5      (       a  URR                  S   $ [        U[T        5      (       a#  URR                  S   nU[W        SUS-  -   5      -  $ [        U[X        5      (       a%  URR                  u  püU[W        US-  US-  -   5      -  $ [        U[Z        5      (       a   URR                  S   n[W        SUS-  -
  5      $ [        U[\        5      (       a)  URR                  S   nS[W        SSUS-  -  -   5      U-  -  $ [        U[^        5      (       a  URR                  S   nSU-  $ [        U[`        5      (       a#  URR                  S   n[W        SSUS-  -  -
  5      $ g )Nr   ©ÚAccumBounds©ÚSetExpréÿÿÿÿr—   ©Ú	FiniteSetrŠ   r|   rz   é   r   )ÚsinhF)1Ú!sympy.calculus.accumulationboundsrº   Úsympy.sets.setexprr¼   Ú	is_Numberr   ÚNaNr?   rY   ÚInfinityÚNegativeInfinityrv   r1   Úsympy.sets.setsr¿   ÚminÚmaxr$   r   Úintersectionr   ÚEmptySetr&   r¨   r'   Ú
_eval_funcÚcould_extract_minus_signr5   Ú%sympy.functions.elementary.hyperbolicrÁ   r3   rH   r�   r�   ÚNegativeOnerŽ   Úis_Rationalr³   rd   r•   Úasinr=   Úatanr%   Úatan2ÚacosÚacotÚacscÚasec)Úclsr   rº   r¼   r¿   rÉ   rÊ   ÚdÚi_coeffrÁ   rI   Únargr¡   Úresultr£   Úys                   r4   ÚevalÚsin.eval,  sC  € åAÝ.Ø�=�=Ø”a—e‘eŠ|Ü—u‘u�Ø——Ü—v‘v�ØœŸ™¤Q×%7Ñ%7Ð8Ó8Ù" 2 qÓ)Ð)à”!×#Ñ#Ò#Ü—5‘5ˆLä�c×'Ò'Ý1Ø—w‘w §¡�Ü�c˜1œR™4‘jÓ!ˆAØœ!×,Ñ,Ò,Ø˜a™C¤™F‘l�Øœ!Ÿ*™*Ò$Ø˜a™C¤™F‘l�Ù˜3Ó$×1Ñ1±)¼B¸q¹DÄ"ÄXÈaÐQRÃ^ÑBSÓ2TÓUÜŸ:™:ò&á Ó)×6Ñ6±yÄÄHÈQÐPQÃNÑARÜœ8 A q›>Ñ)ó8+ó ,Ü34·:±:ò>á" 2 qÓ)Ð)Ù˜SÓ&×3Ñ3±I¼bÀ¹dÄBÄxÐPQÐSTÃ~ÑDUÓ4VÓWÜŸ:™:ò&á"¤3¤s¨3£x´°S³Ó#:¸AÓ>Ð>Ù˜SÓ&×3Ñ3±I¼bÄÈ!ÈQÃÑ>OÔQSÔT\Ð]^Ð`aÓTbÑQbÓ4cÓdÜ Ÿz™zò*á" 2¤s¬3¨s«8´S¸³XÓ'>Ó?Ð?á"¤3¤s¨3£x´°S³Ó#:Ü #¤C¨£H¬c°#«hÓ 7ó9ð 9ä˜×%Ñ%Ø—>‘> #Ó&Ð&à×'Ñ'×)Ñ)Ù˜˜“I�:Ðä0°Ó5ˆØÑÝBÜ—?‘?¡4¨£=Ñ0Ð0ä˜S“>ˆØÒØ×"×"Ü—v‘v�à�(‘
×&×&ð ×#Ñ# uÒ,ÜŸ=™=¨8´a·f±fÑ+<Ñ=Ð=à×'×'Ø¤‘{�Ø“;Ù˜t›9Ð$Øð ×#×#Ø˜q‘L�Ø�q“5Ù  Q¡¬¡
›OÐ+Ð+Ø�Q‘3˜“7Ù  A¡¤r™z›?Ð*Ø!¤H¨Q°£NÑ2°aÑ7¼Ñ;�Ü˜T›�Ü! &¬#×.Ñ.Ø!�MØœB‘; #Ó%Ù˜x¬™{Ó+Ð+Øà�:�:Ü˜sÓ#‰DˆAÞØ”b‘D�Ü˜1“vœc !›f‘}¤s¨1£v¬c°!«f¡}Ñ4Ð4à�;�;Ü—6‘6ˆMä�cœ4× Ñ Ø—8‘8˜A‘;Ðä�cœ4× Ñ Ø—‘˜‘ˆAØ”T˜!˜a ™d™(“^Ñ#Ð#ä�cœ5×!Ñ!Ø—8‘8‰DˆAØ”T˜!˜Q™$  A¡™+Ó&Ñ&Ð&ä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A˜q™D™“>Ð!ä�cœ4× Ñ Ø—‘˜‘ˆAØ”d˜1˜q  A¡™v™:Ó& qÑ(Ñ)Ð)ä�cœ4× Ñ Ø—‘˜‘ˆAØ�Q‘3ˆJä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A˜a ™d™F™
Ó#Ð#ð !r6   c                óî   • U S:  d	  U S-  S:X  a  [         R                  $ [        U5      n[        U5      S:”  a  US   nU* US-  -  X S-
  -  -  $ [         R                  U S-  -  X-  -  [        U 5      -  $ ©Nr   rŠ   éþÿÿÿr—   ©r   rY   r   ÚlenrÐ   r   ©Únr¡   Úprevious_termsr¢   s       r4   Útaylor_termÚsin.taylor_term¡  ó|   € ð ˆq‹5�A˜‘E˜Q“JÜ—6‘6ˆMä˜“
ˆAä�>Ó" QÓ&Ø" 2Ñ&�Ø�r˜!˜Q™$‘w  q¡5¡	Ñ*Ð*ä—}‘} q¨!¡tÑ,¨Q©TÑ1´)¸A³,Ñ>Ð>r6   c                ó  >• U R                   S   nUb  UR                  [        U5      U5      nUR                  US5      R                  [        R
                  [        R                  5      (       a  [        SU -  5      e[        TU ]%  XX4S9$ ©Nr   zCannot expand %s around 0)rç   ÚlogxÚcdir©
r=   Úsubsr"   r`   r   rÅ   rv   r	   ÚsuperÚ_eval_nseries©rA   r¡   rç   rî   rï   r   Ú	__class__s         €r4   ró   Úsin._eval_nseries¯  ów   ø€ Ø�i‰i˜‰lˆØÑØ—(‘(œ3˜q›6 4Ó(ˆCØ�8‰8�A�q‹>×ÑœaŸe™e¤Q×%6Ñ%6×7Ñ7ÜÐ7¸4Ñ@ÓAÐAÜ‰wÑ$ Q°$Ð$ÐBÐBr6   c                ó  • SSK Jn  [        R                  n[	        U[
        U45      (       a1  UR                  UR                  S   5      R                  [        5      n[        X-  5      [        U* U-  5      -
  SU-  -  $ ©Nr   ©ÚHyperbolicFunctionrŠ   ©
rÏ   rû   r   r3   r1   r8   r<   r=   Úrewriter#   )rA   r   Úkwargsrû   ÚIs        r4   Ú_eval_rewrite_as_expÚsin._eval_rewrite_as_exp·  sg   € ÝLÜ�O‰OˆÜ�cÔ1Ð3EÐF×GÑGØ—(‘(˜3Ÿ8™8 A™;Ó'×/Ñ/´Ó4ˆCÜ�C‘E“
œS #  a¡›[Ñ(¨1¨Q©3Ñ/Ð/r6   c                ó˜   • [        U[        5      (       a5  [        R                  nUR                  S   nX4U* -  -  S-  X4U-  -  S-  -
  $ g ©Nr   rŠ   ©r1   r"   r   r3   r=   ©rA   r   rþ   rÿ   r¡   s        r4   Ú_eval_rewrite_as_PowÚsin._eval_rewrite_as_Pow¾  sK   € Ü�cœ3×ÑÜ—‘ˆAØ—‘˜‘ˆAØ˜˜‘U‘7˜1‘9˜q A¡™v q™yÑ(Ð(ð  r6   c                ó*   • [        U[        S-  -
  SS9$ ©NrŠ   F©Úevaluate©r³   r   ©rA   r   rþ   s      r4   Ú_eval_rewrite_as_cosÚsin._eval_rewrite_as_cosÄ  ó   € Ü�3œ˜A™‘:¨Ñ.Ð.r6   c                óV   • [        [        R                  U-  5      nSU-  SUS-  -   -  $ ©NrŠ   r—   ©Útanr   rŽ   ©rA   r   rþ   Útan_halfs       r4   Ú_eval_rewrite_as_tanÚsin._eval_rewrite_as_tanÇ  s*   € Ü”q—v‘v˜c‘z“?ˆØ�‰z˜1˜x¨™{™?Ñ+Ð+r6   c                óH   • [        U5      [        U5      -  [        U5      -  $ ro   ©r¨   r³   r  s      r4   Ú_eval_rewrite_as_sincosÚsin._eval_rewrite_as_sincosË  ó   € Ü�3‹xœ˜C›Ñ ¤ S£Ñ)Ð)r6   c                óÜ   • [        [        R                  U-  5      n[        S[	        [        [        U5      S5      [        [        U[        5      S5      5      4SU-  SUS-  -   -  S45      $ )Nr   rŠ   r—   T©	Úcotr   rŽ   r(   r,   r   r    r   r   ©rA   r   rþ   Úcot_halfs       r4   Ú_eval_rewrite_as_cotÚsin._eval_rewrite_as_cotÎ  s^   € Ü”q—v‘v˜c‘z“?ˆÜ˜!œS¤¤B s£G¨Q£´´C¸¼R³LÀ!Ó1DÓEÐFØ˜H™* a¨(°A©+¡oÑ6¸Ð=ó?ð 	?r6   c                óZ   • U R                   " [        40 UD6R                   " [        40 UD6$ ro   )rý   r³   Úpowr  s      r4   Ú_eval_rewrite_as_powÚsin._eval_rewrite_as_powÓ  s&   € Ø�|Š|œCÑ* 6Ñ*×2Ò2´3ÑA¸&ÑAÐAr6   c                óZ   • U R                   " [        40 UD6R                   " [        40 UD6$ ro   )rý   r³   r%   r  s      r4   Ú_eval_rewrite_as_sqrtÚsin._eval_rewrite_as_sqrtÖ  s&   € Ø�|Š|œCÑ* 6Ñ*×2Ò2´4ÑB¸6ÑBÐBr6   c                ó   • S[        U5      -  $ ©Nr—   ©Úcscr  s      r4   Ú_eval_rewrite_as_cscÚsin._eval_rewrite_as_cscÙ  ó   € Ø”�S“‰zÐr6   c                ó0   • S[        U[        S-  -
  SS9-  $ )Nr—   rŠ   Fr
  ©Úsecr   r  s      r4   Ú_eval_rewrite_as_secÚsin._eval_rewrite_as_secÜ  s   € Ø”�Sœ2˜a™4‘Z¨%Ñ0Ñ0Ð0r6   c                ó   • U[        U5      -  $ ro   )Úsincr  s      r4   Ú_eval_rewrite_as_sincÚsin._eval_rewrite_as_sincß  s   € Ø”4˜“9‰}Ðr6   c                óh   • SSK Jn  [        [        U-  S-  5      U" [        R
                  U5      -  $ )Nr   ©ÚbesseljrŠ   ©Úsympy.functions.special.besselr>  r%   r   r   rŽ   ©rA   r   rþ   r>  s       r4   Ú_eval_rewrite_as_besseljÚsin._eval_rewrite_as_besseljâ  s'   € Ý:Ü”B�s‘F˜1‘H‹~™g¤a§f¡f¨cÓ2Ñ2Ð2r6   c                óZ   • U R                  U R                  S   R                  5       5      $ ©Nr   ©r<   r=   Ú	conjugate©rA   s    r4   Ú_eval_conjugateÚsin._eval_conjugateæ  ó"   € Ø�y‰y˜Ÿ™ 1™×/Ñ/Ó1Ó2Ð2r6   c                óŽ   • SSK JnJn  U R                  " SSU0UD6u  pV[	        U5      U" U5      -  [        U5      U" U5      -  4$ ©Nr   ©ÚcoshrÁ   rM   rN   )rÏ   rO  rÁ   rZ   r¨   r³   ©rA   rM   rP   rO  rÁ   r!   r    s          r4   rO   Úsin.as_real_imagé  sD   € ßDØ×#Ò#Ñ7¨Ð7°Ñ7‰ˆÜ�B“™˜R›Ñ ¤# b£'©$¨r«(Ñ"2Ð3Ð3r6   c           	     óÈ  • SSK JnJn  U R                  S   nS nUR                  (       a{  UR                  5       u  pV[        USS9R                  5       n[        USS9R                  5       n[        USS9R                  5       n	[        USS9R                  5       n
Xz-  X‰-  -   $ UR                  (       a¢  UR                  SS9u  pµUR                  (       a€  UR                  (       a,  [        R                  US-
  S-  -  U" U[        U5      5      -  $ [        [        R                  US-  S-
  -  [        U5      -  U" US-
  [        U5      5      -  SS	9$ [        U5      $ )
Nr   )Ú
chebyshevtÚ
chebyshevuFr
  T©Úrationalr—   rŠ   )rM   )Ú#sympy.functions.special.polynomialsrS  rT  r=   rd   Úas_two_termsr¨   Ú_eval_expand_trigr³   ra   r™   Ú
is_IntegerÚis_oddr   rÐ   r
   )rA   rP   rS  rT  r   r¡   rÞ   ÚsxÚsyrŸ   Úcyrç   s               r4   rY  Úsin._eval_expand_trigî  s2  € ßNØ�i‰i˜‰lˆØˆØ�:�:à×#Ñ#Ó%‰DˆAÜ�Q Ñ'×9Ñ9Ó;ˆBÜ�Q Ñ'×9Ñ9Ó;ˆBÜ�Q Ñ'×9Ñ9Ó;ˆBÜ�Q Ñ'×9Ñ9Ó;ˆBØ‘5˜2™5‘=Ð Ø�Z�ZØ×#Ñ#¨TÐ#Ð2‰DˆAØ�|�|ð —8—8ÜŸ=™=¨A°©E°1©9Ñ5±jÀÄCÈÃFÓ6KÑKÐKä%¤a§m¡m°a¸±c¸A±gÑ&>¼sÀ1»vÑ&EÙ&0°°Q±¼¸A»Ó&?ñ'@ØFKñMð Mä�3‹xˆr6   c                ó"  • SSK Jn  U R                  S   nUR                  US5      R	                  5       nU[
        -  nUR                  (       a0  XW[
        -  -
  R                  U5      n[        R                  U-  U-  $ U[        R                  L a-  UR                  US[        U5      R                  (       a  SOSS9nU[        R                  [        R                  4;   a	  U" SS5      $ UR                   (       a  U R#                  U5      $ U $ )Nr   r¹   Ú-Ú+©Údirr½   r—   ©rÂ   rº   r=   rñ   Úcancelr   r�   Úas_leading_termr   rÐ   rv   Úlimitr!   Úis_negativerÆ   rÇ   Ú	is_finiter<   ©	rA   r¡   rî   rï   rº   r   Úx0rç   Últs	            r4   Ú_eval_as_leading_termÚsin._eval_as_leading_term  sÑ   € ÝAØ�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØŒr‰EˆØ�<�<Øœ"™‘*×-Ñ-¨aÓ0ˆBÜ—M‘M 1Ñ$ bÑ(Ð(Ø”×"Ñ"Ò"Ø—‘˜1˜a¬B¨t«H×,@×,@¡SÀc�ÐJˆBØ”!—*‘*œa×0Ñ0Ð1Ó1Ù˜r 1Ó%Ð%Ø "§§ˆt�y‰y˜‹}Ð6°$Ð6r6   c                óB   • U R                   S   R                  (       a  gg ©Nr   T©r=   rW   rH  s    r4   Ú_eval_is_extended_realÚsin._eval_is_extended_real  ó   € Ø�9‰9�Q‰<×(×(Øð )r6   c                óF   • U R                   S   nUR                  (       a  gg rq  rr  ©rA   r   s     r4   Ú_eval_is_finiteÚsin._eval_is_finite  s    € Ø�i‰i˜‰lˆØ××Øð  r6   c                ór   • [        U R                  S   5      u  pUR                  (       a  UR                  $ g rE  ©r•   r=   r?   r�   ©rA   ÚrestÚpi_mults      r4   Ú_eval_is_zeroÚsin._eval_is_zero  ó.   € Ü# D§I¡I¨a¡LÓ1‰ˆØ�<�<Ø×%Ñ%Ð%ð r6   c                ó~   • U R                   S   R                  (       d  U R                   S   R                  (       a  gg rq  ©r=   rW   Ú
is_complexrH  s    r4   Ú_eval_is_complexÚsin._eval_is_complex#  s,   € Ø�9‰9�Q‰<×(×(Ø—9‘9˜Q‘<×*×*Øð +r6   rN   ro   ©r—   ©r   rn   )#rp   rq   rr   rs   rt   r®   r¶   Úclassmethodrß   Ústaticmethodr   ré   ró   r   r  r  r  r  r#  r'  r*  r0  r6  r:  rB  rI  rO   rY  rn  rs  rx  r  r…  rx   Ú__classcell__©rõ   s   @r4   r¨   r¨   ó   s·   ø† ñ-ô^*ô5ð ñr$ó ðr$ðh Øñ
?ó ó ð
?÷Cò0ò)ò/ò,ò*ò?ò
BòCòò1òò3ò3ô4ò
ò27òòò
&÷
ð r6   r¨   c                  óè   ^ • \ rS rSrSrSS jrSS jr\S 5       r\	\
S 5       5       rSU 4S jjrS rS	 rS
 rS rS rS rS rSS jrS rS rS rS rS S jrS rS rS rS rS rS rSr U =r!$ )!r³   i)  a‚  
The cosine function.

Returns the cosine of x (measured in radians).

Explanation
===========

See :func:`sin` for notes about automatic evaluation.

Examples
========

>>> from sympy import cos, pi
>>> from sympy.abc import x
>>> cos(x**2).diff(x)
-2*x*sin(x**2)
>>> cos(1).diff(x)
0
>>> cos(pi)
-1
>>> cos(pi/2)
0
>>> cos(2*pi/3)
-1/2
>>> cos(pi/12)
sqrt(2)/4 + sqrt(6)/4

See Also
========

sin, csc, sec, tan, cot
asin, acsc, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Trigonometric_functions
.. [2] https://dlmf.nist.gov/4.14
.. [3] https://functions.wolfram.com/ElementaryFunctions/Cos

c                ó4   • U R                  S[        -  U5      $ r«   r¬   r­   s     r4   r®   Ú
cos.periodU  r°   r6   c                óV   • US:X  a  [        U R                  S   5      * $ [        X5      er²   )r¨   r=   r   r´   s     r4   r¶   Ú	cos.fdiffX  s*   € Ø�q‹=Ü˜Ÿ	™	 !™Ó%Ð%Ð%ä$ TÓ4Ð4r6   c                óâ
  • SSK Jn  SSKJn  SSKJn  UR                  (       aq  U[        R                  L a  [        R                  $ UR                  (       a  [        R                  $ U[        R                  [        R                  4;   a	  U" SS5      $ U[        R                  L a  [        R                  $ [        X5      (       a  [        U[         S-  -   5      $ [        X5      (       a  UR#                  U 5      $ UR$                  (       a  UR&                  SL a	  U" SS5      $ UR)                  5       (       a	  U " U* 5      $ [+        U5      nUb  SS	KJn  U" U5      $ [1        U5      nUGb  UR2                  (       a  [        R4                  U-  $ SU-  R2                  (       a  UR6                  SL a  [        R8                  $ UR:                  (       d  U[         -  nX�:w  a  U " U5      $ g UR:                  (       Ga‡  UR<                  n	UR>                  SU	-  -  n
X©:”  a  US-
  [         -  nU " U5      * $ SU
-  U	:”  a  SU-
  [         -  nU " U5      * $ [A        5       nX›;   a^  X¹   u  pÍU
[         -  U-  U
[         -  U-  pÜU " U5      U " U5      pþS Xï4;   a  g Xï-  U " [         S-  U-
  5      U " [         S-  U-
  5      -  -   $ U	S
:”  a  g [        RB                  [E        S5      S-   S-  S.nU	U;   a0  UUR<                     nU" UR>                  U5      RG                  5       $ SU	S-  :X  a\  US-  [         -  nU " U5      nS U:X  a  g SU-  S-   S-  nSUS:  a  SOS[I        [K        U5      5      -  -  nU[E        SU-   S-  5      -  $ g URL                  (       aM  [O        U5      u  nnU(       a8  U[         -  n[Q        U5      [Q        U5      -  [        U5      [        U5      -  -
  $ UR                  (       a  [        R                  $ [        U[R        5      (       a  URT                  S   $ [        U[V        5      (       a#  URT                  S   nS[E        SUS-  -   5      -  $ [        U[X        5      (       a&  URT                  u  nnU[E        US-  US-  -   5      -  $ [        U[Z        5      (       a   URT                  S   n[E        SUS-  -
  5      $ [        U[\        5      (       a&  URT                  S   nS[E        SSUS-  -  -   5      -  $ [        U[^        5      (       a#  URT                  S   n[E        SSUS-  -  -
  5      $ [        U[`        5      (       a  URT                  S   nSU-  $ g )Nr   ©rS  r¹   r»   r½   r—   rŠ   F)rO  r„   r|   r{   )rz   r|   )1rW  rS  rÂ   rº   rÃ   r¼   rÄ   r   rÅ   r?   r˜   rÆ   rÇ   rv   r1   r¨   r   rÍ   rW   rj  rÎ   r5   rÏ   rO  rH   r�   rÐ   r�   rY   rÑ   Úqr¢   rˆ   rŽ   r%   rX   r›   rc   rd   r•   r³   rÕ   r=   rÓ   rÔ   rÒ   rÖ   r×   rØ   )rÙ   r   rS  rº   r¼   rÛ   rO  rI   rÜ   r”  r¢   Útable2rk   ÚbÚnvalaÚnvalbÚcst_table_someÚctsÚnvalr¡   Úsign_cosr£   rÞ   s                          r4   rß   Úcos.eval^  sº  € åBÝAÝ.Ø�=�=Ø”a—e‘eŠ|Ü—u‘u�Ø——Ü—u‘u�ØœŸ™¤Q×%7Ñ%7Ð8Ó8ñ
 # 2 qÓ)Ð)à”!×#Ñ#Ò#Ü—5‘5ˆLä�c×'Ñ'Ü�sœR ™T‘z“?Ð"Ü˜×%Ñ%Ø—>‘> #Ó&Ð&à×× C§M¡M°UÒ$:Ù˜r 1Ó%Ð%à×'Ñ'×)Ñ)Ù˜�t“9Ðä0°Ó5ˆØÑÝBÙ˜“=Ð ä˜S“>ˆØÒØ×"×"ÜŸ™¨Ñ0Ð0à�(‘
×&×&ð ×#Ñ# uÒ,ÜŸ6™6�Mà×'×'Ø¤‘{�Ø“;Ù˜t›9Ð$Øð ×#×#Ð#Ø—J‘J�Ø—J‘J ! A¡#Ñ&�Ø“5Ø$ q™L¬"Ñ,�DÙ ›I˜:Ð%Ø�Q‘3˜“7Ø ™L¬"Ñ,�DÙ ›I˜:Ð%ô !›�Ø“;Ø!™9‘D�AØœR™4 ™6 1¤R¡4¨¡6�qÙ#& q£6©3¨q«6˜5Ø ˜~Ó-Ø#Ø ™;©¬R°©T°A©X«±s¼2¸a¹4À!¹8³}Ñ)DÑDÐDà�r“6Øô —v‘vÜ˜Q› !™ qÑ(ñ"�ð ˜Ó&Ø(¨¯©Ñ4�CÙ% h§j¡j°#Ó6×=Ñ=Ó?Ð?à˜˜A™“:Ø$ Q™J¬™?�DÙ˜t›9�DØ˜t“|Ø#Ø˜8™ a™¨Ñ*�AØ "¨Q°«U¡r¸¼3¼sÀ1»v»;Ñ&FÑG�HØ#¤D¨1¨t©8°Q©,Ó$8Ñ8Ð8Øà�:�:Ü˜sÓ#‰DˆAˆqÞØ”b‘D�Ü˜1“vœc !›f‘}¤s¨1£v¬c°!«f¡}Ñ4Ð4à�;�;Ü—5‘5ˆLä�cœ4× Ñ Ø—8‘8˜A‘;Ðä�cœ4× Ñ Ø—‘˜‘ˆAØ”T˜!˜a ™d™(“^Ñ#Ð#ä�cœ5×!Ñ!Ø—8‘8‰DˆAˆqØ”T˜!˜Q™$  A¡™+Ó&Ñ&Ð&ä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A ™F™
Ó#Ð#ä�cœ4× Ñ Ø—‘˜‘ˆAØ”T˜!˜a  1¡™f™*Ó%Ñ%Ð%ä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A˜a ™d™F™
Ó#Ð#ä�cœ4× Ñ Ø—‘˜‘ˆAØ�Q‘3ˆJð !r6   c                óî   • U S:  d	  U S-  S:X  a  [         R                  $ [        U5      n[        U5      S:”  a  US   nU* US-  -  X S-
  -  -  $ [         R                  U S-  -  X-  -  [        U 5      -  $ )Nr   rŠ   r—   rã   rä   ræ   s       r4   ré   Úcos.taylor_termê  rë   r6   c                ó  >• U R                   S   nUb  UR                  [        U5      U5      nUR                  US5      R                  [        R
                  [        R                  5      (       a  [        SU -  5      e[        TU ]%  XX4S9$ rí   rð   rô   s         €r4   ró   Úcos._eval_nseriesø  r÷   r6   c                ó  • [         R                  nSSKJn  [	        U[
        U45      (       a3  UR                  UR                  S   5      R                  " [        40 UD6n[        X-  5      [        U* U-  5      -   S-  $ rù   ©
r   r3   rÏ   rû   r1   r8   r<   r=   rý   r#   )rA   r   rþ   rÿ   rû   s        r4   r   Úcos._eval_rewrite_as_exp   sh   € Ü�O‰OˆÝLÜ�cÔ1Ð3EÐF×GÑGØ—(‘(˜3Ÿ8™8 A™;Ó'×/Ò/´Ñ>°vÑ>ˆCÜ�C‘E“
œS #  a¡›[Ñ(¨!Ñ+Ð+r6   c                óŒ   • [        U[        5      (       a/  [        R                  nUR                  S   nXC-  S-  XC* -  S-  -   $ g r  r  r  s        r4   r  Úcos._eval_rewrite_as_Pow  sC   € Ü�cœ3×ÑÜ—‘ˆAØ—‘˜‘ˆAØ‘4˜‘6˜A˜r™E !™GÑ#Ð#ð  r6   c                ó*   • [        U[        S-  -   SS9$ r	  )r¨   r   r  s      r4   Ú_eval_rewrite_as_sinÚcos._eval_rewrite_as_sin  r  r6   c                óV   • [        [        R                  U-  5      S-  nSU-
  SU-   -  $ r  r  r  s       r4   r  Úcos._eval_rewrite_as_tan  s+   € Ü”q—v‘v˜c‘z“? AÑ%ˆØ�H‘˜q 8™|Ñ,Ð,r6   c                óH   • [        U5      [        U5      -  [        U5      -  $ ro   r  r  s      r4   r  Úcos._eval_rewrite_as_sincos  r  r6   c                óâ   • [        [        R                  U-  5      S-  n[        S[	        [        [        U5      S5      [        [        US[        -  5      S5      5      4US-
  US-   -  S45      $ )NrŠ   r—   r   Tr  r!  s       r4   r#  Úcos._eval_rewrite_as_cot  se   € Ü”q—v‘v˜c‘z“? AÑ%ˆÜ˜!œS¤¤B s£G¨Q£´´C¸¸Q¼r¹T³NÀAÓ1FÓGÐHØ# a™<¨(°Q©,Ñ7¸Ð>ó@ð 	@r6   c                ó(   • U R                   " U40 UD6$ ro   )r*  r  s      r4   r'  Úcos._eval_rewrite_as_pow  s   € Ø×)Ò)¨#Ñ8°Ñ8Ð8r6   c                ób  ^• SSK Jn  [        U5      mTc  g [        T[        5      (       a  g [        T[
        5      (       d  g [        5       nTR                  U;   aG  U" TR                  UTR                     " 5       5      nTR                  S:  a  UR                  5       nU$ TR                  S-  (       d_  TS-  n[        U[        -  5      R                  " [        40 UD6nUS-   S-  n[        U5      S-  (       a  SOSn	U	[        SU-   S-  5      -  $ [        TR                  5      n
U
(       a  U
nO9[!        TR                  5      R#                  5        VVs/ s H	  u  pÍXÍ-  PM     nnn[%        U6 nU4S j['        Xë5       5       n['        U[)        S5      5       Vs/ s H  oˆS   US   [        -  4PM     nn[        [+        S	 U 5       5      5      R-                  5       R/                  U5      nU
(       a  [1        U
5      S:X  a  U$ UR                  " [        40 UD6$ s  snnf s  snf )
Nr   r“  i  rŠ   r—   r½   c              3  óX   >#   • U  H  u  pTR                   [        X5      -  v •  M!     g 7fro   )r¢   r   )Ú.0rç   rÚ   rI   s      €r4   Ú	<genexpr>Ú,cos._eval_rewrite_as_sqrt.<locals>.<genexpr>B  s"   øé € ÐMÒ:L±$°!�(—*‘*œx¨›~Ö-Ò:Lùs   ƒ'*Úzc              3  ó*   #   • U  H	  oS    v •  M     g7f)r   NrN   )r´  r¡   s     r4   rµ  r¶  D  s   é € Ð'¢Q ˜–t¢Qùs   ‚)rW  rS  rH   r1   r   r   r)   r”  r¢   rX   r³   r   rý   r%   r›   r+   r-   Úitemsr*   Úzipr/   ÚsumrY  rñ   rå   )rA   r   rþ   rS  r™  ÚrvÚpico2r›  r¡   rœ  ÚFCÚdenomsr–  ÚeÚapartÚdecompÚXÚpclsrI   s                     @r4   r*  Úcos._eval_rewrite_as_sqrt  sÑ  ø€ ÝBä˜S“>ˆØÑØä�h¤×(Ñ(Øä˜(¤H×-Ñ-Øä"›ˆà�:‰:˜Ó'Ù˜HŸJ™J¨°x·z±zÒ(BÓ(DÓEˆBØ�z‰z˜CÓØ—Y‘Y“[�ØˆIà�z‰z˜A�~Ø˜q‘LˆEÜ�uœr‘z“?×*Ò*¬4Ñ:°6Ñ:ˆDØ˜‘˜a‘ˆAÜ  ›V aŸZ‘r¨QˆHØœd A¨¡H°¡>Ó2Ñ2Ð2ä˜8Ÿ:™:Ó&ˆÞØ‰Fä'0°·±Ó'<×'BÑ'BÔ'DÔEÒ'D™t˜q�a”dÑ'DˆFÑEä˜6Ð"ˆÜM¼#¸eÔ:LÓMˆÜ&)¨&Ô2BÀ3Ó2GÔ&HÓIÒ&H �‰d�A�a‘Dœ‘G‹_Ñ&HˆÐIÜ”3Ñ'¡QÓ'Ó'Ó(×:Ñ:Ó<×AÑAÀ!ÓDˆæ”S˜“W “\ØˆKØ�|Š|œDÑ+ FÑ+Ð+ùó Fùò Js   ÅH&Æ#H,c                ó   • S[        U5      -  $ r-  ©r5  r  s      r4   r6  Úcos._eval_rewrite_as_secJ  r2  r6   c                óH   • S[        U5      R                  " [        40 UD6-  $ r-  )r5  rý   r/  r  s      r4   r0  Úcos._eval_rewrite_as_cscM  ó!   € Ø”�S“×!Ò!¤#Ñ0¨Ñ0Ñ0Ð0r6   c                ó–   • SSK Jn  [        [        [        U-  S-  5      U" [
        R                  * U5      -  [        US5      4S5      $ )Nr   r=  rŠ   ©r—   T©r@  r>  r(   r%   r   r   rŽ   r   rA  s       r4   rB  Úcos._eval_rewrite_as_besseljP  sA   € Ý:ÜÜ”b˜‘f˜Q‘h“¡¬¯©¨°Ó 5Ñ5´r¸#¸q³zÐBØóð 	r6   c                óZ   • U R                  U R                  S   R                  5       5      $ rE  rF  rH  s    r4   rI  Úcos._eval_conjugateW  rK  r6   c                ó�   • SSK JnJn  U R                  " SSU0UD6u  pV[	        U5      U" U5      -  [        U5      * U" U5      -  4$ rM  )rÏ   rO  rÁ   rZ   r³   r¨   rP  s          r4   rO   Úcos.as_real_imagZ  sF   € ßDØ×#Ò#Ñ7¨Ð7°Ñ7‰ˆÜ�B“™˜R›Ñ ¤3 r£7 (©4°«8Ñ"3Ð4Ð4r6   c                óè  • SSK Jn  U R                  S   nS nUR                  (       a{  UR	                  5       u  pE[        USS9R                  5       n[        USS9R                  5       n[        USS9R                  5       n[        USS9R                  5       n	X‰-  Xg-  -
  $ UR                  (       a4  UR                  SS9u  p«U
R                  (       a  U" U
[        U5      5      $ [        U5      $ )Nr   r“  Fr
  TrU  )rW  rS  r=   rd   rX  r¨   rY  r³   ra   r™   rZ  )rA   rP   rS  r   r¡   rÞ   r\  r]  rŸ   r^  rŒ   Útermss               r4   rY  Úcos._eval_expand_trig_  sÏ   € ÝBØ�i‰i˜‰lˆØˆØ�:�:Ø×#Ñ#Ó%‰DˆAÜ�Q Ñ'×9Ñ9Ó;ˆBÜ�Q Ñ'×9Ñ9Ó;ˆBÜ�Q Ñ'×9Ñ9Ó;ˆBÜ�Q Ñ'×9Ñ9Ó;ˆBØ‘5˜2™5‘=Ð Ø�Z�ZØ×+Ñ+°TÐ+Ð:‰LˆEØ××Ù! %¬¨U«Ó4Ð4Ü�3‹xˆr6   c                óJ  • SSK Jn  U R                  S   nUR                  US5      R	                  5       nU[
        S-  -   [
        -  nUR                  (       a:  XW[
        -  -
  [
        S-  -   R                  U5      n[        R                  U-  U-  $ U[        R                  L a-  UR                  US[        U5      R                  (       a  SOSS9nU[        R                  [        R                  4;   a	  U" SS5      $ UR                   (       a  U R#                  U5      $ U $ )	Nr   r¹   rŠ   ra  rb  rc  r½   r—   re  rk  s	            r4   rn  Úcos._eval_as_leading_termp  sâ   € ÝAØ�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”"�Q‘$‰Yœ‰NˆØ�<�<Øœ"™‘*œr !™tÑ#×4Ñ4°QÓ7ˆBÜ—M‘M 1Ñ$ bÑ(Ð(Ø”×"Ñ"Ò"Ø—‘˜1˜a¬B¨t«H×,@×,@¡SÀc�ÐJˆBØ”!—*‘*œa×0Ñ0Ð1Ó1Ù˜r 1Ó%Ð%Ø "§§ˆt�y‰y˜‹}Ð6°$Ð6r6   c                óB   • U R                   S   R                  (       a  gg rq  rr  rH  s    r4   rs  Úcos._eval_is_extended_real~  ru  r6   c                óF   • U R                   S   nUR                  (       a  gg rq  rr  rw  s     r4   rx  Úcos._eval_is_finite‚  s    € Ø�i‰i˜‰lˆà××Øð  r6   c                ó~   • U R                   S   R                  (       d  U R                   S   R                  (       a  gg rq  rƒ  rH  s    r4   r…  Úcos._eval_is_complexˆ  s,   € Ø�9‰9�Q‰<×(×(Ø�y‰y˜‰|×&×&Øð 'r6   c                ó¤   • [        U R                  S   5      u  pUR                  (       a%  U(       a  U[        R                  -
  R
                  $ g g rE  ©r•   r=   r?   r   rŽ   r�   r|  s      r4   r  Úcos._eval_is_zero�  s;   € Ü# D§I¡I¨a¡LÓ1‰ˆØ�<�<žGØœaŸf™fÑ$×0Ñ0Ð0ð $ˆ<r6   rN   ro   r‡  rˆ  )r   r   rn   )"rp   rq   rr   rs   rt   r®   r¶   r‰  rß   rŠ  r   ré   ró   r   r  r¨  r  r  r#  r'  r*  r6  r0  rB  rI  rO   rY  rn  rs  rx  r…  r  rx   r‹  rŒ  s   @r4   r³   r³   )  s²   ø† ñ)ôV*ô5ð ñIó ðIðV Øñ
?ó ó ð
?÷Cò,ò$ò/ò-ò*ò@ò
9ô),òVò1òò3ô5ò
ò"7òòò÷
1ð 1r6   r³   c                  óô   ^ • \ rS rSrSrSS jrSS jrSS jr\S 5       r	\
\S 5       5       rS U 4S jjrS	 rS
 rS!S jrS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!Sr"U =r#$ )"r  i“  aX  
The tangent function.

Returns the tangent of x (measured in radians).

Explanation
===========

See :class:`sin` for notes about automatic evaluation.

Examples
========

>>> from sympy import tan, pi
>>> from sympy.abc import x
>>> tan(x**2).diff(x)
2*x*(tan(x**2)**2 + 1)
>>> tan(1).diff(x)
0
>>> tan(pi/8).expand()
-1 + sqrt(2)

See Also
========

sin, csc, cos, sec, cot
asin, acsc, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Trigonometric_functions
.. [2] https://dlmf.nist.gov/4.14
.. [3] https://functions.wolfram.com/ElementaryFunctions/Tan

c                ó.   • U R                  [        U5      $ ro   r¬   r­   s     r4   r®   Ú
tan.period¹  ó   € Ø�|‰|œB Ó'Ð'r6   c                óP   • US:X  a  [         R                  U S-  -   $ [        X5      e©Nr—   rŠ   )r   r˜   r   r´   s     r4   r¶   Ú	tan.fdiff¼  s&   € Ø�q‹=Ü—5‘5˜4 ™7‘?Ð"ä$ TÓ4Ð4r6   c                ó   • [         $ ©z'
Returns the inverse of this function.
©rÓ   r´   s     r4   ÚinverseÚtan.inverseÂ  ó	   € ô ˆr6   c           
     ó   • SSK Jn  UR                  (       a�  U[        R                  L a  [        R                  $ UR
                  (       a  [        R                  $ U[        R                  [        R                  4;   a%  U" [        R                  [        R                  5      $ U[        R                  L a  [        R                  $ [        X5      (       aæ  UR                  UR                  pC[        U[        -  5      nU[        R                  La  X5[        -  -
  nU[        R                  La  XE[        -  -
  nSSKJn  U" X45      R#                  U" [        S-  [        [%        SS5      -  5      5      (       a%  U" [        R                  [        R                  5      $ U" ['        U5      ['        U5      5      $ UR)                  5       (       a
  U " U* 5      * $ [+        U5      nUb  SSKJn  [        R0                  U" U5      -  $ [3        US5      n	U	Gbƒ  U	R4                  (       a  [        R                  $ U	R6                  (       d  U	[        -  n
X¡:w  a  U " U
5      $ g U	R6                  (       Ga(  U	R8                  nU	R:                  U-  n[=        SS[=        S5      -  S-  -
  5      [=        SS[=        S5      -  -
  5      [=        SS[=        S5      -  S-  -   5      [=        SS[=        S5      -  -   5      S	.nUS
;   a  SU-  U-  nUS:”  a
  SU-
  nXÞ   * $ XÞ   $ U	R8                  S-  (       dw  U	[        -  S-  n
[?        U
5      [?        U
[        S-  -
  5      nn[        U[>        5      (       d6  [        U[>        5      (       d!  US:X  a  [        R                  $ SU-  UU-  -
  $ [A        5       nUU;   aC  UU   u  nnU " U[        -  U-  5      U " U[        -  U-  5      nnS UU4;   a  g UU-
  SUU-  -   -  $ U	[        RB                  -   S-  [        RB                  -
  [        -  n
[?        U
5      [?        U
[        S-  -
  5      nn[        U[>        5      (       d0  [        U[>        5      (       d  US:X  a  [        R                  $ UU-  $ X¡:w  a  U " U
5      $ URD                  (       aQ  [G        U5      u  nnU(       a<  ['        U[        -  5      nU[        R                  L a  [I        U5      * $ ['        U5      $ UR
                  (       a  [        R                  $ [        U[J        5      (       a  URL                  S   $ [        U[N        5      (       a  URL                  u  nnUU-  $ [        U[P        5      (       a#  URL                  S   nU[=        SUS-  -
  5      -  $ [        U[R        5      (       a#  URL                  S   n[=        SUS-  -
  5      U-  $ [        U[T        5      (       a  URL                  S   nSU-  $ [        U[V        5      (       a)  URL                  S   nS[=        SSUS-  -  -
  5      U-  -  $ [        U[X        5      (       a&  URL                  S   n[=        SSUS-  -  -
  5      U-  $ g )Nr   r¹   r¾   rŠ   rz   )Útanhr—   r|   )r—   rŠ   rz   r{   ©r|   r~   r~   )-rÂ   rº   rÄ   r   rÅ   r?   rY   rÆ   rÇ   rv   r1   rÉ   rÊ   r$   r   rÈ   r¿   rË   r   r  rÎ   r5   rÏ   rð  r3   rH   r�   rÑ   r”  r¢   r%   r³   rˆ   rŽ   rd   r•   r   rÓ   r=   rÔ   rÒ   rÕ   rÖ   r×   rØ   )rÙ   r   rº   rÉ   rÊ   rÚ   r¿   rÛ   rð  rI   rÜ   r”  r¢   Útable10rç   ÚcresultÚsresultr•  rk   r–  r—  r˜  r¡   r£   ÚtanmrÞ   s                             r4   rß   Útan.evalÈ  sU  € åAØ�=�=Ø”a—e‘eŠ|Ü—u‘u�Ø——Ü—v‘v�ØœŸ™¤Q×%7Ñ%7Ð8Ó8Ù"¤1×#5Ñ#5´q·z±zÓBÐBà”!×#Ñ#Ò#Ü—5‘5ˆLä�c×'Ñ'Ø—w‘w §¡�Ü�cœ"‘f“ˆAØœ!×,Ñ,Ò,Øœb™D‘j�Øœ!Ÿ*™*Ò$Øœb™D‘j�Ý1Ù˜3Ó$×1Ñ1±)¼B¸q¹DÄ"ÄXÈaÐQRÃ^ÑBSÓ2T×UÑUÙ"¤1×#5Ñ#5´q·z±zÓBÐBá"¤3 s£8¬S°«XÓ6Ð6à×'Ñ'×)Ñ)Ù˜˜“I�:Ðä0°Ó5ˆØÑÝBÜ—?‘?¡4¨£=Ñ0Ð0ä˜S !Ó$ˆØÒØ×"×"Ü—v‘v�à×'×'Ø¤‘{�Ø“;Ù˜t›9Ð$Øà×#×#Ð#Ø—J‘J�Ø—J‘J ‘N�ô ˜A ¤$ q£'¡	¨!¡™OÓ,Ü˜A ¤$ q£'¡	™MÓ*Ü˜A ¤$ q£'¡	¨!¡™OÓ,Ü˜A ¤$ q£'¡	™MÓ*ñ	�ð ˜“<Ø˜1™˜Q™�AØ˜1“uØ ™F˜Ø '¡
˜{Ð*à&™zÐ)Ø—z‘z A—~Ø#¤B™; q™=�DÜ'*¨4£y´#°d¼RÀ¹T±kÓ2B˜W�GÜ% g¬s×3Ñ3Ü$.¨w¼×$<Ñ$<Ø" a›<Ü#$×#4Ñ#4Ð4Ø  ™y¨7°7©?Ñ:Ð:ä ›�Ø˜“;Ø! !™9‘D�A�qÙ#& q¬¡t¨A¡v£;±°A´b±D¸±F³˜5�EØ  u˜~Ó-Ø#Ø! E™M¨A°°e±©OÑ<Ð<Ø!¤A§F¡FÑ*¨aÑ/´!·&±&Ñ8¼"Ñ<�ô $' t£9¬c°$¼¸A¹±+Ó.>˜�Ü! '¬3×/Ñ/Ü *¨7´C× 8Ñ 8Ø !“|Ü ×0Ñ0Ð0Ø# G™OÐ,Ø“;Ù˜t›9Ð$à�:�:Ü˜sÓ#‰DˆAˆqÞÜ˜1œR™4“y�Øœ1×,Ñ,Ò,Ü ›F˜7�Nä˜q›6�Mà�;�;Ü—6‘6ˆMä�cœ4× Ñ Ø—8‘8˜A‘;Ðä�cœ5×!Ñ!Ø—8‘8‰DˆAˆqØ�Q‘3ˆJä�cœ4× Ñ Ø—‘˜‘ˆAØ”T˜!˜a ™d™(“^Ñ#Ð#ä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A˜q™D™“> !Ñ#Ð#ä�cœ4× Ñ Ø—‘˜‘ˆAØ�Q‘3ˆJä�cœ4× Ñ Ø—‘˜‘ˆAØ”d˜1˜q  A¡™v™:Ó& qÑ(Ñ)Ð)ä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A˜a ™d™F™
Ó# AÑ%Ð%ð !r6   c                óú   • U S:  d	  U S-  S:X  a  [         R                  $ [        U5      nU S-
  S-  SU S-   -  pC[        U S-   5      n[	        U S-   5      n[         R
                  U-  U-  US-
  -  U-  U-  X-  -  $ ©Nr   rŠ   r—   )r   rY   r   r   r   rÐ   )rç   r¡   rè   rk   r–  ÚBÚFs          r4   ré   Útan.taylor_termJ  sˆ   € ð ˆq‹5�A˜‘E˜Q“JÜ—6‘6ˆMä˜“
ˆAà˜‘U˜Q‘J  Q¨¡U¡ˆqä˜!˜a™%Ó ˆAÜ˜!˜a™%Ó ˆAä—=‘= !Ñ# AÑ% q¨1¡uÑ-¨aÑ/°Ñ1°!±$Ñ6Ð6r6   c                óè   >• U R                   S   R                  US5      S-  [        -  nU(       a4  UR                  (       a#  U R	                  [
        5      R                  XUS9$ [        TU ]  XUS9$ )Nr   rŠ   ©rç   rî   )r=   rh  r   rZ  rý   r³   ró   rò   )rA   r¡   rç   rî   rï   r¥   rõ   s         €r4   ró   Útan._eval_nseriesY  sd   ø€ Ø�I‰I�a‰L×Ñ˜q !Ó$ QÑ&¤rÑ)ˆÞ�——Ø—<‘<¤Ó$×2Ñ2°1ÀÐ2ÐEÐEÜ‰wÑ$ Q°$Ð$Ð7Ð7r6   c                óœ   • [        U[        5      (       a7  [        R                  nUR                  S   nX4U* -  XC-  -
  -  XC* -  XC-  -   -  $ g rE  r  r  s        r4   r  Útan._eval_rewrite_as_Pow_  sN   € Ü�cœ3×ÑÜ—‘ˆAØ—‘˜‘ˆAØ˜!˜‘e˜a™d‘lÑ# Q¨¡U¨Q©T¡\Ñ2Ð2ð  r6   c                óZ   • U R                  U R                  S   R                  5       5      $ rE  rF  rH  s    r4   rI  Útan._eval_conjugatee  rK  r6   c                ó   • U R                   " SSU0UD6u  p4U(       aA  SSKJnJn  [	        SU-  5      U" SU-  5      -   n[        SU-  5      U-  U" SU-  5      U-  4$ U R                  U5      [        R                  4$ ©NrM   r   rN  rŠ   rN   ©	rZ   rÏ   rO  rÁ   r³   r¨   r<   r   rY   ©rA   rM   rP   r!   r    rO  rÁ   Údenoms           r4   rO   Útan.as_real_imagh  sw   € Ø×#Ò#Ñ7¨Ð7°Ñ7‰ˆÞßHÜ˜˜"™“I¡ Q r¡T£
Ñ*ˆEÜ˜˜"™“I˜e‘O¡T¨!¨B©$£Z°Ñ%5Ð6Ð6à—I‘I˜b“M¤1§6¡6Ð*Ð*r6   c                ó~  • U R                   S   nS nUR                  (       aï  [        UR                   5      n/ nUR                    H,  n[        USS9R	                  5       nUR                  U5        M.     [        S5      n[        U5       Vs/ s H  n[        U5      PM     n	nSS/n
[        US-   5       H+  nU
SUS-  -
  ==   [        X‰5      SUS-  S-  -  -  -  ss'   M-     U
S   U
S   -  R                  [        [        X•5      5      5      $ UR                  (       aŒ  UR                  S	S
9u  p¼UR                  (       aj  US:”  ad  [         R"                  n[%        SS	S9nSXÞ-  -   U-  R'                  5       n[)        U5      [+        U5      -  R                  U[        U5      4/5      $ [        U5      $ s  snf )Nr   Fr
  ÚYr—   rŠ   r½   r{   TrU  Údummy©Úreal)r=   rd   rå   r  rY  r�   r/   ÚrangeÚnextr.   rñ   Úlistrº  ra   r™   rZ  r   r3   r   rX   r    r!   )rA   rP   r   r¡   rç   ÚTXÚtxÚYgr¥   r
  r¢   rŒ   rÕ  rÿ   r·  ÚPs                   r4   rY  Útan._eval_expand_trigq  s€  € Ø�i‰i˜‰lˆØˆØ�:�:Ü�C—H‘H“ˆAØˆBØ—X”X�Ü˜ UÑ+×=Ñ=Ó?�Ø—	‘	˜"–ñ ô " #Ó&ˆBÜ$)¨!¤HÓ.¢H˜q”$�r–(¡HˆAÐ.à�A�ˆAÜ˜1˜q™5–\�Ø�!�a˜!‘e‘)“¤¨qÓ 4°b¸QÀ¹UÀQ¹JÑ5GÑ GÑG•ñ "à�a‘D˜˜1™‘I×#Ñ#¤D¬¨Q«Ó$4Ó5Ð5à�Z�ZØ×+Ñ+°TÐ+Ð:‰LˆEØ×× E¨A£IÜ—O‘O�Ü˜7¨Ñ.�Ø˜!™#‘g Ñ%×-Ñ-Ó/�Ü˜1›œb ›e™×)Ñ)¨A¬s°5«z¨?Ð*;Ó<Ð<Ü�3‹xˆùò /s   ÂF:c                ó  • [         R                  nSSKJn  [	        U[
        U45      (       a1  UR                  UR                  S   5      R                  [        5      n[        U* U-  5      [        X-  5      peX5U-
  -  XV-   -  $ ©Nr   rú   r£  )rA   r   rþ   rÿ   rû   Úneg_expÚpos_exps          r4   r   Útan._eval_rewrite_as_expŒ  sp   € Ü�O‰OˆÝLÜ�cÔ1Ð3EÐF×GÑGØ—(‘(˜3Ÿ8™8 A™;Ó'×/Ñ/´Ó4ˆCÜ ˜t A™v›;¬¨C©E«
�Ø˜GÑ#Ñ$ gÑ&7Ñ8Ð8r6   c                óB   • S[        U5      S-  -  [        SU-  5      -  $ r«   ©r¨   ©rA   r¡   rþ   s      r4   r¨  Útan._eval_rewrite_as_sin”  s!   € Ø”�Q“˜‘‰{œ3˜q ™s›8Ñ#Ð#r6   c                óB   • [        U[        S-  -
  SS9[        U5      -  $ r	  r  r  s      r4   r  Útan._eval_rewrite_as_cos—  s    € Ü�1”r˜!‘t‘8 eÑ,¬S°«VÑ3Ð3r6   c                ó0   • [        U5      [        U5      -  $ ro   r  r  s      r4   r  Útan._eval_rewrite_as_sincosš  ó   € Ü�3‹xœ˜C›Ñ Ð r6   c                ó   • S[        U5      -  $ r-  ©r   r  s      r4   r#  Útan._eval_rewrite_as_cot�  r2  r6   c                óŠ   • [        U5      R                  " [        40 UD6n[        U5      R                  " [        40 UD6nX4-  $ ro   )r¨   rý   r5  r³   )rA   r   rþ   Úsin_in_sec_formÚcos_in_sec_forms        r4   r6  Útan._eval_rewrite_as_sec   ó=   € Ü˜c›(×*Ò*¬3Ñ9°&Ñ9ˆÜ˜c›(×*Ò*¬3Ñ9°&Ñ9ˆØÑ.Ð.r6   c                óŠ   • [        U5      R                  " [        40 UD6n[        U5      R                  " [        40 UD6nX4-  $ ro   )r¨   rý   r/  r³   )rA   r   rþ   Úsin_in_csc_formÚcos_in_csc_forms        r4   r0  Útan._eval_rewrite_as_csc¥  r+  r6   c                ó”   • U R                   " [        40 UD6R                   " [        40 UD6nUR                  [        5      (       a  g U$ ro   ©rý   r³   r&  r`   ©rA   r   rþ   rÞ   s       r4   r'  Útan._eval_rewrite_as_powª  ó:   € Ø�LŠLœÑ' Ñ'×/Ò/´Ñ>°vÑ>ˆØ�5‰5”�:‰:ØØˆr6   c                ó”   • U R                   " [        40 UD6R                   " [        40 UD6nUR                  [        5      (       a  g U$ ro   ©rý   r³   r%   r`   r2  s       r4   r*  Útan._eval_rewrite_as_sqrt°  ó:   € Ø�LŠLœÑ' Ñ'×/Ò/´Ñ?¸Ñ?ˆØ�5‰5”�:‰:ØØˆr6   c                ón   • SSK Jn  U" [        R                  U5      U" [        R                  * U5      -  $ ©Nr   r=  ©r@  r>  r   rŽ   rA  s       r4   rB  Útan._eval_rewrite_as_besselj¶  s(   € Ý:Ù”q—v‘v˜sÓ#¡G¬Q¯V©V¨G°SÓ$9Ñ9Ð9r6   c                óp  • SSK Jn  SSKJn  U R                  S   nUR                  US5      R                  5       nSU-  [        -  nUR                  (       a5  Xh[        -  S-  -
  R                  U5      n	UR                  (       a  U	$ SU	-  $ U[        R                  L a*  UR                  USU" U5      R                  (       a  SOSS9nU[        R                  [        R                   4;   a%  U" [        R                   [        R                  5      $ UR"                  (       a  U R%                  U5      $ U $ )	Nr   r¹   ©r!   rŠ   r½   ra  rb  rc  ©rÂ   rº   Ú$sympy.functions.elementary.complexesr!   r=   rñ   rf  r   r�   rg  r�   r   rv   rh  ri  rÆ   rÇ   rj  r<   ©
rA   r¡   rî   rï   rº   r!   r   rl  rç   rm  s
             r4   rn  Útan._eval_as_leading_termº  sç   € ÝAÝ;Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØˆb‰D”‰GˆØ�<�<Øœ"™˜Q™‘,×/Ñ/°Ó2ˆBØŸŸ�2Ð-¨¨2©Ð-Ø”×"Ñ"Ò"Ø—‘˜1˜a©B¨t«H×,@×,@¡SÀc�ÐJˆBØ”!—*‘*œa×0Ñ0Ð1Ó1Ùœq×1Ñ1´1·:±:Ó>Ð>Ø "§§ˆt�y‰y˜‹}Ð6°$Ð6r6   c                ó4   • U R                   S   R                  $ rE  rr  rH  s    r4   rs  Útan._eval_is_extended_realÉ  s   € à�y‰y˜‰|×,Ñ,Ð,r6   c                ó–   • U R                   S   nUR                  (       a)  U[        -  [        R                  -
  R
                  SL a  gg g rF   ©r=   Úis_realr   r   rŽ   r�   rw  s     r4   Ú_eval_is_realÚtan._eval_is_realÍ  s:   € Ø�i‰i˜‰lˆØ�;�;˜C¤™F¤Q§V¡V™O×7Ñ7¸5Ò@Øð Aˆ;r6   c                ó¸   • U R                   S   nUR                  (       a(  U[        -  [        R                  -
  R
                  SL a  gUR                  (       a  gg rF   )r=   rG  r   r   rŽ   r�   Úis_imaginaryrw  s     r4   rx  Útan._eval_is_finiteÒ  sC   € Ø�i‰i˜‰lˆà�;�;˜C¤™F¤Q§V¡V™O×7Ñ7¸5Ò@Øà××Øð r6   c                ór   • [        U R                  S   5      u  pUR                  (       a  UR                  $ g rE  r{  r|  s      r4   r  Útan._eval_is_zeroÛ  r�  r6   c                ó–   • U R                   S   nUR                  (       a)  U[        -  [        R                  -
  R
                  SL a  gg g rF   rF  rw  s     r4   r…  Útan._eval_is_complexà  s:   € Ø�i‰i˜‰lˆà�;�;˜C¤™F¤Q§V¡V™O×7Ñ7¸5Ò@Øð Aˆ;r6   rN   ro   r‡  rˆ  rn   )$rp   rq   rr   rs   rt   r®   r¶   rì  r‰  rß   rŠ  r   ré   ró   r  rI  rO   rY  r   r¨  r  r  r#  r6  r0  r'  r*  rB  rn  rs  rH  rx  r  r…  rx   r‹  rŒ  s   @r4   r  r  “  s¹   ø† ñ#ôJ(ô5ôð ñ&ó ð&ðB Øñ7ó ó ð7÷8ò3ò3ô+òò69ò$ò4ò!òò/ò
/ò
òò:ò7ò-òò
ò&÷
ð r6   r  c                  óì   • \ rS rSrSrS S jrS!S jrS!S jr\S 5       r	\
\S 5       5       rS"S	 jrS
 rS#S jrS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"Sr#g)$r   iç  aT  
The cotangent function.

Returns the cotangent of x (measured in radians).

Explanation
===========

See :class:`sin` for notes about automatic evaluation.

Examples
========

>>> from sympy import cot, pi
>>> from sympy.abc import x
>>> cot(x**2).diff(x)
2*x*(-cot(x**2)**2 - 1)
>>> cot(1).diff(x)
0
>>> cot(pi/12)
sqrt(3) + 2

See Also
========

sin, csc, cos, sec, tan
asin, acsc, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Trigonometric_functions
.. [2] https://dlmf.nist.gov/4.14
.. [3] https://functions.wolfram.com/ElementaryFunctions/Cot

Nc                ó.   • U R                  [        U5      $ ro   r¬   r­   s     r4   r®   Ú
cot.period  rå  r6   c                óP   • US:X  a  [         R                  U S-  -
  $ [        X5      erç  )r   rÐ   r   r´   s     r4   r¶   Ú	cot.fdiff  s'   € Ø�q‹=Ü—=‘= 4¨¡7Ñ*Ð*ä$ TÓ4Ð4r6   c                ó   • [         $ rê  ©rÖ   r´   s     r4   rì  Úcot.inverse  rî  r6   c                ól
  • SSK Jn  UR                  (       a�  U[        R                  L a  [        R                  $ UR
                  (       a  [        R                  $ U[        R                  [        R                  4;   a%  U" [        R                  [        R                  5      $ U[        R                  L a  [        R                  $ [        X5      (       a  [        U[        S-  -   5      * $ UR                  5       (       a
  U " U* 5      * $ [        U5      nUb   SSKJn  [        R                   * U" U5      -  $ [#        US5      nUGb  UR$                  (       a  [        R                  $ UR&                  (       d  U[        -  nXa:w  a  U " U5      $ g UR&                  (       Ga­  UR(                  S;   a  [        [        S-  U-
  5      $ UR(                  S:”  as  UR(                  S-  (       d_  U[        -  S-  n[+        U5      [+        U[        S-  -
  5      p‡[        U[*        5      (       d  [        U[*        5      (       d
  SU-  Xx-  -   $ UR(                  n	UR,                  U	-  n
[/        5       nX›;   a=  X¹   u  pÍU " U
[        -  U-  5      U " U
[        -  U-  5      pþS Xï4;   a  g SXï-  -   Xþ-
  -  $ U[        R0                  -   S-  [        R0                  -
  [        -  n[+        U5      [+        U[        S-  -
  5      p‡[        U[*        5      (       d/  [        U[*        5      (       d  US:X  a  [        R                  $ Xx-  $ Xa:w  a  U " U5      $ UR2                  (       aQ  [5        U5      u  nnU(       a<  [7        U[        -  5      nU[        R                  L a  [7        U5      $ [        U5      * $ UR
                  (       a  [        R                  $ [        U[8        5      (       a  UR:                  S   $ [        U[<        5      (       a  UR:                  S   nSU-  $ [        U[>        5      (       a  UR:                  u  nnUU-  $ [        U[@        5      (       a#  UR:                  S   n[C        SUS-  -
  5      U-  $ [        U[D        5      (       a#  UR:                  S   nU[C        SUS-  -
  5      -  $ [        U[F        5      (       a&  UR:                  S   n[C        SSUS-  -  -
  5      U-  $ [        U[H        5      (       a)  UR:                  S   nS[C        SSUS-  -  -
  5      U-  -  $ g )Nr   r¹   rŠ   )Úcothrñ  r—   )%rÂ   rº   rÄ   r   rÅ   r?   rv   rÆ   rÇ   r1   r  r   rÎ   r5   rÏ   rZ  r3   rH   r�   rÑ   r”  r³   r¢   rˆ   rŽ   rd   r•   r   rÖ   r=   rÓ   rÔ   rÒ   r%   rÕ   r×   rØ   )rÙ   r   rº   rÛ   rZ  rI   rÜ   ró  rô  r”  r¢   r•  rk   r–  r—  r˜  r¡   r£   ÚcotmrÞ   s                       r4   rß   Úcot.eval  s4  € åAØ�=�=Ø”a—e‘eŠ|Ü—u‘u�Ø�{�{Ü×(Ñ(Ð(ØœŸ™¤Q×%7Ñ%7Ð8Ó8Ù"¤1×#5Ñ#5´q·z±zÓBÐBà”!×#Ñ#Ò#Ü—5‘5ˆLä�c×'Ñ'Ü˜œb ™d™
“OÐ#Ð#à×'Ñ'×)Ñ)Ù˜˜“I�:Ðä0°Ó5ˆØÑÝBÜ—O‘OÐ#¡D¨£MÑ1Ð1ä˜S !Ó$ˆØÒØ×"×"Ü×(Ñ(Ð(à×'×'Ø¤‘{�Ø“;Ù˜t›9Ð$Øà×#×#Ð#Ø—:‘: Ó(Üœr !™t c™z›?Ð*Ø—:‘: “>¨(¯*©*°q¯.Ø#¤B™; q™=�DÜ'*¨4£y´#°d¼RÀ¹T±kÓ2B˜WÜ% g¬s×3Ñ3Ü$.¨w¼×$<Ñ$<Ø  ™y¨7©?Ñ:Ð:Ø—J‘J�Ø—J‘J ‘N�Ü ›�Ø“;Ø!™9‘D�AÙ#& q¬¡t¨A¡v£;±°A´b±D¸±F³˜5Ø ˜~Ó-Ø#Ø ¡™O¨e©mÑ<Ð<Ø"¤Q§V¡VÑ+¨qÑ0´A·F±FÑ:¼BÑ>�ô $' t£9¬c°$¼¸A¹±+Ó.>˜Ü! '¬3×/Ñ/Ü *¨7´C× 8Ñ 8Ø !“|Ü ×0Ñ0Ð0Ø"™?Ð*Ø“;Ù˜t›9Ð$à�:�:Ü˜sÓ#‰DˆAˆqÞÜ˜1œR™4“y�Øœ1×,Ñ,Ò,Ü˜q›6�Mä ›F˜7�Nà�;�;Ü×$Ñ$Ð$ä�cœ4× Ñ Ø—8‘8˜A‘;Ðä�cœ4× Ñ Ø—‘˜‘ˆAØ�Q‘3ˆJä�cœ5×!Ñ!Ø—8‘8‰DˆAˆqØ�Q‘3ˆJä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A˜q™D™“> !Ñ#Ð#ä�cœ4× Ñ Ø—‘˜‘ˆAØ”T˜!˜a ™d™(“^Ñ#Ð#ä�cœ4× Ñ Ø—‘˜‘ˆAÜ˜˜A˜a ™d™F™
Ó# AÑ%Ð%ä�cœ4× Ñ Ø—‘˜‘ˆAØ”d˜1˜q  A¡™v™:Ó& qÑ(Ñ)Ð)ð !r6   c                ó  • U S:X  a  S[        U5      -  $ U S:  d	  U S-  S:X  a  [        R                  $ [        U5      n[        U S-   5      n[	        U S-   5      n[        R
                  U S-   S-  -  SU S-   -  -  U-  U-  X-  -  $ ©Nr   r—   rŠ   )r   r   rY   r   r   rÐ   )rç   r¡   rè   rù  rú  s        r4   ré   Úcot.taylor_term…  s�   € ð �‹6Ø”W˜Q“Z‘<ÐØ�‹U�a˜!‘e˜q“jÜ—6‘6ˆMä˜“
ˆAä˜!˜a™%Ó ˆAÜ˜!˜a™%Ó ˆAä—=‘= A¨¡E¨A¡:Ñ.¨q°1°q±5©zÑ9¸!Ñ;¸AÑ=¸a¹dÑBÐBr6   c                ó
  • U R                   S   R                  US5      [        -  nU(       a4  UR                  (       a#  U R	                  [
        5      R                  XUS9$ U R	                  [        5      R                  XUS9$ )Nr   rý  )r=   rh  r   rZ  rý   r³   ró   r  )rA   r¡   rç   rî   rï   r¥   s         r4   ró   Úcot._eval_nseries”  sh   € Ø�I‰I�a‰L×Ñ˜q !Ó$¤RÑ'ˆÞ�——Ø—<‘<¤Ó$×2Ñ2°1ÀÐ2ÐEÐEØ�|‰|œCÓ ×.Ñ.¨q¸DÐ.ÐAÐAr6   c                óZ   • U R                  U R                  S   R                  5       5      $ rE  rF  rH  s    r4   rI  Úcot._eval_conjugateš  rK  r6   c                ó  • U R                   " SSU0UD6u  p4U(       aB  SSKJnJn  [	        SU-  5      U" SU-  5      -
  n[        SU-  5      * U-  U" SU-  5      U-  4$ U R                  U5      [        R                  4$ r  r  r  s           r4   rO   Úcot.as_real_imag�  sz   € Ø×#Ò#Ñ7¨Ð7°Ñ7‰ˆÞßHÜ˜˜"™“I¡ Q r¡T£
Ñ*ˆEÜ˜˜2™“Y�J˜uÑ$¡d¨1¨R©4£j°Ñ&6Ð7Ð7à—I‘I˜b“M¤1§6¡6Ð*Ð*r6   c                ó  • SSK Jn  [        R                  n[	        U[
        U45      (       a3  UR                  UR                  S   5      R                  " [        40 UD6n[        U* U-  5      [        X-  5      peXFU-   -  Xe-
  -  $ r  rü   )rA   r   rþ   rû   rÿ   r  r  s          r4   r   Úcot._eval_rewrite_as_exp¦  su   € ÝLÜ�O‰OˆÜ�cÔ1Ð3EÐF×GÑGØ—(‘(˜3Ÿ8™8 A™;Ó'×/Ò/´Ñ>°vÑ>ˆCÜ ˜t A™v›;¬¨C©E«
�Ø˜GÑ#Ñ$ gÑ&7Ñ8Ð8r6   c                óž   • [        U[        5      (       a8  [        R                  nUR                  S   nU* XC* -  XC-  -   -  XC* -  XC-  -
  -  $ g rE  r  r  s        r4   r  Úcot._eval_rewrite_as_Pow®  sP   € Ü�cœ3×ÑÜ—‘ˆAØ—‘˜‘ˆAØ�2�q˜"‘u˜q™t‘|Ñ$ a¨¡e¨a©d¡lÑ3Ð3ð  r6   c                óB   • [        SU-  5      S[        U5      S-  -  -  $ r«   r  r  s      r4   r¨  Úcot._eval_rewrite_as_sin´  s!   € Ü�1�Q‘3‹x˜œC ›F A™I™Ñ'Ð'r6   c                óB   • [        U5      [        U[        S-  -
  SS9-  $ r	  r  r  s      r4   r  Úcot._eval_rewrite_as_cos·  s    € Ü�1‹v”c˜!œb ™d™(¨UÑ3Ñ3Ð3r6   c                ó0   • [        U5      [        U5      -  $ ro   ©r³   r¨   r  s      r4   r  Úcot._eval_rewrite_as_sincosº  r#  r6   c                ó   • S[        U5      -  $ r-  ©r  r  s      r4   r  Úcot._eval_rewrite_as_tan½  r2  r6   c                óŠ   • [        U5      R                  " [        40 UD6n[        U5      R                  " [        40 UD6nX4-  $ ro   )r³   rý   r5  r¨   )rA   r   rþ   r)  r(  s        r4   r6  Úcot._eval_rewrite_as_secÀ  r+  r6   c                óŠ   • [        U5      R                  " [        40 UD6n[        U5      R                  " [        40 UD6nX4-  $ ro   )r³   rý   r/  r¨   )rA   r   rþ   r.  r-  s        r4   r0  Úcot._eval_rewrite_as_cscÅ  r+  r6   c                ó”   • U R                   " [        40 UD6R                   " [        40 UD6nUR                  [        5      (       a  g U$ ro   r1  r2  s       r4   r'  Úcot._eval_rewrite_as_powÊ  r4  r6   c                ó”   • U R                   " [        40 UD6R                   " [        40 UD6nUR                  [        5      (       a  g U$ ro   r6  r2  s       r4   r*  Úcot._eval_rewrite_as_sqrtÐ  r8  r6   c                ón   • SSK Jn  U" [        R                  * U5      U" [        R                  U5      -  $ r:  r;  rA  s       r4   rB  Úcot._eval_rewrite_as_besseljÖ  s(   € Ý:ÙœŸ™�w Ó$¡W¬Q¯V©V°SÓ%9Ñ9Ð9r6   c                ór  • SSK Jn  SSKJn  U R                  S   nUR                  US5      R                  5       nSU-  [        -  nUR                  (       a6  Xh[        -  S-  -
  R                  U5      n	UR                  (       a  SU	-  $ U	* $ U[        R                  L a*  UR                  USU" U5      R                  (       a  SOSS9nU[        R                  [        R                   4;   a%  U" [        R                   [        R                  5      $ UR"                  (       a  U R%                  U5      $ U $ )	Nr   r¹   r>  rŠ   r—   ra  rb  rc  r?  rA  s
             r4   rn  Úcot._eval_as_leading_termÚ  sé   € ÝAÝ;Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØˆb‰D”‰GˆØ�<�<Øœ"™˜Q™‘,×/Ñ/°Ó2ˆBØŸ9Ÿ9�1�R‘4Ð-¨2¨#Ð-Ø”×"Ñ"Ò"Ø—‘˜1˜a©B¨t«H×,@×,@¡SÀc�ÐJˆBØ”!—*‘*œa×0Ñ0Ð1Ó1Ùœq×1Ñ1´1·:±:Ó>Ð>Ø "§§ˆt�y‰y˜‹}Ð6°$Ð6r6   c                ó4   • U R                   S   R                  $ rE  rr  rH  s    r4   rs  Úcot._eval_is_extended_realé  ó   € Ø�y‰y˜‰|×,Ñ,Ð,r6   c                óx  • U R                   S   nS nUR                  (       aï  [        UR                   5      n/ nUR                    H,  n[        USS9R	                  5       nUR                  U5        M.     [        S5      n[        U5       Vs/ s H  n[        U5      PM     n	nSS/n
[        USS5       H,  nX¤U-
  S-  ==   [        X‰5      SXH-
  S-  S-  -  -  -  ss'   M.     U
S   U
S   -  R                  [        [        X•5      5      5      $ UR                  (       a‰  UR                  S	S
9u  p¼UR                  (       ag  US:”  aa  [         R"                  n[%        SS	S9nXí-   U-  R'                  5       n[)        U5      [+        U5      -  R                  U[        U5      4/5      $ [        U5      $ s  snf )Nr   Fr
  r
  r½   rŠ   r{   r—   TrU  r  r  )r=   rd   rå   r   rY  r�   r/   r  r  r.   rñ   r  rº  ra   r™   rZ  r   r3   r   rX   r!   r    )rA   rP   r   r¡   rç   ÚCXrŸ   r  r¥   r
  r¢   rŒ   rÕ  rÿ   r·  r  s                   r4   rY  Úcot._eval_expand_trigì  s}  € Ø�i‰i˜‰lˆØˆØ�:�:Ü�C—H‘H“ˆAØˆBØ—X”X�Ü˜ UÑ+×=Ñ=Ó?�Ø—	‘	˜"–ñ ô " #Ó&ˆBÜ$)¨!¤HÓ.¢H˜q”$�r–(¡HˆAÐ.à�A�ˆAÜ˜1˜b "Ö%�Ø�q‘5˜A‘+“¤.°Ó"6¸ÀÁÈ¹{ÈQÑ>NÑ7OÑ"OÑO•ñ &à�a‘D˜˜1™‘I×#Ñ#¤D¬¨Q«Ó$4Ó5Ð5Ø�Z�ZØ×+Ñ+°TÐ+Ð:‰LˆEØ×× E¨A£IÜ—O‘O�Ü˜7¨Ñ.�Ø‘e˜e‘^×+Ñ+Ó-�Ü˜1›œb ›e™×)Ñ)¨A¬s°5«z¨?Ð*;Ó<Ð<Ü�3‹xˆùò /s   ÂF7c                ó–   • U R                   S   nUR                  (       a  U[        -  R                  SL a  gUR                  (       a  gg rF   )r=   rG  r   r�   rK  rw  s     r4   rx  Úcot._eval_is_finite  s;   € Ø�i‰i˜‰lˆØ�;�;˜C¤™F×.Ñ.°%Ò7ØØ××Øð r6   c                ót   • U R                   S   nUR                  (       a  U[        -  R                  SL a  gg g rF   ©r=   rG  r   r�   rw  s     r4   rH  Úcot._eval_is_real  ó1   € Ø�i‰i˜‰lˆØ�;�;˜C¤™F×.Ñ.°%Ò7Øð 8ˆ;r6   c                ót   • U R                   S   nUR                  (       a  U[        -  R                  SL a  gg g rF   r‰  rw  s     r4   r…  Úcot._eval_is_complex  r‹  r6   c                ó¤   • [        U R                  S   5      u  pU(       a/  UR                  (       a  U[        R                  -
  R
                  $ g g rE  rà  )rA   r}  Úpimults      r4   r  Úcot._eval_is_zero  s:   € Ü" 4§9¡9¨Q¡<Ó0‰ˆÞ�d—l—lØœQŸV™V‘O×/Ñ/Ð/ð #ˆ6r6   c                ó²   • U R                   S   nUR                  X5      nX4:w  a(  U[        -  R                  (       a  [        R
                  $ [        U5      $ rE  )r=   rñ   r   r�   r   rv   r   )rA   ÚoldÚnewr   Úargnews        r4   Ú
_eval_subsÚcot._eval_subs  sD   € Ø�i‰i˜‰lˆØ—‘˜#Ó#ˆØ‹=˜f¤R™i×3×3Ü×$Ñ$Ð$Ü�6‹{Ðr6   rN   ro   r‡  rˆ  rn   )$rp   rq   rr   rs   rt   r®   r¶   rì  r‰  rß   rŠ  r   ré   ró   rI  rO   r   r  r¨  r  r  r  r6  r0  r'  r*  rB  rn  rs  rY  rx  rH  r…  r  r•  rx   rN   r6   r4   r   r   ç  s»   † ñ#ôJ(ô5ôð ñf*ó ðf*ðP ØñCó ó ðCôBò3ô+ò9ò4ò(ò4ò!òò/ò
/ò
òò:ò7ò-òò4òò
ò
0õ
r6   r   c                  óâ   • \ rS rSr% SrSr\R                  4rSr	S\
S'   SrS\
S'   \S 5       rS rS	 rS
 rS rSS jrS rS rS rS rS rS rS rS rSS jrS rS rS rS rSS jr Sr!g)ÚReciprocalTrigonometricFunctioni$  z@Base class for reciprocal functions of trigonometric functions. Nr   Ú_is_evenÚ_is_oddc                ór  • UR                  5       (       a5  U R                  (       a	  U " U* 5      $ U R                  (       a
  U " U* 5      * $ [        U5      nUb¥  SU-  R                  (       d‘  UR
                  (       a€  UR                  nUR                  SU-  -  nXC:”  a  US-
  [        -  nU " U5      * $ SU-  U:”  a?  SU-
  [        -  nU R                  (       a  U " U5      $ U R                  (       a	  U " U5      * $ [        US5      (       a#  UR                  5       U :X  a  UR                  S   $ U R                  R                  U5      nUc  U$ [        S Xf* 4 5       5      (       a  SU-  R                  [         5      $ [        S Xf* 4 5       5      (       a  SU-  R                  ["        5      $ SU-  $ )NrŠ   r—   rì  r   c              3  óB   #   • U  H  n[        U[        5      v •  M     g 7fro   )r1   r³   ©r´  r¥   s     r4   rµ  Ú7ReciprocalTrigonometricFunction.eval.<locals>.<genexpr>P  ó   é € Ð5ªW¨”˜Aœs×#Ð#ªWùó   ‚c              3  óB   #   • U  H  n[        U[        5      v •  M     g 7fro   )r1   r¨   r�  s     r4   rµ  rž  R  rŸ  r   )rÎ   r™  rš  rH   r�   rÑ   r”  r¢   r   Úhasattrrì  r=   Ú_reciprocal_ofrß   Úanyrý   r5  r/  )rÙ   r   rI   r”  r¢   rÜ   Úts          r4   rß   Ú$ReciprocalTrigonometricFunction.eval2  sv  € à×'Ñ'×)Ñ)Ø�|�|Ù˜C˜4“yÐ Ø�{�{Ù˜S˜D›	�zÐ!ä˜S“>ˆØÑ Ø�x‘Z×+×+Ø×$×$Ø—J‘J�Ø—J‘J ! A¡#Ñ&�Ø“5Ø$ q™L¬"Ñ,�DÙ ›I˜:Ð%Ø�Q‘3˜“7Ø ™L¬"Ñ,�DØ—{—{Ù" 4›yÐ(ØŸŸÙ # D£	˜zÐ)ä�3˜	×"Ñ" s§{¡{£}¸Ó';Ø—8‘8˜A‘;Ðà×Ñ×#Ñ# CÓ(ˆØ‰9ØˆHÜÑ5¨a°©WÓ5×5Ñ5Ø�a‘C—=‘=¤Ó%Ð%ÜÑ5¨a°©WÓ5×5Ñ5Ø�a‘C—=‘=¤Ó%Ð%à�Q‘3ˆJr6   c                ó`   • U R                  U R                  S   5      n[        XA5      " U0 UD6$ rE  )r£  r=   Úgetattr)rA   Úmethod_namer=   rþ   Úos        r4   Ú_call_reciprocalÚ0ReciprocalTrigonometricFunction._call_reciprocalW  s/   € à×Ñ §	¡	¨!¡Ó-ˆÜ�qÔ&¨Ð7°Ñ7Ð7r6   c                óB   • U R                   " U/UQ70 UD6nUb  SU-  $ U$ r-  )r«  )rA   r©  r=   rþ   r¥  s        r4   Ú_calculate_reciprocalÚ5ReciprocalTrigonometricFunction._calculate_reciprocal\  s1   € ð ×!Ò! +Ð?°Ò?¸Ñ?ˆØ‘mˆq�‰sÐ*¨Ð*r6   c                ó`   • U R                  X5      nUb  X0R                  U5      :w  a  SU-  $ g g r-  )r«  r£  )rA   r©  r   r¥  s       r4   Ú_rewrite_reciprocalÚ3ReciprocalTrigonometricFunction._rewrite_reciprocalb  s9   € ð ×!Ñ! +Ó3ˆØ‰=˜Q×"5Ñ"5°cÓ":Ó:Ø�Q‘3ˆJð ;ˆ=r6   c                ór   • [        U R                  S   5      nU R                  U5      R                  U5      $ rE  )r
   r=   r£  r®   )rA   rg   rh   s      r4   rl   Ú'ReciprocalTrigonometricFunction._periodi  s0   € Ü�t—y‘y ‘|Ó$ˆØ×"Ñ" 1Ó%×,Ñ,¨VÓ4Ð4r6   c                ó4   • U R                  SU5      * U S-  -  $ )Nr¶   rŠ   ©r®  r´   s     r4   r¶   Ú%ReciprocalTrigonometricFunction.fdiffm  s!   € Ø×*Ñ*¨7°HÓ=Ð=¸dÀA¹gÑEÐEr6   c                ó&   • U R                  SU5      $ )Nr   ©r±  r  s      r4   r   Ú4ReciprocalTrigonometricFunction._eval_rewrite_as_expp  ó   € Ø×'Ñ'Ð(>ÀÓDÐDr6   c                ó&   • U R                  SU5      $ )Nr  r¹  r  s      r4   r  Ú4ReciprocalTrigonometricFunction._eval_rewrite_as_Pows  r»  r6   c                ó&   • U R                  SU5      $ )Nr¨  r¹  r  s      r4   r¨  Ú4ReciprocalTrigonometricFunction._eval_rewrite_as_sinv  r»  r6   c                ó&   • U R                  SU5      $ )Nr  r¹  r  s      r4   r  Ú4ReciprocalTrigonometricFunction._eval_rewrite_as_cosy  r»  r6   c                ó&   • U R                  SU5      $ )Nr  r¹  r  s      r4   r  Ú4ReciprocalTrigonometricFunction._eval_rewrite_as_tan|  r»  r6   c                ó&   • U R                  SU5      $ )Nr'  r¹  r  s      r4   r'  Ú4ReciprocalTrigonometricFunction._eval_rewrite_as_pow  r»  r6   c                ó&   • U R                  SU5      $ )Nr*  r¹  r  s      r4   r*  Ú5ReciprocalTrigonometricFunction._eval_rewrite_as_sqrt‚  s   € Ø×'Ñ'Ð(?ÀÓEÐEr6   c                óZ   • U R                  U R                  S   R                  5       5      $ rE  rF  rH  s    r4   rI  Ú/ReciprocalTrigonometricFunction._eval_conjugate…  rK  r6   c                óf   • SU R                  U R                  S   5      -  R                  " U40 UD6$ r²   )r£  r=   rO   )rA   rM   rP   s      r4   rO   Ú,ReciprocalTrigonometricFunction.as_real_imagˆ  s:   € Ø�$×%Ñ% d§i¡i°¡lÓ3Ñ3×AÒAÀ$ñ KØDIñKð 	Kr6   c                ó&   • U R                   " S0 UD6$ )N)rY  r¶  )rA   rP   s     r4   rY  Ú1ReciprocalTrigonometricFunction._eval_expand_trigŒ  s   € Ø×)Ò)ÑGÀÑGÐGr6   c                óZ   • U R                  U R                  S   5      R                  5       $ rE  )r£  r=   rs  rH  s    r4   rs  Ú6ReciprocalTrigonometricFunction._eval_is_extended_real�  s$   € Ø×"Ñ" 4§9¡9¨Q¡<Ó0×GÑGÓIÐIr6   c                ó`   • SU R                  U R                  S   5      -  R                  XUS9$ )Nr—   r   ©rî   rï   )r£  r=   rn  )rA   r¡   rî   rï   s       r4   rn  Ú5ReciprocalTrigonometricFunction._eval_as_leading_term’  s1   € Ø�$×%Ñ% d§i¡i°¡lÓ3Ñ3×JÑJÈ1Ð^bÐJÐcÐcr6   c                óX   • SU R                  U R                  S   5      -  R                  $ r²   )r£  r=   rj  rH  s    r4   rx  Ú/ReciprocalTrigonometricFunction._eval_is_finite•  s&   € Ø�$×%Ñ% d§i¡i°¡lÓ3Ñ3×>Ñ>Ð>r6   c                ód   • SU R                  U R                  S   5      -  R                  XU5      $ r²   )r£  r=   ró   ©rA   r¡   rç   rî   rï   s        r4   ró   Ú-ReciprocalTrigonometricFunction._eval_nseries˜  s-   € Ø�$×%Ñ% d§i¡i°¡lÓ3Ñ3×BÑBÀ1ÈÓNÐNr6   rN   r‡  rn   rˆ  )"rp   rq   rr   rs   rt   r£  r   rv   rw   r™  Ú__annotations__rš  r‰  rß   r«  r®  r±  rl   r¶   r   r  r¨  r  r  r'  r*  rI  rO   rY  rs  rn  rx  ró   rx   rN   r6   r4   r˜  r˜  $  s­   ‡ ÙJà€NØ×'Ñ'Ð)€Nð €HˆiÓØ€GˆYÓàñ"ó ð"òH8ò
+òò5ôFòEòEòEòEòEòEòFò3ôKòHòJòdò?÷Or6   r˜  c                  ó„   • \ rS rSrSr\rSrSS jrS r	S r
S rS	 rS
 rS rSS jrS rS r\\S 5       5       rS rSrg)r5  iœ  a/  
The secant function.

Returns the secant of x (measured in radians).

Explanation
===========

See :class:`sin` for notes about automatic evaluation.

Examples
========

>>> from sympy import sec
>>> from sympy.abc import x
>>> sec(x**2).diff(x)
2*x*tan(x**2)*sec(x**2)
>>> sec(1).diff(x)
0

See Also
========

sin, csc, cos, tan, cot
asin, acsc, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Trigonometric_functions
.. [2] https://dlmf.nist.gov/4.14
.. [3] https://functions.wolfram.com/ElementaryFunctions/Sec

TNc                ó$   • U R                  U5      $ ro   ©rl   r­   s     r4   r®   Ú
sec.periodÃ  ó   € Ø�|‰|˜FÓ#Ð#r6   c                ó:   • [        US-  5      S-  nUS-   US-
  -  $ r  r%  )rA   r   rþ   Úcot_half_sqs       r4   r#  Úsec._eval_rewrite_as_cotÆ  s&   € Ü˜#˜a™%“j !‘mˆØ˜a‘ +°¡/Ñ2Ð2r6   c                ó   • S[        U5      -  $ r-  ©r³   r  s      r4   r  Úsec._eval_rewrite_as_cosÊ  ó   € Ø”#�c“(‘
Ðr6   c                óH   • [        U5      [        U5      [        U5      -  -  $ ro   r  r  s      r4   r  Úsec._eval_rewrite_as_sincosÍ  ó   € Ü�3‹xœ˜S›¤# c£(Ñ*Ñ+Ð+r6   c                óH   • S[        U5      R                  " [        40 UD6-  $ r-  )r³   rý   r¨   r  s      r4   r¨  Úsec._eval_rewrite_as_sinÐ  ó!   € Ø”#�c“(×"Ò"¤3Ñ1¨&Ñ1Ñ1Ð2r6   c                óH   • S[        U5      R                  " [        40 UD6-  $ r-  )r³   rý   r  r  s      r4   r  Úsec._eval_rewrite_as_tanÓ  rê  r6   c                ó*   • [        [        S-  U-
  SS9$ r	  )r/  r   r  s      r4   r0  Úsec._eval_rewrite_as_cscÖ  ó   € Ü”2�a‘4˜#‘:¨Ñ.Ð.r6   c                ó†   • US:X  a1  [        U R                  S   5      [        U R                  S   5      -  $ [        X5      er²   )r  r=   r5  r   r´   s     r4   r¶   Ú	sec.fdiffÙ  s9   € Ø�q‹=Ü�t—y‘y ‘|Ó$¤S¨¯©°1©Ó%6Ñ6Ð6ä$ TÓ4Ð4r6   c                ó®   • SSK Jn  [        S[        [        U-  5      [        S5      -  U" [
        R                  * U5      -  -  [        US5      4S5      $ )Nr   r=  r—   rŠ   rÍ  rÎ  rA  s       r4   rB  Úsec._eval_rewrite_as_besseljß  sK   € Ý:ÜØ”Dœ˜C™“L¤$ q£'Ñ*©7´A·F±F°7¸CÓ+@Ñ@ÑAÄ2ÀcÈ1Ã:ÐNØóð 	r6   c                ó–   • U R                   S   nUR                  (       a)  U[        -  [        R                  -
  R
                  SL a  gg g rF   )r=   r„  r   r   rŽ   r�   rw  s     r4   r…  Úsec._eval_is_complexæ  s:   € Ø�i‰i˜‰lˆà�>�>˜s¤2™v¬¯©™×:Ñ:¸eÒCØð Dˆ>r6   c                óÔ   • U S:  d	  U S-  S:X  a  [         R                  $ [        U5      nU S-  n[         R                  U-  [	        SU-  5      -  [        SU-  5      -  USU-  -  -  $ rø  )r   rY   r   rÐ   r   r   ©rç   r¡   rè   Úks       r4   ré   Úsec.taylor_termì  sf   € ð
 ˆq‹5�A˜‘E˜Q“JÜ—6‘6ˆMä˜“
ˆAØ�1‘ˆAÜ—=‘= !Ñ#¤E¨!¨A©#£JÑ.¬y¸¸1¹«~Ñ=¸aÀ!ÀAÁ#¹hÑFÐFr6   c                óˆ  • SSK Jn  SSKJn  U R                  S   nUR                  US5      R                  5       nU[        S-  -   [        -  nUR                  (       a:  Xh[        -  -
  [        S-  -   R                  U5      n	[        R                  U-  U	-  $ U[        R                  L a*  UR                  USU" U5      R                  (       a  SOSS9nU[        R                  [        R                   4;   a%  U" [        R                   [        R                  5      $ UR"                  (       a  U R%                  U5      $ U $ )Nr   r¹   r>  rŠ   ra  rb  rc  ©rÂ   rº   r@  r!   r=   rñ   rf  r   r�   rg  r   rÐ   rv   rh  ri  rÆ   rÇ   rj  r<   rA  s
             r4   rn  Úsec._eval_as_leading_termø  sï   € ÝAÝ;Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”"�Q‘$‰Yœ‰NˆØ�<�<Øœ"™‘*œr !™tÑ#×4Ñ4°QÓ7ˆBÜ—M‘M 1Ñ$ bÑ(Ð(Ø”×"Ñ"Ò"Ø—‘˜1˜a©B¨t«H×,@×,@¡SÀc�ÐJˆBØ”!—*‘*œa×0Ñ0Ð1Ó1Ùœq×1Ñ1´1·:±:Ó>Ð>Ø "§§ˆt�y‰y˜‹}Ð6°$Ð6r6   rN   ro   r‡  )rp   rq   rr   rs   rt   r³   r£  r™  r®   r#  r  r  r¨  r  r0  r¶   rB  r…  rŠ  r   ré   rn  rx   rN   r6   r4   r5  r5  œ  si   † ñ!ðF €NØ€Hô$ò3òò,ò3ò3ò/ô5òòð ØñGó ó ðGõ7r6   r5  c                  ó„   • \ rS rSrSr\rSrSS jrS r	S r
S rS	 rS
 rS rS rSS jrS r\\S 5       5       rS rSrg)r/  i  a3  
The cosecant function.

Returns the cosecant of x (measured in radians).

Explanation
===========

See :func:`sin` for notes about automatic evaluation.

Examples
========

>>> from sympy import csc
>>> from sympy.abc import x
>>> csc(x**2).diff(x)
-2*x*cot(x**2)*csc(x**2)
>>> csc(1).diff(x)
0

See Also
========

sin, cos, sec, tan, cot
asin, acsc, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Trigonometric_functions
.. [2] https://dlmf.nist.gov/4.14
.. [3] https://functions.wolfram.com/ElementaryFunctions/Csc

TNc                ó$   • U R                  U5      $ ro   rÛ  r­   s     r4   r®   Ú
csc.period/  rÝ  r6   c                ó   • S[        U5      -  $ r-  r  r  s      r4   r¨  Úcsc._eval_rewrite_as_sin2  rä  r6   c                óH   • [        U5      [        U5      [        U5      -  -  $ ro   ro  r  s      r4   r  Úcsc._eval_rewrite_as_sincos5  rç  r6   c                ó:   • [        US-  5      nSUS-  -   SU-  -  $ r  r%  r!  s       r4   r#  Úcsc._eval_rewrite_as_cot8  s&   € Ü�s˜1‘u“:ˆØ�H˜a‘K‘ ! H¡*Ñ-Ð-r6   c                óH   • S[        U5      R                  " [        40 UD6-  $ r-  )r¨   rý   r³   r  s      r4   r  Úcsc._eval_rewrite_as_cos<  rË  r6   c                ó*   • [        [        S-  U-
  SS9$ r	  r4  r  s      r4   r6  Úcsc._eval_rewrite_as_sec?  rï  r6   c                óH   • S[        U5      R                  " [        40 UD6-  $ r-  )r¨   rý   r  r  s      r4   r  Úcsc._eval_rewrite_as_tanB  rê  r6   c                ó€   • SSK Jn  [        S[        -  5      S[        U5      U" [        R
                  U5      -  -  -  $ )Nr   r=  rŠ   r—   r?  rA  s       r4   rB  Úcsc._eval_rewrite_as_besseljE  s1   € Ý:Ü�A”b‘D‹z˜1œd 3›i©´·±¸Ó(<Ñ<Ñ=Ñ>Ð>r6   c                óˆ   • US:X  a2  [        U R                  S   5      * [        U R                  S   5      -  $ [        X5      er²   )r   r=   r/  r   r´   s     r4   r¶   Ú	csc.fdiffI  s<   € Ø�q‹=Ü˜Ÿ	™	 !™Ó%Ð%¤c¨$¯)©)°A©,Ó&7Ñ7Ð7ä$ TÓ4Ð4r6   c                ót   • U R                   S   nUR                  (       a  U[        -  R                  SL a  gg g rF   r‰  rw  s     r4   r…  Úcsc._eval_is_complexO  r‹  r6   c                ó2  • U S:X  a  S[        U5      -  $ U S:  d	  U S-  S:X  a  [        R                  $ [        U5      nU S-  S-   n[        R                  US-
  -  S-  SSU-  S-
  -  S-
  -  [	        SU-  5      -  USU-  S-
  -  -  [        SU-  5      -  $ r^  )r   r   rY   rÐ   r   r   r÷  s       r4   ré   Úcsc.taylor_termT  s®   € ð �‹6Ø”W˜Q“Z‘<ÐØ�‹U�a˜!‘e˜q“jÜ—6‘6ˆMä˜“
ˆAØ�1‘�q‘ˆAÜ—M‘M A¨¡EÑ*¨1Ñ,¨a°!°A±#¸±'©l¸QÑ.>Ñ?Ü˜a ™c“Nñ#Ø#$ q¨¡s¨Q¡w¡<ñ0Ü09¸!¸A¹#³ñ?ð @r6   c                ó`  • SSK Jn  SSKJn  U R                  S   nUR                  US5      R                  5       nU[        -  nUR                  (       a0  Xh[        -  -
  R                  U5      n	[        R                  U-  U	-  $ U[        R                  L a*  UR                  USU" U5      R                  (       a  SOSS9nU[        R                  [        R                   4;   a%  U" [        R                   [        R                  5      $ UR"                  (       a  U R%                  U5      $ U $ )Nr   r¹   r>  ra  rb  rc  rû  rA  s
             r4   rn  Úcsc._eval_as_leading_terma  sÞ   € ÝAÝ;Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØŒr‰EˆØ�<�<Øœ"™‘*×-Ñ-¨aÓ0ˆBÜ—M‘M 1Ñ$ bÑ(Ð(Ø”×"Ñ"Ò"Ø—‘˜1˜a©B¨t«H×,@×,@¡SÀc�ÐJˆBØ”!—*‘*œa×0Ñ0Ð1Ó1Ùœq×1Ñ1´1·:±:Ó>Ð>Ø "§§ˆt�y‰y˜‹}Ð6°$Ð6r6   rN   ro   r‡  )rp   rq   rr   rs   rt   r¨   r£  rš  r®   r¨  r  r#  r  r6  r  rB  r¶   r…  rŠ  r   ré   rn  rx   rN   r6   r4   r/  r/    si   † ñ!ðF €NØ€Gô$òò,ò.ò1ò/ò3ò?ô5òð
 Øñ	@ó ó ð	@õ7r6   r/  c                  ór   • \ rS rSrSr\R                  4rSS jr\	S 5       r
SS jrS rS rS rS	 r\rS
rg)r9  iq  a’  
Represents an unnormalized sinc function:

.. math::

    \operatorname{sinc}(x) =
    \begin{cases}
      \frac{\sin x}{x} & \qquad x \neq 0 \\
      1 & \qquad x = 0
    \end{cases}

Examples
========

>>> from sympy import sinc, oo, jn
>>> from sympy.abc import x
>>> sinc(x)
sinc(x)

* Automated Evaluation

>>> sinc(0)
1
>>> sinc(oo)
0

* Differentiation

>>> sinc(x).diff()
cos(x)/x - sin(x)/x**2

* Series Expansion

>>> sinc(x).series()
1 - x**2/6 + x**4/120 + O(x**6)

* As zero'th order spherical Bessel Function

>>> sinc(x).rewrite(jn)
jn(0, x)

See also
========

sin

References
==========

.. [1] https://en.wikipedia.org/wiki/Sinc_function

c                ó‚   • U R                   S   nUS:X  a   [        U5      U-  [        U5      US-  -  -
  $ [        X5      er^  )r=   r³   r¨   r   )rA   rµ   r¡   s      r4   r¶   Ú
sinc.fdiff¨  sB   € Ø�I‰I�a‰LˆØ�q‹=ô �q“6˜!‘8œc !›f Q¨¡T™kÑ)Ð)ä$ TÓ4Ð4r6   c                ó¤  • UR                   (       a  [        R                  $ UR                  (       aW  U[        R                  [        R
                  4;   a  [        R                  $ U[        R                  L a  [        R                  $ U[        R                  L a  [        R                  $ UR                  5       (       a	  U " U* 5      $ [        U5      nUbx  UR                  (       a+  [        UR                   5      (       a  [        R                  $ g SU-  R                  (       a'  [        R                  U[        R                  -
  -  U-  $ g g r«   )r?   r   r˜   rÄ   rÆ   rÇ   rY   rÅ   rv   rÎ   rH   r�   r   rÐ   rŽ   )rÙ   r   rI   s      r4   rß   Ú	sinc.evalµ  sè   € à�;�;Ü—5‘5ˆLØ�=�=Ø”q—z‘z¤1×#5Ñ#5Ð6Ó6Ü—v‘v�ØœŸ™’Ü—u‘u�à”!×#Ñ#Ò#Ü—5‘5ˆLà×'Ñ'×)Ñ)Ù˜�t“9Ðä˜S“>ˆØÑØ×"×"Ü˜SŸ[™[×)Ñ)ÜŸ6™6�Mð *à�H‘*×(×(Ü—}‘} x´!·&±&Ñ'8Ñ9¸#Ñ=Ð=ð )ð	  r6   c                ó\   • U R                   S   n[        U5      U-  R                  XU5      $ rE  )r=   r¨   ró   rÖ  s        r4   ró   Úsinc._eval_nseriesÍ  s*   € Ø�I‰I�a‰LˆÜ�A“�q‘×'Ñ'¨¨dÓ3Ð3r6   c                ó    • SSK Jn  U" SU5      $ )Nr   )Újn)r@  r  )rA   r   rþ   r  s       r4   Ú_eval_rewrite_as_jnÚsinc._eval_rewrite_as_jnÑ  s   € Ý5Ù�!�S‹zÐr6   c                ó¢   • [        [        U5      U-  [        U[        R                  5      4[        R
                  [        R                  45      $ ro   )r(   r¨   r   r   rY   r˜   Útruer  s      r4   r¨  Úsinc._eval_rewrite_as_sinÕ  s2   € Üœ#˜c›( 3™,¬¨3´·±«Ð8¼1¿5¹5Ä!Ç&Á&¸/ÓJÐJr6   c                ó"  • U R                   S   R                  (       a  g[        U R                   S   5      u  pUR                  (       a!  [	        UR
                  UR                  /5      $ UR                  (       a  UR
                  (       a  gg g )Nr   TF)r=   Úis_infiniter•   r?   r   r�   Ú
is_nonzerorÄ   r|  s      r4   r  Úsinc._eval_is_zeroØ  sf   € Ø�9‰9�Q‰<×#×#ØÜ# D§I¡I¨a¡LÓ1‰ˆØ�<�<Ü˜g×0Ñ0°'×2DÑ2DÐEÓFÐFØ�>�>˜g×0×0Øð 1ˆ>r6   c                ó~   • U R                   S   R                  (       d  U R                   S   R                  (       a  gg rq  )r=   rW   rK  rH  s    r4   rH  Úsinc._eval_is_realá  s,   € Ø�9‰9�Q‰<×(×(¨D¯I©I°a©L×,E×,EØð -Fr6   rN   Nr‡  rˆ  )rp   rq   rr   rs   rt   r   rv   rw   r¶   r‰  rß   ró   r  r¨  r  rH  rx  rx   rN   r6   r4   r9  r9  q  sR   † ñ3ðh ×'Ñ'Ð)€Nô5ð ñ>ó ð>ô.4òòKòòð $ƒOr6   r9  c                  óÎ   • \ rS rSr% Sr\R                  \R                  \R                  \R                  4r
S\S'   \\S 5       5       r\\S 5       5       r\\S 5       5       rSrg	)
ÚInverseTrigonometricFunctionií  z/Base class for inverse trigonometric functions.ztuple[Expr, ...]rw   c                 ó  • 0 [        S5      S-  [        S-  _[        S5      S-  [        S-  _S[        S5      -  [        S-  _[        S[        S5      -
  S-  5      [        S-  _[        S5      [        S[        S5      -
  5      -  S-  [        S-  _[        S[        S5      -   S-  5      [        [        SS5      -  _[        S5      [        S[        S5      -   5      -  S-  [        [        SS5      -  _[        R                  [        S-  _[        S[        S5      -
  5      S-  [        S-  _[        [        R                  [        S5      S-  -
  5      [        S-  _[        S[        S5      -   5      S-  [        [        SS5      -  _[        [        R                  [        S5      S-  -   5      [        [        SS5      -  _[        S5      S-
  S-  [        S-  _S[        S5      -
  S-  [        * S-  _[        S5      S-   S-  [        [        SS5      -  _[        S5      S-  [        S5      S-  -
  [        S	-  _[        S5      * S-  [        S5      S-  -   [        * S	-  _[        S5      S-
  [        S5      -  [        S	-  S[        S5      -
  [        S5      -  [        * S	-  [        S5      S-  [        S5      S-  -   [        [        SS	5      -  S[        S5      -   [        S5      -  [        [        SS	5      -  0E$ )
Nrz   rŠ   r{   r—   r|   r   r}   r~   r„   )r%   r   r   r   rŽ   rN   r6   r4   Ú_asin_tableÚ(InverseTrigonometricFunction._asin_tableñ  sÖ  € ð

Ü�‹G�A‰I”r˜!‘tð
ä�‹G�A‰I”r˜!‘tð
ð Œd�1‹g‰I”r˜!‘tð
ô �!”d˜1“g‘+˜q‘Ó!¤2 a¡4ð	
ô
 �‹G”D˜œT !›W™Ó%Ñ% aÑ'¬¨A©ð
ô �!”d˜1“g‘+˜q‘Ó!¤2¤h¨q°!£nÑ#4ð
ô �‹G”D˜œT !›W™Ó%Ñ% aÑ'¬¬H°Q¸«NÑ):ð
ô �F‰F”B�q‘Dð
ô �”T˜!“W‘Ó˜aÑ¤ A¡ð
ô ”—‘œ$˜q›' !™)Ñ#Ó$¤b¨¡dð
ô �”T˜!“W‘Ó˜aÑ¤¤H¨Q°£NÑ!2ð
ô ”—‘œ$˜q›' !™)Ñ#Ó$¤b¬°!°Q«Ñ&7ð
ô �!‹W�q‰[˜!‰OœR ™Uð
ð ”�a“‰[˜!‰Oœb˜S ™Vð
ô �!‹W�q‰[˜!‰OœR¤¨¨B£Ñ/ð
ô  �‹G�A‰Iœ˜Q› ™	Ñ!¤2 b¡5ð!
ô" �!‹WˆH�Q‰Jœ˜a› ™Ñ"¤R C¨¡Fð#
ô$ �!‹W�q‰[œ$˜q›'Ñ!¤2 b¡5Ø”�a“‰[œ$˜q›'Ñ!¤B 3 r¡6Ü�‹G�A‰Iœ˜Q› ™	Ñ!¤2¤h¨q°"£oÑ#5Ø”�a“‰[œ$˜q›'Ñ!¤2¤h¨q°"£oÑ#5ñ+
ð 	
r6   c                 óâ  • [        S5      S-  [        S-  S[        S5      -  [        S-  [        S5      [        S-  [        S5      S-
  [        S-  S[        S5      -
  [        * S-  S[        S5      -   [        [        SS5      -  [        SS[        S5      -  -
  5      [        S-  [        SS[        S5      -  -   5      [        [        SS5      -  [        SS[        S5      -  S-  -
  5      [        S-  [        SS[        S5      -  S-  -   5      [        [        SS5      -  S[        S5      -
  [        S-  S	[        S5      -   [        * S-  S[        S5      -   [        [        SS5      -  0$ )
Nrz   r}   r—   rŠ   r   r|   r~   r„   rã   ©r%   r   r   rN   r6   r4   Ú_atan_tableÚ(InverseTrigonometricFunction._atan_table  s3  € ô �‹G�A‰I”r˜!‘tØŒd�1‹g‰I”r˜!‘tÜ�‹G”R˜‘TÜ�‹G�a‰Kœ˜A™Ø”�Q“‰Kœ"˜˜Q™Ø”�Q“‰KœœH Q¨›NÑ*Ü��Q”t˜A“w‘Y‘Ó¤ A¡Ü��Q”t˜A“w‘Y‘Ó¤¤H¨Q°£NÑ!2Ü��Q”t˜A“w‘Y˜q‘[‘Ó!¤2 b¡5Ü��Q”t˜A“w‘Y˜q‘[‘Ó!¤2¤h¨q°"£oÑ#5Ø”�Q“‰Kœ˜B™Ø”�a“‰Lœ2˜#˜b™&Ø”�Q“‰KœœH Q¨›OÑ+ð
ð 	
r6   c                 ó´  • 0 S[        S5      -  S-  [        S-  _[        S5      [        S-  _[        SS[        S5      -  S-  -   5      [        S-  _S[        [        SS5      [        S5      S-  -
  5      -  [        S-  _[        SS[        S5      -  S-  -
  5      [        [        SS5      -  _S[        [        SS5      [        S5      S-  -   5      -  [        [        SS5      -  _S[        S-  _[        SS[        S5      -  -   5      [        S-  _S[        S[        S5      -
  5      -  [        S-  _[        SS[        S5      -  -
  5      [        [        SS5      -  _S[        S[        S5      -   5      -  [        [        SS5      -  _S[        S5      -   [        S-  _[        S5      S-
  [        [        SS5      -  _[        S5      S-
  * [        [        S	S5      -  _[        S5      [        S5      -   [        S
-  _[        S5      [        S5      -
  [        [        SS
5      -  _[        S5      [        S5      -
  * [        [        SS
5      -  _$ )NrŠ   rz   r{   r|   r—   r   r}   r~   éýÿÿÿr„   éûÿÿÿr0  rN   r6   r4   Ú_acsc_tableÚ(InverseTrigonometricFunction._acsc_table$  sP  € ð

ØŒd�1‹g‰I�a‰Kœ˜A™ð
ä�‹G”R˜‘Tð
ô ��Q”t˜A“w‘Y˜q‘[‘Ó!¤2 a¡4ð
ð Œd”8˜A˜q“>¤D¨£G¨A¡IÑ-Ó.Ñ.´°1±ð	
ô
 ��Q”t˜A“w‘Y˜q‘[‘Ó!¤2¤h¨q°!£nÑ#4ð
ð Œd”8˜A˜q“>¤D¨£G¨A¡IÑ-Ó.Ñ.´´8¸A¸q³>Ñ0Að
ð Œr�!‰tð
ô ��Q”t˜A“w‘Y‘Ó¤ A¡ð
ð Œd�1”t˜A“w‘;ÓÑ¤ A¡ð
ô ��Q”t˜A“w‘Y‘Ó¤¤H¨Q°£NÑ!2ð
ð Œd�1”t˜A“w‘;ÓÑ¤¤H¨Q°£NÑ!2ð
ð ”�Q“‰Kœ˜B™ð
ô �‹G�a‰KœœH Q¨›OÑ+ð
ô �1‹g˜‰kˆNœBœx¨¨BÓ/Ñ/ð
ô �‹G”d˜1“gÑœr "™uð
ô  �‹G”d˜1“gÑœr¤(¨1¨b£/Ñ1ð!
ô" �1‹gœ˜Q›ÑÐ ¤"¤X¨b°"Ó%5Ñ"5ð#
ð 	
r6   rN   N)rp   rq   rr   rs   rt   r   r˜   rÐ   rY   rv   rw   rØ  rŠ  r   r-  r1  r6  rx   rN   r6   r4   r+  r+  í  s}   ‡ Ù9Ø()¯©¨q¯}©}¸a¿f¹fÀa×FWÑFWÐ'X€NÐ$ÓXàØñ
ó ó ð
ð8 Øñ
ó ó ð
ð& Øñ
ó ó ó
r6   r+  c                  ó´   ^ • \ rS rSrSrSS jrS rS rS r\	S 5       r
\\S 5       5       rS	 rSU 4S
 jjrS rS rS r\rS rS rS rS rSS jrSrU =r$ )rÒ   i>  að  
The inverse sine function.

Returns the arcsine of x in radians.

Explanation
===========

``asin(x)`` will evaluate automatically in the cases
$x \in \{\infty, -\infty, 0, 1, -1\}$ and for some instances when the
result is a rational multiple of $\pi$ (see the ``eval`` class method).

A purely imaginary argument will lead to an asinh expression.

Examples
========

>>> from sympy import asin, oo
>>> asin(1)
pi/2
>>> asin(-1)
-pi/2
>>> asin(-oo)
oo*I
>>> asin(oo)
-oo*I

See Also
========

sin, csc, cos, sec, tan, cot
acsc, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Inverse_trigonometric_functions
.. [2] https://dlmf.nist.gov/4.23
.. [3] https://functions.wolfram.com/ElementaryFunctions/ArcSin

c                óf   • US:X  a!  S[        SU R                  S   S-  -
  5      -  $ [        X5      e©Nr—   r   rŠ   ©r%   r=   r   r´   s     r4   r¶   Ú
asin.fdiffi  s5   € Ø�q‹=Ø”T˜!˜dŸi™i¨™l¨A™oÑ-Ó.Ñ.Ð.ä$ TÓ4Ð4r6   c                óÀ   • U R                   " U R                  6 nUR                   U R                   :X  a   UR                  S   R                  (       a  gg UR                  $ r;   ©r<   r=   r>   r@   s     r4   rC   Úasin._eval_is_rationalo  óI   € Ø�IŠI�t—y‘yÐ!ˆØ�6‰6�T—Y‘YÓØ�v‰v�a‰y×$×$Øð %ð —=‘=Ð r6   c                ób   • U R                  5       =(       a    U R                  S   R                  $ rE  )rs  r=   Úis_positiverH  s    r4   Ú_eval_is_positiveÚasin._eval_is_positivew  ó$   € Ø×*Ñ*Ó,×I°·±¸1±×1IÑ1IÐIr6   c                ób   • U R                  5       =(       a    U R                  S   R                  $ rE  )rs  r=   ri  rH  s    r4   Ú_eval_is_negativeÚasin._eval_is_negativez  rE  r6   c                ó  • UR                   (       aå  U[        R                  L a  [        R                  $ U[        R                  L a!  [        R                  [        R
                  -  $ U[        R                  L a!  [        R                  [        R
                  -  $ UR                  (       a  [        R                  $ U[        R                  L a	  [        S-  $ U[        R                  L a
  [        * S-  $ U[        R                  L a  [        R                  $ UR                  5       (       a
  U " U* 5      * $ UR                  (       a  U R                  5       nX;   a  X!   $ [        U5      nUb  SSKJn  [        R
                  U" U5      -  $ UR                  (       a  [        R                  $ [%        U[&        5      (       ao  UR(                  S   nUR*                  (       aO  US[        -  -  nU[        :”  a	  [        U-
  nU[        S-  :”  a	  [        U-
  nU[        * S-  :  a
  [        * U-
  nU$ [%        U[,        5      (       a6  UR(                  S   nUR*                  (       a  [        S-  [/        U5      -
  $ g g )NrŠ   r   )Úasinh)rÄ   r   rÅ   rÆ   rÇ   r3   r?   rY   r˜   r   rÐ   rv   rÎ   Ú	is_numberr-  r5   rÏ   rJ  r1   r¨   r=   Úis_comparabler³   rÕ   )rÙ   r   Ú
asin_tablerÛ   rJ  Úangs         r4   rß   Ú	asin.eval}  sÛ  € à�=�=Ø”a—e‘eŠ|Ü—u‘u�ØœŸ
™
Ò"Ü×)Ñ)¬!¯/©/Ñ9Ð9Øœ×*Ñ*Ò*Ü—z‘z¤!§/¡/Ñ1Ð1Ø——Ü—v‘v�ØœŸ™’Ü˜!‘t�ØœŸ™Ò%Ü�s˜1‘u�à”!×#Ñ#Ò#Ü×$Ñ$Ð$à×'Ñ'×)Ñ)Ù˜˜“I�:Ðà�=�=ØŸ™Ó*ˆJØÓ Ø!‘Ð&ä0°Ó5ˆØÑÝCÜ—?‘?¡5¨£>Ñ1Ð1à�;�;Ü—6‘6ˆMä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ø�qœ‘t‘�Øœ“8Ü˜s™(�Cð œ˜A™“:Ü˜s™(�CØœ"˜˜Q™“;Ü˜# ™)�Cà�
ä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ü˜!‘tœd 3›iÑ'Ð'ð !ð  r6   c                ó,  • U S:  d	  U S-  S:X  a  [         R                  $ [        U5      n[        U5      S:¼  a#  U S:”  a  US   nX0S-
  S-  -  X S-
  -  -  US-  -  $ U S-
  S-  n[	        [         R
                  U5      n[        U5      nXV-  X-  -  U -  $ râ   )r   rY   r   rå   r   rŽ   r   ©rç   r¡   rè   r¢   rø  ÚRrú  s          r4   ré   Úasin.taylor_term´  s    € ð ˆq‹5�A˜‘E˜Q“JÜ—6‘6ˆMä˜“
ˆAÜ�>Ó" aÓ'¨A°«EØ" 2Ñ&�Ø˜a™% !™‘| Q¨A©¡YÑ/°°1±Ñ4Ð4à˜‘U˜q‘L�Ü#¤A§F¡F¨AÓ.�Ü˜a“L�Ø‘s˜1™4‘x ‘zÐ!r6   c                óÌ  • U R                   S   nUR                  US5      R                  5       nU[        R                  L a   U R                  UR                  U5      5      $ UR                  (       a  UR                  U5      $ U[        R                  * [        R                  [        R                  4;   a1  U R                  [        5      R                  XUS9R                  5       $ SUS-  -
  R                  (       aÔ  UR                  X(       a  UOS5      n[!        U5      R                  (       a+  UR                  (       a  ["        * U R                  U5      -
  $ Ou[!        U5      R$                  (       a*  UR$                  (       a  ["        U R                  U5      -
  $ O1U R                  [        5      R                  XUS9R                  5       $ U R                  U5      $ ©Nr   rÑ  r—   rŠ   )r=   rñ   rf  r   rÅ   r<   rg  r?   r˜   rv   rý   r"   rn  rX   ri  rd  r    r   rB  ©rA   r¡   rî   rï   r   rl  Úndirs          r4   rn  Úasin._eval_as_leading_termÄ  se  € Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”—‘Š;Ø—9‘9˜S×0Ñ0°Ó3Ó4Ð4Ø�:�:Ø×&Ñ& qÓ)Ð)ð ”1—5‘5�&œ!Ÿ%™%¤×!2Ñ!2Ð3Ó3Ø—<‘<¤Ó$×:Ñ:¸1ÈdÐ:ÐS×ZÑZÓ\Ð\à��A‘‰I×"×"Ø—7‘7˜1¥d™d°Ó2ˆDÜ�$‹x×#×#Ø—>—>Ü˜3 §¡¨2£Ñ.Ð.ð "ä�D“×%×%Ø—>—>Ü §	¡	¨"£Ñ-Ð-ð "ð —|‘|¤CÓ(×>Ñ>¸qÐRVÐ>ÐW×^Ñ^Ó`Ð`Ø�y‰y˜‹}Ðr6   c                ó  >• SSK Jn  U R                  S   R                  US5      nU[        R
                  L Gac  [        SSS9n[        [        R
                  US-  -
  5      R                  [        5      R                  USSU-  5      n[        R
                  U R                  S   -
  n	U	R                  U5      n
Xš-
  U
-  nUR                  US5      (       d)  US:X  a  U" S5      $ [        S-  U" [        U5      5      -   $ [        [        R
                  U-   5      R                  XUS9nUR!                  5       [        U
5      -  R#                  5       nUR!                  5       R                  X}5      R#                  5       R%                  5       U" X-  U5      -   $ U[        R&                  L Gad  [        SSS9n[        [        R&                  US-  -   5      R                  [        5      R                  USSU-  5      n[        R
                  U R                  S   -   n	U	R                  U5      n
Xš-
  U
-  nUR                  US5      (       d*  US:X  a  U" S5      $ [        * S-  U" [        U5      5      -   $ [        [        R
                  U-   5      R                  XUS9nUR!                  5       [        U
5      -  R#                  5       nUR!                  5       R                  X}5      R#                  5       R%                  5       U" X-  U5      -   $ [(        TU ]=  XUS9nU[        R*                  L a  U$ SUS-  -
  R,                  (       a¹  U R                  S   R/                  X(       a  UOS5      n[1        U5      R,                  (       a  UR,                  (       a
  [        * U-
  $  U$ [1        U5      R2                  (       a  UR2                  (       a	  [        U-
  $  U$ U R                  [        5      R                  XX4S	9$ U$ ©
Nr   ©ÚOr¥  T©ÚpositiverŠ   r—   rý  rÑ  )Úsympy.series.orderr\  r=   rñ   r   r˜   r   rÒ   rý   r"   Únseriesrg  Úis_meromorphicr   r%   ró   ÚremoveOrX   ÚpowsimprÐ   rò   rv   ri  rd  r    rB  ©rA   r¡   rç   rî   rï   r\  Úarg0r¥  ÚserÚarg1rh   ri   Úres1ÚresrW  rõ   s                  €r4   ró   Úasin._eval_nseriesÜ  sM  ø€ Ý(Ø�y‰y˜‰|× Ñ   AÓ&ˆà”1—5‘5‹=Ü�c DÑ)ˆAÜ”q—u‘u˜q !™t‘|Ó$×,Ñ,¬SÓ1×9Ñ9¸!¸QÀÀ!ÁÓDˆCÜ—5‘5˜4Ÿ9™9 Q™<Ñ'ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAØ×#Ñ# A q×)Ñ)Ø  A›v‘q˜“tÐ<¬2¨a©4±!´D¸³G³*Ñ+<Ð<ÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMà”1—=‘=Ó Ü�c DÑ)ˆAÜ”q—}‘} q¨!¡tÑ+Ó,×4Ñ4´SÓ9×AÑAÀ!ÀQÈÈ!ÉÓLˆCÜ—5‘5˜4Ÿ9™9 Q™<Ñ'ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAØ×#Ñ# A q×)Ñ)Ø  A›v‘q˜“tÐ=¬B¨3¨q©5±1´T¸!³W³:Ñ+=Ð=ÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMä‰gÑ# A°Ð#Ð6ˆØ”1×$Ñ$Ò$ØˆJà��a‘‰K×$×$Ø—9‘9˜Q‘<×#Ñ# A­t¡t¸Ó;ˆDÜ�$‹x×#×#Ø×#×#Ü˜3 ™9Ð$ð $ð ˆ
ô �D“×%×%Ø×#×#Ü ™8�Oð $ð ˆ
ð —|‘|¤CÓ(×6Ñ6°qÀ$Ð6ÐRÐRØˆ
r6   c                ó,   • [         S-  [        U5      -
  $ r«   ©r   rÕ   r  s      r4   Ú_eval_rewrite_as_acosÚasin._eval_rewrite_as_acos	  ó   € Ü�!‰t”d˜1“g‰~Ðr6   c           
     óH   • S[        US[        SUS-  -
  5      -   -  5      -  $ r  )rÓ   r%   r  s      r4   Ú_eval_rewrite_as_atanÚasin._eval_rewrite_as_atan	  s(   € Ø”�a˜œT ! a¨¡d¡(›^Ñ+Ñ,Ó-Ñ-Ð-r6   c           	     ó‚   • [         R                  * [        [         R                  U-  [        SUS-  -
  5      -   5      -  $ rç  ©r   r3   r"   r%   r  s      r4   Ú_eval_rewrite_as_logÚasin._eval_rewrite_as_log	  s3   € Ü—‘Ð¤¤A§O¡O°AÑ$5¼¸QÀÀAÁ¹X»Ñ$FÓ GÑGÐGr6   c           	     óH   • S[        S[        SUS-  -
  5      -   U-  5      -  $ r  )rÖ   r%   r  s      r4   Ú_eval_rewrite_as_acotÚasin._eval_rewrite_as_acot	  s)   € Ø”�qœ4  C¨¡F¡
Ó+Ñ+¨SÑ0Ó1Ñ1Ð1r6   c                ó2   • [         S-  [        SU-  5      -
  $ r  ©r   rØ   r  s      r4   Ú_eval_rewrite_as_asecÚasin._eval_rewrite_as_asec	  ó   € Ü�!‰t”d˜1˜S™5“kÑ!Ð!r6   c                ó   • [        SU-  5      $ r-  )r×   r  s      r4   Ú_eval_rewrite_as_acscÚasin._eval_rewrite_as_acsc	  ó   € Ü�A�c‘E‹{Ðr6   c                óv   • U R                   S   nUR                  =(       a    S[        U5      -
  R                  $ ©Nr   r—   ©r=   rW   rc   Úis_nonnegative©rA   r¡   s     r4   rs  Úasin._eval_is_extended_real	  ó.   € Ø�I‰I�a‰LˆØ×!Ñ!×A q¬3¨q«6¡z×&AÑ&AÐAr6   c                ó   • [         $ rê  r  r´   s     r4   rì  Úasin.inverse 	  ó	   € ô ˆ
r6   rN   r‡  rˆ  )rp   rq   rr   rs   rt   r¶   rC   rC  rG  r‰  rß   rŠ  r   ré   rn  ró   rm  rq  ru  Ú_eval_rewrite_as_tractablerx  r|  r€  rs  rì  rx   r‹  rŒ  s   @r4   rÒ   rÒ   >  s’   ø† ñ(ôT5ò!òJòJð ñ4(ó ð4(ðl Øñ"ó ó ð"ò÷0*òXò.òHð "6Ðò2ò"òòB÷ò r6   rÒ   c                  ó´   ^ • \ rS rSrSrSS jrS r\S 5       r\	\
S 5       5       rS rS rS	 rSU 4S
 jjrS r\rS rS rSS jrS rS rS rS rSrU =r$ )rÕ   i'	  aF  
The inverse cosine function.

Explanation
===========

Returns the arc cosine of x (measured in radians).

``acos(x)`` will evaluate automatically in the cases
$x \in \{\infty, -\infty, 0, 1, -1\}$ and for some instances when
the result is a rational multiple of $\pi$ (see the eval class method).

``acos(zoo)`` evaluates to ``zoo``
(see note in :class:`sympy.functions.elementary.trigonometric.asec`)

A purely imaginary argument will be rewritten to asinh.

Examples
========

>>> from sympy import acos, oo
>>> acos(1)
0
>>> acos(0)
pi/2
>>> acos(oo)
oo*I

See Also
========

sin, csc, cos, sec, tan, cot
asin, acsc, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Inverse_trigonometric_functions
.. [2] https://dlmf.nist.gov/4.23
.. [3] https://functions.wolfram.com/ElementaryFunctions/ArcCos

c                óf   • US:X  a!  S[        SU R                  S   S-  -
  5      -  $ [        X5      e©Nr—   r½   r   rŠ   r;  r´   s     r4   r¶   Ú
acos.fdiffS	  s5   € Ø�q‹=Ø”d˜1˜tŸy™y¨™|¨Q™Ñ.Ó/Ñ/Ð/ä$ TÓ4Ð4r6   c                óÀ   • U R                   " U R                  6 nUR                   U R                   :X  a   UR                  S   R                  (       a  gg UR                  $ r;   r>  r@   s     r4   rC   Úacos._eval_is_rationalY	  r@  r6   c                óN  • UR                   (       aá  U[        R                  L a  [        R                  $ U[        R                  L a!  [        R                  [        R                  -  $ U[        R
                  L a!  [        R
                  [        R                  -  $ UR                  (       a	  [        S-  $ U[        R                  L a  [        R                  $ U[        R                  L a  [        $ U[        R                  L a  [        R                  $ UR                  (       a9  U R                  5       nX;   a  [        S-  X!   -
  $ U* U;   a  [        S-  X!*    -   $ [        U5      nUb  [        S-  [        U5      -
  $ UR                   (       a>  [#        UR$                  5      S:X  a%  UR$                  S   S:X  a  UR$                  S   nSnOUnSn['        U[(        5      (       aT  UR$                  S   nUR*                  (       a4  U(       a	  [        U-
  nUS[        -  -  nU[        :”  a  S[        -  U-
  nU$ ['        U[,        5      (       aR  UR$                  S   nUR*                  (       a1  U(       a  [        S-  [        U5      -   $ [        S-  [        U5      -
  $ g g ©NrŠ   r   r½   r—   TF)rÄ   r   rÅ   rÆ   r3   rÇ   r?   r   r˜   rY   rÐ   rv   rK  r-  r5   rÒ   ra   rå   r=   r1   r³   rL  r¨   )rÙ   r   rM  rÛ   rÜ   ÚminusrN  s          r4   rß   Ú	acos.evala	  s  € à�=�=Ø”a—e‘eŠ|Ü—u‘u�ØœŸ
™
Ò"Ü—z‘z¤!§/¡/Ñ1Ð1Øœ×*Ñ*Ò*Ü×)Ñ)¬!¯/©/Ñ9Ð9Ø——Ü˜!‘t�ØœŸ™’Ü—v‘v�ØœŸ™Ò%Ü�	à”!×#Ñ#Ò#Ü×$Ñ$Ð$à�=�=ØŸ™Ó*ˆJØÓ Ü˜!‘t˜j™oÑ-Ð-Ø�˜Ó#Ü˜!‘t˜j¨Ñ.Ñ.Ð.ä0°Ó5ˆØÑÜ�a‘4œ$˜s›)Ñ#Ð#à�:�:œ#˜cŸh™h›-¨1Ó,°·±¸!±ÀÓ1BØ—8‘8˜A‘;ˆDØ‰EàˆDØˆEä�dœC× Ñ à—)‘)˜A‘,ˆCØ× × ÞÜ˜s™(�CØ�qœ‘t‘�Øœ“8ØœB™$ ™*�CØ�
ä�dœC× Ñ Ø—)‘)˜A‘,ˆCØ× × ÞÜ˜a™4¤$ t£*Ñ,Ð,Ü˜!‘tœd 4›jÑ(Ð(ð !ð !r6   c                óN  • U S:X  a	  [         S-  $ U S:  d	  U S-  S:X  a  [        R                  $ [        U5      n[	        U5      S:¼  a#  U S:”  a  US   nX0S-
  S-  -  X S-
  -  -  US-  -  $ U S-
  S-  n[        [        R                  U5      n[        U5      nU* U-  X-  -  U -  $ râ   )r   r   rY   r   rå   r   rŽ   r   rQ  s          r4   ré   Úacos.taylor_term˜	  s´   € ð �‹6Ü�a‘4ˆKØ�‹U�a˜!‘e˜q“jÜ—6‘6ˆMä˜“
ˆAÜ�>Ó" aÓ'¨A°«EØ" 2Ñ&�Ø˜a™% !™‘| Q¨A©¡YÑ/°°1±Ñ4Ð4à˜‘U˜q‘L�Ü#¤A§F¡F¨AÓ.�Ü˜a“L�Ø�r˜!‘t˜A™D‘y ‘{Ð"r6   c                óÀ  • U R                   S   nUR                  US5      R                  5       nU[        R                  L a   U R                  UR                  U5      5      $ US:X  a7  [        S5      [        [        R                  U-
  R                  U5      5      -  $ U[        R                  * [        R                  4;   a#  U R                  [        5      R                  XUS9$ SUS-  -
  R                  (       aÐ  UR                  X(       a  UOS5      n[        U5      R                  (       a-  UR                  (       a  S[         -  U R                  U5      -
  $ Oo[        U5      R"                  (       a$  UR"                  (       a  U R                  U5      * $ O1U R                  [        5      R                  XUS9R%                  5       $ U R                  U5      $ ©Nr   r—   rŠ   rÑ  )r=   rñ   rf  r   rÅ   r<   rg  r%   r˜   rv   rý   r"   rn  ri  rd  r    r   rB  rX   rV  s          r4   rn  Úacos._eval_as_leading_termª	  si  € Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”—‘Š;Ø—9‘9˜S×0Ñ0°Ó3Ó4Ð4à�‹7Ü˜“7œ4¤§¡¨¡× =Ñ =¸aÓ @ÓAÑAÐAØ”1—5‘5�&œ!×+Ñ+Ð,Ó,Ø—<‘<¤Ó$×:Ñ:¸1ÈdÐ:ÐSÐSà��A‘‰I×"×"Ø—7‘7˜1¥d™d°Ó2ˆDÜ�$‹x×#×#Ø—>—>ØœR™4 $§)¡)¨B£-Ñ/Ð/ð "ä�D“×%×%Ø—>—>Ø ŸI™I b›M˜>Ð)ð "ð —|‘|¤CÓ(×>Ñ>¸qÐRVÐ>ÐW×^Ñ^Ó`Ð`Ø�y‰y˜‹}Ðr6   c                óv   • U R                   S   nUR                  =(       a    S[        U5      -
  R                  $ r„  r…  r‡  s     r4   rs  Úacos._eval_is_extended_realÁ	  r‰  r6   c                ó"   • U R                  5       $ ro   )rs  rH  s    r4   Ú_eval_is_nonnegativeÚacos._eval_is_nonnegativeÅ	  s   € Ø×*Ñ*Ó,Ð,r6   c                óò  >• SSK Jn  U R                  S   R                  US5      nU[        R
                  L GaY  [        SSS9n[        [        R
                  US-  -
  5      R                  [        5      R                  USSU-  5      n[        R
                  U R                  S   -
  n	U	R                  U5      n
Xš-
  U
-  nUR                  US5      (       d  US:X  a  U" S5      $ U" [        U5      5      $ [        [        R
                  U-   5      R                  XUS9nUR                  5       [        U
5      -  R!                  5       nUR                  5       R                  X}5      R!                  5       R#                  5       U" X-  U5      -   $ U[        R$                  L Ga`  [        SSS9n[        [        R$                  US-  -   5      R                  [        5      R                  USSU-  5      n[        R
                  U R                  S   -   n	U	R                  U5      n
Xš-
  U
-  nUR                  US5      (       d&  US:X  a  U" S5      $ [&        U" [        U5      5      -   $ [        [        R
                  U-   5      R                  XUS9nUR                  5       [        U
5      -  R!                  5       nUR                  5       R                  X}5      R!                  5       R#                  5       U" X-  U5      -   $ [(        TU ]9  XUS9nU[        R*                  L a  U$ SUS-  -
  R,                  (       aµ  U R                  S   R/                  X(       a  UOS5      n[1        U5      R,                  (       a   UR,                  (       a  S[&        -  U-
  $  U$ [1        U5      R2                  (       a  UR2                  (       a  U* $  U$ U R                  [        5      R                  XX4S	9$ U$ rZ  )r_  r\  r=   rñ   r   r˜   r   rÕ   rý   r"   r`  rg  ra  r%   ró   rb  rX   rc  rÐ   r   rò   rv   ri  rd  r    rB  rd  s                  €r4   ró   Úacos._eval_nseriesÈ	  s=  ø€ Ý(Ø�y‰y˜‰|× Ñ   AÓ&ˆà”1—5‘5‹=Ü�c DÑ)ˆAÜ”q—u‘u˜q !™t‘|Ó$×,Ñ,¬SÓ1×9Ñ9¸!¸QÀÀ!ÁÓDˆCÜ—5‘5˜4Ÿ9™9 Q™<Ñ'ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAØ×#Ñ# A q×)Ñ)Ø  A›v‘q˜“tÐ5©1¬T°!«W«:Ð5ÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMà”1—=‘=Ó Ü�c DÑ)ˆAÜ”q—}‘} q¨!¡tÑ+Ó,×4Ñ4´SÓ9×AÑAÀ!ÀQÈÈ!ÉÓLˆCÜ—5‘5˜4Ÿ9™9 Q™<Ñ'ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAØ×#Ñ# A q×)Ñ)Ø  A›v‘q˜“tÐ:¬2±´$°q³'³
©?Ð:ÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMä‰gÑ# A°Ð#Ð6ˆØ”1×$Ñ$Ò$ØˆJà��a‘‰K×$×$Ø—9‘9˜Q‘<×#Ñ# A­t¡t¸Ó;ˆDÜ�$‹x×#×#Ø×#×#ØœR™4 #™:Ð%ð $ð ˆ
ô �D“×%×%Ø×#×#Ø˜4�Kð $ð ˆ
ð —|‘|¤CÓ(×6Ñ6°qÀ$Ð6ÐRÐRØˆ
r6   c           
     ó”   • [         S-  [        R                  [        [        R                  U-  [	        SUS-  -
  5      -   5      -  -   $ r  ©r   r   r3   r"   r%   r  s      r4   ru  Úacos._eval_rewrite_as_logô	  s@   € Ü�!‰t”a—o‘oÜ”—‘ Ñ!¤D¨¨Q°©T©£NÑ2Ó3ñ4ñ 4ð 	4r6   c                ó,   • [         S-  [        U5      -
  $ r«   ©r   rÒ   r  s      r4   Ú_eval_rewrite_as_asinÚacos._eval_rewrite_as_asinú	  ro  r6   c           	     ó€   • [        [        SUS-  -
  5      U-  5      [        S-  SU[        SUS-  -  5      -  -
  -  -   $ rç  )rÓ   r%   r   r  s      r4   rq  Úacos._eval_rewrite_as_ataný	  sA   € Ü”D˜˜Q ™T™“N 1Ñ$Ó%¬¨A©°°A´d¸1¸QÀ¹T¹6³l±NÑ0BÑ(CÑCÐCr6   c                ó   • [         $ rê  râ  r´   s     r4   rì  Úacos.inverse 
  rŒ  r6   c           
     ó\   • [         S-  S[        S[        SUS-  -
  5      -   U-  5      -  -
  $ r  )r   rÖ   r%   r  s      r4   rx  Úacos._eval_rewrite_as_acot
  s2   € Ü�!‰t�aœ˜a¤$ q¨3°©6¡zÓ"2Ñ2°CÑ7Ó8Ñ8Ñ8Ð8r6   c                ó   • [        SU-  5      $ r-  )rØ   r  s      r4   r|  Úacos._eval_rewrite_as_asec	
  r‚  r6   c                ó2   • [         S-  [        SU-  5      -
  $ r  ©r   r×   r  s      r4   r€  Úacos._eval_rewrite_as_acsc
  r~  r6   c                ó  • U R                   S   nU R                  U R                   S   R                  5       5      nUR                  SL a  U$ UR                  (       a,  US-   R                  (       a  US-
  R
                  (       a  U$ g g g ©Nr   Fr—   )r=   r<   rG  rW   r†  Úis_nonpositive)rA   r·  Úrs      r4   rI  Úacos._eval_conjugate
  st   € Ø�I‰I�a‰LˆØ�I‰I�d—i‘i ‘l×,Ñ,Ó.Ó/ˆØ×Ñ Ò&ØˆHØ×× Q¨¡U×$:×$:ÀÀAÁ×?U×?UØˆHð @VÐ$:Ðr6   rN   r‡  rˆ  )rp   rq   rr   rs   rt   r¶   rC   r‰  rß   rŠ  r   ré   rn  rs  r   ró   ru  r�  r©  rq  rì  rx  r|  r€  rI  rx   r‹  rŒ  s   @r4   rÕ   rÕ   '	  s�   ø† ñ)ôV5ò!ð ñ4)ó ð4)ðl Øñ#ó ó ð#ò ò.Bò-÷*òX4ð "6ÐòòDôò9òò"÷ð r6   rÕ   c                  ó  ^ • \ rS rSr% SrS\S'   \R                  \R                  * 4rSS jr	S r
S rS rS	 rS
 r\S 5       r\\S 5       5       rS rSU 4S jjrS r\rU 4S jrSS jrS rS rS rS rS rSrU =r $ )rÓ   i
  a¦  
The inverse tangent function.

Returns the arc tangent of x (measured in radians).

Explanation
===========

``atan(x)`` will evaluate automatically in the cases
$x \in \{\infty, -\infty, 0, 1, -1\}$ and for some instances when the
result is a rational multiple of $\pi$ (see the eval class method).

Examples
========

>>> from sympy import atan, oo
>>> atan(0)
0
>>> atan(1)
pi/4
>>> atan(oo)
pi/2

See Also
========

sin, csc, cos, sec, tan, cot
asin, acsc, acos, asec, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Inverse_trigonometric_functions
.. [2] https://dlmf.nist.gov/4.23
.. [3] https://functions.wolfram.com/ElementaryFunctions/ArcTan

ztuple[Expr]r=   c                óT   • US:X  a  SSU R                   S   S-  -   -  $ [        X5      er:  ©r=   r   r´   s     r4   r¶   Ú
atan.fdiffC
  s0   € Ø�q‹=Ø�a˜$Ÿ)™) A™,¨™/Ñ)Ñ*Ð*ä$ TÓ4Ð4r6   c                óÀ   • U R                   " U R                  6 nUR                   U R                   :X  a   UR                  S   R                  (       a  gg UR                  $ r;   r>  r@   s     r4   rC   Úatan._eval_is_rationalI
  r@  r6   c                ó4   • U R                   S   R                  $ rE  )r=   Úis_extended_positiverH  s    r4   rC  Úatan._eval_is_positiveQ
  s   € Ø�y‰y˜‰|×0Ñ0Ð0r6   c                ó4   • U R                   S   R                  $ rE  )r=   Úis_extended_nonnegativerH  s    r4   r   Úatan._eval_is_nonnegativeT
  s   € Ø�y‰y˜‰|×3Ñ3Ð3r6   c                ó4   • U R                   S   R                  $ rE  )r=   r?   rH  s    r4   r  Úatan._eval_is_zeroW
  s   € Ø�y‰y˜‰|×#Ñ#Ð#r6   c                ó4   • U R                   S   R                  $ rE  rr  rH  s    r4   rH  Úatan._eval_is_realZ
  r‚  r6   c                ó”  • UR                   (       a¶  U[        R                  L a  [        R                  $ U[        R                  L a	  [        S-  $ U[        R
                  L a
  [        * S-  $ UR                  (       a  [        R                  $ U[        R                  L a	  [        S-  $ U[        R                  L a
  [        * S-  $ U[        R                  L a  SSKJn  U" [        * S-  [        S-  5      $ UR                  5       (       a
  U " U* 5      * $ UR                  (       a  U R                  5       nX;   a  X1   $ [!        U5      nUb  SSKJn  [        R&                  U" U5      -  $ UR                  (       a  [        R                  $ [)        U[*        5      (       aA  UR,                  S   nUR.                  (       a!  U[        -  nU[        S-  :”  a	  U[        -  nU$ [)        U[0        5      (       aN  UR,                  S   nUR.                  (       a-  [        S-  [3        U5      -
  nU[        S-  :”  a	  U[        -  nU$ g g )NrŠ   r{   r   r¹   )Úatanh)rÄ   r   rÅ   rÆ   r   rÇ   r?   rY   r˜   rÐ   rv   rÂ   rº   rÎ   rK  r1  r5   rÏ   rÌ  r3   r1   r  r=   rL  r   rÖ   )rÙ   r   rº   Ú
atan_tablerÛ   rÌ  rN  s          r4   rß   Ú	atan.eval]
  s¿  € à�=�=Ø”a—e‘eŠ|Ü—u‘u�ØœŸ
™
Ò"Ü˜!‘t�Øœ×*Ñ*Ò*Ü�s˜1‘u�Ø——Ü—v‘v�ØœŸ™’Ü˜!‘t�ØœŸ™Ò%Ü�s˜1‘u�à”!×#Ñ#Ò#ÝEÙ¤˜s 1™u¤b¨¡dÓ+Ð+à×'Ñ'×)Ñ)Ù˜˜“I�:Ðà�=�=ØŸ™Ó*ˆJØÓ Ø!‘Ð&ä0°Ó5ˆØÑÝCÜ—?‘?¡5¨£>Ñ1Ð1à�;�;Ü—6‘6ˆMä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ø”r‘	�Øœ˜A™“:Øœ2‘I�Cà�
ä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ü˜‘dœT #›YÑ&�Øœ˜A™“:Øœ2‘I�CØ�
ð	 !ð  r6   c                ó˜   • U S:  d	  U S-  S:X  a  [         R                  $ [        U5      n[         R                  U S-
  S-  -  X-  -  U -  $ rø  )r   rY   r   rÐ   ©rç   r¡   rè   s      r4   ré   Úatan.taylor_term’
  sJ   € ð ˆq‹5�A˜‘E˜Q“JÜ—6‘6ˆMä˜“
ˆAÜ—=‘= A¨¡E¨A¡:Ñ.¨q©tÑ3°AÑ5Ð5r6   c                óî  • U R                   S   nUR                  US5      R                  5       nU[        R                  L a   U R                  UR                  U5      5      $ UR                  (       a  UR                  U5      $ U[        R                  * [        R                  [        R                  4;   a1  U R                  [        5      R                  XUS9R                  5       $ SUS-  -   R                  (       aå  UR                  X(       a  UOS5      n[!        U5      R                  (       a3  [#        U5      R$                  (       a  U R                  U5      [&        -
  $ O~[!        U5      R$                  (       a3  [#        U5      R                  (       a  U R                  U5      [&        -   $ O1U R                  [        5      R                  XUS9R                  5       $ U R                  U5      $ rU  )r=   rñ   rf  r   rÅ   r<   rg  r?   r3   rv   rý   r"   rn  rX   ri  rd  r!   r    rB  r   rV  s          r4   rn  Úatan._eval_as_leading_term›
  sn  € Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”—‘Š;Ø—9‘9˜S×0Ñ0°Ó3Ó4Ð4Ø�:�:Ø×&Ñ& qÓ)Ð)à”1—?‘?Ð"¤A§O¡O´Q×5FÑ5FÐGÓGØ—<‘<¤Ó$×:Ñ:¸1ÈdÐ:ÐS×ZÑZÓ\Ð\à��A‘‰I×"×"Ø—7‘7˜1¥d™d°Ó2ˆDÜ�$‹x×#×#Ü�b“6×%×%ØŸ9™9 R›=¬2Ñ-Ð-ð &ä�D“×%×%Ü�b“6×%×%ØŸ9™9 R›=¬2Ñ-Ð-ð &ð —|‘|¤CÓ(×>Ñ>¸qÐRVÐ>ÐW×^Ñ^Ó`Ð`Ø�y‰y˜‹}Ðr6   c                ó.  >• U R                   S   R                  US5      nU[        R                  [        R                  [        R                  -  4;   a#  U R                  [        5      R                  XX4S9$ [        TU ]  XUS9nU R                   S   R                  X(       a  UOS5      nU[        R                  L a  [        U5      S:”  a	  U[        -
  $ U$ SUS-  -   R                  (       a£  [        U5      R                  (       a&  [        U5      R                  (       a	  U[        -
  $  U$ [        U5      R                  (       a&  [        U5      R                  (       a	  U[        -   $  U$ U R                  [        5      R                  XX4S9$ U$ ©Nr   rÑ  rý  r—   rŠ   )r=   rñ   r   r3   rÐ   rý   r"   ró   rò   rd  rv   r!   r   ri  r    rB  ©	rA   r¡   rç   rî   rï   re  ri  rW  rõ   s	           €r4   ró   Úatan._eval_nseries²
  sL  ø€ Ø�y‰y˜‰|× Ñ   AÓ&ˆð ”A—O‘O¤Q§]¡]´1·?±?Ñ%BÐCÓCØ—<‘<¤Ó$×2Ñ2°1¸dÐ2ÐNÐNä‰gÑ# A°Ð#Ð6ˆØ�y‰y˜‰|×Ñ ­4¡4°QÓ7ˆØ”1×$Ñ$Ò$Ü�$‹x˜!‹|ØœR‘x�ØˆJà��a‘‰K×$×$Ü�$‹x×#×#Ü�d“8×'×'Ø¤™8�Oð (ð ˆ
ô �D“×%×%Ü�d“8×'×'Ø¤™8�Oð (ð ˆ
ð —|‘|¤CÓ(×6Ñ6°qÀ$Ð6ÐRÐRØˆ
r6   c                óà   • [         R                  S-  [        [         R                  [         R                  U-  -
  5      [        [         R                  [         R                  U-  -   5      -
  -  $ r«   )r   r3   r"   r˜   r  s      r4   ru  Úatan._eval_rewrite_as_logË
  sP   € Ü�‰˜qÑ ¤#¤a§e¡e¬a¯o©o¸aÑ.?Ñ&?Ó"@Ü”!—%‘%œ!Ÿ/™/¨!Ñ+Ñ+Ó,ñ#-ñ .ð 	.r6   c                óÜ   >• US   [         R                  [         R                  4;   a5  [        S-  [	        SU R
                  S   -  5      -
  R                  X1U5      $ [        TU ]!  XX45      $ rø  )	r   rÆ   rÇ   r   rÓ   r=   ró   rò   Ú_eval_aseries©rA   rç   Úargs0r¡   rî   rõ   s        €r4   rÛ  Úatan._eval_aseriesÑ
  s]   ø€ Ø�‰8œŸ
™
¤A×$6Ñ$6Ð7Ó7Ü�q‘Dœ4  $§)¡)¨A¡,¡Ó/Ñ/×>Ñ>¸qÀTÓJÐJä‘7Ñ(¨°1Ó;Ð;r6   c                ó   • [         $ rê  rr  r´   s     r4   rì  Úatan.inverse×
  rŒ  r6   c           
     ót   • [        US-  5      U-  [        S-  [        S[        SUS-  -   5      -  5      -
  -  $ r  ©r%   r   rÒ   r  s      r4   r©  Úatan._eval_rewrite_as_asinÝ
  s:   € Ü�C˜‘F‹|˜CÑ¤ A¡¬¨Q¬t°A¸¸Q¹±JÓ/?Ñ-?Ó(@Ñ!@ÑAÐAr6   c           	     ó`   • [        US-  5      U-  [        S[        SUS-  -   5      -  5      -  $ r  ©r%   rÕ   r  s      r4   rm  Úatan._eval_rewrite_as_acosà
  s1   € Ü�C˜‘F‹|˜CÑ¤ Q¤t¨A°°Q±©JÓ'7Ñ%7Ó 8Ñ8Ð8r6   c                ó   • [        SU-  5      $ r-  rW  r  s      r4   rx  Úatan._eval_rewrite_as_acotã
  r‚  r6   c                óZ   • [        US-  5      U-  [        [        SUS-  -   5      5      -  $ r  ©r%   rØ   r  s      r4   r|  Úatan._eval_rewrite_as_asecæ
  s,   € Ü�C˜‘F‹|˜CÑ¤¤T¨!¨c°1©f©*Ó%5Ó 6Ñ6Ð6r6   c           	     ón   • [        US-  5      U-  [        S-  [        [        SUS-  -   5      5      -
  -  $ r  ©r%   r   r×   r  s      r4   r€  Úatan._eval_rewrite_as_acscé
  s5   € Ü�C˜‘F‹|˜CÑ¤ A¡¬¬T°!°c¸1±f±*Ó-=Ó(>Ñ!>Ñ?Ð?r6   rN   r‡  rˆ  )!rp   rq   rr   rs   rt   rØ  r   r3   rw   r¶   rC   rC  r   r  rH  r‰  rß   rŠ  r   ré   rn  ró   ru  r�  rÛ  rì  r©  rm  rx  r|  r€  rx   r‹  rŒ  s   @r4   rÓ   rÓ   
  s·   ø‡ ñ$ðL Óà—o‘o¨¯©Ð'7Ð8€Nô5ò!ò1ò4ò$ò-ð ñ2ó ð2ðh Øñ6ó ó ð6ò÷.ò2.ð "6Ðõ<ôòBò9òò7÷@ð @r6   rÓ   c                  óò   ^ • \ rS rSrSr\R                  \R                  * 4rSS jrS r	S r
S rS r\S 5       r\\S	 5       5       rS
 rSU 4S jjrU 4S jrS r\rSS jrS rS rS rS rS rSrU =r$ )rÖ   ií
  aV  
The inverse cotangent function.

Returns the arc cotangent of x (measured in radians).

Explanation
===========

``acot(x)`` will evaluate automatically in the cases
$x \in \{\infty, -\infty, \tilde{\infty}, 0, 1, -1\}$
and for some instances when the result is a rational multiple of $\pi$
(see the eval class method).

A purely imaginary argument will lead to an ``acoth`` expression.

``acot(x)`` has a branch cut along $(-i, i)$, hence it is discontinuous
at 0. Its range for real $x$ is $(-\frac{\pi}{2}, \frac{\pi}{2}]$.

Examples
========

>>> from sympy import acot, sqrt
>>> acot(0)
pi/2
>>> acot(1)
pi/4
>>> acot(sqrt(3) - 2)
-5*pi/12

See Also
========

sin, csc, cos, sec, tan, cot
asin, acsc, acos, asec, atan, atan2

References
==========

.. [1] https://dlmf.nist.gov/4.23
.. [2] https://functions.wolfram.com/ElementaryFunctions/ArcCot

c                óT   • US:X  a  SSU R                   S   S-  -   -  $ [        X5      er�  r½  r´   s     r4   r¶   Ú
acot.fdiff  s0   € Ø�q‹=Ø�q˜4Ÿ9™9 Q™<¨™?Ñ*Ñ+Ð+ä$ TÓ4Ð4r6   c                óÀ   • U R                   " U R                  6 nUR                   U R                   :X  a   UR                  S   R                  (       a  gg UR                  $ r;   r>  r@   s     r4   rC   Úacot._eval_is_rational   r@  r6   c                ó4   • U R                   S   R                  $ rE  )r=   r†  rH  s    r4   rC  Úacot._eval_is_positive(  s   € Ø�y‰y˜‰|×*Ñ*Ð*r6   c                ó4   • U R                   S   R                  $ rE  )r=   ri  rH  s    r4   rG  Úacot._eval_is_negative+  s   € Ø�y‰y˜‰|×'Ñ'Ð'r6   c                ó4   • U R                   S   R                  $ rE  rr  rH  s    r4   rs  Úacot._eval_is_extended_real.  r‚  r6   c                óØ  • UR                   (       a¼  U[        R                  L a  [        R                  $ U[        R                  L a  [        R                  $ U[        R
                  L a  [        R                  $ UR                  (       a	  [        S-  $ U[        R                  L a	  [        S-  $ U[        R                  L a
  [        * S-  $ U[        R                  L a  [        R                  $ UR                  5       (       a
  U " U* 5      * $ UR                  (       a;  U R                  5       nX;   a&  [        S-  X!   -
  nU[        S-  :”  a	  U[        -  nU$ [        U5      nUb   SSKJn  [        R"                  * U" U5      -  $ UR                  (       a  [        [        R$                  -  $ ['        U[(        5      (       aA  UR*                  S   nUR,                  (       a!  U[        -  nU[        S-  :”  a	  U[        -  nU$ ['        U[.        5      (       aN  UR*                  S   nUR,                  (       a-  [        S-  [1        U5      -
  nU[        S-  :”  a	  U[        -  nU$ g g )NrŠ   r{   r   )Úacoth)rÄ   r   rÅ   rÆ   rY   rÇ   r?   r   r˜   rÐ   rv   rÎ   rK  r1  r5   rÏ   rû  r3   rŽ   r1   r   r=   rL  r  rÓ   )rÙ   r   rÍ  rN  rÛ   rû  s         r4   rß   Ú	acot.eval1  sÕ  € à�=�=Ø”a—e‘eŠ|Ü—u‘u�ØœŸ
™
Ò"Ü—v‘v�Øœ×*Ñ*Ò*Ü—v‘v�Ø——Ü˜1‘u�ØœŸ™’Ü˜!‘t�ØœŸ™Ò%Ü�s˜1‘u�à”!×#Ñ#Ò#Ü—6‘6ˆMà×'Ñ'×)Ñ)Ù˜˜“I�:Ðà�=�=ØŸ™Ó*ˆJØÓ Ü˜‘d˜Z™_Ñ,�Øœ˜A™“:Øœ2‘I�CØ�
ä0°Ó5ˆØÑÝCÜ—O‘OÐ#¡E¨'£NÑ2Ð2à�;�;Ü”a—f‘f‘9Ðä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ø”r‘	�Øœ˜A™“:Øœ2‘I�CØ�
ä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ü˜‘dœT #›YÑ&�Øœ˜A™“:Øœ2‘I�CØ�
ð	 !ð  r6   c                ó¶   • U S:X  a	  [         S-  $ U S:  d	  U S-  S:X  a  [        R                  $ [        U5      n[        R                  U S-   S-  -  X-  -  U -  $ rø  )r   r   rY   r   rÐ   rÐ  s      r4   ré   Úacot.taylor_termg  sZ   € ð �‹6Ü�a‘4ˆKØ�‹U�a˜!‘e˜q“jÜ—6‘6ˆMä˜“
ˆAÜ—=‘= A¨¡E¨A¡:Ñ.¨q©tÑ3°AÑ5Ð5r6   c                ó  • U R                   S   nUR                  US5      R                  5       nU[        R                  L a   U R                  UR                  U5      5      $ U[        R                  L a  SU-  R                  U5      $ U[        R                  * [        R                  [        R                  4;   a1  U R                  [        5      R                  XUS9R                  5       $ UR                  (       aü  SUS-  -   R                  (       aå  UR!                  X(       a  UOS5      n[#        U5      R                  (       a3  [%        U5      R                  (       a  U R                  U5      [&        -   $ O~[#        U5      R(                  (       a3  [%        U5      R(                  (       a  U R                  U5      [&        -
  $ O1U R                  [        5      R                  XUS9R                  5       $ U R                  U5      $ )Nr   r—   rÑ  rŠ   )r=   rñ   rf  r   rÅ   r<   rg  rv   r3   rY   rý   r"   rn  rX   rK  rB  rd  r!   r    r   ri  rV  s          r4   rn  Úacot._eval_as_leading_termr  s}  € Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”—‘Š;Ø—9‘9˜S×0Ñ0°Ó3Ó4Ð4Ø”×"Ñ"Ò"Ø�c‘E×*Ñ*¨1Ó-Ð-à”1—?‘?Ð"¤A§O¡O´Q·V±VÐ<Ó<Ø—<‘<¤Ó$×:Ñ:¸1ÈdÐ:ÐS×ZÑZÓ\Ð\à�?�?  B¨¡E¡	×6×6Ø—7‘7˜1¥d™d°Ó2ˆDÜ�$‹x×#×#Ü�b“6×%×%ØŸ9™9 R›=¬2Ñ-Ð-ð &ä�D“×%×%Ü�b“6×%×%ØŸ9™9 R›=¬2Ñ-Ð-ð &ð —|‘|¤CÓ(×>Ñ>¸qÐRVÐ>ÐW×^Ñ^Ó`Ð`Ø�y‰y˜‹}Ðr6   c                óv  >• U R                   S   R                  US5      nU[        R                  [        R                  [        R                  -  4;   a#  U R                  [        5      R                  XX4S9$ [        TU ]  XUS9nU[        R                  L a  U$ U R                   S   R                  X(       a  UOS5      nUR                  (       a  [        U5      S:  a	  U[        -
  $ U$ UR                  (       aº  SUS-  -   R                  (       a£  [        U5      R                  (       a&  [!        U5      R                  (       a	  U[        -   $  U$ [        U5      R"                  (       a&  [!        U5      R"                  (       a	  U[        -
  $  U$ U R                  [        5      R                  XX4S9$ U$ rÕ  )r=   rñ   r   r3   rÐ   rý   r"   ró   rò   rv   rd  r?   r!   r   rK  rB  r    ri  rÖ  s	           €r4   ró   Úacot._eval_nseries‰  s`  ø€ Ø�y‰y˜‰|× Ñ   AÓ&ˆð ”A—O‘O¤Q§]¡]´1·?±?Ñ%BÐCÓCØ—<‘<¤Ó$×2Ñ2°1¸dÐ2ÐNÐNä‰gÑ# A°Ð#Ð6ˆØ”1×$Ñ$Ò$ØˆJØ�y‰y˜‰|×Ñ ­4¡4°QÓ7ˆØ�<�<Ü�$‹x˜!‹|ØœR‘x�ØˆJà×× ! d¨A¡g¡+×!:×!:Ü�$‹x×#×#Ü�d“8×'×'Ø¤™8�Oð (ð ˆ
ô �D“×%×%Ü�d“8×'×'Ø¤™8�Oð (ð ˆ
ð —|‘|¤CÓ(×6Ñ6°qÀ$Ð6ÐRÐRØˆ
r6   c                óÈ   >• US   [         R                  [         R                  4;   a+  [        SU R                  S   -  5      R                  X1U5      $ [        TU ]  XX45      $ r„  )r   rÆ   rÇ   rÓ   r=   ró   rò   rÛ  rÜ  s        €r4   rÛ  Úacot._eval_aseries¤  sT   ø€ Ø�‰8œŸ
™
¤A×$6Ñ$6Ð7Ó7Ü˜˜$Ÿ)™) A™,™Ó'×5Ñ5°a¸DÓAÐAä‘7Ñ(¨°1Ó;Ð;r6   c                ó¨   • [         R                  S-  [        S[         R                  U-  -
  5      [        S[         R                  U-  -   5      -
  -  $ r  )r   r3   r"   r  s      r4   ru  Úacot._eval_rewrite_as_logª  sH   € Ü�‰˜qÑ ¤# a¬!¯/©/¸!Ñ*;Ñ&;Ó"<Ü�!”a—o‘o aÑ'Ñ'Ó(ñ#)ñ *ð 	*r6   c                ó   • [         $ rê  r%  r´   s     r4   rì  Úacot.inverse°  rŒ  r6   c           	     ó–   • U[        SUS-  -  5      -  [        S-  [        [        US-  * 5      [        US-  * S-
  5      -  5      -
  -  $ rç  râ  r  s      r4   r©  Úacot._eval_rewrite_as_asin¶  sP   € Ø”D˜˜3 ™6™“NÑ"Ü�A‘œœT 3¨¡6 '›]¬4°°a±°¸!±Ó+<Ñ<Ó=Ñ=ñ?ð 	@r6   c                ó‚   • U[        SUS-  -  5      -  [        [        US-  * 5      [        US-  * S-
  5      -  5      -  $ rç  rå  r  s      r4   rm  Úacot._eval_rewrite_as_acosº  sA   € Ø”4˜˜#˜q™&™“>Ñ!¤$¤t¨S°!©V¨G£}´T¸3À¹6¸'ÀA¹+Ó5FÑ'FÓ"GÑGÐGr6   c                ó   • [        SU-  5      $ r-  rë  r  s      r4   rq  Úacot._eval_rewrite_as_atan½  r‚  r6   c                ól   • U[        SUS-  -  5      -  [        [        SUS-  -   US-  -  5      5      -  $ rç  rê  r  s      r4   r|  Úacot._eval_rewrite_as_asecÀ  s9   € Ø”4˜˜#˜q™&™“>Ñ!¤$¤t¨Q°°a±©Z¸¸a¹Ñ,?Ó'@Ó"AÑAÐAr6   c           	     ó€   • U[        SUS-  -  5      -  [        S-  [        [        SUS-  -   US-  -  5      5      -
  -  $ rç  rí  r  s      r4   r€  Úacot._eval_rewrite_as_acscÃ  sB   € Ø”4˜˜#˜q™&™“>Ñ!¤2 a¡4¬$¬t°Q¸¸a¹±ZÀÀaÁÑ4GÓ/HÓ*IÑ#IÑJÐJr6   rN   r‡  rˆ  )rp   rq   rr   rs   rt   r   r3   rw   r¶   rC   rC  rG  rs  r‰  rß   rŠ  r   ré   rn  ró   rÛ  ru  r�  rì  r©  rm  rq  r|  r€  rx   r‹  rŒ  s   @r4   rÖ   rÖ   í
  s®   ø† ñ)ðT —o‘o¨¯©Ð'7Ð8€Nô5ò!ò+ò(ò-ð ñ3ó ð3ðj Øñ6ó ó ð6ò÷.õ6<ò*ð "6Ðôò@òHòòB÷Kð Kr6   rÖ   c                  ó¢   ^ • \ rS rSrSr\S 5       rSS jrSS jr\	\
S 5       5       rS rSU 4S jjrS	 rS
 r\rS rS rS rS rS rSrU =r$ )rØ   iÇ  a&  
The inverse secant function.

Returns the arc secant of x (measured in radians).

Explanation
===========

``asec(x)`` will evaluate automatically in the cases
$x \in \{\infty, -\infty, 0, 1, -1\}$ and for some instances when the
result is a rational multiple of $\pi$ (see the eval class method).

``asec(x)`` has branch cut in the interval $[-1, 1]$. For complex arguments,
it can be defined [4]_ as

.. math::
    \operatorname{sec^{-1}}(z) = -i\frac{\log\left(\sqrt{1 - z^2} + 1\right)}{z}

At ``x = 0``, for positive branch cut, the limit evaluates to ``zoo``. For
negative branch cut, the limit

.. math::
    \lim_{z \to 0}-i\frac{\log\left(-\sqrt{1 - z^2} + 1\right)}{z}

simplifies to :math:`-i\log\left(z/2 + O\left(z^3\right)\right)` which
ultimately evaluates to ``zoo``.

As ``acos(x) = asec(1/x)``, a similar argument can be given for
``acos(x)``.

Examples
========

>>> from sympy import asec, oo
>>> asec(1)
0
>>> asec(-1)
pi
>>> asec(0)
zoo
>>> asec(-oo)
pi/2

See Also
========

sin, csc, cos, sec, tan, cot
asin, acsc, acos, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Inverse_trigonometric_functions
.. [2] https://dlmf.nist.gov/4.23
.. [3] https://functions.wolfram.com/ElementaryFunctions/ArcSec
.. [4] https://reference.wolfram.com/language/ref/ArcSec.html

c                ó¬  • UR                   (       a  [        R                  $ UR                  (       a_  U[        R                  L a  [        R                  $ U[        R
                  L a  [        R                  $ U[        R                  L a  [        $ U[        R                  [        R                  [        R                  4;   a	  [        S-  $ UR                  (       a9  U R                  5       nX;   a  [        S-  X!   -
  $ U* U;   a  [        S-  X!*    -   $ UR                  (       a	  [        S-  $ UR                  (       a>  [        UR                   5      S:X  a%  UR                   S   S:X  a  UR                   S   nSnOUnSn[#        U[$        5      (       aT  UR                   S   nUR&                  (       a4  U(       a	  [        U-
  nUS[        -  -  nU[        :”  a  S[        -  U-
  nU$ [#        U[(        5      (       aR  UR                   S   nUR&                  (       a1  U(       a  [        S-  [+        U5      -     [        S-  [+        U5      -
  $ g g r•  )r?   r   rv   rÄ   rÅ   r˜   rY   rÐ   r   rÆ   rÇ   rK  r6  r%  ra   rå   r=   r1   r5  rL  r/  r×   )rÙ   r   Ú
acsc_tablerÜ   r–  rN  s         r4   rß   Ú	asec.eval  s¾  € à�;�;Ü×$Ñ$Ð$Ø�=�=Ø”a—e‘eŠ|Ü—u‘u�ØœŸ™’Ü—v‘v�ØœŸ™Ò%Ü�	Ø”1—:‘:œq×1Ñ1´1×3DÑ3DÐEÓEÜ�a‘4ˆKà�=�=ØŸ™Ó*ˆJØÓ Ü˜!‘t˜j™oÑ-Ð-Ø�˜Ó#Ü˜!‘t˜j¨Ñ.Ñ.Ð.à�?�?Ü�a‘4ˆKà�:�:œ#˜cŸh™h›-¨1Ó,°·±¸!±ÀÓ1BØ—8‘8˜A‘;ˆDØ‰EàˆDØˆEä�dœC× Ñ à—)‘)˜A‘,ˆCØ× × ÞÜ˜s™(�CØ�qœ‘t‘�Øœ“8ØœB™$ ™*�CØ�
ä�dœC× Ñ Ø—)‘)˜A‘,ˆCØ× × ÞÜ�q‘Dœ4 ›:Ò%Ü˜!‘tœd 4›jÑ(Ð(ð !ð !r6   c                ó’   • US:X  a7  SU R                   S   S-  [        SSU R                   S   S-  -  -
  5      -  -  $ [        X5      er:  ©r=   r%   r   r´   s     r4   r¶   Ú
asec.fdiff4  sK   € Ø�q‹=Ø�d—i‘i ‘l A‘o¤d¨1¨q°·±¸1±¸q±Ñ/@Ñ+@Ó&AÑAÑBÐBä$ TÓ4Ð4r6   c                ó   • [         $ rê  rÇ  r´   s     r4   rì  Úasec.inverse:  rŒ  r6   c                óÂ  • U S:X  a  [         R                  [        SU-  5      -  $ U S:  d	  U S-  S:X  a  [         R                  $ [	        U5      n[        U5      S:”  a*  U S:”  a$  US   nX0S-
  U S-
  -  -  US-  -  SU S-  S-  -  -  $ U S-  n[        [         R                  U5      U -  n[        U5      U -  S-  U -  S-  n[         R                  * U-  U-  X-  -  S-  $ ©Nr   rŠ   r—   rã   r{   )	r   r3   r"   rY   r   rå   r   rŽ   r   rQ  s          r4   ré   Úasec.taylor_term@  sï   € ð �‹6Ü—?‘?¤3 q¨1¡u£:Ñ-Ð-Ø�‹U�a˜!‘e˜q“jÜ—6‘6ˆMä˜“
ˆAÜ�>Ó" QÓ&¨1¨q«5Ø" 2Ñ&�Ø ™U Q q¡S™MÑ*¨Q°©TÑ1°1¸¸1¹¸q±y±=ÑAÐAà˜‘F�Ü#¤A§F¡F¨AÓ.°!Ñ3�Ü˜a“L 1Ñ$¨Ñ)¨AÑ-°Ñ2�ÜŸ™Ð'¨!Ñ+¨aÑ/°!±$Ñ6¸Ñ:Ð:r6   c                óâ  • U R                   S   nUR                  US5      R                  5       nU[        R                  L a   U R                  UR                  U5      5      $ US:X  a7  [        S5      [        U[        R                  -
  R                  U5      5      -  $ U[        R                  * [        R                  4;   a#  U R                  [        5      R                  XUS9$ UR                  (       aç  SUS-  -
  R                  (       aÐ  UR                  X(       a  UOS5      n[!        U5      R"                  (       a$  UR                  (       a  U R                  U5      * $ Ox[!        U5      R                  (       a-  UR"                  (       a  S[$        -  U R                  U5      -
  $ O1U R                  [        5      R                  XUS9R'                  5       $ U R                  U5      $ r›  )r=   rñ   rf  r   rÅ   r<   rg  r%   r˜   rY   rý   r"   rn  rG  rB  rd  r    ri  r   rX   rV  s          r4   rn  Úasec._eval_as_leading_termR  sm  € Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”—‘Š;Ø—9‘9˜S×0Ñ0°Ó3Ó4Ð4à�‹7Ü˜“7œ4 ¤q§u¡u¡× =Ñ =¸aÓ @ÓAÑAÐAØ”1—5‘5�&œ!Ÿ&™&Ð!Ó!Ø—<‘<¤Ó$×:Ñ:¸1ÈdÐ:ÐSÐSà�:�:˜1˜r 1™u™9×1×1Ø—7‘7˜1¥d™d°Ó2ˆDÜ�$‹x×#×#Ø—>—>Ø ŸI™I b›M˜>Ð)ð "ä�D“×%×%Ø—>—>ØœR™4 $§)¡)¨B£-Ñ/Ð/ð "ð —|‘|¤CÓ(×>Ñ>¸qÐRVÐ>ÐW×^Ñ^Ó`Ð`Ø�y‰y˜‹}Ðr6   c                ó.  >• SSK Jn  U R                  S   R                  US5      nU[        R
                  L Ga#  [        SSS9n[        [        R
                  US-  -   5      R                  [        5      R                  USSU-  5      n[        R                  U R                  S   -   n	U	R                  U5      n
Xš-
  U
-  n[        [        R
                  U-   5      R                  XUS9nUR                  5       [        U
5      -  R!                  5       nUR                  5       R                  X}5      R!                  5       R#                  5       U" X-  U5      -   $ U[        R                  L Ga#  [        SSS9n[        [        R                  US-  -
  5      R                  [        5      R                  USSU-  5      n[        R                  U R                  S   -
  n	U	R                  U5      n
Xš-
  U
-  n[        [        R
                  U-   5      R                  XUS9nUR                  5       [        U
5      -  R!                  5       nUR                  5       R                  X}5      R!                  5       R#                  5       U" X-  U5      -   $ [$        TU ]9  XUS9nU[        R&                  L a  U$ UR(                  (       aÌ  SUS-  -
  R*                  (       aµ  U R                  S   R-                  X(       a  UOS5      n[/        U5      R0                  (       a  UR*                  (       a  U* $  U$ [/        U5      R*                  (       a   UR0                  (       a  S[2        -  U-
  $  U$ U R                  [        5      R                  XX4S	9$ U$ ©
Nr   r[  r¥  Tr]  rŠ   rý  r—   rÑ  )r_  r\  r=   rñ   r   r˜   r   rØ   rý   r"   r`  rÐ   rg  r%   ró   rb  rX   rc  rò   rv   rG  rB  rd  r    ri  r   rd  s                  €r4   ró   Úasec._eval_nseriesi  sß  ø€ Ý(Ø�y‰y˜‰|× Ñ   AÓ&ˆà”1—5‘5‹=Ü�c DÑ)ˆAÜ”q—u‘u˜q !™t‘|Ó$×,Ñ,¬SÓ1×9Ñ9¸!¸QÀÀ!ÁÓDˆCÜ—=‘= 4§9¡9¨Q¡<Ñ/ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMà”1—=‘=Ó Ü�c DÑ)ˆAÜ”q—}‘} q¨!¡tÑ+Ó,×4Ñ4´SÓ9×AÑAÀ!ÀQÈÈ!ÉÓLˆCÜ—=‘= 4§9¡9¨Q¡<Ñ/ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMä‰gÑ# A°Ð#Ð6ˆØ”1×$Ñ$Ò$ØˆJà�<�<˜Q  q¡™[×5×5Ø—9‘9˜Q‘<×#Ñ# A­t¡t¸Ó;ˆDÜ�$‹x×#×#Ø×#×#Ø˜4�Kð $ð ˆ
ô �D“×%×%Ø×#×#ØœR™4 #™:Ð%ð $ð ˆ
ð —|‘|¤CÓ(×6Ñ6°qÀ$Ð6ÐRÐRØˆ
r6   c                ó�   • U R                   S   nUR                  SL a  g[        US-
  R                  U* S-
  R                  45      $ r·  )r=   rW   r   r†  r‡  s     r4   rs  Úasec._eval_is_extended_real‘  sF   € Ø�I‰I�a‰LˆØ×Ñ Ò&ØÜ˜!˜a™%×/Ñ/°1°"°q±&×1HÑ1HÐIÓJÐJr6   c                óš   • [         S-  [        R                  [        [        R                  U-  [	        SSUS-  -  -
  5      -   5      -  -   $ r  r¥  r  s      r4   ru  Úasec._eval_rewrite_as_log—  s?   € Ü�!‰t”a—o‘o¤c¬!¯/©/¸#Ñ*=ÄÀQÈÈ3ÐPQÉ6ÉÁ\Ó@RÑ*RÓ&SÑSÑSÐSr6   c                ó2   • [         S-  [        SU-  5      -
  $ r  r¨  r  s      r4   r©  Úasec._eval_rewrite_as_asinœ  r~  r6   c                ó   • [        SU-  5      $ r-  )rÕ   r  s      r4   rm  Úasec._eval_rewrite_as_acosŸ  r‚  r6   c                ó~   • [        US-  5      U-  n[        S-  SU-
  -  U[        [        US-  S-
  5      5      -  -   $ r  ©r%   r   rÓ   ©rA   r¡   rþ   Úsx2xs       r4   rq  Úasec._eval_rewrite_as_atan¢  s@   € Ü�A�q‘D‹z˜!‰|ˆÜ�!‰t�Q˜‘X‰ ¤d¬4°°1±°q±«>Ó&:Ñ!:Ñ:Ð:r6   c           	     ó„   • [        US-  5      U-  n[        S-  SU-
  -  U[        S[        US-  S-
  5      -  5      -  -   $ r  ©r%   r   rÖ   r.  s       r4   rx  Úasec._eval_rewrite_as_acot¦  sE   € Ü�A�q‘D‹z˜!‰|ˆÜ�!‰t�Q˜‘X‰ ¤d¨1¬T°!°Q±$¸±(«^Ñ+;Ó&<Ñ!<Ñ<Ð<r6   c                ó,   • [         S-  [        U5      -
  $ r«   r´  r  s      r4   r€  Úasec._eval_rewrite_as_acscª  ó   € Ü�!‰t”d˜3“iÑÐr6   rN   r‡  rˆ  )rp   rq   rr   rs   rt   r‰  rß   r¶   rì  rŠ  r   ré   rn  ró   rs  ru  r�  r©  rm  rq  rx  r€  rx   r‹  rŒ  s   @r4   rØ   rØ   Ç  s�   ø† ñ9ðv ñ.)ó ð.)ô`5ôð Øñ;ó ó ð;ò ÷.&òPKòTð "6Ðò"òò;ò=÷ ð  r6   rØ   c                  óœ   ^ • \ rS rSrSr\S 5       rSS jrSS jr\	\
S 5       5       rS rSU 4S jjrS	 r\rS
 rS rS rS rS rSrU =r$ )r×   i®  aÞ  
The inverse cosecant function.

Returns the arc cosecant of x (measured in radians).

Explanation
===========

``acsc(x)`` will evaluate automatically in the cases
$x \in \{\infty, -\infty, 0, 1, -1\}$` and for some instances when the
result is a rational multiple of $\pi$ (see the ``eval`` class method).

Examples
========

>>> from sympy import acsc, oo
>>> acsc(1)
pi/2
>>> acsc(-1)
-pi/2
>>> acsc(oo)
0
>>> acsc(-oo) == acsc(oo)
True
>>> acsc(0)
zoo

See Also
========

sin, csc, cos, sec, tan, cot
asin, acos, asec, atan, acot, atan2

References
==========

.. [1] https://en.wikipedia.org/wiki/Inverse_trigonometric_functions
.. [2] https://dlmf.nist.gov/4.23
.. [3] https://functions.wolfram.com/ElementaryFunctions/ArcCsc

c                ó  • UR                   (       a  [        R                  $ UR                  (       a\  U[        R                  L a  [        R                  $ U[        R
                  L a	  [        S-  $ U[        R                  L a
  [        * S-  $ U[        R                  [        R                  [        R                  4;   a  [        R                  $ UR                  5       (       a
  U " U* 5      * $ UR                  (       a  [        R                  $ UR                  (       a  U R                  5       nX;   a  X!   $ [        U[         5      (       ao  UR"                  S   nUR$                  (       aO  US[        -  -  nU[        :”  a	  [        U-
  nU[        S-  :”  a	  [        U-
  nU[        * S-  :  a
  [        * U-
  nU$ [        U[&        5      (       a6  UR"                  S   nUR$                  (       a  [        S-  [)        U5      -
  $ g g )NrŠ   r   )r?   r   rv   rÄ   rÅ   r˜   r   rÐ   rÆ   rÇ   rY   rÎ   r%  rK  r6  r1   r/  r=   rL  r5  rØ   )rÙ   r   r  rN  s       r4   rß   Ú	acsc.evalÙ  s„  € à�;�;Ü×$Ñ$Ð$Ø�=�=Ø”a—e‘eŠ|Ü—u‘u�ØœŸ™’Ü˜!‘t�ØœŸ™Ò%Ü�s˜1‘u�Ø”1—:‘:œq×1Ñ1´1×3DÑ3DÐEÓEÜ—6‘6ˆMà×'Ñ'×)Ñ)Ù˜˜“I�:Ðà�?�?Ü—6‘6ˆMà�=�=ØŸ™Ó*ˆJØÓ Ø!‘Ð&ä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ø�qœ‘t‘�Øœ“8Ü˜s™(�Cð œ˜A™“:Ü˜s™(�CØœ"˜˜Q™“;Ü˜# ™)�Cà�
ä�cœ3×ÑØ—(‘(˜1‘+ˆCØ× × Ü˜!‘tœd 3›iÑ'Ð'ð !ð  r6   c                ó’   • US:X  a7  SU R                   S   S-  [        SSU R                   S   S-  -  -
  5      -  -  $ [        X5      er�  r  r´   s     r4   r¶   Ú
acsc.fdiff  sK   € Ø�q‹=Ø�t—y‘y ‘| Q‘¤t¨A°°$·)±)¸A±,À±/Ñ0AÑ,AÓ'BÑBÑCÐCä$ TÓ4Ð4r6   c                ó   • [         $ rê  r.  r´   s     r4   rì  Úacsc.inverse  rŒ  r6   c                ó  • U S:X  aC  [         S-  [        R                  [        S5      -  -
  [        R                  [        U5      -  -   $ U S:  d	  U S-  S:X  a  [        R                  $ [        U5      n[        U5      S:”  a*  U S:”  a$  US   nX0S-
  U S-
  -  -  US-  -  SU S-  S-  -  -  $ U S-  n[        [        R                  U5      U -  n[        U5      U -  S-  U -  S-  n[        R                  U-  U-  X-  -  S-  $ r  )
r   r   r3   r"   rY   r   rå   r   rŽ   r   rQ  s          r4   ré   Úacsc.taylor_term  s  € ð �‹6Ü�a‘4œ!Ÿ/™/¬#¨a«&Ñ0Ñ0´1·?±?Ä3ÀqÃ6Ñ3IÑIÐIØ�‹U�a˜!‘e˜q“jÜ—6‘6ˆMä˜“
ˆAÜ�>Ó" QÓ&¨1¨q«5Ø" 2Ñ&�Ø ™U Q q¡S™MÑ*¨Q°©TÑ1°1¸¸1¹¸q±y±=ÑAÐAà˜‘F�Ü#¤A§F¡F¨AÓ.°!Ñ3�Ü˜a“L 1Ñ$¨Ñ)¨AÑ-°Ñ2�Ü—‘¨Ñ*¨QÑ.°±Ñ5¸Ñ9Ð9r6   c                óø  • U R                   S   nUR                  US5      R                  5       nU[        R                  L a   U R                  UR                  U5      5      $ U[        R                  * [        R                  [        R                  4;   a1  U R                  [        5      R                  XUS9R                  5       $ U[        R                  L a  SU-  R                  U5      $ UR                  (       aë  SUS-  -
  R                  (       aÔ  UR!                  X(       a  UOS5      n[#        U5      R$                  (       a*  UR                  (       a  [&        U R                  U5      -
  $ Ov[#        U5      R                  (       a+  UR$                  (       a  [&        * U R                  U5      -
  $ O1U R                  [        5      R                  XUS9R                  5       $ U R                  U5      $ rU  )r=   rñ   rf  r   rÅ   r<   rg  r˜   rY   rý   r"   rn  rX   rv   rG  rB  rd  r    ri  r   rV  s          r4   rn  Úacsc._eval_as_leading_term$  sr  € Ø�i‰i˜‰lˆØ�X‰X�a˜‹^×"Ñ"Ó$ˆØ”—‘Š;Ø—9‘9˜S×0Ñ0°Ó3Ó4Ð4à”1—5‘5�&œ!Ÿ%™%¤§¡Ð(Ó(Ø—<‘<¤Ó$×:Ñ:¸1ÈdÐ:ÐS×ZÑZÓ\Ð\Ø”×"Ñ"Ò"Ø�c‘E×*Ñ*¨1Ó-Ð-à�:�:˜1˜r 1™u™9×1×1Ø—7‘7˜1¥d™d°Ó2ˆDÜ�$‹x×#×#Ø—>—>Ü §	¡	¨"£Ñ-Ð-ð "ä�D“×%×%Ø—>—>Ü˜3 §¡¨2£Ñ.Ð.ð "ð —|‘|¤CÓ(×>Ñ>¸qÐRVÐ>ÐW×^Ñ^Ó`Ð`Ø�y‰y˜‹}Ðr6   c                ó6  >• SSK Jn  U R                  S   R                  US5      nU[        R
                  L Ga#  [        SSS9n[        [        R
                  US-  -   5      R                  [        5      R                  USSU-  5      n[        R                  U R                  S   -   n	U	R                  U5      n
Xš-
  U
-  n[        [        R
                  U-   5      R                  XUS9nUR                  5       [        U
5      -  R!                  5       nUR                  5       R                  X}5      R!                  5       R#                  5       U" X-  U5      -   $ U[        R                  L Ga#  [        SSS9n[        [        R                  US-  -
  5      R                  [        5      R                  USSU-  5      n[        R                  U R                  S   -
  n	U	R                  U5      n
Xš-
  U
-  n[        [        R
                  U-   5      R                  XUS9nUR                  5       [        U
5      -  R!                  5       nUR                  5       R                  X}5      R!                  5       R#                  5       U" X-  U5      -   $ [$        TU ]9  XUS9nU[        R&                  L a  U$ UR(                  (       aÐ  SUS-  -
  R*                  (       a¹  U R                  S   R-                  X(       a  UOS5      n[/        U5      R0                  (       a  UR*                  (       a	  [2        U-
  $  U$ [/        U5      R*                  (       a  UR0                  (       a
  [2        * U-
  $  U$ U R                  [        5      R                  XX4S	9$ U$ r"  )r_  r\  r=   rñ   r   r˜   r   r×   rý   r"   r`  rÐ   rg  r%   ró   rb  rX   rc  rò   rv   rG  rB  rd  r    ri  r   rd  s                  €r4   ró   Úacsc._eval_nseries;  sß  ø€ Ý(Ø�y‰y˜‰|× Ñ   AÓ&ˆà”1—5‘5‹=Ü�c DÑ)ˆAÜ”q—u‘u˜q !™t‘|Ó$×,Ñ,¬SÓ1×9Ñ9¸!¸QÀÀ!ÁÓDˆCÜ—=‘= 4§9¡9¨Q¡<Ñ/ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMà”1—=‘=Ó Ü�c DÑ)ˆAÜ”q—}‘} q¨!¡tÑ+Ó,×4Ñ4´SÓ9×AÑAÀ!ÀQÈÈ!ÉÓLˆCÜ—=‘= 4§9¡9¨Q¡<Ñ/ˆDØ×$Ñ$ QÓ'ˆAØ‘˜A‘ˆAÜœŸ™ ™	“?×0Ñ0°¸dÐ0ÐCˆDØ—<‘<“>¤$ q£'Ñ)×1Ñ1Ó3ˆCØ—;‘;“=×%Ñ% aÓ-×4Ñ4Ó6×>Ñ>Ó@Á1ÀQÁTÈ1Ã:ÑMÐMä‰gÑ# A°Ð#Ð6ˆØ”1×$Ñ$Ò$ØˆJà�<�<˜Q  q¡™[×5×5Ø—9‘9˜Q‘<×#Ñ# A­t¡t¸Ó;ˆDÜ�$‹x×#×#Ø×#×#Ü ™8�Oð $ð ˆ
ô �D“×%×%Ø×#×#Ü˜3 ™9Ð$ð $ð ˆ
ð —|‘|¤CÓ(×6Ñ6°qÀ$Ð6ÐRÐRØˆ
r6   c           
     óˆ   • [         R                  * [        [         R                  U-  [        SSUS-  -  -
  5      -   5      -  $ rç  rt  r  s      r4   ru  Úacsc._eval_rewrite_as_logc  s8   € Ü—‘Ð¤¤A§O¡O°CÑ$7¼$¸qÀ1ÀSÈ!ÁVÁ8¹|Ó:LÑ$LÓ MÑMÐMr6   c                ó   • [        SU-  5      $ r-  )rÒ   r  s      r4   r©  Úacsc._eval_rewrite_as_asinh  r‚  r6   c                ó2   • [         S-  [        SU-  5      -
  $ r  rl  r  s      r4   rm  Úacsc._eval_rewrite_as_acosk  r~  r6   c                ón   • [        US-  5      U-  [        S-  [        [        US-  S-
  5      5      -
  -  $ r  r-  r  s      r4   rq  Úacsc._eval_rewrite_as_atann  s3   € Ü�A�q‘D‹z˜!‰|œR ™T¤D¬¨a°©d°Q©h«Ó$8Ñ8Ñ9Ð9r6   c           	     ót   • [        US-  5      U-  [        S-  [        S[        US-  S-
  5      -  5      -
  -  $ r  r2  r  s      r4   rx  Úacsc._eval_rewrite_as_acotq  s:   € Ü�C˜‘F‹|˜CÑ¤ A¡¬¨Q¬t°C¸±F¸Q±JÓ/?Ñ-?Ó(@Ñ!@ÑAÐAr6   c                ó,   • [         S-  [        U5      -
  $ r«   r{  r  s      r4   r|  Úacsc._eval_rewrite_as_asect  r6  r6   rN   r‡  rˆ  )rp   rq   rr   rs   rt   r‰  rß   r¶   rì  rŠ  r   ré   rn  ró   ru  r�  r©  rm  rq  rx  r|  rx   r‹  rŒ  s   @r4   r×   r×   ®  s|   ø† ñ(ðT ñ*(ó ð*(ôX5ôð Øñ:ó ó ð:ò ÷.&òPNð "6Ðòò"ò:òB÷ ð  r6   r×   c                  ó`   ^ • \ rS rSrSr\S 5       rS rS rS r	S r
S rS	 rU 4S
 jrSrU =r$ )rÔ   ix  a¦	  
The function ``atan2(y, x)`` computes `\operatorname{atan}(y/x)` taking
two arguments `y` and `x`.  Signs of both `y` and `x` are considered to
determine the appropriate quadrant of `\operatorname{atan}(y/x)`.
The range is `(-\pi, \pi]`. The complete definition reads as follows:

.. math::

    \operatorname{atan2}(y, x) =
    \begin{cases}
      \arctan\left(\frac y x\right) & \qquad x > 0 \\
      \arctan\left(\frac y x\right) + \pi& \qquad y \ge 0, x < 0 \\
      \arctan\left(\frac y x\right) - \pi& \qquad y < 0, x < 0 \\
      +\frac{\pi}{2} & \qquad y > 0, x = 0 \\
      -\frac{\pi}{2} & \qquad y < 0, x = 0 \\
      \text{undefined} & \qquad y = 0, x = 0
    \end{cases}

Attention: Note the role reversal of both arguments. The `y`-coordinate
is the first argument and the `x`-coordinate the second.

If either `x` or `y` is complex:

.. math::

    \operatorname{atan2}(y, x) =
        -i\log\left(\frac{x + iy}{\sqrt{x^2 + y^2}}\right)

Examples
========

Going counter-clock wise around the origin we find the
following angles:

>>> from sympy import atan2
>>> atan2(0, 1)
0
>>> atan2(1, 1)
pi/4
>>> atan2(1, 0)
pi/2
>>> atan2(1, -1)
3*pi/4
>>> atan2(0, -1)
pi
>>> atan2(-1, -1)
-3*pi/4
>>> atan2(-1, 0)
-pi/2
>>> atan2(-1, 1)
-pi/4

which are all correct. Compare this to the results of the ordinary
`\operatorname{atan}` function for the point `(x, y) = (-1, 1)`

>>> from sympy import atan, S
>>> atan(S(1)/-1)
-pi/4
>>> atan2(1, -1)
3*pi/4

where only the `\operatorname{atan2}` function returns what we expect.
We can differentiate the function with respect to both arguments:

>>> from sympy import diff
>>> from sympy.abc import x, y
>>> diff(atan2(y, x), x)
-y/(x**2 + y**2)

>>> diff(atan2(y, x), y)
x/(x**2 + y**2)

We can express the `\operatorname{atan2}` function in terms of
complex logarithms:

>>> from sympy import log
>>> atan2(y, x).rewrite(log)
-I*log((x + I*y)/sqrt(x**2 + y**2))

and in terms of `\operatorname(atan)`:

>>> from sympy import atan
>>> atan2(y, x).rewrite(atan)
Piecewise((2*atan(y/(x + sqrt(x**2 + y**2))), Ne(y, 0)), (pi, re(x) < 0), (0, Ne(x, 0)), (nan, True))

but note that this form is undefined on the negative real axis.

See Also
========

sin, csc, cos, sec, tan, cot
asin, acsc, acos, asec, atan, acot

References
==========

.. [1] https://en.wikipedia.org/wiki/Inverse_trigonometric_functions
.. [2] https://en.wikipedia.org/wiki/Atan2
.. [3] https://functions.wolfram.com/ElementaryFunctions/ArcTan2

c           	     ó–  • SSK Jn  U[        R                  L a9  UR                  (       a  [
        $ S[
        -  U" [        U5      5      -  [
        -
  $ U[        R                  L a  [        R                  $ UR                  (       aI  UR                  (       a8  UR                  (       a'  UR                  (       a  [        U5      n[        U5      nUR                  (       aò  UR                  (       aá  UR                  (       a  [        X-  5      $ UR                  (       aK  UR                  (       a  [        X-  5      [
        -
  $ UR                   (       a  [        X-  5      [
        -   $ OgUR                  (       aV  UR                  (       a	  [
        S-  $ UR                  (       a
  [
        * S-  $ UR                  (       a  [        R"                  $ UR                  (       a}  UR$                  (       a   [
        [        R&                  U" U5      -
  -  $ UR                  (       a;  [)        [
        [        U5      S:  4S[+        US5      4[        R"                  S45      $ UR                  (       aX  UR                  (       aF  [        R,                  * [/        U[        R,                  U-  -   [1        US-  US-  -   5      -  5      -  $ g g )Nr   )Ú	HeavisiderŠ   T)Ú'sympy.functions.special.delta_functionsrR  r   rÇ   r?   r   r!   rÆ   rY   rK  rK  r    rW   rB  rÓ   ri  r†  rÅ   Úis_extended_nonzeror˜   r(   r   r3   r"   r%   )rÙ   rÞ   r¡   rR  s       r4   rß   Ú
atan2.evalß  sÎ  € åEØ”×"Ñ"Ò"Ø�y�yä�	Ø”R‘4™¤2 a£5Ó)Ñ*¬RÑ/Ð/Ø”!—*‘*Š_Ü—6‘6ˆMØ�^�^ §§°1·;·;À1Ç;Ç;Ü�1“ˆAÜ�1“ˆAà×× !×"4×"4Ø�}�}Ü˜A™C“yÐ Ø——Ø—=—=Ü ¡›9¤r™>Ð)Ø×%×%Ü ¡›9¤r™>Ð)ð &à——Ø—=—=Ü˜a™4�KØ—]—]Ü˜3˜q™5�LØ—Y—YÜŸ5™5�LØ�9�9Ø×$×$Üœ1Ÿ5™5¡9¨Q£<Ñ/Ñ0Ð0Ø�{�{Ü ¤"¤b¨£e¨a¡i Ø"#¤R¨¨1£X Ü"#§%¡%¨ ó0ð 0ð �;�;˜1Ÿ;Ÿ;Ü—O‘OÐ#¤CØ”Q—_‘_ QÑ&Ñ&¬¨Q°©T°A°q±D©[Ó(9Ñ9ó%;ñ ;ð ;ð 'ˆ;r6   c           	     óŽ   • [         R                  * [        U[         R                  U-  -   [        US-  US-  -   5      -  5      -  $ r«   rt  ©rA   rÞ   r¡   rþ   s       r4   ru  Úatan2._eval_rewrite_as_log  s=   € Ü—‘Ð¤ Q¬¯©¸Ñ):Ñ%:¼DÀÀAÁÈÈ1ÉÁÓ<MÑ$MÓ NÑNÐNr6   c                óØ   • [        S[        X[        US-  US-  -   5      -   -  5      -  [        US5      4[        [        U5      S:  4S[        US5      4[        R                  S45      $ )NrŠ   r   T)r(   rÓ   r%   r   r   r!   r   rÅ   rW  s       r4   rq  Úatan2._eval_rewrite_as_atan
  sf   € Ü˜!œD ¬¨Q°©T°A°q±D©[Ó(9Ñ$9Ñ!:Ó;Ñ;¼RÀÀ1»XÐFÜœb ›e a™i˜ØœR  1›X˜ÜŸ%™% ˜ó(ð 	(r6   c           
     óh  • UR                   (       a/  UR                   (       a  [        X![        R                  -  -   5      $ U[        R                  U-  -   nUS-  US-  -   n[        U[	        U5      -  5      [        R                  [        [        U5      [	        [        U5      5      -  5      -  -
  $ r«   )rW   Úarg_fr   r3   r%   r"   rc   )rA   rÞ   r¡   rþ   rç   rÚ   s         r4   Ú_eval_rewrite_as_argÚatan2._eval_rewrite_as_arg  s…   € Ø×× !×"4×"4Ü˜œqŸ™Ñ.Ñ.Ó/Ð/Ø”—‘ Ñ!Ñ!ˆØˆq‰D�1�a‘4‰KˆÜ�Q”t˜A“w‘YÓ¤!§/¡/´#´c¸!³f¼TÄ#ÀaÃ&»\Ñ6IÓ2JÑ"JÑJÐJr6   c                ót   • U R                   S   R                  =(       a    U R                   S   R                  $ r„  rr  rH  s    r4   rs  Úatan2._eval_is_extended_real  s)   € Ø�y‰y˜‰|×,Ñ,×N°·±¸1±×1NÑ1NÐNr6   c                ó’   • U R                  U R                  S   R                  5       U R                  S   R                  5       5      $ r„  rF  rH  s    r4   rI  Úatan2._eval_conjugate  s5   € Ø�y‰y˜Ÿ™ 1™×/Ñ/Ó1°4·9±9¸Q±<×3IÑ3IÓ3KÓLÐLr6   c                ó„   • U R                   u  p#US:X  a  X3S-  US-  -   -  $ US:X  a  U* US-  US-  -   -  $ [        X5      erç  r½  )rA   rµ   rÞ   r¡   s       r4   r¶   Úatan2.fdiff  sS   € Ø�y‰y‰ˆØ�q‹=à˜‘d˜Q ™T‘k‘?Ð"Ø˜‹]à�2�q˜!‘t˜a ™d‘{Ñ#Ð#ä$ TÓ4Ð4r6   c                ó†   >• U R                   u  p#UR                  (       a!  UR                  (       a  [        TU ]  U5      $ g g ro   )r=   rW   rò   Ú_eval_evalf)rA   ÚprecrÞ   r¡   rõ   s       €r4   rf  Úatan2._eval_evalf(  s7   ø€ Ø�y‰y‰ˆØ×× !×"4×"4Ü‘7Ñ& tÓ,Ð,ð #5Ðr6   rN   )rp   rq   rr   rs   rt   r‰  rß   ru  rq  r]  rs  rI  r¶   rf  rx   r‹  rŒ  s   @r4   rÔ   rÔ   x  sK   ø† ñdðL ñ%;ó ð%;òNOò(òKòOòMò	5÷-ó -r6   rÔ   Nr‡  )r   r   rž   r›   ÚreturnzExpr | None)[Ú
__future__r   Úsympy.core.addr   Úsympy.core.cacher   Úsympy.core.exprr   Úsympy.core.functionr   r   r	   r
   Úsympy.core.logicr   r   r   r   Úsympy.core.modr   Úsympy.core.numbersr   r   r   r   r   Úsympy.core.relationalr   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Úsympy.core.sympifyr   Ú(sympy.functions.combinatorial.factorialsr   r   Ú%sympy.functions.combinatorial.numbersr   r   r@  r   r\  r    r!   Ú&sympy.functions.elementary.exponentialr"   r#   Ú#sympy.functions.elementary.integersr$   Ú(sympy.functions.elementary.miscellaneousr%   r&   r'   Ú$sympy.functions.elementary.piecewiser(   Ú1sympy.functions.elementary._trigonometric_specialr)   r*   r+   Úsympy.logic.boolalgr,   Úsympy.ntheoryr-   Úsympy.polys.specialpolysr.   Úsympy.utilities.iterablesr/   r5   r8   rˆ   r•   rH   r¨   r³   r  r   r˜  r5  r/  r9  r+  rÒ   rÕ   rÓ   rÖ   rØ   r×   rÔ   rN   r6   r4   Ú<module>r�     s�  ðÝ "Ý Ý $Ý  ß ZÓ Zß FÓ FÝ ß IÕ Iß (Ý "ß +Ý &ß Oß Bß EÑ Eß ;Ý 5ß CÑ CÝ :÷)ñ )å #Ý #Ý 3Ý 6ò3ôAK˜Oô AKðH 	ñó 	ðò""öJHôVsÐ
ô sôl	g1Ð
ô g1ôTQÐ
ô Qôh
zÐ
ô zôz	uOÐ&;ô uOôpi7Ð
)ô i7ôXf7Ð
)ô f7ôRt$ˆ?ô t$ôxN
 ?ô N
ôbfÐ'ô fôRnÐ'ô nôbR@Ð'ô R@ôjWKÐ'ô WKôtd Ð'ô d ôNG Ð'ô G ôTs-Ð(õ s-r6   