§
    OŠtjÄ6 ã                   ó�  — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZmZmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZmZ ddlmZ ddlmZmZm Z  ddl!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z)m*Z* ddl+m,Z,m-Z-m.Z. ddl/m0Z0m1Z1 ddl2m3Z3m4Z4m5Z5 ddl6m7Z7m8Z8 dCd„Z9 G d„ de¦  «        Z: G d„ de¦  «        Z; G d„ de¦  «        Z< G d„ de¦  «        Z= G d„ d e¦  «        Z> G d!„ d"e¦  «        Z? G d#„ d$e¦  «        Z@ G d%„ d&e¦  «        ZA G d'„ d(e¦  «        ZBd)„ ZC G d*„ d+e¦  «        ZD G d,„ d-e¦  «        ZE G d.„ d/e¦  «        ZF G d0„ d1eF¦  «        ZG G d2„ d3eF¦  «        ZH G d4„ d5eF¦  «        ZI G d6„ d7eF¦  «        ZJ G d8„ d9e¦  «        ZK G d:„ d;eK¦  «        ZL G d<„ d=eK¦  «        ZM G d>„ d?e¦  «        ZN G d@„ dAe¦  «        ZOdBS )Dz� This module contains various functions that are special cases
    of incomplete gamma functions. It should probably be renamed. é    )Ú
EulerGamma)ÚAdd)Úcacheit)ÚDefinedFunctionÚArgumentIndexErrorÚ
expand_mul)Úfuzzy_or)ÚIÚpiÚRationalÚInteger)Úis_eq)ÚPow)ÚS)ÚDummyÚuniquely_named_symbol)Úsympify)Ú	factorialÚ
factorial2ÚRisingFactorial)Ú
polar_liftÚreÚ
unpolarify)ÚceilingÚfloor)ÚsqrtÚroot)ÚexpÚlogÚ	exp_polar)ÚcoshÚsinh)ÚcosÚsinÚsinc)ÚhyperÚmeijergTc                 óR  — | j         d         j        r/|rd|d<    | j        |fi |¤Žt          j        fS | t          j        fS |r/ | j         d         j        |fi |¤Ž                     ¦   «         \  }}n"| j         d                              ¦   «         \  }}|                      |t          |z  z   ¦  «        |                      |t          |z  z
  ¦  «        z   dz  }|                      |t          |z  z   ¦  «        |                      |t          |z  z
  ¦  «        z
  dt          z  z  }||fS )Nr   FÚcomplexé   )ÚargsÚis_extended_realÚexpandr   ÚZeroÚas_real_imagÚfuncr
   )ÚselfÚdeepÚhintsÚxÚyr   Úims          úe/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/functions/special/error_functions.pyÚreal_to_real_as_real_imagr8      s"  € Ø„y�„|Ô$ð "Øð 	"Ø$ˆE�)ÑØ�D”K Ð.Ð.¨Ð.Ð.µ´Ð7Ð7à�!œ&�>Ð!Øð +Ø"ˆtŒy˜Œ|Ô" 4Ð1Ð1¨5Ð1Ð1×>Ò>Ñ@Ô@‰ˆˆ1ˆ1àŒy˜Œ|×(Ò(Ñ*Ô*‰ˆˆ1Ø
�)Š)�A�˜!™‘GÑ
Ô
˜tŸyšy¨­Q¨q©S©Ñ1Ô1Ñ
1°1Ñ	4€BØ
�)Š)�A�˜!™‘GÑ
Ô
˜tŸyšy¨­Q¨q©S©Ñ1Ô1Ñ
1°Aµa±CÑ	8€BØ�ˆ8€Oó    c                   óÞ   ‡ — e Zd ZdZdZdd„Zdd„Zed„ ¦   «         Ze	e
d„ ¦   «         ¦   «         Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Zd„ Zˆ fd„ZeZˆ xZ S )Úerfa.  
    The Gauss error function.

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

    This function is defined as:

    .. math ::
        \mathrm{erf}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{-t^2} \mathrm{d}t.

    Examples
    ========

    >>> from sympy import I, oo, erf
    >>> from sympy.abc import z

    Several special values are known:

    >>> erf(0)
    0
    >>> erf(oo)
    1
    >>> erf(-oo)
    -1
    >>> erf(I*oo)
    oo*I
    >>> erf(-I*oo)
    -oo*I

    In general one can pull out factors of -1 and $I$ from the argument:

    >>> erf(-z)
    -erf(z)

    The error function obeys the mirror symmetry:

    >>> from sympy import conjugate
    >>> conjugate(erf(z))
    erf(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(erf(z), z)
    2*exp(-z**2)/sqrt(pi)

    We can numerically evaluate the error function to arbitrary precision
    on the whole complex plane:

    >>> erf(4).evalf(30)
    0.999999984582742099719981147840

    >>> erf(-4*I).evalf(30)
    -1296959.73071763923152794095062*I

    See Also
    ========

    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/Erf.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/Erf

    Té   c                 óš   — |dk    r6dt          | j        d         dz   ¦  «        z  t          t          ¦  «        z  S t	          | |¦  «        ‚©Nr<   r*   r   ©r   r+   r   r   r   ©r1   Úargindexs     r7   Úfdiffz	erf.fdiff€   sF   € Ø�qŠ=ˆ=Ø•S˜$œ) Aœ,¨™/Ð)Ñ*Ô*Ñ*­4µ©8¬8Ñ3Ð3å$ T¨8Ñ4Ô4Ð4r9   c                 ó   — t           S ©z8
        Returns the inverse of this function.

        ©Úerfinvr@   s     r7   Úinversezerf.inverse‡   s	   € õ
 ˆr9   c                 ó´  — |j         ra|t          j        u rt          j        S |t          j        u rt          j        S |t          j        u rt          j        S |j        rt          j        S t          |t          ¦  «        r|j        d         S t          |t          ¦  «        rt          j        |j        d         z
  S |j        rt          j        S t          |t          ¦  «        r|j        d         j        r|j        d         S |                     t          ¦  «        }|t          j        t          j        fv r|S |                     ¦   «         r | | ¦  «         S d S ©Nr   r<   )Ú	is_Numberr   ÚNaNÚInfinityÚOneÚNegativeInfinityÚNegativeOneÚis_zeror.   Ú
isinstancerF   r+   ÚerfcinvÚerf2invÚextract_multiplicativelyr
   Úcould_extract_minus_sign©ÚclsÚargÚts      r7   Úevalzerf.evalŽ   s>  € àŒ=ð 	Ø•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”u�Ø�Ô*Ð*Ð*Ý”}Ð$Ø”ð Ý”v�å�c�6Ñ"Ô"ð 	Ø”8˜A”;Ðå�c�7Ñ#Ô#ð 	'Ý”5˜3œ8 Aœ;Ñ&Ð&àŒ;ð 	Ý”6ˆMõ �c�7Ñ#Ô#ð 	¨¬°¬Ô(;ð 	Ø”8˜A”;Ðð ×(Ò(­Ñ+Ô+ˆØ•”�QÔ/Ð0Ð0Ð0ØˆJð ×'Ò'Ñ)Ô)ð 	Ø�C˜˜‘I”I�:Ðð	ð 	r9   c                 óv  — | dk     s	| dz  dk    rt           j        S t          |¦  «        }t          | dz
  t          d¦  «        z  ¦  «        }t	          |¦  «        dk    r|d          |dz  z  | dz
  z  | |z  z  S dt           j        |z  z  || z  z  | t          |¦  «        z  t          t          ¦  «        z  z  S ©Nr   r*   r<   éþÿÿÿ)	r   r.   r   r   ÚlenrO   r   r   r   ©Únr4   Úprevious_termsÚks       r7   Útaylor_termzerf.taylor_term°   s·   € ð ˆqŠ5ˆ5�A˜‘E˜Q’J�JÝ”6ˆMå˜‘
”
ˆAÝ�q˜1‘u�a ™dœd‘lÑ#Ô#ˆAÝ�>Ñ"Ô" QÒ&Ð&Ø& rÔ*Ð*¨Q°©TÑ1°Q¸±UÑ;¸Q¸q¹SÑAÐAà�œ¨Ñ)Ñ)¨A¨q©DÑ0°!µI¸a±L´L±.ÅÅbÁÄÑ2IÑJÐJr9   c                 óf   — |                       | j        d                              ¦   «         ¦  «        S ©Nr   ©r0   r+   Ú	conjugate©r1   s    r7   Ú_eval_conjugatezerf._eval_conjugate½   ó&   € Ø�yŠy˜œ 1œ×/Ò/Ñ1Ô1Ñ2Ô2Ð2r9   c                 ó2   — | j         d         j        du rdS d S ©Nr   T©r+   r,   rh   s    r7   Ú_eval_is_realzerf._eval_is_realÀ   s#   € ØŒ9�QŒ<Ô(¨DÐ0Ð0Ø�4ð 1Ð0r9   c                 ó2   — | j         d         j        du rdS d S rl   )r+   Úis_imaginaryrh   s    r7   Ú_eval_is_imaginaryzerf._eval_is_imaginaryÆ   s#   € ØŒ9�QŒ<Ô$¨Ð,Ð,Ø�4ð -Ð,r9   c                 óR   — | j         d         }t          |j        |j        g¦  «        S re   )r+   r	   Ú	is_finiter,   ©r1   Úzs     r7   Ú_eval_is_finitezerf._eval_is_finiteÊ   s%   € ØŒI�aŒLˆÝ˜œ aÔ&8Ð9Ñ:Ô:Ð:r9   c                 óR   — | j         d         j        du r| j         d         j        S d S rl   )r+   r,   rP   rh   s    r7   Ú_eval_is_zerozerf._eval_is_zeroÎ   s-   € ØŒ9�QŒ<Ô(¨DÐ0Ð0Ø”9˜Q”<Ô'Ð'ð 1Ð0r9   c                 óR   — | j         d         j        du r| j         d         j        S d S rl   )r+   r,   Úis_extended_positiverh   s    r7   Ú_eval_is_positivezerf._eval_is_positiveÒ   ó-   € ØŒ9�QŒ<Ô(¨DÐ0Ð0Ø”9˜Q”<Ô4Ð4ð 1Ð0r9   c                 óR   — | j         d         j        du r| j         d         j        S d S rl   )r+   r,   Úis_extended_negativerh   s    r7   Ú_eval_is_negativezerf._eval_is_negativeÖ   r|   r9   c                 ó°   — ddl m} t          |dz  ¦  «        |z  t          j         |t          j        |dz  ¦  «        t          t          ¦  «        z  z
  z  S ©Nr   ©Ú
uppergammar*   ©Ú'sympy.functions.special.gamma_functionsrƒ   r   r   rM   ÚHalfr   ©r1   ru   Úkwargsrƒ   s       r7   Ú_eval_rewrite_as_uppergammazerf._eval_rewrite_as_uppergammaÚ   sQ   € ØFÐFÐFÐFÐFÐFÝ�A�q‘D‰zŒz˜!‰|�QœU Z Zµ´¸¸1¹Ñ%=Ô%=½dÅ2¹h¼hÑ%FÑFÑGÐGr9   c                 óÒ   — t           j        t          z
  |z  t          t          ¦  «        z  }t           j        t          z   t          |¦  «        t          t          |¦  «        z  z
  z  S ©N©r   rM   r
   r   r   ÚfresnelcÚfresnels©r1   ru   rˆ   rX   s       r7   Ú_eval_rewrite_as_fresnelszerf._eval_rewrite_as_fresnelsÞ   óB   € ÝŒu•q‰y˜!‰m�D¥™HœHÑ$ˆÝ”�‘	�H S™MœM­A­h°s©m¬m©OÑ;Ñ<Ð<r9   c                 óÒ   — t           j        t          z
  |z  t          t          ¦  «        z  }t           j        t          z   t          |¦  «        t          t          |¦  «        z  z
  z  S r‹   rŒ   r�   s       r7   Ú_eval_rewrite_as_fresnelczerf._eval_rewrite_as_fresnelcâ   r‘   r9   c           
      ó”   — |t          t          ¦  «        z  t          t          j        gg dgt          dd¦  «        g|dz  ¦  «        z  S ©Nr   éÿÿÿÿr*   ©r   r   r'   r   r†   r   ©r1   ru   rˆ   s      r7   Ú_eval_rewrite_as_meijergzerf._eval_rewrite_as_meijergæ   s<   € Ø••b‘”‰z�'¥1¤6 (¨B°°µh¸rÀ1±o´oÐ5FÈÈ1ÉÑMÔMÑMÐMr9   c                 ó”   — d|z  t          t          ¦  «        z  t          t          j        gdt          j        z  g|dz   ¦  «        z  S ©Nr*   é   ©r   r   r&   r   r†   r˜   s      r7   Ú_eval_rewrite_as_hyperzerf._eval_rewrite_as_hyperé   s9   € Ø�‰s•4�‘8”8‰|�E¥1¤6 (¨Q­q¬v©X¨J¸¸A¹¸Ñ>Ô>Ñ>Ð>r9   c                 ó˜   — t          |dz  ¦  «        |z  |t          t          j        |dz  ¦  «        z  t          t          ¦  «        z  z
  S ©Nr*   ©r   Úexpintr   r†   r   r˜   s      r7   Ú_eval_rewrite_as_expintzerf._eval_rewrite_as_expintì   s;   € Ý�A�q‘D‰zŒz˜!‰|˜a¥¥q¤v¨q°!©tÑ 4Ô 4Ñ4µT½"±X´XÑ=Ñ=Ð=r9   Nc                 ó  — ddl m} |rV |||t          j        ¦  «        }|t          j        u r1t          j        t          | ¦  «        t          |dz   ¦  «        z  z   S t          j        t          |¦  «        t          |dz   ¦  «        z  z
  S )Nr   )Úlimitr*   )	Úsympy.series.limitsr¥   r   rL   rN   rO   Ú_erfsr   rM   )r1   ru   Úlimitvarrˆ   r¥   Úlims         r7   Ú_eval_rewrite_as_tractablezerf._eval_rewrite_as_tractableï   s‰   € Ø-Ð-Ð-Ð-Ð-Ð-Øð 	<Ø�%˜˜8¥Q¤ZÑ0Ô0ˆCØ•aÔ(Ð(Ð(Ý”}¥u¨a¨R¡y¤yµ°a¸±d°U±´Ñ';Ñ;Ð;ÝŒu•u˜Q‘x”x¥ Q¨¡T E¡
¤
Ñ*Ñ*Ð*r9   c                 ó:   — t           j        t          |¦  «        z
  S r‹   )r   rM   Úerfcr˜   s      r7   Ú_eval_rewrite_as_erfczerf._eval_rewrite_as_erfc÷   s   € ÝŒu•t˜A‘w”w‰Ðr9   c                 óB   — t            t          t           |z  ¦  «        z  S r‹   ©r
   Úerfir˜   s      r7   Ú_eval_rewrite_as_erfizerf._eval_rewrite_as_erfiú   s   € Ýˆr•$•q˜‘s‘)”)‰|Ðr9   c                 óN  — | j         d                              |||¬¦  «        }|                     |d¦  «        }|t          j        u r |                     |d|dk    rdnd¬¦  «        }||j        v r!|j        rd|z  t          t          ¦  «        z  S |  
                    |¦  «        S )Nr   ©ÚlogxÚcdirr–   ú-ú+©Údirr*   )r+   Úas_leading_termÚsubsr   ÚComplexInfinityr¥   Úfree_symbolsrP   r   r   r0   ©r1   r4   r´   rµ   rX   Úarg0s         r7   Ú_eval_as_leading_termzerf._eval_as_leading_termý   s�   € ØŒi˜Œl×*Ò*¨1°4¸dÐ*ÑCÔCˆØ�xŠx˜˜1‰~Œ~ˆà•1Ô$Ð$Ð$Ø—9’9˜Q ¨d°bªj¨j s s¸c�9ÑBÔBˆDØ�Ô Ð Ð  T¤\Ð Ø�S‘5��b™œ‘>Ð!à—9’9˜T‘?”?Ð"r9   c                 ó@  •‡— ddl m} |d         }|t          j        t          j        fv rÊ| j        d         Š	 ‰                     |¦  «        \  }}n# t          t          f$ r | cY S w xY w| }|j	        r€t          ||z  ¦  «        }	ˆfd„t          |	¦  «        D ¦   «          |d‰|	z  z  |¦  «        gz   }
t          j        t          ‰dz   ¦  «        t          t          ¦  «        z  t!          |
Ž z  z
  S t#          t$          | ¦  «                             ||||¦  «        S )Nr   ©ÚOrderc                 ó~   •— g | ]9}t           j        |z  t          d |z  dz
  ¦  «        z  ‰d |z  dz   z  d |z  z  z  ‘Œ:S ©r*   r<   )r   rO   r   ©Ú.0rb   ru   s     €r7   ú
<listcomp>z%erf._eval_aseries.<locals>.<listcomp>  s`   ø€ ð +ð +ð +Øõ ”] AÑ%­
°1°Q±3¸±7Ñ(;Ô(;Ñ;¸qÀ1ÀQÁ3ÈÁ7¹|ÈaÐQRÉdÑ?RÑSð +ð +ð +r9   r<   r*   )Úsympy.series.orderrÃ   r   rL   rN   r+   ÚleadtermÚ
ValueErrorÚNotImplementedErrorÚis_positiver   ÚrangerM   r   r   r   r   Úsuperr;   Ú_eval_aseries)r1   r`   Úargs0r4   r´   rÃ   ÚpointÚ_ÚexÚnewnÚsru   Ú	__class__s              @€r7   rÐ   zerf._eval_aseries  sD  øø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•Q”Z¥Ô!3Ð4Ð4Ð4Ø”	˜!”ˆAðØŸ
š
 1™œ‘��2�2øÝÕ 3Ð4ð ð ð Ø���ðøøøð �ˆBØŒ~ð ?Ý˜q ™t‘}”}�ð+ð +ð +ð +Ý# D™kœkð+ñ +ô +Ø.3¨e°A°a¸±g±I¸qÑ.AÔ.AÐ-BñC�å”u¥ Q¨¡T E¡
¤
­4µ©8¬8Ñ 3µs¸A°wÑ>Ñ>Ð>å•S˜$ÑÔ×-Ò-¨a°¸¸4Ñ@Ô@Ð@s   ¹A ÁA(Á'A(©r<   r‹   )!Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
unbranchedrB   rG   ÚclassmethodrZ   Ústaticmethodr   rc   ri   rn   rq   rv   rx   r{   r   r‰   r�   r“   r™   rž   r£   rª   r­   r±   rÀ   rÐ   r8   r/   Ú__classcell__©r×   s   @r7   r;   r;   1   sÂ  ø€ € € € € ðJð JðX €Jð5ð 5ð 5ð 5ðð ð ð ð ðð ñ „[ððB Øð	Kð 	Kñ „Wñ „\ð	Kð3ð 3ð 3ðð ð ðð ð ð;ð ;ð ;ð(ð (ð (ð5ð 5ð 5ð5ð 5ð 5ðHð Hð Hð=ð =ð =ð=ð =ð =ðNð Nð Nð?ð ?ð ?ð>ð >ð >ð+ð +ð +ð +ðð ð ðð ð ð	#ð 	#ð 	#ðAð Að Að Að Að* -€L€L€L€L€Lr9   r;   c                   ó¼   — e Zd ZdZdZdd„Zdd„Zed„ ¦   «         Ze	e
d„ ¦   «         ¦   «         Zd„ Zd	„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZeZd„ Zd
S )r¬   a&  
    Complementary Error Function.

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

    The function is defined as:

    .. math ::
        \mathrm{erfc}(x) = \frac{2}{\sqrt{\pi}} \int_x^\infty e^{-t^2} \mathrm{d}t

    Examples
    ========

    >>> from sympy import I, oo, erfc
    >>> from sympy.abc import z

    Several special values are known:

    >>> erfc(0)
    1
    >>> erfc(oo)
    0
    >>> erfc(-oo)
    2
    >>> erfc(I*oo)
    -oo*I
    >>> erfc(-I*oo)
    oo*I

    The error function obeys the mirror symmetry:

    >>> from sympy import conjugate
    >>> conjugate(erfc(z))
    erfc(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(erfc(z), z)
    -2*exp(-z**2)/sqrt(pi)

    It also follows

    >>> erfc(-z)
    2 - erfc(z)

    We can numerically evaluate the complementary error function to arbitrary
    precision on the whole complex plane:

    >>> erfc(4).evalf(30)
    0.0000000154172579002800188521596734869

    >>> erfc(4*I).evalf(30)
    1.0 - 1296959.73071763923152794095062*I

    See Also
    ========

    erf: Gaussian error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/Erfc.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/Erfc

    Tr<   c                 óš   — |dk    r6dt          | j        d         dz   ¦  «        z  t          t          ¦  «        z  S t	          | |¦  «        ‚)Nr<   r]   r   r*   r?   r@   s     r7   rB   z
erfc.fdiffo  sF   € Ø�qŠ=ˆ=Ø•c˜4œ9 Qœ<¨™?Ð*Ñ+Ô+Ñ+­Dµ©H¬HÑ4Ð4å$ T¨8Ñ4Ô4Ð4r9   c                 ó   — t           S rD   ©rR   r@   s     r7   rG   zerfc.inverseu  s	   € õ
 ˆr9   c                 ó  — |j         rG|t          j        u rt          j        S |t          j        u rt          j        S |j        rt          j        S t          |t          ¦  «        rt          j        |j	        d         z
  S t          |t          ¦  «        r|j	        d         S |j        rt          j        S |                     t          ¦  «        }|t          j        t          j        fv r| S |                     ¦   «         rd | | ¦  «        z
  S d S ©Nr   r*   )rJ   r   rK   rL   r.   rP   rM   rQ   rF   r+   rR   rT   r
   rN   rU   rV   s      r7   rZ   z	erfc.eval|  sü   € àŒ=ð 	Ø•a”eˆ|ˆ|Ý”u�Ø�œ
Ð"Ð"Ý”v�Ø”ð Ý”u�å�c�6Ñ"Ô"ð 	'Ý”5˜3œ8 Aœ;Ñ&Ð&å�c�7Ñ#Ô#ð 	Ø”8˜A”;ÐàŒ;ð 	Ý”5ˆLð ×(Ò(­Ñ+Ô+ˆØ•”�QÔ/Ð0Ð0Ð0Ø�4ˆKð ×'Ò'Ñ)Ô)ð 	!Ø�s�s˜C˜4‘y”y‘=Ð ð	!ð 	!r9   c                 óš  — | dk    rt           j        S | dk     s	| dz  dk    rt           j        S t          |¦  «        }t	          | dz
  t          d¦  «        z  ¦  «        }t          |¦  «        dk    r|d          |dz  z  | dz
  z  | |z  z  S dt           j        |z  z  || z  z  | t          |¦  «        z  t          t          ¦  «        z  z  S r\   )
r   rM   r.   r   r   r^   rO   r   r   r   r_   s       r7   rc   zerfc.taylor_term˜  sÇ   € ð �Š6ˆ6Ý”5ˆLØ�ŠUˆU�a˜!‘e˜q’j�jÝ”6ˆMå˜‘
”
ˆAÝ�q˜1‘u�a ™dœd‘lÑ#Ô#ˆAÝ�>Ñ"Ô" QÒ&Ð&Ø& rÔ*Ð*¨Q°©TÑ1°Q¸±UÑ;¸Q¸q¹SÑAÐAà�!œ-¨Ñ*Ñ*¨Q°©TÑ1°1µY¸q±\´\±>Å$ÅrÁ(Ä(Ñ3JÑKÐKr9   c                 óf   — |                       | j        d                              ¦   «         ¦  «        S re   rf   rh   s    r7   ri   zerfc._eval_conjugate§  rj   r9   c                 ó^   — | j         d         j        du rdS | j         d         j        du rdS d S )Nr   TF)r+   r,   rp   rh   s    r7   rn   zerfc._eval_is_realª  s<   € ØŒ9�QŒ<Ô(¨DÐ0Ð0Ø�4ØŒ9�QŒ<Ô$¨Ð,Ð,Ø�5ð -Ð,r9   Nc                 ób   — |                       t          ¦  «                              dd|¬¦  «        S ©NÚ	tractableT)r2   r¨   ©Úrewriter;   ©r1   ru   r¨   rˆ   s       r7   rª   zerfc._eval_rewrite_as_tractable°  ó)   € Ø�|Š|�CÑ Ô ×(Ò(¨¸4È(Ð(ÑSÔSÐSr9   c                 ó:   — t           j        t          |¦  «        z
  S r‹   )r   rM   r;   r˜   s      r7   Ú_eval_rewrite_as_erfzerfc._eval_rewrite_as_erf³  s   € ÝŒu•s˜1‘v”v‰~Ðr9   c                 óZ   — t           j        t          t          t          |z  ¦  «        z  z   S r‹   )r   rM   r
   r°   r˜   s      r7   r±   zerfc._eval_rewrite_as_erfi¶  s   € ÝŒu•q��a ™c™œ‘{Ñ"Ð"r9   c                 óì   — t           j        t          z
  |z  t          t          ¦  «        z  }t           j        t           j        t          z   t          |¦  «        t          t          |¦  «        z  z
  z  z
  S r‹   rŒ   r�   s       r7   r�   zerfc._eval_rewrite_as_fresnels¹  sI   € ÝŒu•q‰y˜!‰m�D¥™HœHÑ$ˆÝŒu�œ¥™	¥H¨S¡M¤MµAµh¸s±m´m±OÑ$CÑDÑDÐDr9   c                 óì   — t           j        t          z
  |z  t          t          ¦  «        z  }t           j        t           j        t          z   t          |¦  «        t          t          |¦  «        z  z
  z  z
  S r‹   rŒ   r�   s       r7   r“   zerfc._eval_rewrite_as_fresnelc½  sI   € ÝŒu•Q‰w˜‰k�$�r™(œ(Ñ"ˆÝŒu�œ¥™	¥H¨S¡M¤MµAµh¸s±m´m±OÑ$CÑDÑDÐDr9   c                 ó®   — t           j        |t          t          ¦  «        z  t	          t           j        gg dgt          dd¦  «        g|dz  ¦  «        z  z
  S r•   )r   rM   r   r   r'   r†   r   r˜   s      r7   r™   zerfc._eval_rewrite_as_meijergÁ  sF   € ÝŒu�q��b™œ‘z¥'­1¬6¨(°B¸¸½hÀrÈ1¹o¼oÐ=NÐPQÐSTÑPTÑ"UÔ"UÑUÑUÐUr9   c                 ó®   — t           j        d|z  t          t          ¦  «        z  t	          t           j        gdt           j        z  g|dz   ¦  «        z  z
  S r›   )r   rM   r   r   r&   r†   r˜   s      r7   rž   zerfc._eval_rewrite_as_hyperÄ  s@   € ÝŒu�q˜‘s�4¥™8œ8‘|¥E­1¬6¨(°Qµq´v±X°JÀÀAÁÀÑ$FÔ$FÑFÑFÐFr9   c                 óÊ   — ddl m} t          j        t	          |dz  ¦  «        |z  t          j         |t          j        |dz  ¦  «        t	          t          ¦  «        z  z
  z  z
  S r�   )r…   rƒ   r   rM   r   r†   r   r‡   s       r7   r‰   z erfc._eval_rewrite_as_uppergammaÇ  sX   € ØFÐFÐFÐFÐFÐFÝŒu•t˜A˜q™D‘z”z !‘|¥Q¤U¨Z¨Z½¼ÀÀ1ÁÑ-EÔ-EÅdÍ2ÁhÄhÑ-NÑ%NÑOÑOÐOr9   c                 ó²   — t           j        t          |dz  ¦  «        |z  z
  |t          t           j        |dz  ¦  «        z  t          t
          ¦  «        z  z   S r    )r   rM   r   r¢   r†   r   r˜   s      r7   r£   zerfc._eval_rewrite_as_expintË  sB   € ÝŒu•t˜A˜q™D‘z”z !‘|Ñ# a­­q¬v°q¸!±tÑ(<Ô(<Ñ&<½TÅ"¹X¼XÑ&EÑEÐEr9   c                 ó6   — |                       t          ¦  «        S r‹   rî   ©r1   r3   s     r7   Ú_eval_expand_funczerfc._eval_expand_funcÎ  ó   € Ø�|Š|�CÑ Ô Ð r9   c                 ó   — | j         d                              |||¬¦  «        }|                     |d¦  «        }|t          j        u r |                     |d|dk    rdnd¬¦  «        }|j        rt          j        S |                      |¦  «        S )Nr   r³   r–   r¶   r·   r¸   )	r+   rº   r»   r   r¼   r¥   rP   rM   r0   r¾   s         r7   rÀ   zerfc._eval_as_leading_termÑ  s…   € ØŒi˜Œl×*Ò*¨1°4¸dÐ*ÑCÔCˆØ�xŠx˜˜1‰~Œ~ˆà•1Ô$Ð$Ð$Ø—9’9˜Q ¨d°bªj¨j s s¸c�9ÑBÔBˆDØŒ<ð 	#Ý”5ˆLà—9’9˜T‘?”?Ð"r9   c                 ód   — t           j        t          | j        Ž                      ||||¦  «        z
  S r‹   )r   rM   r;   r+   rÐ   )r1   r`   rÑ   r4   r´   s        r7   rÐ   zerfc._eval_aseriesÞ  s)   € ÝŒu•s˜DœI�×4Ò4°Q¸¸qÀ$ÑGÔGÑGÐGr9   rØ   r‹   )rÙ   rÚ   rÛ   rÜ   rÝ   rB   rG   rÞ   rZ   rß   r   rc   ri   rn   rª   ró   r±   r�   r“   r™   rž   r‰   r£   rý   rÀ   r8   r/   rÐ   © r9   r7   r¬   r¬      sŒ  € € € € € ðJð JðX €Jð5ð 5ð 5ð 5ðð ð ð ð ð!ð !ñ „[ð!ð6 ØðLð Lñ „Wñ „\ðLð3ð 3ð 3ðð ð ðTð Tð Tð Tðð ð ð#ð #ð #ðEð Eð EðEð Eð EðVð Vð VðGð Gð GðPð Pð PðFð Fð Fð!ð !ð !ð	#ð 	#ð 	#ð -€LðHð Hð Hð Hð Hr9   r¬   c                   óÄ   ‡ — e Zd ZdZdZdd„Zed„ ¦   «         Zee	d„ ¦   «         ¦   «         Z
d„ Zd„ Zd	„ Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZeZd„ Zˆ fd„Zˆ xZS )r°   aí  
    Imaginary error function.

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

    The function erfi is defined as:

    .. math ::
        \mathrm{erfi}(x) = \frac{2}{\sqrt{\pi}} \int_0^x e^{t^2} \mathrm{d}t

    Examples
    ========

    >>> from sympy import I, oo, erfi
    >>> from sympy.abc import z

    Several special values are known:

    >>> erfi(0)
    0
    >>> erfi(oo)
    oo
    >>> erfi(-oo)
    -oo
    >>> erfi(I*oo)
    I
    >>> erfi(-I*oo)
    -I

    In general one can pull out factors of -1 and $I$ from the argument:

    >>> erfi(-z)
    -erfi(z)

    >>> from sympy import conjugate
    >>> conjugate(erfi(z))
    erfi(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(erfi(z), z)
    2*exp(z**2)/sqrt(pi)

    We can numerically evaluate the imaginary error function to arbitrary
    precision on the whole complex plane:

    >>> erfi(2).evalf(30)
    18.5648024145755525987042919132

    >>> erfi(-2*I).evalf(30)
    -0.995322265018952734162069256367*I

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function
    .. [2] https://mathworld.wolfram.com/Erfi.html
    .. [3] https://functions.wolfram.com/GammaBetaErf/Erfi

    Tr<   c                 ó˜   — |dk    r5dt          | j        d         dz  ¦  «        z  t          t          ¦  «        z  S t	          | |¦  «        ‚r>   r?   r@   s     r7   rB   z
erfi.fdiff.  sC   € Ø�qŠ=ˆ=Ø•S˜œ 1œ q™Ñ)Ô)Ñ)­$­r©(¬(Ñ2Ð2å$ T¨8Ñ4Ô4Ð4r9   c                 ó®  — |j         rG|t          j        u rt          j        S |j        rt          j        S |t          j        u rt          j        S |j        rt          j        S |                     ¦   «         r | | ¦  «         S |                     t          ¦  «        }|�²|t          j        u rt          S t          |t          ¦  «        rt          |j        d         z  S t          |t          ¦  «        r"t          t          j        |j        d         z
  z  S t          |t          ¦  «        r)|j        d         j        rt          |j        d         z  S d S d S d S rI   )rJ   r   rK   rP   r.   rL   rU   rT   r
   rQ   rF   r+   rR   rM   rS   ©rW   ru   Únzs      r7   rZ   z	erfi.eval4  s?  € àŒ;ð 	"Ø•A”EˆzˆzÝ”u�Ø”ð "Ý”v�Ø•a”j��Ý”zÐ!àŒ9ð 	Ý”6ˆMð ×%Ò%Ñ'Ô'ð 	Ø�C˜˜‘G”G�8ˆOð ×'Ò'­Ñ*Ô*ˆØˆ>Ø•Q”ZÐÐÝ�Ý˜"�fÑ%Ô%ð $Ý˜œ œ‘|Ð#Ý˜"�gÑ&Ô&ð .Ý�!œ% "¤'¨!¤*Ñ,Ñ-Ð-å˜"�gÑ&Ô&ð $¨2¬7°1¬:Ô+=ð $Ý˜œ œ‘|Ð#ð ˆ>ð$ð $ð $ð $r9   c                 óT  — | dk     s	| dz  dk    rt           j        S t          |¦  «        }t          | dz
  t          d¦  «        z  ¦  «        }t	          |¦  «        dk    r|d         |dz  z  | dz
  z  | |z  z  S d|| z  z  | t          |¦  «        z  t          t          ¦  «        z  z  S r\   )r   r.   r   r   r^   r   r   r   r_   s       r7   rc   zerfi.taylor_termR  s§   € ð ˆqŠ5ˆ5�A˜‘E˜Q’J�JÝ”6ˆMå˜‘
”
ˆAÝ�q˜1‘u�a ™dœd‘lÑ#Ô#ˆAÝ�>Ñ"Ô" QÒ&Ð&Ø% bÔ)¨A¨q©DÑ0°A¸±EÑ:¸A¸a¹CÑ@Ð@à˜1˜a™4‘x ¥9¨Q¡<¤<¡µµR±´Ñ!8Ñ9Ð9r9   c                 óf   — |                       | j        d                              ¦   «         ¦  «        S re   rf   rh   s    r7   ri   zerfi._eval_conjugate_  rj   r9   c                 ó&   — | j         d         j        S re   rm   rh   s    r7   Ú_eval_is_extended_realzerfi._eval_is_extended_realb  ó   € ØŒy˜Œ|Ô,Ð,r9   c                 ó&   — | j         d         j        S re   ©r+   rP   rh   s    r7   rx   zerfi._eval_is_zeroe  ó   € ØŒy˜Œ|Ô#Ð#r9   Nc                 ób   — |                       t          ¦  «                              dd|¬¦  «        S rì   rî   rð   s       r7   rª   zerfi._eval_rewrite_as_tractableh  rñ   r9   c                 óB   — t            t          t           |z  ¦  «        z  S r‹   )r
   r;   r˜   s      r7   ró   zerfi._eval_rewrite_as_erfk  s   € Ýˆr•#•a˜‘c‘(”(‰{Ðr9   c                 óP   — t           t          t           |z  ¦  «        z  t           z
  S r‹   )r
   r¬   r˜   s      r7   r­   zerfi._eval_rewrite_as_erfcn  s   € Ý••a˜‘c‘”‰{�Q‰Ðr9   c                 óÒ   — t           j        t          z   |z  t          t          ¦  «        z  }t           j        t          z
  t          |¦  «        t          t          |¦  «        z  z
  z  S r‹   rŒ   r�   s       r7   r�   zerfi._eval_rewrite_as_fresnelsq  r‘   r9   c                 óÒ   — t           j        t          z   |z  t          t          ¦  «        z  }t           j        t          z
  t          |¦  «        t          t          |¦  «        z  z
  z  S r‹   rŒ   r�   s       r7   r“   zerfi._eval_rewrite_as_fresnelcu  r‘   r9   c           
      ó–   — |t          t          ¦  «        z  t          t          j        gg dgt          dd¦  «        g|dz   ¦  «        z  S r•   r—   r˜   s      r7   r™   zerfi._eval_rewrite_as_meijergy  s>   € Ø••b‘”‰z�'¥1¤6 (¨B°°µh¸rÀ1±o´oÐ5FÈÈAÉÈÑNÔNÑNÐNr9   c                 ó’   — d|z  t          t          ¦  «        z  t          t          j        gdt          j        z  g|dz  ¦  «        z  S r›   r�   r˜   s      r7   rž   zerfi._eval_rewrite_as_hyper|  s7   € Ø�‰s•4�‘8”8‰|�E¥1¤6 (¨Q­q¬v©X¨J¸¸1¹Ñ=Ô=Ñ=Ð=r9   c                 ó´   — ddl m} t          |dz   ¦  «        |z   |t          j        |dz   ¦  «        t          t
          ¦  «        z  t          j        z
  z  S r�   )r…   rƒ   r   r   r†   r   rM   r‡   s       r7   r‰   z erfi._eval_rewrite_as_uppergamma  sU   € ØFÐFÐFÐFÐFÐFÝ�Q˜‘T�E‰{Œ{˜1‰}˜j˜j­¬°!°Q±$°Ñ7Ô7½½R¹¼Ñ@Å1Ä5ÑHÑIÐIr9   c                 óœ   — t          |dz   ¦  «        |z  |t          t          j        |dz   ¦  «        z  t          t          ¦  «        z  z
  S r    r¡   r˜   s      r7   r£   zerfi._eval_rewrite_as_expintƒ  s?   € Ý�Q˜‘T�E‰{Œ{˜1‰}˜q¥­¬°°A±°Ñ!6Ô!6Ñ6µt½B±x´xÑ?Ñ?Ð?r9   c                 ó6   — |                       t          ¦  «        S r‹   rî   rü   s     r7   rý   zerfi._eval_expand_func†  rþ   r9   c                 ó*  — | j         d                              |||¬¦  «        }|                     |d¦  «        }||j        v r!|j        rd|z  t          t          ¦  «        z  S |j        r|                      |¦  «        S |                      |¦  «        S )Nr   r³   r*   )	r+   rº   r»   r½   rP   r   r   rs   r0   r¾   s         r7   rÀ   zerfi._eval_as_leading_term‹  s†   € ØŒi˜Œl×*Ò*¨1°4¸dÐ*ÑCÔCˆØ�xŠx˜˜1‰~Œ~ˆà�Ô Ð Ð  T¤\Ð Ø�S‘5��b™œ‘>Ð!ØŒ^ð 	#Ø—9’9˜T‘?”?Ð"Ø�yŠy˜‰~Œ~Ðr9   c                 ó€  •‡— ddl m} |d         }|t          j        u rv| j        d         Šˆfd„t          |¦  «        D ¦   «          |d‰|z  z  |¦  «        gz   }t           t          ‰dz  ¦  «        t          t          ¦  «        z  t          |Ž z  z   S t          t          | ¦  «                             ||||¦  «        S )Nr   rÂ   c                 ó^   •— g | ])}t          d |z  dz
  ¦  «        d |z  ‰d |z  dz   z  z  z  ‘Œ*S rÅ   )r   rÆ   s     €r7   rÈ   z&erfi._eval_aseries.<locals>.<listcomp>›  sS   ø€ ð 'ð 'ð 'Øõ ˜A˜a™C !™GÑ$Ô$¨¨1©¨q°1°Q±3¸±7©|Ñ(;Ñ<ð 'ð 'ð 'r9   r<   r*   )rÉ   rÃ   r   rL   r+   rÎ   r
   r   r   r   r   rÏ   r°   rÐ   ©
r1   r`   rÑ   r4   r´   rÃ   rÒ   rÖ   ru   r×   s
           @€r7   rÐ   zerfi._eval_aseries•  sÓ   øø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•A”JÐÐØ”	˜!”ˆAð'ð 'ð 'ð 'Ý" 1™XœXð'ñ 'ô 'Ø*/¨%°°!°Q±$±¸Ñ*:Ô*:Ð);ñ<ˆAå�2�˜Q ™T™œ¥4­¡8¤8Ñ+­s°A¨wÑ6Ñ6Ð6å•T˜4Ñ Ô ×.Ò.¨q°%¸¸DÑAÔAÐAr9   rØ   r‹   )rÙ   rÚ   rÛ   rÜ   rÝ   rB   rÞ   rZ   rß   r   rc   ri   r
  rx   rª   ró   r­   r�   r“   r™   rž   r‰   r£   rý   r8   r/   rÀ   rÐ   rà   rá   s   @r7   r°   r°   â  s”  ø€ € € € € ðGð GðR €Jð5ð 5ð 5ð 5ð ð$ð $ñ „[ð$ð: Øð	:ð 	:ñ „Wñ „\ð	:ð3ð 3ð 3ð-ð -ð -ð$ð $ð $ðTð Tð Tð Tðð ð ðð ð ð=ð =ð =ð=ð =ð =ðOð Oð Oð>ð >ð >ðJð Jð Jð@ð @ð @ð!ð !ð !ð -€Lðð ð ð
Bð 
Bð 
Bð 
Bð 
Bð 
Bð 
Bð 
Bð 
Br9   r°   c                   ó|   — e Zd ZdZd„ Zed„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Úerf2a?  
    Two-argument error function.

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

    This function is defined as:

    .. math ::
        \mathrm{erf2}(x, y) = \frac{2}{\sqrt{\pi}} \int_x^y e^{-t^2} \mathrm{d}t

    Examples
    ========

    >>> from sympy import oo, erf2
    >>> from sympy.abc import x, y

    Several special values are known:

    >>> erf2(0, 0)
    0
    >>> erf2(x, x)
    0
    >>> erf2(x, oo)
    1 - erf(x)
    >>> erf2(x, -oo)
    -erf(x) - 1
    >>> erf2(oo, y)
    erf(y) - 1
    >>> erf2(-oo, y)
    erf(y) + 1

    In general one can pull out factors of -1:

    >>> erf2(-x, -y)
    -erf2(x, y)

    The error function obeys the mirror symmetry:

    >>> from sympy import conjugate
    >>> conjugate(erf2(x, y))
    erf2(conjugate(x), conjugate(y))

    Differentiation with respect to $x$, $y$ is supported:

    >>> from sympy import diff
    >>> diff(erf2(x, y), x)
    -2*exp(-x**2)/sqrt(pi)
    >>> diff(erf2(x, y), y)
    2*exp(-y**2)/sqrt(pi)

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erfinv: Inverse error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://functions.wolfram.com/GammaBetaErf/Erf2/

    c                 óú   — | j         \  }}|dk    r+dt          |dz   ¦  «        z  t          t          ¦  «        z  S |dk    r+dt          |dz   ¦  «        z  t          t          ¦  «        z  S t	          | |¦  «        ‚)Nr<   r]   r*   )r+   r   r   r   r   ©r1   rA   r4   r5   s       r7   rB   z
erf2.fdiffè  sq   € ØŒy‰ˆˆ1Ø�qŠ=ˆ=Ø•c˜1˜a™4˜%‘j”j‘=¥¥b¡¤Ñ)Ð)Ø˜Š]ˆ]Ø•S˜!˜Q™$˜‘Z”Z‘<¥¥R¡¤Ñ(Ð(å$ T¨8Ñ4Ô4Ð4r9   c                 óÂ  — t           j        t           j        t           j        f}|t           j        u s|t           j        u rt           j        S ||k    rt           j        S ||v s||v rt          |¦  «        t          |¦  «        z
  S t          |t          ¦  «        r|j        d         |k    r|j        d         S |j	        s#|j	        s|j
        r|j        s|j
        r&|j        rt          |¦  «        t          |¦  «        z
  S |                     ¦   «         }|                     ¦   «         }|r|r | | | ¦  «         S |s|rt          |¦  «        t          |¦  «        z
  S d S rI   )r   rL   rN   r.   rK   r;   rQ   rS   r+   rP   r,   Úis_infiniterU   )rW   r4   r5   ÚchkÚsign_xÚsign_ys         r7   rZ   z	erf2.evalñ  s]  € åŒz�1Ô-­q¬vÐ6ˆØ•”ˆ:ˆ:˜�aœe˜˜Ý”5ˆLØ�!ŠVˆVÝ”6ˆMØ�#ˆXˆX˜˜c˜˜Ý�q‘6”6�C ™FœF‘?Ð"å�a�Ñ!Ô!ð 	 a¤f¨Q¤i°1¢n nØ”6˜!”9ÐàŒ9ð 	#˜œ	ð 	# QÔ%7ð 	#¸A¼Mð 	#ØÔ"ð	#Ø'(¤}ð	#å�q‘6”6�C ™FœF‘?Ð"ð ×+Ò+Ñ-Ô-ˆØ×+Ò+Ñ-Ô-ˆØð 	!�vð 	!Ø�C˜˜˜Q˜B‘K”K�<ÐØð 	!˜ð 	!Ý�q‘6”6�#˜a™&œ&‘=Ð ð	!ð 	!r9   c                 ó¢   — |                       | j        d                              ¦   «         | j        d                              ¦   «         ¦  «        S rI   rf   rh   s    r7   ri   zerf2._eval_conjugate
  s:   € Ø�yŠy˜œ 1œ×/Ò/Ñ1Ô1°4´9¸Q´<×3IÒ3IÑ3KÔ3KÑLÔLÐLr9   c                 óJ   — | j         d         j        o| j         d         j        S rI   rm   rh   s    r7   r
  zerf2._eval_is_extended_real  s   € ØŒy˜Œ|Ô,ÐN°´¸1´Ô1NÐNr9   c                 ó@   — t          |¦  «        t          |¦  «        z
  S r‹   ©r;   ©r1   r4   r5   rˆ   s       r7   ró   zerf2._eval_rewrite_as_erf  s   € Ý�1‰vŒv�˜A™œ‰Ðr9   c                 ó@   — t          |¦  «        t          |¦  «        z
  S r‹   ©r¬   r*  s       r7   r­   zerf2._eval_rewrite_as_erfc  s   € Ý�A‰wŒw�˜a™œÑ Ð r9   c                 óp   — t           t          t           |z  ¦  «        t          t           |z  ¦  «        z
  z  S r‹   r¯   r*  s       r7   r±   zerf2._eval_rewrite_as_erfi  s&   € Ý•$•q˜‘s‘)”)�D¥ 1¡™IœIÑ%Ñ&Ð&r9   c                 ó    — t          |¦  «                             t          ¦  «        t          |¦  «                             t          ¦  «        z
  S r‹   )r;   rï   rŽ   r*  s       r7   r�   zerf2._eval_rewrite_as_fresnels  ó1   € Ý�1‰vŒv�~Š~�hÑ'Ô'­#¨a©&¬&¯.ª.½Ñ*BÔ*BÑBÐBr9   c                 ó    — t          |¦  «                             t          ¦  «        t          |¦  «                             t          ¦  «        z
  S r‹   )r;   rï   r�   r*  s       r7   r“   zerf2._eval_rewrite_as_fresnelc  r/  r9   c                 ó    — t          |¦  «                             t          ¦  «        t          |¦  «                             t          ¦  «        z
  S r‹   )r;   rï   r'   r*  s       r7   r™   zerf2._eval_rewrite_as_meijerg  s1   € Ý�1‰vŒv�~Š~�gÑ&Ô&­¨Q©¬¯ª½Ñ)@Ô)@Ñ@Ð@r9   c                 ó    — t          |¦  «                             t          ¦  «        t          |¦  «                             t          ¦  «        z
  S r‹   )r;   rï   r&   r*  s       r7   rž   zerf2._eval_rewrite_as_hyper"  s1   € Ý�1‰vŒv�~Š~�eÑ$Ô$¥s¨1¡v¤v§~¢~µeÑ'<Ô'<Ñ<Ð<r9   c                 óT  — ddl m} t          |dz  ¦  «        |z  t          j         |t          j        |dz  ¦  «        t          t          ¦  «        z  z
  z  t          |dz  ¦  «        |z  t          j         |t          j        |dz  ¦  «        t          t          ¦  «        z  z
  z  z
  S r�   r„   )r1   r4   r5   rˆ   rƒ   s        r7   r‰   z erf2._eval_rewrite_as_uppergamma%  s”   € ØFÐFÐFÐFÐFÐFÝ�Q˜‘T‘
”
˜1‘�aœe j jµ´¸¸A¹Ñ&>Ô&>½tÅB¹x¼xÑ&GÑGÑHÝ��A‘‰JŒJ�q‰L�!œ% * *­Q¬V°Q¸±TÑ":Ô":½4Å¹8¼8Ñ"CÑCÑDñEð 	Fr9   c                 ó    — t          |¦  «                             t          ¦  «        t          |¦  «                             t          ¦  «        z
  S r‹   )r;   rï   r¢   r*  s       r7   r£   zerf2._eval_rewrite_as_expint*  s1   € Ý�1‰vŒv�~Š~�fÑ%Ô%­¨A©¬¯ªµvÑ(>Ô(>Ñ>Ð>r9   c                 ó6   — |                       t          ¦  «        S r‹   rî   rü   s     r7   rý   zerf2._eval_expand_func-  rþ   r9   c                 ó   — t          | j        Ž S r‹   )r   r+   rh   s    r7   rx   zerf2._eval_is_zero0  s   € Ý�d”iÐ Ð r9   N)rÙ   rÚ   rÛ   rÜ   rB   rÞ   rZ   ri   r
  ró   r­   r±   r�   r“   r™   rž   r‰   r£   rý   rx   r  r9   r7   r  r  ¢  s   € € € € € ðBð BðJ5ð 5ð 5ð ð!ð !ñ „[ð!ð0Mð Mð MðOð Oð Oðð ð ð!ð !ð !ð'ð 'ð 'ðCð Cð CðCð Cð CðAð Að Að=ð =ð =ðFð Fð Fð
?ð ?ð ?ð!ð !ð !ð!ð !ð !ð !ð !r9   r  c                   óD   — e Zd ZdZd	d„Zd	d„Zed„ ¦   «         Zd„ Zd„ Z	dS )
rF   aR  
    Inverse Error Function. The erfinv function is defined as:

    .. math ::
        \mathrm{erf}(x) = y \quad \Rightarrow \quad \mathrm{erfinv}(y) = x

    Examples
    ========

    >>> from sympy import erfinv
    >>> from sympy.abc import x

    Several special values are known:

    >>> erfinv(0)
    0
    >>> erfinv(1)
    oo

    Differentiation with respect to $x$ is supported:

    >>> from sympy import diff
    >>> diff(erfinv(x), x)
    sqrt(pi)*exp(erfinv(x)**2)/2

    We can numerically evaluate the inverse error function to arbitrary
    precision on [-1, 1]:

    >>> erfinv(0.2).evalf(30)
    0.179143454621291692285822705344

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfcinv: Inverse Complementary error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function#Inverse_functions
    .. [2] https://functions.wolfram.com/GammaBetaErf/InverseErf/

    r<   c                 óÒ   — |dk    rRt          t          ¦  «        t          |                      | j        d         ¦  «        dz  ¦  «        z  t
          j        z  S t          | |¦  «        ‚©Nr<   r   r*   ©r   r   r   r0   r+   r   r†   r   r@   s     r7   rB   zerfinv.fdifff  sR   € Ø�qŠ=ˆ=Ý�‘8”8�C §	¢	¨$¬)°A¬,Ñ 7Ô 7¸Ñ :Ñ;Ô;Ñ;½A¼FÑBÐBå$ T¨8Ñ4Ô4Ð4r9   c                 ó   — t           S rD   r)  r@   s     r7   rG   zerfinv.inversel  s	   € õ
 ˆ
r9   c                 óö  — |t           j        u rt           j        S |t           j        u rt           j        S |j        rt           j        S |t           j        u rt           j        S t          |t          ¦  «        r|j
        d         j        r|j
        d         S |j        rt           j        S |                     d¦  «        }|�5t          |t          ¦  «        r"|j
        d         j        r|j
        d          S d S d S d S ©Nr   r–   )r   rK   rO   rN   rP   r.   rM   rL   rQ   r;   r+   r,   rT   r  s      r7   rZ   zerfinv.evals  sß   € à•”ˆ:ˆ:Ý”5ˆLØ•!”-ÐÐÝÔ%Ð%ØŒYð 	Ý”6ˆMØ•!”%ˆZˆZÝ”:Ðå�a�ÑÔð 	 !¤&¨¤)Ô"<ð 	Ø”6˜!”9ÐàŒ9ð 	Ý”6ˆMð ×'Ò'¨Ñ+Ô+ˆØˆ>�z¨"­cÑ2Ô2ˆ>¸¼À¼
Ô7Tˆ>Ø”G˜A”J�;Ðð ˆ>ˆ>ˆ>ˆ>ˆ>r9   c                 ó&   — t          d|z
  ¦  «        S ©Nr<   rå   r˜   s      r7   Ú_eval_rewrite_as_erfcinvzerfinv._eval_rewrite_as_erfcinv‰  s   € Ý�q˜‘s‰|Œ|Ðr9   c                 ó&   — | j         d         j        S re   r  rh   s    r7   rx   zerfinv._eval_is_zeroŒ  r  r9   NrØ   )
rÙ   rÚ   rÛ   rÜ   rB   rG   rÞ   rZ   r@  rx   r  r9   r7   rF   rF   3  s€   € € € € € ð/ð /ðd5ð 5ð 5ð 5ðð ð ð ð ðð ñ „[ðð*ð ð ð$ð $ð $ð $ð $r9   rF   c                   óJ   — e Zd ZdZd
d„Zd
d„Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d	S )rR   a´  
    Inverse Complementary Error Function. The erfcinv function is defined as:

    .. math ::
        \mathrm{erfc}(x) = y \quad \Rightarrow \quad \mathrm{erfcinv}(y) = x

    Examples
    ========

    >>> from sympy import erfcinv
    >>> from sympy.abc import x

    Several special values are known:

    >>> erfcinv(1)
    0
    >>> erfcinv(0)
    oo

    Differentiation with respect to $x$ is supported:

    >>> from sympy import diff
    >>> diff(erfcinv(x), x)
    -sqrt(pi)*exp(erfcinv(x)**2)/2

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erf2inv: Inverse two-argument error function.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Error_function#Inverse_functions
    .. [2] https://functions.wolfram.com/GammaBetaErf/InverseErfc/

    r<   c                 óÔ   — |dk    rSt          t          ¦  «         t          |                      | j        d         ¦  «        dz  ¦  «        z  t
          j        z  S t          | |¦  «        ‚r9  r:  r@   s     r7   rB   zerfcinv.fdiff½  sT   € Ø�qŠ=ˆ=Ý�‘H”H�9�S §¢¨4¬9°Q¬<Ñ!8Ô!8¸!Ñ!;Ñ<Ô<Ñ<½Q¼VÑCÐCå$ T¨8Ñ4Ô4Ð4r9   c                 ó   — t           S rD   r,  r@   s     r7   rG   zerfcinv.inverseÃ  s	   € õ
 ˆr9   c                 óÞ   — |t           j        u rt           j        S |j        rt           j        S |t           j        u rt           j        S |dk    rt           j        S |j        rt           j        S d S r    )r   rK   rP   rL   rM   r.   rN   ©rW   ru   s     r7   rZ   zerfcinv.evalÊ  sf   € à•”ˆ:ˆ:Ý”5ˆLØŒYð 	&Ý”:ÐØ•!”%ˆZˆZÝ”6ˆMØ�!ŠVˆVÝÔ%Ð%àŒ9ð 	Ý”:Ðð	ð 	r9   c                 ó&   — t          d|z
  ¦  «        S r?  rE   r˜   s      r7   Ú_eval_rewrite_as_erfinvzerfcinv._eval_rewrite_as_erfinvØ  s   € Ý�a˜‘c‰{Œ{Ðr9   c                 ó,   — | j         d         dz
  j        S rI   r  rh   s    r7   rx   zerfcinv._eval_is_zeroÛ  s   € Ø”	˜!”˜qÑ Ô)Ð)r9   c           	      ó~   — | j         d         }t          |j        t          |t	          d¦  «        ¦  «        g¦  «        S rç   )r+   r	   rP   r   r   rt   s     r7   Ú_eval_is_infinitezerfcinv._eval_is_infiniteÞ  s2   € ØŒI�aŒLˆÝ˜œ¥E¨!­W°Q©Z¬ZÑ$8Ô$8Ð9Ñ:Ô:Ð:r9   NrØ   )rÙ   rÚ   rÛ   rÜ   rB   rG   rÞ   rZ   rH  rx   rK  r  r9   r7   rR   rR   �  s�   € € € € € ð)ð )ðX5ð 5ð 5ð 5ðð ð ð ð ðð ñ „[ððð ð ð*ð *ð *ð;ð ;ð ;ð ;ð ;r9   rR   c                   ó4   — e Zd ZdZd„ Zed„ ¦   «         Zd„ ZdS )rS   a2  
    Two-argument Inverse error function. The erf2inv function is defined as:

    .. math ::
        \mathrm{erf2}(x, w) = y \quad \Rightarrow \quad \mathrm{erf2inv}(x, y) = w

    Examples
    ========

    >>> from sympy import erf2inv, oo
    >>> from sympy.abc import x, y

    Several special values are known:

    >>> erf2inv(0, 0)
    0
    >>> erf2inv(1, 0)
    1
    >>> erf2inv(0, 1)
    oo
    >>> erf2inv(0, y)
    erfinv(y)
    >>> erf2inv(oo, y)
    erfcinv(-y)

    Differentiation with respect to $x$ and $y$ is supported:

    >>> from sympy import diff
    >>> diff(erf2inv(x, y), x)
    exp(-x**2 + erf2inv(x, y)**2)
    >>> diff(erf2inv(x, y), y)
    sqrt(pi)*exp(erf2inv(x, y)**2)/2

    See Also
    ========

    erf: Gaussian error function.
    erfc: Complementary error function.
    erfi: Imaginary error function.
    erf2: Two-argument error function.
    erfinv: Inverse error function.
    erfcinv: Inverse complementary error function.

    References
    ==========

    .. [1] https://functions.wolfram.com/GammaBetaErf/InverseErf2/

    c                 ó6  — | j         \  }}|dk    r,t          |                      ||¦  «        dz  |dz  z
  ¦  «        S |dk    rHt          t          ¦  «        t
          j        z  t          |                      ||¦  «        dz  ¦  «        z  S t          | |¦  «        ‚)Nr<   r*   )r+   r   r0   r   r   r   r†   r   r   s       r7   rB   zerf2inv.fdiff  s‡   € ØŒy‰ˆˆ1Ø�qŠ=ˆ=Ý�t—y’y  1‘~”~ qÑ(¨¨A©Ñ-Ñ.Ô.Ð.Ø˜Š]ˆ]Ý�‘8”8�AœF‘?¥3 t§y¢y°°1¡~¤~°qÑ'8Ñ#9Ô#9Ñ9Ð9å$ T¨8Ñ4Ô4Ð4r9   c                 ó&  — |t           j        u s|t           j        u rt           j        S |j        r|j        rt           j        S |j        r|t           j        u rt           j        S |t           j        u r|j        rt           j        S |j        rt          |¦  «        S |t           j        u rt          | ¦  «        S |j        r|S |t           j        u rt          |¦  «        S |j        r"|j        rt           j        S t          |¦  «        S |j        r|S d S r‹   )r   rK   rP   r.   rM   rL   rF   rR   )rW   r4   r5   s      r7   rZ   zerf2inv.eval   s  € à•”ˆ:ˆ:˜�aœe˜˜Ý”5ˆLØŒYð 	˜1œ9ð 	Ý”6ˆMØŒYð 	˜1¥¤˜:˜:Ý”:ÐØ•!”%ˆZˆZ˜AœIˆZÝ”5ˆLØŒYð 	Ý˜!‘9”9ÐØ•!”*ˆ_ˆ_Ý˜A˜2‘;”;ÐØŒYð 	ØˆHØ•!”*ˆ_ˆ_Ý˜!‘9”9ÐàŒ9ð 	!ØŒyð !Ý”v�å˜a‘y”yÐ ØŒ9ð 	ØˆHð	ð 	r9   c                 ó>   — | j         \  }}|j        r	|j        rdS d S d S )NTr  )r1   r4   r5   s      r7   rx   zerf2inv._eval_is_zero;  s9   € ØŒy‰ˆˆ1ØŒ9ð 	˜œð 	Ø�4ð	ð 	ð 	ð 	r9   N)rÙ   rÚ   rÛ   rÜ   rB   rÞ   rZ   rx   r  r9   r7   rS   rS   ã  sX   € € € € € ð0ð 0ðf5ð 5ð 5ð ðð ñ „[ðð4ð ð ð ð r9   rS   c                   ó’   ‡ — e Zd ZdZed„ ¦   «         Zdd„Zˆ fd„Zd„ Zd„ Z	d„ Z
d	„ ZeZeZeZdd„Zd„ Zˆ fd„Zdˆ fd„	Zˆ fd„Zˆ xZS )ÚEia	  
    The classical exponential integral.

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

    For use in SymPy, this function is defined as

    .. math:: \operatorname{Ei}(x) = \sum_{n=1}^\infty \frac{x^n}{n\, n!}
                                     + \log(x) + \gamma,

    where $\gamma$ is the Euler-Mascheroni constant.

    If $x$ is a polar number, this defines an analytic function on the
    Riemann surface of the logarithm. Otherwise this defines an analytic
    function in the cut plane $\mathbb{C} \setminus (-\infty, 0]$.

    **Background**

    The name exponential integral comes from the following statement:

    .. math:: \operatorname{Ei}(x) = \int_{-\infty}^x \frac{e^t}{t} \mathrm{d}t

    If the integral is interpreted as a Cauchy principal value, this statement
    holds for $x > 0$ and $\operatorname{Ei}(x)$ as defined above.

    Examples
    ========

    >>> from sympy import Ei, polar_lift, exp_polar, I, pi
    >>> from sympy.abc import x

    >>> Ei(-1)
    Ei(-1)

    This yields a real value:

    >>> Ei(-1).n(chop=True)
    -0.219383934395520

    On the other hand the analytic continuation is not real:

    >>> Ei(polar_lift(-1)).n(chop=True)
    -0.21938393439552 + 3.14159265358979*I

    The exponential integral has a logarithmic branch point at the origin:

    >>> Ei(x*exp_polar(2*I*pi))
    Ei(x) + 2*I*pi

    Differentiation is supported:

    >>> Ei(x).diff(x)
    exp(x)/x

    The exponential integral is related to many other special functions.
    For example:

    >>> from sympy import expint, Shi
    >>> Ei(x).rewrite(expint)
    -expint(1, x*exp_polar(I*pi)) - I*pi
    >>> Ei(x).rewrite(Shi)
    Chi(x) + Shi(x)

    See Also
    ========

    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    uppergamma: Upper incomplete gamma function.

    References
    ==========

    .. [1] https://dlmf.nist.gov/6.6
    .. [2] https://en.wikipedia.org/wiki/Exponential_integral
    .. [3] Abramowitz & Stegun, section 5: https://web.archive.org/web/20201128173312/http://people.math.sfu.ca/~cbm/aands/page_228.htm

    c                 ó6  — |j         rt          j        S |t          j        u rt          j        S |t          j        u rt          j        S |j         rt          j        S |                     ¦   «         \  }}|r%t          |¦  «        dt          z  t          z  |z  z   S d S r    )	rP   r   rN   rL   r.   Úextract_branch_factorrQ  r
   r   ©rW   ru   r  r`   s       r7   rZ   zEi.evalœ  s”   € àŒ9ð 	ÝÔ%Ð%Ø•!”*ˆ_ˆ_Ý”:ÐØ•!Ô$Ð$Ð$Ý”6ˆMàŒ9ð 	&ÝÔ%Ð%à×'Ò'Ñ)Ô)‰ˆˆAØð 	%Ý�b‘6”6˜A�a™C¥™F 1™HÑ$Ð$ð	%ð 	%r9   r<   c                 ó†   — t          | j        d         ¦  «        }|dk    rt          |¦  «        |z  S t          | |¦  «        ‚rI   )r   r+   r   r   ©r1   rA   rX   s      r7   rB   zEi.fdiff¬  s>   € Ý˜œ 1œÑ&Ô&ˆØ�qŠ=ˆ=Ý�s‘8”8˜C‘<Ðå$ T¨8Ñ4Ô4Ð4r9   c                 ó  •— | j         d         t          d¦  «        z  j        rDt          ¦   «                              |¦  «        t
          t          z                       |¦  «        z   S t          ¦   «                              |¦  «        S r=  )r+   r   rÍ   rÏ   Ú_eval_evalfr
   r   )r1   Úprecr×   s     €r7   rX  zEi._eval_evalf³  sg   ø€ ØŒI�aŒL� B™œÑ'Ô4ð 	HÝ‘7”7×&Ò& tÑ,Ô,µµ"±×/AÒ/AÀ$Ñ/GÔ/GÑGÐGÝ‰wŒw×"Ò" 4Ñ(Ô(Ð(r9   c                 óh   — ddl m}  |dt          d¦  «        |z  ¦  «         t          t          z  z
  S )Nr   r‚   r–   )r…   rƒ   r   r
   r   r‡   s       r7   r‰   zEi._eval_rewrite_as_uppergamma¸  s?   € ØFÐFÐFÐFÐFÐFð �
˜1�j¨™nœn¨QÑ.Ñ/Ô/Ð/µ!µB±$Ñ6Ð6r9   c                 ód   — t          dt          d¦  «        |z  ¦  «         t          t          z  z
  S )Nr<   r–   )r¢   r   r
   r   r˜   s      r7   r£   zEi._eval_rewrite_as_expint¾  s)   € Ý�q�* R™.œ.¨Ñ*Ñ+Ô+Ð+­aµ©dÑ2Ð2r9   c                 ó˜   — t          |t          ¦  «        rt          |j        d         ¦  «        S t          t	          |¦  «        ¦  «        S re   )rQ   r   Úlir+   r   r˜   s      r7   Ú_eval_rewrite_as_lizEi._eval_rewrite_as_liÁ  s:   € Ý�a�ÑÔð 	!Ý�a”f˜Q”i‘=”=Ð õ
 •#�a‘&”&‰zŒzÐr9   c                 ó¬   — |j         r/t          |¦  «        t          |¦  «        z   t          t          z  z
  S t          |¦  «        t          |¦  «        z   S r‹   )Úis_negativeÚShiÚChir
   r   r˜   s      r7   Ú_eval_rewrite_as_SizEi._eval_rewrite_as_SiÊ  sA   € ØŒ=ð 	#Ý�q‘6”6�C ™FœF‘?¥Q¥r¡TÑ)Ð)å�q‘6”6�C ™FœF‘?Ð"r9   Nc                 ó@   — t          |¦  «        t          |¦  «        z  S r‹   )r   Ú_eisrð   s       r7   rª   zEi._eval_rewrite_as_tractableÓ  s   € Ý�1‰vŒv�˜Q™œÑÐr9   c                 ó¦   — ddl m} t          t          d|g¦  «        j        ¦  «        } |t
          j        |z  |z  |t
          j        |f¦  «        S ©Nr   ©ÚIntegralrY   )Úsympy.integrals.integralsri  r   r   Únamer   ÚExp1rN   ©r1   ru   rˆ   ri  rY   s        r7   Ú_eval_rewrite_as_IntegralzEi._eval_rewrite_as_IntegralÖ  sW   € Ø6Ð6Ð6Ð6Ð6Ð6ÝÕ'¨¨a¨SÑ1Ô1Ô6Ñ7Ô7ˆØˆx�œ ™	 !™ a­Ô);¸QÐ%?Ñ@Ô@Ð@r9   c                 ó   •— ddl m} | j        d                              |d¦  «        }| j        d                              ||¬¦  «        }|                     ||¦  «        }|j        rt|                     |¦  «        \  }}|€t          |¦  «        n|}t          |¦  «        ||z  z   t          z    ||¦  «        j
        rt          t          z  nt          j        z
  S t          ¦   «                              |||¬¦  «        S )Nr   )r   )rµ   r³   )Úsympyr   r+   r¥   rº   r¹   rP   Úas_coeff_exponentr   r   r`  r
   r   r   r.   rÏ   rÀ   )
r1   r4   r´   rµ   r   Úx0rX   ÚcÚer×   s
            €r7   rÀ   zEi._eval_as_leading_termÛ  sñ   ø€ ØÐÐÐÐÐØŒY�qŒ\×Ò  1Ñ%Ô%ˆØŒi˜Œl×*Ò*¨1°4Ð*Ñ8Ô8ˆØ�wŠw�q˜$ÑÔˆØŒ:ð 	:Ø×(Ò(¨Ñ+Ô+‰DˆAˆqØ!˜\•3�q‘6”6�6¨tˆDÝ�q‘6”6˜A˜d™F‘?¥ZÑ/Ø˜˜4™œÔ,Ð8••"‘�µ!´&ñ:ð :å‰wŒw×,Ò,¨Q°TÀÐ,ÑEÔEÐEr9   r   c                 óæ   •— | j         d                              |d¦  «        }|j        r& | j        | j         Ž }|                     |||¦  «        S t          ¦   «                              |||¦  «        S re   )r+   r¥   rP   rc  Ú_eval_nseriesrÏ   ©r1   r4   r`   r´   rµ   rr  Úfr×   s          €r7   rv  zEi._eval_nseriesç  sk   ø€ ØŒY�qŒ\×Ò  1Ñ%Ô%ˆØŒ:ð 	/Ø(�Ô(¨$¬)Ð4ˆAØ—?’? 1 a¨Ñ.Ô.Ð.Ý‰wŒw×$Ò$ Q¨¨4Ñ0Ô0Ð0r9   c                 ó\  •‡— ddl m} |d         }|t          j        t          j        fv rX| j        d         Šˆfd„t          |¦  «        D ¦   «          |d‰|z  z  |¦  «        gz   }t          ‰¦  «        ‰z  t          |Ž z  S t          t          | ¦  «                             ||||¦  «        S )Nr   rÂ   c                 ó:   •— g | ]}t          |¦  «        ‰|z  z  ‘ŒS r  ©r   rÆ   s     €r7   rÈ   z$Ei._eval_aseries.<locals>.<listcomp>ô  s(   ø€ Ð9Ð9Ð9¨1•˜1‘”  Q¡Ñ&Ð9Ð9Ð9r9   r<   )rÉ   rÃ   r   rL   rN   r+   rÎ   r   r   rÏ   rQ  rÐ   r  s
           @€r7   rÐ   zEi._eval_aseriesî  s¸   øø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•Q”Z¥Ô!3Ð4Ð4Ð4Ø”	˜!”ˆAØ9Ð9Ð9Ð9µ°a±´Ð9Ñ9Ô9Ø�U˜1˜Q ™T™6 1Ñ%Ô%Ð&ñ'ˆAå˜‘F”F˜1‘H¥ Q Ñ'Ð'å•R˜‰Œ×,Ò,¨Q°°q¸$Ñ?Ô?Ð?r9   rØ   r‹   ©r   )rÙ   rÚ   rÛ   rÜ   rÞ   rZ   rB   rX  r‰   r£   r^  rc  Ú_eval_rewrite_as_CiÚ_eval_rewrite_as_ChiÚ_eval_rewrite_as_Shirª   rn  rÀ   rv  rÐ   rà   rá   s   @r7   rQ  rQ  D  sH  ø€ € € € € ðTð Tðn ð%ð %ñ „[ð%ð5ð 5ð 5ð 5ð)ð )ð )ð )ð )ð
7ð 7ð 7ð3ð 3ð 3ðð ð ð#ð #ð #ð
 .ÐØ.ÐØ.Ðð ð  ð  ð  ðAð Að Að

Fð 
Fð 
Fð 
Fð 
Fð1ð 1ð 1ð 1ð 1ð 1ð
@ð 
@ð 
@ð 
@ð 
@ð 
@ð 
@ð 
@ð 
@r9   rQ  c                   ót   ‡ — e Zd ZdZed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Z	d„ Z
e
Ze
Ze
Zdˆ fd	„	Zˆ fd
„Zd„ Zˆ xZS )r¢   a£  
    Generalized exponential integral.

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

    This function is defined as

    .. math:: \operatorname{E}_\nu(z) = z^{\nu - 1} \Gamma(1 - \nu, z),

    where $\Gamma(1 - \nu, z)$ is the upper incomplete gamma function
    (``uppergamma``).

    Hence for $z$ with positive real part we have

    .. math:: \operatorname{E}_\nu(z)
              =   \int_1^\infty \frac{e^{-zt}}{t^\nu} \mathrm{d}t,

    which explains the name.

    The representation as an incomplete gamma function provides an analytic
    continuation for $\operatorname{E}_\nu(z)$. If $\nu$ is a
    non-positive integer, the exponential integral is thus an unbranched
    function of $z$, otherwise there is a branch point at the origin.
    Refer to the incomplete gamma function documentation for details of the
    branching behavior.

    Examples
    ========

    >>> from sympy import expint, S
    >>> from sympy.abc import nu, z

    Differentiation is supported. Differentiation with respect to $z$ further
    explains the name: for integral orders, the exponential integral is an
    iterated integral of the exponential function.

    >>> expint(nu, z).diff(z)
    -expint(nu - 1, z)

    Differentiation with respect to $\nu$ has no classical expression:

    >>> expint(nu, z).diff(nu)
    -z**(nu - 1)*meijerg(((), (1, 1)), ((0, 0, 1 - nu), ()), z)

    At non-postive integer orders, the exponential integral reduces to the
    exponential function:

    >>> expint(0, z)
    exp(-z)/z
    >>> expint(-1, z)
    exp(-z)/z + exp(-z)/z**2

    At half-integers it reduces to error functions:

    >>> expint(S(1)/2, z)
    sqrt(pi)*erfc(sqrt(z))/sqrt(z)

    At positive integer orders it can be rewritten in terms of exponentials
    and ``expint(1, z)``. Use ``expand_func()`` to do this:

    >>> from sympy import expand_func
    >>> expand_func(expint(5, z))
    z**4*expint(1, z)/24 + (-z**3 + z**2 - 2*z + 6)*exp(-z)/24

    The generalised exponential integral is essentially equivalent to the
    incomplete gamma function:

    >>> from sympy import uppergamma
    >>> expint(nu, z).rewrite(uppergamma)
    z**(nu - 1)*uppergamma(1 - nu, z)

    As such it is branched at the origin:

    >>> from sympy import exp_polar, pi, I
    >>> expint(4, z*exp_polar(2*pi*I))
    I*pi*z**3/3 + expint(4, z)
    >>> expint(nu, z*exp_polar(2*pi*I))
    z**(nu - 1)*(exp(2*I*pi*nu) - 1)*gamma(1 - nu) + expint(nu, z)

    See Also
    ========

    Ei: Another related function called exponential integral.
    E1: The classical case, returns expint(1, z).
    li: Logarithmic integral.
    Li: Offset logarithmic integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    uppergamma

    References
    ==========

    .. [1] https://dlmf.nist.gov/8.19
    .. [2] https://functions.wolfram.com/GammaBetaErf/ExpIntegralE/
    .. [3] https://en.wikipedia.org/wiki/Exponential_integral

    c           	      óÎ  — ddl m}m} t          |¦  «        }||k    rt	          ||¦  «        S |j        r|dk    s|j        s<d|z  j        r2t          t          ||dz
  z   |d|z
  |¦  «        z  ¦  «        ¦  «        S |                     ¦   «         \  }}|t          j	        u rd S |j
        rj|dk    sd S t	          ||¦  «        dt          z  t          z  |z  t          j        |dz
  z  z  t          |dz
  ¦  «        z  t          |¦  «        |dz
  z  z  z
  S t          dt          z  t          z  |z  |z  ¦  «        dz
  ||dz
  z  z   |d|z
  ¦  «        z  t	          ||¦  «        z   S )Nr   )Úgammarƒ   r*   r<   )r…   r‚  rƒ   r   r¢   Ú
is_Integerr   rS  r   r.   Ú
is_integerr   r
   rO   r   r   )rW   Únuru   r‚  rƒ   Únu2r`   s          r7   rZ   zexpint.evalc  sƒ  € àOÐOÐOÐOÐOÐOÐOÐOÝ˜‰nŒnˆØ�Š9ˆ9Ý˜#˜q‘>”>Ð!ØŒ=ð 	M˜R 1šW˜W¨R¬]˜WÀÀ"ÁÔ?P˜WÝ�j¨¨R°!©V©°Z°ZÀÀBÁÈÑ5JÔ5JÑ)JÑKÔKÑLÔLÐLð ×&Ò&Ñ(Ô(‰ˆˆ1Ø•”ˆ;ˆ;ØˆFØŒ=ð 	TØ˜’6�6Ø�Ý˜"˜a‘=”=Ø•B‘$•q‘&˜‘(�1œ=¨2°©6Ñ2Ñ2µ9¸RÀ!¹VÑ3DÔ3DÑDÅZÐPQÁ]Ä]ÐUWÐZ[ÑU[ÑE\Ñ\ñ]ð ]õ ˜�!™�B™˜r™	 !™Ñ$Ô$ qÑ(¨!¨b°1©f©+Ñ5°e°e¸AÀ¹F±m´mÑCÅfÈRÐQRÁmÄmÑSÐSr9   c           	      óÀ   — | j         \  }}|dk    r%||dz
  z   t          g ddgddd|z
  gg |¦  «        z  S |dk    rt          |dz
  |¦  «         S t          | |¦  «        ‚r9  )r+   r'   r¢   r   )r1   rA   r…  ru   s       r7   rB   zexpint.fdiffy  sy   € Ø”	‰ˆˆAØ�qŠ=ˆ=Ø˜˜Q™‘K�<¥¨¨Q°¨F°Q¸¸1¸r¹6°NÀBÈÑ JÔ JÑJÐJØ˜Š]ˆ]Ý˜2 ™6 1Ñ%Ô%Ð%Ð%å$ T¨8Ñ4Ô4Ð4r9   c                 ó>   — ddl m} ||dz
  z   |d|z
  |¦  «        z  S )Nr   r‚   r<   )r…   rƒ   )r1   r…  ru   rˆ   rƒ   s        r7   r‰   z"expint._eval_rewrite_as_uppergamma‚  s7   € ØFÐFÐFÐFÐFÐFØ�2˜‘6‰{˜:˜: a¨"¡f¨aÑ0Ô0Ñ0Ð0r9   c           	      óæ  ‡‡— ‰dk    r>t          |t          t           t          z  ¦  «        z  ¦  «         t          t          z  z
  S ‰j        r£‰dk    r�t          |¦  «         Š‰‰dz
  z  t          ‰dz
  ¦  «        z  t          |¦  «                             t           ¦  «        z  t          ‰¦  «        t          ‰dz
  ¦  «        z  t          ˆˆfd„t          ‰dz
  ¦  «        D ¦   «         Ž z  z   S | S )Nr<   c                 óF   •— g | ]}t          ‰|z
  d z
  ¦  «        ‰|z  z  ‘ŒS ©r*   r{  )rÇ   rb   r…  r4   s     €€r7   rÈ   z.expint._eval_rewrite_as_Ei.<locals>.<listcomp>Ž  s2   ø€ ÐHÐHÐH°Q•i  Q¡¨¡
Ñ+Ô+¨A¨q©DÑ0ÐHÐHÐHr9   )rQ  r    r
   r   rƒ  r   r   ÚE1rï   r   r   rÎ   )r1   r…  ru   rˆ   r4   s    `  @r7   Ú_eval_rewrite_as_Eizexpint._eval_rewrite_as_Ei†  sé   øø€ Ø�Š7ˆ7Ý�q�¥A 2¥b¡5Ñ)Ô)Ñ)Ñ*Ô*Ð*­Q­r©TÑ1Ð1ØŒ]ð 	˜r Ašv˜vå˜A‘”�ˆAØ�r˜A‘v‘;�y¨¨a©Ñ0Ô0Ñ0µ°A±´·²½rÑ1BÔ1BÑBÝ�A‘”•y  a¡Ñ(Ô(Ñ(ÝÐHÐHÐHÐHÐH½%ÀÀQÁ¹-¼-ÐHÑHÔHÐIñJñJð Jð ˆKr9   c                 óX   —  |                       t          ¦  «        j         t          fi |¤ŽS r‹   )rï   rQ  r¢   rü   s     r7   rý   zexpint._eval_expand_func’  s)   € Ø'ˆt�|Š|�BÑÔÔ'­Ð8Ð8°%Ð8Ð8Ð8r9   c                 óP   — |dk    r| S t          |¦  «        t          |¦  «        z
  S r?  )ra  rb  )r1   r…  ru   rˆ   s       r7   rc  zexpint._eval_rewrite_as_Si•  s&   € Ø�Š7ˆ7ØˆKÝ�1‰vŒv�˜A™œ‰Ðr9   r   c                 ób  •— | j         d                              |¦  «        sl| j         d         }|dk    r& | j        | j         Ž }|                     |||¦  «        S |j        r,|dk    r& | j        | j         Ž }|                     |||¦  «        S t          ¦   «                              |||¦  «        S rI   )r+   Úhasrc  rv  rƒ  r�  rÏ   )r1   r4   r`   r´   rµ   r…  rx  r×   s          €r7   rv  zexpint._eval_nseries�  s¯   ø€ ØŒy˜Œ|×Ò Ñ"Ô"ð 	3Ø”˜1”ˆBØ�QŠwˆwØ,�DÔ,¨d¬iÐ8�Ø—’ q¨!¨TÑ2Ô2Ð2Ø”ð 3 2¨¢6 6Ø,�DÔ,¨d¬iÐ8�Ø—’ q¨!¨TÑ2Ô2Ð2Ý‰wŒw×$Ò$ Q¨¨4Ñ0Ô0Ð0r9   c                 ód  •‡‡	— ddl m} |d         }| j        d         Š|t          j        u rZ| j        d         Š	ˆˆ	fd„t          |¦  «        D ¦   «          |d‰	|z  z  |¦  «        gz   }t          ‰	 ¦  «        ‰	z  t          |Ž z  S t          t          | ¦  «         
                    ||||¦  «        S )Nr   rÂ   r<   c                 ó\   •— g | ](}t           j        |z  t          ‰|¦  «        z  ‰|z  z  ‘Œ)S r  )r   rO   r   )rÇ   rb   r…  ru   s     €€r7   rÈ   z(expint._eval_aseries.<locals>.<listcomp>¯  s8   ø€ ÐTÐTÐTÀa•” Ñ!¥O°B¸Ñ$:Ô$:Ñ:¸QÀ¹TÑAÐTÐTÐTr9   )rÉ   rÃ   r+   r   rL   rÎ   r   r   rÏ   r¢   rÐ   )r1   r`   rÑ   r4   r´   rÃ   rÒ   rÖ   r…  ru   r×   s           @@€r7   rÐ   zexpint._eval_aseries¨  sÉ   øøø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆØŒY�qŒ\ˆà•A”JÐÐØ”	˜!”ˆAØTÐTÐTÐTÐTÍ5ÐQRÉ8Ì8ÐTÑTÔTÐX]ÐX]Ð^_Ð`aÐcdÑ`dÑ^dÐfgÑXhÔXhÐWiÑiˆAÝ˜˜‘G”G˜A‘I¥ a Ñ(Ð(å•V˜TÑ"Ô"×0Ò0°°E¸1¸dÑCÔCÐCr9   c                 óÈ   — ddl m} | j        \  }}t          t	          d|¦  «        j        ¦  «        } ||| z  t          | |z  ¦  «        z  |dt          j        f¦  «        S ©Nr   rh  rY   r<   )	rj  ri  r+   r   r   rk  r   r   rL   )r1   r+   rˆ   ri  r`   r4   rY   s          r7   rn  z expint._eval_rewrite_as_Integral´  sl   € Ø6Ð6Ð6Ð6Ð6Ð6ØŒy‰ˆˆ1ÝÕ'¨¨TÑ2Ô2Ô7Ñ8Ô8ˆØˆx˜˜A˜2™¥ Q B q¡D¡	¤	Ñ)¨A¨qµ!´*Ð+=Ñ>Ô>Ð>r9   r|  )rÙ   rÚ   rÛ   rÜ   rÞ   rZ   rB   r‰   r�  rý   rc  r}  r~  r  rv  rÐ   rn  rà   rá   s   @r7   r¢   r¢   û  sô   ø€ € € € € ðdð dðN ðTð Tñ „[ðTð*5ð 5ð 5ð1ð 1ð 1ð
ð 
ð 
ð9ð 9ð 9ðð ð ð .ÐØ.ÐØ.Ðð	1ð 	1ð 	1ð 	1ð 	1ð 	1ð
Dð 
Dð 
Dð 
Dð 
Dð?ð ?ð ?ð ?ð ?ð ?ð ?r9   r¢   c                 ó"   — t          d| ¦  «        S )a+  
    Classical case of the generalized exponential integral.

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

    This is equivalent to ``expint(1, z)``.

    Examples
    ========

    >>> from sympy import E1
    >>> E1(0)
    expint(1, 0)

    >>> E1(5)
    expint(1, 5)

    See Also
    ========

    Ei: Exponential integral.
    expint: Generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.

    r<   )r¢   )ru   s    r7   rŒ  rŒ  »  s   € õ@ �!�Q‰<Œ<Ðr9   c                   ó~   — e Zd ZdZed„ ¦   «         Zdd„Zd„ Zd„ Zd„ Z	d„ Z
d	„ ZeZd
„ ZeZd„ Zd„ Zdd„Zdd„Zd„ ZdS )r]  aà	  
    The classical logarithmic integral.

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

    For use in SymPy, this function is defined as

    .. math:: \operatorname{li}(x) = \int_0^x \frac{1}{\log(t)} \mathrm{d}t \,.

    Examples
    ========

    >>> from sympy import I, oo, li
    >>> from sympy.abc import z

    Several special values are known:

    >>> li(0)
    0
    >>> li(1)
    -oo
    >>> li(oo)
    oo

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(li(z), z)
    1/log(z)

    Defining the ``li`` function via an integral:
    >>> from sympy import integrate
    >>> integrate(li(z))
    z*li(z) - Ei(2*log(z))

    >>> integrate(li(z),z)
    z*li(z) - Ei(2*log(z))


    The logarithmic integral can also be defined in terms of ``Ei``:

    >>> from sympy import Ei
    >>> li(z).rewrite(Ei)
    Ei(log(z))
    >>> diff(li(z).rewrite(Ei), z)
    1/log(z)

    We can numerically evaluate the logarithmic integral to arbitrary precision
    on the whole complex plane (except the singular points):

    >>> li(2).evalf(30)
    1.04516378011749278484458888919

    >>> li(2*I).evalf(30)
    1.0652795784357498247001125598 + 3.08346052231061726610939702133*I

    We can even compute Soldner's constant by the help of mpmath:

    >>> from mpmath import findroot
    >>> findroot(li, 2)
    1.45136923488338

    Further transformations include rewriting ``li`` in terms of
    the trigonometric integrals ``Si``, ``Ci``, ``Shi`` and ``Chi``:

    >>> from sympy import Si, Ci, Shi, Chi
    >>> li(z).rewrite(Si)
    -log(I*log(z)) - log(1/log(z))/2 + log(log(z))/2 + Ci(I*log(z)) + Shi(log(z))
    >>> li(z).rewrite(Ci)
    -log(I*log(z)) - log(1/log(z))/2 + log(log(z))/2 + Ci(I*log(z)) + Shi(log(z))
    >>> li(z).rewrite(Shi)
    -log(1/log(z))/2 + log(log(z))/2 + Chi(log(z)) - Shi(log(z))
    >>> li(z).rewrite(Chi)
    -log(1/log(z))/2 + log(log(z))/2 + Chi(log(z)) - Shi(log(z))

    See Also
    ========

    Li: Offset logarithmic integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Logarithmic_integral
    .. [2] https://mathworld.wolfram.com/LogarithmicIntegral.html
    .. [3] https://dlmf.nist.gov/6
    .. [4] https://mathworld.wolfram.com/SoldnersConstant.html

    c                 óº   — |j         rt          j        S |t          j        u rt          j        S |t          j        u rt          j        S |j         rt          j        S d S r‹   )rP   r   r.   rM   rN   rL   rF  s     r7   rZ   zli.evalB  sU   € àŒ9ð 	Ý”6ˆMØ•!”%ˆZˆZÝÔ%Ð%Ø•!”*ˆ_ˆ_Ý”:ÐØŒ9ð 	Ý”6ˆMð	ð 	r9   r<   c                 ó€   — | j         d         }|dk    rt          j        t          |¦  «        z  S t	          | |¦  «        ‚rI   ©r+   r   rM   r   r   rV  s      r7   rB   zli.fdiffM  ó9   € ØŒi˜ŒlˆØ�qŠ=ˆ=Ý”5�3˜s™8œ8Ñ#Ð#å$ T¨8Ñ4Ô4Ð4r9   c                 ó|   — | j         d         }|j        s'|                      |                     ¦   «         ¦  «        S d S re   )r+   r~   r0   rg   rt   s     r7   ri   zli._eval_conjugateT  s<   € ØŒI�aŒLˆàÔ%ð 	,Ø—9’9˜QŸ[š[™]œ]Ñ+Ô+Ð+ð	,ð 	,r9   c                 ó@   — t          |¦  «        t          d¦  «        z   S r    )ÚLir]  r˜   s      r7   Ú_eval_rewrite_as_Lizli._eval_rewrite_as_LiZ  ó   € Ý�!‰uŒu•r˜!‘u”u‰}Ðr9   c                 ó:   — t          t          |¦  «        ¦  «        S r‹   )rQ  r   r˜   s      r7   r�  zli._eval_rewrite_as_Ei]  s   € Ý•#�a‘&”&‰zŒzÐr9   c           	      ó(  — ddl m}  |dt          |¦  «         ¦  «         t          j        t          t          |¦  «        ¦  «        t          t          j        t          |¦  «        z  ¦  «        z
  z  z   t          t          |¦  «         ¦  «        z
  S ©Nr   r‚   )r…   rƒ   r   r   r†   rM   r‡   s       r7   r‰   zli._eval_rewrite_as_uppergamma`  s   € ØFÐFÐFÐFÐFÐFØ�˜A¥ A¡¤˜wÑ'Ô'Ð'Ý”��C ™FœF™œ¥c­!¬%µ°A±´©,Ñ&7Ô&7Ñ7Ñ8ñ9Ý;>ÅÀAÁÄ¸w¹<¼<ñHð 	Ir9   c                 ó–  — t          t          t          |¦  «        z  ¦  «        t          t          t          t          |¦  «        z  ¦  «        z  z
  t          j        t          t          j        t          |¦  «        z  ¦  «        t          t          |¦  «        ¦  «        z
  z  z
  t          t          t          |¦  «        z  ¦  «        z
  S r‹   )ÚCir
   r   ÚSir   r†   rM   r˜   s      r7   rc  zli._eval_rewrite_as_Sie  s�   € Ý•1•S˜‘V”V‘8‘”�q¥¥A¥c¨!¡f¤f¡H¡¤™~Ñ-Ý”��AœE¥# a¡&¤&™LÑ)Ô)­Cµ°A±´©K¬KÑ7Ñ8ñ9Ý;>½qÅÀQÁÄ¹x¹=¼=ñIð 	Jr9   c                 ó  — t          t          |¦  «        ¦  «        t          t          |¦  «        ¦  «        z
  t          j        t          t          j        t          |¦  «        z  ¦  «        t          t          |¦  «        ¦  «        z
  z  z
  S r‹   )rb  r   ra  r   r†   rM   r˜   s      r7   r  zli._eval_rewrite_as_Shik  sW   € Ý•C˜‘F”F‘”�c¥# a¡&¤&™kœkÑ)­A¬FµC½¼½cÀ!¹f¼f¹Ñ4EÔ4EÍÍCÐPQÉFÌFÉÌÑ4SÑ,TÑTÐUr9   c           	      ó  — t          |¦  «        t          ddt          |¦  «        ¦  «        z  t          j        t          t          |¦  «        ¦  «        t          t          j        t          |¦  «        z  ¦  «        z
  z  z   t
          z   S )N)r<   r<   )r*   r*   )r   r&   r   r†   rM   r   r˜   s      r7   rž   zli._eval_rewrite_as_hyperp  se   € Ý�A‘”•u˜V V­S°©V¬VÑ4Ô4Ñ4Ý”��C ™FœF™œ¥c­!¬%µ°A±´©,Ñ&7Ô&7Ñ7Ñ8ñ9Ý;EñFð 	Gr9   c                 ó&  — t          t          |¦  «         ¦  «         t          j        t          t          j        t          |¦  «        z  ¦  «        t          t          |¦  «        ¦  «        z
  z  z
  t	          ddt          |¦  «         ¦  «        z
  S )N)r  rØ   ))r   r   r  )r   r   r†   rM   r'   r˜   s      r7   r™   zli._eval_rewrite_as_meijergt  sg   € Ý•c˜!‘f”f�W‘”�¥¤­­A¬Eµ#°a±&´&©LÑ(9Ô(9½CÅÀAÁÄ¹K¼KÑ(GÑ HÑHÝ˜* lµS¸±V´V°GÑ<Ô<ñ=ð 	>r9   Nc                 ó@   — |t          t          |¦  «        ¦  «        z  S r‹   )re  r   rð   s       r7   rª   zli._eval_rewrite_as_tractablex  s   € Ø•4�˜A™œ‘<”<ÑÐr9   r   c                 ó²   ‡— | j         d         Šˆfd„t          d|¦  «        D ¦   «         }t          t          t          ‰¦  «        ¦  «        z   t	          |Ž z   S )Nr   c                 óZ   •— g | ]'}t          ‰¦  «        |z  t          |¦  «        |z  z  ‘Œ(S r  )r   r   rÆ   s     €r7   rÈ   z$li._eval_nseries.<locals>.<listcomp>}  s3   ø€ ÐCÐCÐC°!�c�!‰fŒf�q‰[�I a™LœL¨1Ñ,Ñ-ÐCÐCÐCr9   r<   )r+   rÎ   r   r   r   )r1   r4   r`   r´   rµ   rÖ   ru   s         @r7   rv  zli._eval_nseries{  sO   ø€ ØŒI�aŒLˆØCÐCÐCÐCµu¸QÀ±{´{ÐCÑCÔCˆÝ�C¥ A¡¤™KœKÑ'­#¨q¨'Ñ1Ð1r9   c                 ó2   — | j         d         }|j        rdS d S rl   r  rt   s     r7   rx   zli._eval_is_zero€  ó&   € ØŒI�aŒLˆØŒ9ð 	Ø�4ð	ð 	r9   rØ   r‹   r|  )rÙ   rÚ   rÛ   rÜ   rÞ   rZ   rB   ri   rŸ  r�  r‰   rc  r}  r  r~  rž   r™   rª   rv  rx   r  r9   r7   r]  r]  Þ  s  € € € € € ð`ð `ðF ðð ñ „[ðð5ð 5ð 5ð 5ð,ð ,ð ,ðð ð ðð ð ðIð Ið Ið
Jð Jð Jð .ÐðVð Vð Vð 0ÐðGð Gð Gð>ð >ð >ð ð  ð  ð  ð2ð 2ð 2ð 2ð
ð ð ð ð r9   r]  c                   óL   — e Zd ZdZed„ ¦   «         Zdd„Zd„ Zd„ Zdd„Z	dd
„Z
dS )rž  ab  
    The offset logarithmic integral.

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

    For use in SymPy, this function is defined as

    .. math:: \operatorname{Li}(x) = \operatorname{li}(x) - \operatorname{li}(2)

    Examples
    ========

    >>> from sympy import Li
    >>> from sympy.abc import z

    The following special value is known:

    >>> Li(2)
    0

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(Li(z), z)
    1/log(z)

    The shifted logarithmic integral can be written in terms of $li(z)$:

    >>> from sympy import li
    >>> Li(z).rewrite(li)
    li(z) - li(2)

    We can numerically evaluate the logarithmic integral to arbitrary precision
    on the whole complex plane (except the singular points):

    >>> Li(2).evalf(30)
    0

    >>> Li(4).evalf(30)
    1.92242131492155809316615998938

    See Also
    ========

    li: Logarithmic integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Logarithmic_integral
    .. [2] https://mathworld.wolfram.com/LogarithmicIntegral.html
    .. [3] https://dlmf.nist.gov/6

    c                 óx   — |t           j        u rt           j        S |t          d¦  «        k    rt           j        S d S r    )r   rL   r.   rF  s     r7   rZ   zLi.evalÆ  s2   € à•”
ˆ?ˆ?Ý”:ÐØ•!�A‘$”$ŠYˆYÝ”6ˆMð ˆYr9   r<   c                 ó€   — | j         d         }|dk    rt          j        t          |¦  «        z  S t	          | |¦  «        ‚rI   rš  rV  s      r7   rB   zLi.fdiffÍ  r›  r9   c                 ó\   — |                       t          ¦  «                             |¦  «        S r‹   )rï   r]  Úevalf)r1   rY  s     r7   rX  zLi._eval_evalfÔ  s"   € Ø�|Š|�BÑÔ×%Ò% dÑ+Ô+Ð+r9   c                 ó@   — t          |¦  «        t          d¦  «        z
  S r    )r]  r˜   s      r7   r^  zLi._eval_rewrite_as_li×  r   r9   Nc                 ó`   — |                       t          ¦  «                              dd¬¦  «        S )Nrí   T)r2   )rï   r]  rð   s       r7   rª   zLi._eval_rewrite_as_tractableÚ  s'   € Ø�|Š|�BÑÔ×'Ò'¨¸$Ð'Ñ?Ô?Ð?r9   r   c                 óN   —  | j         | j        Ž }|                     |||¦  «        S r‹   )r^  r+   rv  )r1   r4   r`   r´   rµ   rx  s         r7   rv  zLi._eval_nseriesÝ  s)   € Ø$ˆDÔ$ d¤iÐ0ˆØ�Š˜q ! TÑ*Ô*Ð*r9   rØ   r‹   r|  )rÙ   rÚ   rÛ   rÜ   rÞ   rZ   rB   rX  r^  rª   rv  r  r9   r7   rž  rž  …  s˜   € € € € € ð=ð =ð@ ðð ñ „[ðð5ð 5ð 5ð 5ð,ð ,ð ,ðð ð ð@ð @ð @ð @ð+ð +ð +ð +ð +ð +r9   rž  c                   óN   ‡ — e Zd ZdZed„ ¦   «         Zd	d„Zd„ Zd„ Zd
ˆ fd„	Z	ˆ xZ
S )ÚTrigonometricIntegralz) Base class for trigonometric integrals. c                 óÂ  — |t           j        u r| j        S |t           j        u r|                      ¦   «         S |t           j        u r|                      ¦   «         S |j        r| j        S |                     t          t          ¦  «        ¦  «        }|€3|                      d¦  «        dk    r|                     t          ¦  «        }|�|                      |d¦  «        S |                     t          t           ¦  «        ¦  «        }|�|                      |d¦  «        S |                     t          d¦  «        ¦  «        }|€.|                      d¦  «        dk    r|                     d¦  «        }|�|                      |¦  «        S |                     ¦   «         \  }}|dk    r||k    rd S dt          z  t          z  |z  |                      d¦  «        z   | |¦  «        z   S )Nr   r<   r–   r*   )r   r.   Ú_atzerorL   Ú_atinfrN   Ú	_atneginfrP   rT   r   r
   Ú	_trigfuncÚ_IfactorÚ_minusfactorrS  r   rT  s       r7   rZ   zTrigonometricIntegral.evalé  s«  € à•”ˆ;ˆ;Ø”;ÐØ•!”*ˆ_ˆ_Ø—:’:‘<”<ÐØ•!Ô$Ð$Ð$Ø—=’=‘?”?Ð"àŒ9ð 	Ø”;Ðà×'Ò'­
µ1©¬Ñ6Ô6ˆØˆ:˜#Ÿ-š-¨Ñ*Ô*¨aÒ/Ð/Ø×+Ò+­AÑ.Ô.ˆBØˆ>Ø—<’<  AÑ&Ô&Ð&Ø×'Ò'­
µA°2©¬Ñ7Ô7ˆØˆ>Ø—<’<  BÑ'Ô'Ð'à×'Ò'­
°2©¬Ñ7Ô7ˆØˆ:˜#Ÿ-š-¨Ñ*Ô*¨aÒ/Ð/Ø×+Ò+¨BÑ/Ô/ˆBØˆ>Ø×#Ò# BÑ'Ô'Ð'à×'Ò'Ñ)Ô)‰ˆˆAØ�Š6ˆ6�b˜A’g�gØˆFØ•‰t•A‰v�a‰x˜Ÿš aÑ(Ô(Ñ(¨3¨3¨r©7¬7Ñ2Ð2r9   r<   c                 ó’   — t          | j        d         ¦  «        }|dk    r|                      |¦  «        |z  S t          | |¦  «        ‚rI   )r   r+   r½  r   rV  s      r7   rB   zTrigonometricIntegral.fdiff	  sE   € Ý˜œ 1œÑ&Ô&ˆØ�qŠ=ˆ=Ø—>’> #Ñ&Ô& sÑ*Ð*å$ T¨8Ñ4Ô4Ð4r9   c                 ó\   — |                       |¦  «                             t          ¦  «        S r‹   )r£   rï   rQ  r˜   s      r7   r�  z)TrigonometricIntegral._eval_rewrite_as_Ei  s$   € Ø×+Ò+¨AÑ.Ô.×6Ò6µrÑ:Ô:Ð:r9   c                 ó^   — ddl m} |                      |¦  «                             |¦  «        S r£  )r…   rƒ   r£   rï   r‡   s       r7   r‰   z1TrigonometricIntegral._eval_rewrite_as_uppergamma  s6   € ØFÐFÐFÐFÐFÐFØ×+Ò+¨AÑ.Ô.×6Ò6°zÑBÔBÐBr9   r   c                 ó2  •— | j         d                              |d¦  «        dk    r#t          ¦   «                              |||¦  «        S |                      |¦  «                             |||¦  «        }|                      d¦  «        dk    r|dz  }|                     t          d„ d¬¦  «        }|                      d¦  «        dk    r|t          t          |¦  «        z   z  }|                     || j         d         ¦  «                             |||¦  «        S )Nr   r<   c                 ó   — | |z  |z  S r‹   r  )rY   r`   s     r7   ú<lambda>z5TrigonometricIntegral._eval_nseries.<locals>.<lambda>  s   € ¸!¸Q¹$¸q¹&€ r9   F)Úsimultaneous)	r+   r»   rÏ   rv  r½  Úreplacer   r   r   )r1   r4   r`   r´   rµ   Ú
baseseriesr×   s         €r7   rv  z#TrigonometricIntegral._eval_nseries  sù   ø€ àŒ9�QŒ<×Ò˜Q Ñ"Ô" aÒ'Ð'Ý‘7”7×(Ò(¨¨A¨tÑ4Ô4Ð4Ø—^’^ AÑ&Ô&×4Ò4°Q¸¸4Ñ@Ô@ˆ
Ø�>Š>˜!ÑÔ Ò!Ð!Ø˜!‰OˆJØ×'Ò'­Ð-@Ð-@ÈuÐ'ÑUÔUˆ
Ø�>Š>˜!ÑÔ Ò!Ð!Ø�*¥s¨1¡v¤vÑ-Ñ-ˆJØ�Š˜q $¤)¨A¤,Ñ/Ô/×=Ò=¸aÀÀDÑIÔIÐIr9   rØ   r|  )rÙ   rÚ   rÛ   rÜ   rÞ   rZ   rB   r�  r‰   rv  rà   rá   s   @r7   r¸  r¸  å  s�   ø€ € € € € Ø3Ð3ð ð3ð 3ñ „[ð3ð>5ð 5ð 5ð 5ð;ð ;ð ;ðCð Cð Cð
Jð 
Jð 
Jð 
Jð 
Jð 
Jð 
Jð 
Jð 
Jð 
Jr9   r¸  c                   ó¨   ‡ — e Zd ZdZeZej        Ze	d„ ¦   «         Z
e	d„ ¦   «         Ze	d„ ¦   «         Ze	d„ ¦   «         Zd„ Zd„ ZeZd„ Zˆ fd	„Zd
„ Zˆ xZS )r¦  aø  
    Sine integral.

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

    This function is defined by

    .. math:: \operatorname{Si}(z) = \int_0^z \frac{\sin{t}}{t} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import Si
    >>> from sympy.abc import z

    The sine integral is an antiderivative of $sin(z)/z$:

    >>> Si(z).diff(z)
    sin(z)/z

    It is unbranched:

    >>> from sympy import exp_polar, I, pi
    >>> Si(z*exp_polar(2*I*pi))
    Si(z)

    Sine integral behaves much like ordinary sine under multiplication by ``I``:

    >>> Si(I*z)
    I*Shi(z)
    >>> Si(-z)
    -Si(z)

    It can also be expressed in terms of exponential integrals, but beware
    that the latter is branched:

    >>> from sympy import expint
    >>> Si(z).rewrite(expint)
    -I*(-expint(1, z*exp_polar(-I*pi/2))/2 +
         expint(1, z*exp_polar(I*pi/2))/2) + pi/2

    It can be rewritten in the form of sinc function (by definition):

    >>> from sympy import sinc
    >>> Si(z).rewrite(sinc)
    Integral(sinc(_t), (_t, 0, z))

    See Also
    ========

    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    sinc: unnormalized sinc function
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

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

    c                 ó*   — t           t          j        z  S r‹   ©r   r   r†   ©rW   s    r7   r»  z	Si._atinfn  s   € å•!”&‰yÐr9   c                 ó,   — t            t          j        z  S r‹   rË  rÌ  s    r7   r¼  zSi._atneginfr  s   € åˆs•1”6‰zÐr9   c                 ó"   — t          |¦  «         S r‹   )r¦  rF  s     r7   r¿  zSi._minusfactorv  s   € å�1‘”ˆvˆr9   c                 ó6   — t           t          |¦  «        z  |z  S r‹   )r
   ra  ©rW   ru   Úsigns      r7   r¾  zSi._Ifactorz  s   € å•�Q‘”‰x˜‰}Ðr9   c                 óÂ   — t           dz  t          t          t          ¦  «        |z  ¦  «        t          t          t           ¦  «        |z  ¦  «        z
  dz  t          z  z   S r    )r   rŒ  r   r
   r˜   s      r7   r£   zSi._eval_rewrite_as_expint~  sG   € å�!‰t•r�*¥Q™-œ-¨™/Ñ*Ô*­Rµ
½A¸2±´¸qÑ0@Ñ-AÔ-AÑAÀ1ÑDÅQÑFÑFÐFr9   c                 óŒ   — ddl m} t          t          d|g¦  «        j        ¦  «        } |t          |¦  «        |d|f¦  «        S rg  )rj  ri  r   r   rk  r%   rm  s        r7   rn  zSi._eval_rewrite_as_Integral‚  sO   € Ø6Ð6Ð6Ð6Ð6Ð6ÝÕ'¨¨a¨SÑ1Ô1Ô6Ñ7Ô7ˆØˆx�˜Q™œ ! Q¨ Ñ+Ô+Ð+r9   c                 ó:  — | j         d                              |||¬¦  «        }|                     |d¦  «        }|t          j        u r.|                     |dt          |¦  «        j        rdnd¬¦  «        }|j        r|S |j	        s|  
                    |¦  «        S | S ©Nr   r³   r¶   r·   r¸   ©r+   rº   r»   r   rK   r¥   r   r`  rP   r"  r0   r¾   s         r7   rÀ   zSi._eval_as_leading_term‰  s–   € ØŒi˜Œl×*Ò*¨1°4¸dÐ*ÑCÔCˆØ�xŠx˜˜1‰~Œ~ˆà•1”5ˆ=ˆ=Ø—9’9˜Q ­b°©h¬hÔ.BÐ'K s sÈ�9ÑLÔLˆDØŒ<ð 	ØˆJØÔ!ð 	Ø—9’9˜T‘?”?Ð"àˆKr9   c                 óø  •‡	— ddl m} |d         }|t          j        u r²| j        d         Š	ˆ	fd„t          |dz  dz   ¦  «        D ¦   «          |d‰	|z  z  |¦  «        gz   }ˆ	fd„t          |dz  ¦  «        D ¦   «          |d‰	|z  z  |¦  «        gz   }t          dz  t          ‰	¦  «        t          |Ž z  z
  t          ‰	¦  «        t          |Ž z  z
  S t          t          | ¦  «                             ||||¦  «        S )Nr   rÂ   c                 ól   •— g | ]0}t           j        |z  t          d |z  ¦  «        z  ‰d |z  dz   z  z  ‘Œ1S rÅ   ©r   rO   r   rÆ   s     €r7   rÈ   z$Si._eval_aseries.<locals>.<listcomp>�  óP   ø€ ð .ð .ð .Øõ ” Ñ!¥I¨a°©c¡N¤NÑ2°Q¸¸1¹¸q¹±\ÑAð .ð .ð .r9   r*   r<   c                 ór   •— g | ]3}t           j        |z  t          d |z  dz   ¦  «        z  ‰d |dz   z  z  z  ‘Œ4S rÅ   rÙ  rÆ   s     €r7   rÈ   z$Si._eval_aseries.<locals>.<listcomp>Ÿ  óV   ø€ ð *ð *ð *Øõ ” Ñ!¥I¨a°©c°A©gÑ$6Ô$6Ñ6¸¸QÀÀAÁ¹Y¹ÑGð *ð *ð *r9   )rÉ   rÃ   r   rL   r+   rÎ   r   r#   r   r$   rÏ   r¦  rÐ   )r1   r`   rÑ   r4   r´   rÃ   rÒ   ÚpÚqru   r×   s            @€r7   rÐ   zSi._eval_aseries–  s4  øø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆð •A”JÐÐØ”	˜!”ˆAð.ð .ð .ð .Ý" 1 a¡4¨!¡8™_œ_ð.ñ .ô .Ø16°°q¸¸A¹±v¸qÑ1AÔ1AÐ0BñCˆAð*ð *ð *ð *Ý" 1 a¡4™[œ[ð*ñ *ô *Ø-2¨U°1°Q¸±T±6¸1Ñ-=Ô-=Ð,>ñ?ˆAå�a‘4�#˜a™&œ&¥ a ™.Ñ(­3¨q©6¬6µ#°q°'©>Ñ9Ð9õ •R˜‰Œ×,Ò,¨Q°°q¸$Ñ?Ô?Ð?r9   c                 ó2   — | j         d         }|j        rdS d S rl   r  rt   s     r7   rx   zSi._eval_is_zero¦  r®  r9   )rÙ   rÚ   rÛ   rÜ   r$   r½  r   r.   rº  rÞ   r»  r¼  r¿  r¾  r£   rn  Ú_eval_rewrite_as_sincrÀ   rÐ   rx   rà   rá   s   @r7   r¦  r¦  $  s	  ø€ € € € € ðDð DðL €IØŒf€Gàðð ñ „[ðð ðð ñ „[ðð ðð ñ „[ðð ðð ñ „[ððGð Gð Gð,ð ,ð ,ð
 7Ððð ð ð@ð @ð @ð @ð @ð ð ð ð ð ð ð r9   r¦  c                   óž   ‡ — e Zd ZdZeZej        Ze	d„ ¦   «         Z
e	d„ ¦   «         Ze	d„ ¦   «         Ze	d„ ¦   «         Zd„ Zd„ Zd„ Zˆ fd	„Zˆ xZS )
r¥  aâ  
    Cosine integral.

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

    This function is defined for positive $x$ by

    .. math:: \operatorname{Ci}(x) = \gamma + \log{x}
                         + \int_0^x \frac{\cos{t} - 1}{t} \mathrm{d}t
           = -\int_x^\infty \frac{\cos{t}}{t} \mathrm{d}t,

    where $\gamma$ is the Euler-Mascheroni constant.

    We have

    .. math:: \operatorname{Ci}(z) =
        -\frac{\operatorname{E}_1\left(e^{i\pi/2} z\right)
               + \operatorname{E}_1\left(e^{-i \pi/2} z\right)}{2}

    which holds for all polar $z$ and thus provides an analytic
    continuation to the Riemann surface of the logarithm.

    The formula also holds as stated
    for $z \in \mathbb{C}$ with $\Re(z) > 0$.
    By lifting to the principal branch, we obtain an analytic function on the
    cut complex plane.

    Examples
    ========

    >>> from sympy import Ci
    >>> from sympy.abc import z

    The cosine integral is a primitive of $\cos(z)/z$:

    >>> Ci(z).diff(z)
    cos(z)/z

    It has a logarithmic branch point at the origin:

    >>> from sympy import exp_polar, I, pi
    >>> Ci(z*exp_polar(2*I*pi))
    Ci(z) + 2*I*pi

    The cosine integral behaves somewhat like ordinary $\cos$ under
    multiplication by $i$:

    >>> from sympy import polar_lift
    >>> Ci(polar_lift(I)*z)
    Chi(z) + I*pi/2
    >>> Ci(polar_lift(-1)*z)
    Ci(z) + I*pi

    It can also be expressed in terms of exponential integrals:

    >>> from sympy import expint
    >>> Ci(z).rewrite(expint)
    -expint(1, z*exp_polar(-I*pi/2))/2 - expint(1, z*exp_polar(I*pi/2))/2

    See Also
    ========

    Si: Sine integral.
    Shi: Hyperbolic sine integral.
    Chi: Hyperbolic cosine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

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

    c                 ó   — t           j        S r‹   )r   r.   rÌ  s    r7   r»  z	Ci._atinfÿ  s	   € åŒvˆr9   c                 ó    — t           t          z  S r‹   )r
   r   rÌ  s    r7   r¼  zCi._atneginf  s   € å•‰tˆr9   c                 ó@   — t          |¦  «        t          t          z  z   S r‹   ©r¥  r
   r   rF  s     r7   r¿  zCi._minusfactor  s   € å�!‰uŒu•q�‘t‰|Ðr9   c                 óL   — t          |¦  «        t          t          z  dz  |z  z   S r    ©rb  r
   r   rÐ  s      r7   r¾  zCi._Ifactor  s   € å�1‰vŒv��"™˜Q™˜t™Ñ#Ð#r9   c                 óž   — t          t          t          ¦  «        |z  ¦  «        t          t          t           ¦  «        |z  ¦  «        z    dz  S r    )rŒ  r   r
   r˜   s      r7   r£   zCi._eval_rewrite_as_expint  s<   € Ý•J�q‘M”M !‘OÑ$Ô$¥r­*µa°R©.¬.¸Ñ*:Ñ';Ô';Ñ;Ð<¸QÑ>Ð>r9   c                 óÒ   — ddl m} t          t          d|g¦  «        j        ¦  «        }t
          j        t          |¦  «        z    |dt          |¦  «        z
  |z  |d|f¦  «        z
  S r•  )	rj  ri  r   r   rk  r   r   r   r#   rm  s        r7   rn  zCi._eval_rewrite_as_Integral  si   € Ø6Ð6Ð6Ð6Ð6Ð6ÝÕ'¨¨a¨SÑ1Ô1Ô6Ñ7Ô7ˆÝŒ|�c !™fœfÑ$ x x°µ3°q±6´6±¸1±¸qÀ!ÀQ¸iÑ'HÔ'HÑHÐHr9   c                 óÆ  — | j         d                              |||¬¦  «        }|                     |d¦  «        }|t          j        u r.|                     |dt          |¦  «        j        rdnd¬¦  «        }|j        rH| 	                    |¦  «        \  }}|€t          |¦  «        n|}t          |¦  «        ||z  z   t          z   S |j        r|                      |¦  «        S | S rÕ  ©r+   rº   r»   r   rK   r¥   r   r`  rP   rq  r   r   rs   r0   ©r1   r4   r´   rµ   rX   r¿   rs  rt  s           r7   rÀ   zCi._eval_as_leading_term  óÓ   € ØŒi˜Œl×*Ò*¨1°4¸dÐ*ÑCÔCˆØ�xŠx˜˜1‰~Œ~ˆà•1”5ˆ=ˆ=Ø—9’9˜Q ­b°©h¬hÔ.BÐ'K s sÈ�9ÑLÔLˆDØŒ<ð 	Ø×(Ò(¨Ñ+Ô+‰DˆAˆqØ!˜\•3�q‘6”6�6¨tˆDÝ�q‘6”6˜A˜d™F‘?¥ZÑ/Ð/ØŒ^ð 	Ø—9’9˜T‘?”?Ð"àˆKr9   c                 ó>  •‡
— ddl m} |d         }|t          j        t          j        fv rÉ| j        d         Š
ˆ
fd„t          |dz  dz   ¦  «        D ¦   «          |d‰
|z  z  |¦  «        gz   }ˆ
fd„t          |dz  ¦  «        D ¦   «          |d‰
|z  z  |¦  «        gz   }t          ‰
¦  «        t          |Ž z  t          ‰
¦  «        t          |Ž z  z
  }	|t          j        u r|	t          t          z  z  }	|	S t          t          | ¦  «                             ||||¦  «        S )Nr   rÂ   c                 ól   •— g | ]0}t           j        |z  t          d |z  ¦  «        z  ‰d |z  dz   z  z  ‘Œ1S rÅ   rÙ  rÆ   s     €r7   rÈ   z$Ci._eval_aseries.<locals>.<listcomp>,  rÚ  r9   r*   r<   c                 ór   •— g | ]3}t           j        |z  t          d |z  dz   ¦  «        z  ‰d |dz   z  z  z  ‘Œ4S rÅ   rÙ  rÆ   s     €r7   rÈ   z$Ci._eval_aseries.<locals>.<listcomp>.  rÜ  r9   )rÉ   rÃ   r   rL   rN   r+   rÎ   r$   r   r#   r
   r   rÏ   r¥  rÐ   )r1   r`   rÑ   r4   r´   rÃ   rÒ   rÝ  rÞ  Úresultru   r×   s             @€r7   rÐ   zCi._eval_aseries&  sP  øø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆà•Q”Z¥Ô!3Ð4Ð4Ð4Ø”	˜!”ˆAð.ð .ð .ð .Ý" 1 a¡4¨!¡8™_œ_ð.ñ .ô .Ø16°°q¸¸A¹±v¸qÑ1AÔ1AÐ0BñCˆAð*ð *ð *ð *Ý" 1 a¡4™[œ[ð*ñ *ô *Ø-2¨U°1°Q¸±T±6¸1Ñ-=Ô-=Ð,>ñ?ˆAå˜‘V”V�S !˜WÑ%­¨A©¬µ°Q°Ñ(8Ñ8ˆFà�Ô*Ð*Ð*Ø�!�B™$‘�ØˆMå•R˜‰Œ×,Ò,¨Q°°q¸$Ñ?Ô?Ð?r9   )rÙ   rÚ   rÛ   rÜ   r#   r½  r   r¼   rº  rÞ   r»  r¼  r¿  r¾  r£   rn  rÀ   rÐ   rà   rá   s   @r7   r¥  r¥  ¬  s÷   ø€ € € € € ðMð Mð^ €IØÔ€Gàðð ñ „[ðð ðð ñ „[ðð ðð ñ „[ðð ð$ð $ñ „[ð$ð?ð ?ð ?ðIð Ið Ið
ð ð ð@ð @ð @ð @ð @ð @ð @ð @ð @r9   r¥  c                   óŽ   — e Zd ZdZeZej        Ze	d„ ¦   «         Z
e	d„ ¦   «         Ze	d„ ¦   «         Ze	d„ ¦   «         Zd„ Zd„ Zd„ Zd	S )
ra  a  
    Sinh integral.

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

    This function is defined by

    .. math:: \operatorname{Shi}(z) = \int_0^z \frac{\sinh{t}}{t} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import Shi
    >>> from sympy.abc import z

    The Sinh integral is a primitive of $\sinh(z)/z$:

    >>> Shi(z).diff(z)
    sinh(z)/z

    It is unbranched:

    >>> from sympy import exp_polar, I, pi
    >>> Shi(z*exp_polar(2*I*pi))
    Shi(z)

    The $\sinh$ integral behaves much like ordinary $\sinh$ under
    multiplication by $i$:

    >>> Shi(I*z)
    I*Si(z)
    >>> Shi(-z)
    -Shi(z)

    It can also be expressed in terms of exponential integrals, but beware
    that the latter is branched:

    >>> from sympy import expint
    >>> Shi(z).rewrite(expint)
    expint(1, z)/2 - expint(1, z*exp_polar(I*pi))/2 - I*pi/2

    See Also
    ========

    Si: Sine integral.
    Ci: Cosine integral.
    Chi: Hyperbolic cosine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

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

    c                 ó   — t           j        S r‹   ©r   rL   rÌ  s    r7   r»  z
Shi._atinf{  ó
   € åŒzÐr9   c                 ó   — t           j        S r‹   )r   rN   rÌ  s    r7   r¼  zShi._atneginf  s   € åÔ!Ð!r9   c                 ó"   — t          |¦  «         S r‹   )ra  rF  s     r7   r¿  zShi._minusfactorƒ  s   € å�A‘”ˆwˆr9   c                 ó6   — t           t          |¦  «        z  |z  S r‹   )r
   r¦  rÐ  s      r7   r¾  zShi._Ifactor‡  s   € å•�A‘”‰w�t‰|Ðr9   c                 ó¦   — t          |¦  «        t          t          t          t          z  ¦  «        |z  ¦  «        z
  dz  t          t          z  dz  z
  S r    )rŒ  r    r
   r   r˜   s      r7   r£   zShi._eval_rewrite_as_expint‹  s<   € å�1‘”��9¥Q¥r¡T™?œ?¨1Ñ,Ñ-Ô-Ñ-¨qÑ0µ1µR±4¸±6Ñ9Ð9r9   c                 ó2   — | j         d         }|j        rdS d S rl   r  rt   s     r7   rx   zShi._eval_is_zero�  r®  r9   c                 ó4  — | j         d                              |¦  «        }|                     |d¦  «        }|t          j        u r.|                     |dt          |¦  «        j        rdnd¬¦  «        }|j        r|S |j	        s|  
                    |¦  «        S | S )Nr   r¶   r·   r¸   rÖ  r¾   s         r7   rÀ   zShi._eval_as_leading_term”  s�   € ØŒi˜Œl×*Ò*¨1Ñ-Ô-ˆØ�xŠx˜˜1‰~Œ~ˆà•1”5ˆ=ˆ=Ø—9’9˜Q ­b°©h¬hÔ.BÐ'K s sÈ�9ÑLÔLˆDØŒ<ð 	ØˆJØÔ!ð 	Ø—9’9˜T‘?”?Ð"àˆKr9   N)rÙ   rÚ   rÛ   rÜ   r"   r½  r   r.   rº  rÞ   r»  r¼  r¿  r¾  r£   rx   rÀ   r  r9   r7   ra  ra  8  sÄ   € € € € € ð=ð =ð~ €IØŒf€Gàðð ñ „[ðð ð"ð "ñ „[ð"ð ðð ñ „[ðð ðð ñ „[ðð:ð :ð :ðð ð ð
ð ð ð ð r9   ra  c                   óˆ   — e Zd ZdZeZej        Ze	d„ ¦   «         Z
e	d„ ¦   «         Ze	d„ ¦   «         Ze	d„ ¦   «         Zd„ Zd„ ZdS )	rb  a   
    Cosh integral.

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

    This function is defined for positive $x$ by

    .. math:: \operatorname{Chi}(x) = \gamma + \log{x}
                         + \int_0^x \frac{\cosh{t} - 1}{t} \mathrm{d}t,

    where $\gamma$ is the Euler-Mascheroni constant.

    We have

    .. math:: \operatorname{Chi}(z) = \operatorname{Ci}\left(e^{i \pi/2}z\right)
                         - i\frac{\pi}{2},

    which holds for all polar $z$ and thus provides an analytic
    continuation to the Riemann surface of the logarithm.
    By lifting to the principal branch we obtain an analytic function on the
    cut complex plane.

    Examples
    ========

    >>> from sympy import Chi
    >>> from sympy.abc import z

    The $\cosh$ integral is a primitive of $\cosh(z)/z$:

    >>> Chi(z).diff(z)
    cosh(z)/z

    It has a logarithmic branch point at the origin:

    >>> from sympy import exp_polar, I, pi
    >>> Chi(z*exp_polar(2*I*pi))
    Chi(z) + 2*I*pi

    The $\cosh$ integral behaves somewhat like ordinary $\cosh$ under
    multiplication by $i$:

    >>> from sympy import polar_lift
    >>> Chi(polar_lift(I)*z)
    Ci(z) + I*pi/2
    >>> Chi(polar_lift(-1)*z)
    Chi(z) + I*pi

    It can also be expressed in terms of exponential integrals:

    >>> from sympy import expint
    >>> Chi(z).rewrite(expint)
    -expint(1, z)/2 - expint(1, z*exp_polar(I*pi))/2 - I*pi/2

    See Also
    ========

    Si: Sine integral.
    Ci: Cosine integral.
    Shi: Hyperbolic sine integral.
    Ei: Exponential integral.
    expint: Generalised exponential integral.
    E1: Special case of the generalised exponential integral.
    li: Logarithmic integral.
    Li: Offset logarithmic integral.

    References
    ==========

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

    c                 ó   — t           j        S r‹   rô  rÌ  s    r7   r»  z
Chi._atinfð  rõ  r9   c                 ó   — t           j        S r‹   rô  rÌ  s    r7   r¼  zChi._atneginfô  rõ  r9   c                 ó@   — t          |¦  «        t          t          z  z   S r‹   rç  rF  s     r7   r¿  zChi._minusfactorø  s   € å�1‰vŒv��"™‰}Ðr9   c                 óL   — t          |¦  «        t          t          z  dz  |z  z   S r    rå  rÐ  s      r7   r¾  zChi._Ifactorü  s   € å�!‰uŒu•q�‘t˜A‘v˜d‘{Ñ"Ð"r9   c                 ó¨   — t            t          z  dz  t          |¦  «        t          t          t           t          z  ¦  «        |z  ¦  «        z   dz  z
  S r    )r
   r   rŒ  r    r˜   s      r7   r£   zChi._eval_rewrite_as_expint 	  s>   € Ýˆr•"‰u�Q‰w�"˜Q™%œ%¥"¥Y­qµ©t¡_¤_°QÑ%6Ñ"7Ô"7Ñ7¸Ñ:Ñ:Ð:r9   c                 óÆ  — | j         d                              |||¬¦  «        }|                     |d¦  «        }|t          j        u r.|                     |dt          |¦  «        j        rdnd¬¦  «        }|j        rH| 	                    |¦  «        \  }}|€t          |¦  «        n|}t          |¦  «        ||z  z   t          z   S |j        r|                      |¦  «        S | S rÕ  rë  rì  s           r7   rÀ   zChi._eval_as_leading_term	  rí  r9   N)rÙ   rÚ   rÛ   rÜ   r!   r½  r   r¼   rº  rÞ   r»  r¼  r¿  r¾  r£   rÀ   r  r9   r7   rb  rb  ¢  s¸   € € € € € ðHð HðT €IØÔ€Gàðð ñ „[ðð ðð ñ „[ðð ðð ñ „[ðð ð#ð #ñ „[ð#ð;ð ;ð ;ðð ð ð ð r9   rb  c                   óN   — e Zd ZdZdZed„ ¦   «         Zd
d„Zd„ ZeZ	d„ Z
d„ ZeZd	S )ÚFresnelIntegralz& Base class for the Fresnel integrals.Tc                 ó@  — |t           j        u rt           j        S |j        rt           j        S t           j        }|}d}|                     d¦  «        }|�| }|}d}|                     t          ¦  «        }|�| j        t          z  |z  }|}d}|r| | |¦  «        z  S d S )NFr–   T)	r   rL   r†   rP   r.   rM   rT   r
   Ú_sign)rW   ru   ÚprefactÚnewargÚchangedr  s         r7   rZ   zFresnelIntegral.eval	  s¼   € ð •”
ˆ?ˆ?Ý”6ˆMð Œ9ð 	Ý”6ˆMõ ”%ˆØˆØˆà×,Ò,¨RÑ0Ô0ˆØˆ>Ø�hˆGØˆFØˆGà×,Ò,­QÑ/Ô/ˆØˆ>Ø”i¥‘k 'Ñ)ˆGØˆFØˆGàð 	'Ø˜3˜3˜v™;œ;Ñ&Ð&ð	'ð 	'r9   r<   c                 óž   — |dk    r8|                       t          j        t          z  | j        d         dz  z  ¦  «        S t          | |¦  «        ‚r9  )r½  r   r†   r   r+   r   r@   s     r7   rB   zFresnelIntegral.fdiff;	  sB   € Ø�qŠ=ˆ=Ø—>’>¥!¤&­¡)¨D¬I°a¬L¸!©OÑ";Ñ<Ô<Ð<å$ T¨8Ñ4Ô4Ð4r9   c                 ó&   — | j         d         j        S re   rm   rh   s    r7   r
  z&FresnelIntegral._eval_is_extended_realA	  r  r9   c                 ó&   — | j         d         j        S re   r  rh   s    r7   rx   zFresnelIntegral._eval_is_zeroF	  r  r9   c                 óf   — |                       | j        d                              ¦   «         ¦  «        S re   rf   rh   s    r7   ri   zFresnelIntegral._eval_conjugateI	  rj   r9   NrØ   )rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rZ   rB   r
  rv   rx   ri   r8   r/   r  r9   r7   r  r  	  s�   € € € € € Ø0Ð0à€Jàð'ð 'ñ „[ð'ð<5ð 5ð 5ð 5ð-ð -ð -ð -€Oð$ð $ð $ð3ð 3ð 3ð -€L€L€Lr9   r  c                   óz   ‡ — e Zd ZdZeZej         Ze	e
d„ ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zˆ xZS )	rŽ   ay  
    Fresnel integral S.

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

    This function is defined by

    .. math:: \operatorname{S}(z) = \int_0^z \sin{\frac{\pi}{2} t^2} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import I, oo, fresnels
    >>> from sympy.abc import z

    Several special values are known:

    >>> fresnels(0)
    0
    >>> fresnels(oo)
    1/2
    >>> fresnels(-oo)
    -1/2
    >>> fresnels(I*oo)
    -I/2
    >>> fresnels(-I*oo)
    I/2

    In general one can pull out factors of -1 and $i$ from the argument:

    >>> fresnels(-z)
    -fresnels(z)
    >>> fresnels(I*z)
    -I*fresnels(z)

    The Fresnel S integral obeys the mirror symmetry
    $\overline{S(z)} = S(\bar{z})$:

    >>> from sympy import conjugate
    >>> conjugate(fresnels(z))
    fresnels(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(fresnels(z), z)
    sin(pi*z**2/2)

    Defining the Fresnel functions via an integral:

    >>> from sympy import integrate, pi, sin, expand_func
    >>> integrate(sin(pi*z**2/2), z)
    3*fresnels(z)*gamma(3/4)/(4*gamma(7/4))
    >>> expand_func(integrate(sin(pi*z**2/2), z))
    fresnels(z)

    We can numerically evaluate the Fresnel integral to arbitrary precision
    on the whole complex plane:

    >>> fresnels(2).evalf(30)
    0.343415678363698242195300815958

    >>> fresnels(-2*I).evalf(30)
    0.343415678363698242195300815958*I

    See Also
    ========

    fresnelc: Fresnel cosine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Fresnel_integral
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/FresnelIntegrals.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/FresnelS
    .. [5] The converging factors for the fresnel integrals
            by John W. Wrench Jr. and Vicki Alley

    c                 ó”  — | dk     rt           j        S t          |¦  «        }t          |¦  «        dk    r=|d         }t          dz   |dz  z  d| z  dz
  z  d| z  d| z  dz   z  d| z  dz   z  z  |z  S |dz  |dz   | z  z  t          d¦  «        d| z  dz
  z  t          d| z  dz   z  z  z  d| z  dz   t          d| z  dz   ¦  «        z  z  S )	Nr   r<   r–   r*   é   é   rœ   r]   ©r   r.   r   r^   r   r   ©r`   r4   ra   rÝ  s       r7   rc   zfresnels.taylor_term§	  só   € ð ˆqŠ5ˆ5Ý”6ˆMå˜‘
”
ˆAÝ�>Ñ"Ô" QÒ&Ð&Ø" 2Ô&�Ý˜Q™˜˜q !™t™ Q q¡S¨1¡WÑ-¨q°©s°A°a±C¸!±G©}¸aÀ¹cÀA¹gÑ/FÑGÈ1ÑLÐLà˜!‘t  1¡˜u q™jÑ(­A¨a©D¬D°2°a±4¸!±8Ñ,<½RÀ!ÀAÁ#ÈÁ'¹]Ñ,JÑKÐPQÐRSÑPSÐVWÑPWÕYbÐcdÐefÑcfÐijÑcjÑYkÔYkÑOkÑlÐlr9   c           	      ó4  — t           j        t          z   dz  t          t           j        t          z   dz  t	          t
          ¦  «        z  |z  ¦  «        t          t          t           j        t          z
  dz  t	          t
          ¦  «        z  |z  ¦  «        z  z
  z  S ©Nr  r*   ©r   rM   r
   r;   r   r   r˜   s      r7   ró   zfresnels._eval_rewrite_as_erf´	  ók   € Ý”�‘	˜1‰}¥¥Q¤U­Q¡Y°¡Mµ$µr±(´(Ñ$:¸1Ñ$<Ñ =Ô =ÅÅ#ÅqÄuÍqÁyÐRSÁmÕTXÕY[ÑT\ÔT\ÑF\Ð]^ÑF^ÑB_ÔB_Ñ@_Ñ _Ñ`Ð`r9   c           	      óÄ   — t           |dz  z  dz  t          t          dd¦  «        gt          dd¦  «        t          dd¦  «        gt           dz   |dz  z  dz  ¦  «        z  S )Nrœ   é   r  r*   é   é   )r   r&   r   r˜   s      r7   rž   zfresnels._eval_rewrite_as_hyper·	  sb   € Ý�!�Q‘$‰w�q‰y�5¥(¨1¨a¡.¤.Ð!1µH¸QÀ±N´NÅHÈQÐPQÁNÄNÐ3SÕVXÐZ[ÑV[ÐU[Ð\]Ð_`Ñ\`ÑU`ÐacÑUcÑdÔdÑdÐdr9   c           
      ó<  — t           |t          dd¦  «        z  z  t          d¦  «        |dz  t          dd¦  «        z  z  | t          dd¦  «        z  z  z  t          g dgt          dd¦  «        gt          dd¦  «        dgt           dz   |dz  z  dz  ¦  «        z  S )Né	   r  r*   rœ   r<   r   r  )r   r   r   r'   r˜   s      r7   r™   z!fresnels._eval_rewrite_as_meijergº	  s�   € Ý�1•h˜q !‘n”nÑ$Ñ$­¨Q©¬°°A±½ÀÀA¹¼Ñ0FÑ(FÈÈÍXÐVWÐYZÉ^Ì^ÑG[Ñ([Ñ\Ý˜"˜q˜c¥H¨Q°¡N¤NÐ#3µh¸qÀ!±n´nÀaÐ5HÍ2ÈqÉ5È&ÐQRÐTUÑQUÉ+ÐVXÉ.ÑYÔYñZð 	[r9   c                 ó¨   — ddl m} t          t          d|g¦  «        j        ¦  «        } |t          t          |dz  z  dz  ¦  «        |d|f¦  «        S ©Nr   rh  rY   r*   )rj  ri  r   r   rk  r$   r   rm  s        r7   rn  z"fresnels._eval_rewrite_as_Integral¾	  ó[   € Ø6Ð6Ð6Ð6Ð6Ð6ÝÕ'¨¨a¨SÑ1Ô1Ô6Ñ7Ô7ˆØˆx��B˜q !™t™G A™I™œ¨¨A¨q¨	Ñ2Ô2Ð2r9   c                 óà  — ddl m} | j        d                              |||¬¦  «        }|                     |d¦  «        }|t
          j        u r.|                     |dt          |¦  «        j	        rdnd¬¦  «        }|j
        rt          |dz  z  dz  S |t
          j        t
          j        fv r.|t
          j        u rd	nd
}|t
          j        z   |||¦  «        z   S |                      |¦  «        S )Nr   rÂ   r³   r¶   r·   r¸   rœ   r  r<   r–   )rÉ   rÃ   r+   rº   r»   r   r¼   r¥   r   r`  rP   r   rL   rN   r†   r0   ©r1   r4   r´   rµ   rÃ   rX   r¿   rÖ   s           r7   rÀ   zfresnels._eval_as_leading_termÃ	  sí   € Ø,Ð,Ð,Ð,Ð,Ð,ØŒi˜Œl×*Ò*¨1°4¸dÐ*ÑCÔCˆØ�xŠx˜˜1‰~Œ~ˆà•1Ô$Ð$Ð$Ø—9’9˜Q ­b°©h¬hÔ.BÐ'K s sÈ�9ÑLÔLˆDØŒ<ð 	#Ý�c˜1‘f‘9˜Q‘;ÐØ•a”j¥!Ô"4Ð5Ð5Ð5Ø�QœZÐ'Ð'��¨RˆAØ•Q”V‘8˜e˜e A q™kœkÑ)Ð)à—9’9˜T‘?”?Ð"r9   c                 óª  •‡‡
— ddl m} |d         }|t          j        t          j         fv �r| j        d         Š
ˆˆ
fd„t          d‰¦  «        D ¦   «         }dd‰
z  z  gˆˆ
fd„t          d‰¦  «        D ¦   «         z   }d„ |D ¦   «         }d„ |D ¦   «         }|t          j        u rdnd	}	|	t          j        z  t          ‰
dz  ¦  «        t          |Ž z  t          ‰
dz  ¦  «        t          |Ž z  z    
                    |t          dt          z  ¦  «        |z  ¦  «        z    |d‰
‰z  z  |¦  «        z   S t          ¦   «                              ‰|||¦  «        S )
Nr   rÂ   c                 óÚ   •— g | ]g}d |z  dz   ‰k     ¯t           j        |z  t          d |z  dz   ¦  «        z  dd|z  dz   z  ‰d |z  dz   z  z  dd|z  z  z  t          d|z  ¦  «        z  z  ‘ŒhS ©r  rœ   r<   r*   rÙ  ©rÇ   rb   r`   ru   s     €€r7   rÈ   z*fresnels._eval_aseries.<locals>.<listcomp>Ü	  s�   ø€ ð 6ð 6ð 6à¨¨1©¨q©°1ª¨õ ” Ñ!¥I¨a°©c°A©gÑ$6Ô$6Ñ6Ø�a˜‘c˜A‘g‘,  Q q¡S¨1¡W¡Ñ-°°A°a±C±Ñ8½À1ÀQÁ3¹¼ÑGñIà)4¨¨r9   r<   r*   c                 óæ   •— g | ]m}d |z  dz   ‰k     ¯t           j        |z  t          d |z  dz
  ¦  «        z  dd|z  dz   z  ‰d |z  dz   z  z  dd|z  dz
  z  z  t          d|z  dz
  ¦  «        z  z  ‘ŒnS ©r  r<   r*   rÙ  r&  s     €€r7   rÈ   z*fresnels._eval_aseries.<locals>.<listcomp>ß	  ó™   ø€ ð 6ð 6ð 6à¨¨1©¨q©°1ª¨õ œ]¨AÑ-µ	¸!¸A¹#À¹'Ñ0BÔ0BÑBØ�a˜‘c˜A‘g‘,  Q q¡S¨1¡W¡Ñ-°°A°a±C¸!±G±Ñ<½YÀqÈÁsÈQÁwÑ=OÔ=OÑOñQà)4¨¨r9   c                 óD   — g | ]}t          d t          z  ¦  «         |z  ‘ŒS r‹  ©r   r   ©rÇ   rY   s     r7   rÈ   z*fresnels._eval_aseries.<locals>.<listcomp>ã	  ó(   € Ð*Ð*Ð* 1•$�q�‘t‘*”*�˜Q‘Ð*Ð*Ð*r9   c                 óD   — g | ]}t          d t          z  ¦  «         |z  ‘ŒS r‹  r+  r,  s     r7   rÈ   z*fresnels._eval_aseries.<locals>.<listcomp>ä	  r-  r9   r–   )rÉ   rÃ   r   rL   r+   rÎ   r†   r$   r   r#   r»   r   r   rÏ   rÐ   ©r1   r`   rÑ   r4   r´   rÃ   rÒ   rÝ  rÞ  rÖ   ru   r×   s    `        @€r7   rÐ   zfresnels._eval_aseriesÒ	  s™  øøø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆð •Q”Z¥!¤* Ð-Ð-Ñ-Ø”	˜!”ˆAð6ð 6ð 6ð 6ð 6å  1™+œ+ð6ñ 6ô 6ˆAð �A�a‘C‘�	ð 6ð 6ð 6ð 6ð 6å  1™+œ+ð6ñ 6ô 6ñ 6ˆAð +Ð*¨Ð*Ñ*Ô*ˆAØ*Ð*¨Ð*Ñ*Ô*ˆAØ�aœjÐ(Ð(��¨bˆAð •Q”V‘8�s 1 a¡4™yœy­¨a¨Ñ0µ3°q¸!±t±9´9½SÀ!¸WÑ3DÑDß’$�q�$˜q¥™t™*œ* Q™,Ñ'Ô'ñ(Ø*/¨%°°!°Q±$±¸Ñ*:Ô*:ñ;ð ;õ ‰wŒw×$Ò$ Q¨¨q°$Ñ7Ô7Ð7r9   )rÙ   rÚ   rÛ   rÜ   r$   r½  r   rM   r  rß   r   rc   ró   rž   r™   rn  rÀ   rÐ   rà   rá   s   @r7   rŽ   rŽ   O	  sÏ   ø€ € € € € ðSð Sðh €IØŒUˆF€EàØð	mð 	mñ „Wñ „\ð	mðað að aðeð eð eð[ð [ð [ð3ð 3ð 3ð
#ð #ð #ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8r9   rŽ   c                   óx   ‡ — e Zd ZdZeZej        Ze	e
d„ ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ fd„Zˆ xZS )	r�   au  
    Fresnel integral C.

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

    This function is defined by

    .. math:: \operatorname{C}(z) = \int_0^z \cos{\frac{\pi}{2} t^2} \mathrm{d}t.

    It is an entire function.

    Examples
    ========

    >>> from sympy import I, oo, fresnelc
    >>> from sympy.abc import z

    Several special values are known:

    >>> fresnelc(0)
    0
    >>> fresnelc(oo)
    1/2
    >>> fresnelc(-oo)
    -1/2
    >>> fresnelc(I*oo)
    I/2
    >>> fresnelc(-I*oo)
    -I/2

    In general one can pull out factors of -1 and $i$ from the argument:

    >>> fresnelc(-z)
    -fresnelc(z)
    >>> fresnelc(I*z)
    I*fresnelc(z)

    The Fresnel C integral obeys the mirror symmetry
    $\overline{C(z)} = C(\bar{z})$:

    >>> from sympy import conjugate
    >>> conjugate(fresnelc(z))
    fresnelc(conjugate(z))

    Differentiation with respect to $z$ is supported:

    >>> from sympy import diff
    >>> diff(fresnelc(z), z)
    cos(pi*z**2/2)

    Defining the Fresnel functions via an integral:

    >>> from sympy import integrate, pi, cos, expand_func
    >>> integrate(cos(pi*z**2/2), z)
    fresnelc(z)*gamma(1/4)/(4*gamma(5/4))
    >>> expand_func(integrate(cos(pi*z**2/2), z))
    fresnelc(z)

    We can numerically evaluate the Fresnel integral to arbitrary precision
    on the whole complex plane:

    >>> fresnelc(2).evalf(30)
    0.488253406075340754500223503357

    >>> fresnelc(-2*I).evalf(30)
    -0.488253406075340754500223503357*I

    See Also
    ========

    fresnels: Fresnel sine integral.

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Fresnel_integral
    .. [2] https://dlmf.nist.gov/7
    .. [3] https://mathworld.wolfram.com/FresnelIntegrals.html
    .. [4] https://functions.wolfram.com/GammaBetaErf/FresnelC
    .. [5] The converging factors for the fresnel integrals
            by John W. Wrench Jr. and Vicki Alley

    c                 ó|  — | dk     rt           j        S t          |¦  «        }t          |¦  «        dk    r=|d         }t          dz   |dz  z  d| z  dz
  z  d| z  d| z  dz
  z  d| z  dz   z  z  |z  S ||dz   | z  z  t          d¦  «        d| z  z  t          d| z  z  z  z  d| z  dz   t          d| z  ¦  «        z  z  S )	Nr   r<   r–   r*   r  rœ   r  r]   r  r  s       r7   rc   zfresnelc.taylor_termH
  s×   € ð ˆqŠ5ˆ5Ý”6ˆMå˜‘
”
ˆAÝ�>Ñ"Ô" QÒ&Ð&Ø" 2Ô&�Ý˜Q™˜˜q !™t™ Q q¡S¨1¡WÑ-¨q°©s°A°a±C¸!±G©}¸aÀ¹cÀA¹gÑ/FÑGÈ1ÑLÐLà˜Q ™T˜E A™:‘~­¨1©¬°°1±©µb¸1¸Q¹3±iÑ)?Ñ@ÀQÀqÁSÈ1ÁWÍiÐXYÐZ[ÑX[ÉnÌnÑD\Ñ]Ð]r9   c           	      ó4  — t           j        t          z
  dz  t          t           j        t          z   dz  t	          t
          ¦  «        z  |z  ¦  «        t          t          t           j        t          z
  dz  t	          t
          ¦  «        z  |z  ¦  «        z  z   z  S r  r  r˜   s      r7   ró   zfresnelc._eval_rewrite_as_erfU
  r  r9   c           	      ó    — |t          t          dd¦  «        gt          j        t          dd¦  «        gt          dz   |dz  z  dz  ¦  «        z  S )Nr<   r  é   r*   r  )r&   r   r   r†   r   r˜   s      r7   rž   zfresnelc._eval_rewrite_as_hyperX
  sF   € Ø•5�( 1 a™.œ.Ð)­A¬FµH¸QÀ±N´NÐ+CÅbÈ!ÁeÀVÈAÈqÉDÁ[ÐQSÁ^ÑTÔTÑTÐTr9   c           
      ó0  — t           |t          dd¦  «        z  z  t          d¦  «        t          |dz  d¦  «        z  t          | d¦  «        z  z  t	          g dgt          dd¦  «        gt          dd¦  «        dgt           dz   |dz  z  dz  ¦  «        z  S )Nrœ   r  r*   r<   r   r  )r   r   r   r   r'   r˜   s      r7   r™   z!fresnelc._eval_rewrite_as_meijerg[
  s‘   € Ý�1•h˜q !‘n”nÑ$Ñ$­¨Q©¬µ°Q¸±T¸1±´Ñ(=½dÀAÀ2Àq¹k¼kÑ(IÑJÝ˜"˜q˜c¥H¨Q°¡N¤NÐ#3µh¸qÀ!±n´nÀaÐ5HÍ2ÈqÉ5È&ÐQRÐTUÑQUÉ+ÐVXÉ.ÑYÔYñZð 	[r9   c                 ó¨   — ddl m} t          t          d|g¦  «        j        ¦  «        } |t          t          |dz  z  dz  ¦  «        |d|f¦  «        S r  )rj  ri  r   r   rk  r#   r   rm  s        r7   rn  z"fresnelc._eval_rewrite_as_Integral_
  r   r9   c                 óÄ  — ddl m} | j        d                              |||¬¦  «        }|                     |d¦  «        }|t
          j        u r.|                     |dt          |¦  «        j	        rdnd¬¦  «        }|j
        r|S |t
          j        t
          j        fv r.|t
          j        u rdnd}|t
          j        z   |||¦  «        z   S |                      |¦  «        S )	Nr   rÂ   r³   r¶   r·   r¸   r<   r–   )rÉ   rÃ   r+   rº   r»   r   r¼   r¥   r   r`  rP   rL   rN   r†   r0   r"  s           r7   rÀ   zfresnelc._eval_as_leading_termd
  sà   € Ø,Ð,Ð,Ð,Ð,Ð,ØŒi˜Œl×*Ò*¨1°4¸dÐ*ÑCÔCˆØ�xŠx˜˜1‰~Œ~ˆà•1Ô$Ð$Ð$Ø—9’9˜Q ­b°©h¬hÔ.BÐ'K s sÈ�9ÑLÔLˆDØŒ<ð 	#ØˆJØ•a”j¥!Ô"4Ð5Ð5Ð5Ø�QœZÐ'Ð'��¨RˆAØ•Q”V‘8˜e˜e A q™kœkÑ)Ð)à—9’9˜T‘?”?Ð"r9   c                 ó¨  •‡‡
— ddl m} |d         }|t          j        t          j         fv �r| j        d         Š
ˆˆ
fd„t          ‰¦  «        D ¦   «         }dd‰
z  z  gˆˆ
fd„t          d‰¦  «        D ¦   «         z   }d„ |D ¦   «         }d„ |D ¦   «         }|t          j        u rdnd	}	|	t          j        z  t          ‰
dz  ¦  «        t          |Ž z  t          ‰
dz  ¦  «        t          |Ž z  z    
                    |t          dt          z  ¦  «        |z  ¦  «        z    |d‰
‰z  z  |¦  «        z   S t          ¦   «                              ‰|||¦  «        S )
Nr   rÂ   c                 óÚ   •— g | ]g}d |z  dz   ‰k     ¯t           j        |z  t          d |z  dz   ¦  «        z  dd|z  dz   z  ‰d |z  dz   z  z  dd|z  z  z  t          d|z  ¦  «        z  z  ‘ŒhS r%  rÙ  r&  s     €€r7   rÈ   z*fresnelc._eval_aseries.<locals>.<listcomp>}
  s�   ø€ ð 3ð 3ð 3à a¨¡c¨A¡g°¢k kõ ” Ñ!¥I¨a°©c°A©gÑ$6Ô$6Ñ6Ø�a˜‘c˜A‘g‘,  Q q¡S¨1¡W¡Ñ-°°A°a±C±Ñ8½À1ÀQÁ3¹¼ÑGñIà&1 k kr9   r<   r*   c                 óæ   •— g | ]m}d |z  dz   ‰k     ¯t           j        |z  t          d |z  dz
  ¦  «        z  dd|z  dz   z  ‰d |z  dz   z  z  dd|z  dz
  z  z  t          d|z  dz
  ¦  «        z  z  ‘ŒnS r(  rÙ  r&  s     €€r7   rÈ   z*fresnelc._eval_aseries.<locals>.<listcomp>€
  r)  r9   c                 óD   — g | ]}t          d t          z  ¦  «         |z  ‘ŒS r‹  r+  r,  s     r7   rÈ   z*fresnelc._eval_aseries.<locals>.<listcomp>„
  r-  r9   c                 óB   — g | ]}t          d t          z  ¦  «        |z  ‘ŒS r‹  r+  r,  s     r7   rÈ   z*fresnelc._eval_aseries.<locals>.<listcomp>…
  s&   € Ð*Ð*Ð* 1•$�q�‘t‘*”*˜Q‘,Ð*Ð*Ð*r9   r–   )rÉ   rÃ   r   rL   r+   rÎ   r†   r#   r   r$   r»   r   r   rÏ   rÐ   r/  s    `        @€r7   rÐ   zfresnelc._eval_aseriess
  s—  øøø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆð •Q”Z¥!¤* Ð-Ð-Ñ-Ø”	˜!”ˆAð3ð 3ð 3ð 3ð 3å ™(œ(ð3ñ 3ô 3ˆAð �A�a‘C‘�	ð 6ð 6ð 6ð 6ð 6å  1™+œ+ð6ñ 6ô 6ñ 6ˆAð +Ð*¨Ð*Ñ*Ô*ˆAØ*Ð*¨Ð*Ñ*Ô*ˆAØ�aœjÐ(Ð(��¨bˆAð •Q”V‘8�s 1 a¡4™yœy­¨a¨Ñ0µ3°q¸!±t±9´9½SÀ!¸WÑ3DÑDß’$�q�$˜q¥™t™*œ* Q™,Ñ'Ô'ñ(Ø*/¨%°°!°Q±$±¸Ñ*:Ô*:ñ;ð ;õ ‰wŒw×$Ò$ Q¨¨q°$Ñ7Ô7Ð7r9   )rÙ   rÚ   rÛ   rÜ   r#   r½  r   rM   r  rß   r   rc   ró   rž   r™   rn  rÀ   rÐ   rà   rá   s   @r7   r�   r�   ð	  sÍ   ø€ € € € € ðSð Sðh €IØŒE€EàØð	^ð 	^ñ „Wñ „\ð	^ðað að aðUð Uð Uð[ð [ð [ð3ð 3ð 3ð
#ð #ð #ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8r9   r�   c                   óF   ‡ — e Zd ZdZed„ ¦   «         Zˆ fd„Zdd„Zd„ Zˆ xZ	S )r§   zi
    Helper function to make the $\mathrm{erf}(z)$ function
    tractable for the Gruntz algorithm.

    c                 ó,   — |j         rt          j        S d S r‹   )rP   r   rM   )rW   rX   s     r7   rZ   z
_erfs.evalœ
  s   € àŒ;ð 	Ý”5ˆLð	ð 	r9   c                 óZ  •‡
— ddl m} |d         }|t          j        u ra| j        d         Š
ˆ
fd„t          |¦  «        D ¦   «         } |d‰
d|z  dz   z  z  |¦  «        }t          |Ž                      |||¦  «        |z   S |                     t          ¦  «        }	|	t          j        u ra| j        d         Š
ˆ
fd„t          |¦  «        D ¦   «         } |d‰
d|z  dz   z  z  |¦  «        }t          |Ž                      |||¦  «        |z   S t          ¦   «                              ||||¦  «        S )Nr   rÂ   c                 óÌ   •— g | ]`}d t          t          ¦  «        z  t          d|z  ¦  «        z  t          d¦  «         | z  z  t          |¦  «        z  d ‰z  d|z  d z   z  z  ‘ŒaS ©r<   r*   r  ©r   r   r   r   rÆ   s     €r7   rÈ   z'_erfs._eval_aseries.<locals>.<listcomp>¨
  ó’   ø€ ð Nð Nð NØ?@ð •4�‘8”8‘�i¨¨!©™nœnÑ,­qØñ0ô 0ð /Ø�rñ.ñ Ý$ Q™<œ<ñ(Ø+,¨Q©3°!°A±#¸±'Ñ*:ñ;ð Nð Nð Nr9   r<   r*   c                 óÌ   •— g | ]`}d t          t          ¦  «        z  t          d|z  ¦  «        z  t          d¦  «         | z  z  t          |¦  «        z  d ‰z  d|z  d z   z  z  ‘ŒaS rA  rB  rÆ   s     €r7   rÈ   z'_erfs._eval_aseries.<locals>.<listcomp>³
  rC  r9   )rÉ   rÃ   r   rL   r+   rÎ   r   rv  rT   r
   rÏ   rÐ   )r1   r`   rÑ   r4   r´   rÃ   rÒ   ÚlÚorY   ru   r×   s             @€r7   rÐ   z_erfs._eval_aseries¡
  sr  øø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�a”ˆð •A”JÐÐØ”	˜!”ˆAðNð Nð Nð NÝDIÈ!ÁHÄHðNñ Nô NˆAà��a˜˜A˜a™C !™G™‘n aÑ(Ô(ˆAå˜�G×*Ò*¨1¨a°Ñ6Ô6¸Ñ:Ð:ð ×*Ò*­1Ñ-Ô-ˆØ•”
ˆ?ˆ?Ø”	˜!”ˆAðNð Nð Nð NÝDIÈ!ÁHÄHðNñ Nô NˆAà��a˜˜A˜a™C !™G™‘n aÑ(Ô(ˆAå˜�G×*Ò*¨1¨a°Ñ6Ô6¸Ñ:Ð:õ ‰wŒw×$Ò$ Q¨¨q°$Ñ7Ô7Ð7r9   r<   c                 ó¢   — |dk    r:| j         d         }dt          t          ¦  «        z  d|z  t          |¦  «        z  z   S t	          | |¦  «        ‚)Nr<   r   r]   r*   )r+   r   r   r§   r   ©r1   rA   ru   s      r7   rB   z_erfs.fdiff¼
  sI   € Ø�qŠ=ˆ=Ø”	˜!”ˆAØ•d�2‘h”h‘;  1¡¥U¨1¡X¤X¡Ñ-Ð-å$ T¨8Ñ4Ô4Ð4r9   c                 ó`   — t           j        t          |¦  «        z
  t          |dz  ¦  «        z  S r    )r   rM   r;   r   r˜   s      r7   Ú_eval_rewrite_as_intractablez"_erfs._eval_rewrite_as_intractableÃ
  s#   € Ý”�˜A™œ‘¥ A q¡D¡	¤	Ñ)Ð)r9   rØ   )
rÙ   rÚ   rÛ   rÜ   rÞ   rZ   rÐ   rB   rJ  rà   rá   s   @r7   r§   r§   –
  s€   ø€ € € € € ðð ð
 ðð ñ „[ðð8ð 8ð 8ð 8ð 8ð65ð 5ð 5ð 5ð*ð *ð *ð *ð *ð *ð *r9   r§   c                   óF   ‡ — e Zd ZdZˆ fd„Zd	d„Zd„ Zˆ fd„Zd
ˆ fd„	Zˆ xZ	S )re  z~
    Helper function to make the $\mathrm{Ei}(z)$ and $\mathrm{li}(z)$
    functions tractable for the Gruntz algorithm.

    c                 óV  •‡— ddl m} |d         t          j        t          j        fvr$t          ¦   «                              ||||¦  «        S | j        d         Šˆfd„t          |¦  «        D ¦   «         } |d‰|dz   z  z  |¦  «        }t          |Ž  
                    |||¦  «        |z   S )Nr   rÂ   c                 óF   •— g | ]}t          |¦  «        d ‰z  |d z   z  z  ‘ŒS rØ   r{  rÆ   s     €r7   rÈ   z&_eis._eval_aseries.<locals>.<listcomp>Õ
  s0   ø€ Ð=Ð=Ð=¨q�Y�q‰\Œ\˜Q˜q™S A¨¡E™NÑ*Ð=Ð=Ð=r9   r<   )rÉ   rÃ   r   rL   rN   rÏ   rÐ   r+   rÎ   r   rv  )
r1   r`   rÑ   r4   r´   rÃ   rE  rF  ru   r×   s
           @€r7   rÐ   z_eis._eval_aseriesÏ
  sµ   øø€ Ø,Ð,Ð,Ð,Ð,Ð,Ø�Œ8�AœJ­Ô(:Ð;Ð;Ð;Ý‘7”7×(Ò(¨¨E°1°dÑ;Ô;Ð;àŒI�aŒLˆØ=Ð=Ð=Ð=µE¸!±H´HÐ=Ñ=Ô=ˆØˆE�!�A˜˜A™‘J‘, Ñ"Ô"ˆå�Q�×&Ò& q¨!¨TÑ2Ô2°QÑ6Ð6r9   r<   c                 ó†   — |dk    r,| j         d         }t          j        |z  t          |¦  «        z
  S t	          | |¦  «        ‚)Nr<   r   )r+   r   rM   re  r   rH  s      r7   rB   z
_eis.fdiffÛ
  s=   € Ø�qŠ=ˆ=Ø”	˜!”ˆAÝ”5˜1‘9�t A™wœwÑ&Ð&å$ T¨8Ñ4Ô4Ð4r9   c                 óB   — t          | ¦  «        t          |¦  «        z  S r‹   )r   rQ  r˜   s      r7   rJ  z!_eis._eval_rewrite_as_intractableâ
  s   € Ý�A�2‰wŒw•r˜!‘u”u‰}Ðr9   c                 óê   •— | j         d                              |d¦  «        }|j        r' | j        | j         Ž }|                     |||¬¦  «        S t          ¦   «                              |||¬¦  «        S )Nr   r³   )r+   r¥   rP   rJ  rÀ   rÏ   )r1   r4   r´   rµ   rr  rx  r×   s         €r7   rÀ   z_eis._eval_as_leading_termå
  st   ø€ ØŒY�qŒ\×Ò  1Ñ%Ô%ˆØŒ:ð 	DØ1�Ô1°4´9Ð=ˆAØ×*Ò*¨1°4¸dÐ*ÑCÔCÐCÝ‰wŒw×,Ò,¨Q°TÀÐ,ÑEÔEÐEr9   r   c                 óæ   •— | j         d                              |d¦  «        }|j        r& | j        | j         Ž }|                     |||¦  «        S t          ¦   «                              |||¦  «        S re   )r+   r¥   rP   rJ  rv  rÏ   rw  s          €r7   rv  z_eis._eval_nseriesì
  sk   ø€ ØŒY�qŒ\×Ò  1Ñ%Ô%ˆØŒ:ð 	/Ø1�Ô1°4´9Ð=ˆAØ—?’? 1 a¨Ñ.Ô.Ð.Ý‰wŒw×$Ò$ Q¨¨4Ñ0Ô0Ð0r9   rØ   r|  )
rÙ   rÚ   rÛ   rÜ   rÐ   rB   rJ  rÀ   rv  rà   rá   s   @r7   re  re  Ç
  s¡   ø€ € € € € ðð ð	7ð 	7ð 	7ð 	7ð 	7ð5ð 5ð 5ð 5ðð ð ðFð Fð Fð Fð Fð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1r9   re  N)T)PrÜ   Ú
sympy.corer   Úsympy.core.addr   Úsympy.core.cacher   Úsympy.core.functionr   r   r   Úsympy.core.logicr	   Úsympy.core.numbersr
   r   r   r   Úsympy.core.relationalr   Úsympy.core.powerr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Úsympy.core.sympifyr   Ú(sympy.functions.combinatorial.factorialsr   r   r   Ú$sympy.functions.elementary.complexesr   r   r   Ú#sympy.functions.elementary.integersr   r   Ú(sympy.functions.elementary.miscellaneousr   r   Ú&sympy.functions.elementary.exponentialr   r   r    Ú%sympy.functions.elementary.hyperbolicr!   r"   Ú(sympy.functions.elementary.trigonometricr#   r$   r%   Úsympy.functions.special.hyperr&   r'   r8   r;   r¬   r°   r  rF   rR   rS   rQ  r¢   rŒ  r]  rž  r¸  r¦  r¥  ra  rb  r  rŽ   r�   r§   re  r  r9   r7   ú<module>re     s=  ððFð Fð "Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ %Ð %Ð %Ð %Ð %Ð %Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø &Ð &Ð &Ð &Ð &Ð &Ø [Ð [Ð [Ð [Ð [Ð [Ð [Ð [Ð [Ð [Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð*l-ð l-ð l-ð l-ð l-ˆ/ñ l-ô l-ð l-ð^Hð Hð Hð Hð Hˆ?ñ Hô Hð HðD}Bð }Bð }Bð }Bð }Bˆ?ñ }Bô }Bð }Bð@O!ð O!ð O!ð O!ð O!ˆ?ñ O!ô O!ð O!ðbZ$ð Z$ð Z$ð Z$ð Z$ˆ_ñ Z$ô Z$ð Z$ðzP;ð P;ð P;ð P;ð P;ˆñ P;ô P;ð P;ðf[ð [ð [ð [ð [ˆoñ [ô [ð [ðBt@ð t@ð t@ð t@ð t@ˆñ t@ô t@ð t@ðn}?ð }?ð }?ð }?ð }?ˆ_ñ }?ô }?ð }?ð@ ð  ð  ðFeð eð eð eð eˆñ eô eð eðNZ+ð Z+ð Z+ð Z+ð Z+ˆñ Z+ô Z+ð Z+ð@<Jð <Jð <Jð <Jð <J˜Oñ <Jô <Jð <Jð~Eð Eð Eð Eð EÐ	ñ Eô Eð EðPJ@ð J@ð J@ð J@ð J@Ð	ñ J@ô J@ð J@ðXgð gð gð gð gÐ
ñ gô gð gðTnð nð nð nð nÐ
ñ nô nð nðj5-ð 5-ð 5-ð 5-ð 5-�oñ 5-ô 5-ð 5-ðp^8ð ^8ð ^8ð ^8ð ^8ˆñ ^8ô ^8ð ^8ðB^8ð ^8ð ^8ð ^8ð ^8ˆñ ^8ô ^8ð ^8ðL.*ð .*ð .*ð .*ð .*ˆOñ .*ô .*ð .*ðb*1ð *1ð *1ð *1ð *1ˆ?ñ *1ô *1ð *1ð *1ð *1r9   