ó
    Š*£h5H  ã                   óž   • S SK JrJrJrJrJr  S SKJrJr  S SK	J
r
  S SKJr  S SKJrJrJr  S SKJrJr  S SKJrJr  S rS	 r " S
 S\5      rg)é    )ÚFunctionÚSÚMulÚPowÚAdd)ÚorderedÚdefault_sort_key)Úexpand_func)ÚDummy)ÚgammaÚsqrtÚsin)ÚfactorÚcancel)ÚsiftÚuniqc                 ó¬  • U R                  [        5      n U R                  [        5      nU Vs1 s H  n[	        U[        5      (       d  M  UiM     nnU(       d  U $ X-  nXR                  5       R                  [        5      -  nU(       a¯  [        [        U5       VVs/ s H?  n[        5       XDR                  " UR                   Vs/ s H  n[        USS9PM     sn6 4PMA     snn6 u  pgnU R                  [        [        Xv5      5      5      n	[        U	SS9R                  [        [        Xh5      5      5      $ [        U SS9$ s  snf s  snf s  snnf )a}  
Simplify expressions with gamma functions.

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

This function takes as input an expression containing gamma
functions or functions that can be rewritten in terms of gamma
functions and tries to minimize the number of those functions and
reduce the size of their arguments.

The algorithm works by rewriting all gamma functions as expressions
involving rising factorials (Pochhammer symbols) and applies
recurrence relations and other transformations applicable to rising
factorials, to reduce their arguments, possibly letting the resulting
rising factorial to cancel. Rising factorials with the second argument
being an integer are expanded into polynomial forms and finally all
other rising factorial are rewritten in terms of gamma functions.

Then the following two steps are performed.

1. Reduce the number of gammas by applying the reflection theorem
   gamma(x)*gamma(1-x) == pi/sin(pi*x).
2. Reduce the number of gammas by applying the multiplication theorem
   gamma(x)*gamma(x+1/n)*...*gamma(x+(n-1)/n) == C*gamma(n*x).

It then reduces the number of prefactors by absorbing them into gammas
where possible and expands gammas with rational argument.

All transformation rules can be found (or were derived from) here:

.. [1] https://functions.wolfram.com/GammaBetaErf/Pochhammer/17/01/02/
.. [2] https://functions.wolfram.com/GammaBetaErf/Pochhammer/27/01/0005/

Examples
========

>>> from sympy.simplify import gammasimp
>>> from sympy import gamma, Symbol
>>> from sympy.abc import x
>>> n = Symbol('n', integer = True)

>>> gammasimp(gamma(x)/gamma(x - 3))
(x - 3)*(x - 2)*(x - 1)
>>> gammasimp(gamma(n + 3))
gamma(n + 3)

F)Úas_comb)Úrewriter   Úatomsr   Ú
isinstanceÚas_dummyÚzipr   r   ÚfuncÚargsÚ
_gammasimpÚxreplaceÚdict)
ÚexprÚfÚiÚgammasÚfiÚaÚdumÚfunÚsimpÚds
             ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/simplify/gammasimp.pyÚ	gammasimpr*   
   s(  € ðd �<‰<œÓ€Dð
 	�
‰
”8Ó€AáÓ3š�Aœj¨¬E×2�a™€FÐ3ÞØˆØ�K€Aà	�M‰M‹O×!Ñ!¤(Ó+Ñ+€AÞÜô ˜a”jô"ò !�ô ‹W�bŸ'š'Ø68·g²gó$?Ú6=°”
˜1 eÔ,±gñ$?ð @ó Aá ò"ð #‰ˆ�$ð �M‰Mœ$œs 3›}Ó-Ó.ˆÜ˜! UÑ+×4Ñ4´T¼#¸c».Ó5IÓJÐJä�d EÑ*Ð*ùò 4ùò$?ùó"s#   ¯EÁEÂ )E
Ã	EÃ	E
ÅE
c                 ó*  ^^• U R                  [        S 5      n T(       a  U R                  [        S 5      n OU R                  [        S 5      n SUU4S jjm[        U 5      nT" U5      n X:w  a  [        U 5      n U R                  [        S 5      n U $ )a  
Helper function for gammasimp and combsimp.

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

Simplifies expressions written in terms of gamma function. If
as_comb is True, it tries to preserve integer arguments. See
docstring of gammasimp for more information. This was part of
combsimp() in combsimp.py.
c                 ó<   • [        SU S-
  R                  5       5      $ ©Né   )Ú_rfÚexpand©Úns    r)   Ú<lambda>Ú_gammasimp.<locals>.<lambda>a   s   € ”#�a˜!˜a™%Ÿ™Ó)Ô*ó    c                 ó   • [        US-   5      $ r-   ©r   ©r$   Úbs     r)   r3   r4   e   s   € œ˜q 1™uœr5   c                 ó4   • [        X-   5      [        U 5      -  $ ©Nr7   r8   s     r)   r3   r4   h   s   € œ˜q™u›¤e¨A£hÒ.r5   c                 óà  >^(^)^*^+^,^-• U R                   (       a  U $ S nU+4S jm+US:X  a8  U R                  " U R                   Vs/ s H  nT/" X1S-   5      PM     sn6 n US-  nU R                  (       d  U $ US:X  a^  U R	                  5       u  pEU(       d  U $ U(       a7  T/" [
        R                  " U5      US-   5      [
        R                  " U5      -  $ US-  nUS:X  GaW  [        U R                  T+SS9u  pg[        U6 n[        U6 n	U	R                  5       u  p«[        S5       HÖ  n[        [        [
        R                  " U
5      5      5      n[        U5       H}  u  pÞUR                  (       d  M  [        UR                   Vs/ s H  nT/" U" Xû-  5      US-   5      PM     sn6 R                  5       u  pëXäU'   UR!                  ["        5      (       a  M}    O   [        U6 n
US:X  a  T+" U
5      (       d    OXºpºMØ     XŠ-  U-  n U R                  (       a  T+" U5      (       d  T+" U
5      (       d  U $ US-  nUS:X  a   U nT/" U S	5      n U U:X  a  U $ M  / n/ n/ n/ nS
 n[        [        U R                  5      5      nU(       až  UR%                  5       R                  5       u  nn	U" U5      u  nnU(       a  UR'                  U5        OUSL a  UR'                  U5        U" U	5      u  nnU(       a  UR'                  U5        OUSL a  UR'                  U5        U(       a  Mž  T.(       Gd¦  UUU4UUU44 GHG  u  nnn/ nU(       Ga0  UR%                  5       m*T*R(                  (       a  UR+                  T*5        M<  [        U5       HÒ  u  nnT*U-   S-
  nUR,                  (       d  M!  UR+                  [.        R0                  5        UR+                  [3        [.        R0                  T*-  5      5        UR%                  U5        US:”  a%  UR'                  U*4S j[        U5       5       5        O+US:  a%  UR'                  U*4S j[        U* 5       5       5          O   UR+                  T*5        U(       a  GM0  UUSS& GMJ     UUUU4UUUU44 GH  u  nn n!n" U H)  nU  H  m-UST--  -
  nUR,                  (       d  M    O   M)    O   M;  UR5                  U5        U R5                  T-5        US:”  a%  U!R'                  U-4S j[        U5       5       5        O+US:  a%  U"R'                  U-4S j[        U* 5       5       5        UR+                  T-[.        R6                  -   5        U!R+                  SST--  S-
  -  5        U"R+                  [9        [.        R0                  5      5        GM     S m(U(4S jn#UUU4UUU44 H  u  nnnU#" UUU5        M     US:¼  Ga/  U)U,4S jn$0 m,U,4S jm)U)U,4S jn%UU-   U-   U-    H  n U%" U 5        M     UUU4UUU44 Hñ  u  nnn/ nU(       aÜ  UR%                  5       n&Sn'U'(       a©  Sn'U$" UU&5      m-T-b=  UR5                  T-5        T-U&:w  a  UR+                  T-U&-  5        U%" T-U&-  5        U&S-  n&Sn'U$" UU&S-
  5      m-T-bF  UR5                  T-5        T-U&S-
  :w  a%  UR+                  U&S-
  T--  5        U%" U&S-
  T--  5        U&S-  n&Sn'U'(       a  M©  UR+                  U&5        U(       a  MÜ  UUSS& Mó     [        U V&s/ s H  n&[#        U&5      PM     sn&6 [        U V&s/ s H  n&[#        U&5      PM     sn&6 -  [        U6 -  [        U6 -  $ s  snf s  snf s  sn&f s  sn&f )z.Simplify products of gamma functions further. c                 ó”   • U R                  [        5      nU R                  [        S 5      nUR                  [        5      U:  a  Un U $ )Nc                 óf   • [        SU S-
  R                  5       5      R                  [         S 5      $ )Nr.   c                 ó4   • [        X-   5      [        U 5      -  $ r;   r7   r8   s     r)   r3   ÚU_gammasimp.<locals>.rule_gamma.<locals>.gamma_rat.<locals>.<lambda>.<locals>.<lambda>t   s   € ¬E°!±%«L¼¸q»Ò,Ar5   )r/   r0   Úreplacer1   s    r)   r3   ÚC_gammasimp.<locals>.rule_gamma.<locals>.gamma_rat.<locals>.<lambda>s   s+   € ¬C°°A¸±E·>±>Ó3Có -ß‘'œ#ÑAÓBð-Cr5   )Úcountr   rA   )ÚxÚwasÚxxs      r)   Ú	gamma_ratÚ1_gammasimp.<locals>.rule_gamma.<locals>.gamma_ratp   s@   € à—'‘'œ%“.ˆCØ—‘œ5ñ #Có DˆBà�x‰xœ‹ Ó$Ø�ØˆHr5   c                 óf  >• [        U [        5      (       a  gU R                  (       d  U R                  (       a  [	        U4S jU R
                   5       5      $ U R                  (       aH  U R                  R                  (       d  U R                  R                  (       a  T" U R                  5      $ g)NTc              3   ó4   >#   • U  H  nT" U5      v •  M     g 7fr;   © )Ú.0ÚxiÚgamma_factors     €r)   Ú	<genexpr>ÚG_gammasimp.<locals>.rule_gamma.<locals>.gamma_factor.<locals>.<genexpr>~   s   øé € Ð=²f°™<¨×+Ð+²fùó   ƒF)r   r   Úis_AddÚis_MulÚanyr   Úis_PowÚexpÚ
is_integerÚbaseÚis_positive)rD   rN   s    €r)   rN   Ú4_gammasimp.<locals>.rule_gamma.<locals>.gamma_factory   sf   ø€ ä˜!œU×#Ñ#ØØ�x�x˜1Ÿ8Ÿ8ÜÔ=°a·f²fÓ=Ó=Ð=Ø�x�x˜QŸU™U×-×-°·±×1C×1CÙ# A§F¡FÓ+Ð+Ør5   r   r.   é   T)Úbinaryé   é   c                 óä   • U [         R                  L a  S / 4$ U R                  5       u  pUR                  (       a2  [	        U[
        5      (       a  SUR                  S   /U-  4$ SU/U-  4$ SU /4$ )NTr   F)r   ÚOneÚas_base_expÚ
is_Integerr   r   r   )Úpr9   Úes      r)   Ú	explicateÚ1_gammasimp.<locals>.rule_gamma.<locals>.explicateº   sl   € Ø”A—E‘EŠzØ˜R�x�Ø—=‘=“?‰DˆAØ�|�|Ü˜a¤×'Ñ'Ø !§&¡&¨¡) ¨Q¡Ð.Ð.à  1 # a¡%˜<Ð'à˜q˜c�zÐ!r5   Fc              3   ó4   >#   • U  H  nS T-
  U-   v •  M     g7f)r.   NrK   ©rL   ÚkÚg1s     €r)   rO   Ú1_gammasimp.<locals>.rule_gamma.<locals>.<genexpr>ê   s   øé € Ð(FºX¸¨¨R©°!®ºXùrQ   c              3   ó0   >#   • U  H  nT* U-
  v •  M     g 7fr;   rK   rh   s     €r)   rO   rk   ì   s   øé € Ð(Dº)°Q¨"¨¨q®º)ùs   ƒNc              3   ó4   >#   • U  H  nS T-  U-   v •  M     g7f)r[   NrK   ©rL   ri   Úys     €r)   rO   rk     s   øé € Ð!<²8¨a ! A¡#¨¦'²8ùrQ   c              3   ó:   >#   • U  H  nS T-  S-
  U-
  v •  M     g7f)r[   r.   NrK   rn   s     €r)   rO   rk     s   øé € Ð!A²y°! ! A¡#¨¡'¨A¦+²yùs   ƒc                 ó²  • [        [        U 5      5      n[        [        U5      5       GH%  n[        US-   [        U5      5       Vs/ s H  o1U   X   -
  S-  U4PM     nnU Hç  u  pSUR                  S:X  d  M  UR
                  S:w  d  M)  UR
                  nU/n[        [        SU5      5      nU HN  u  p“Xi-  n
U
R                  (       d  M  X¨;   d  M#  UR                  U
5        UR                  U5        U(       a  MN    O   M£  [        U5       H  u  p#X   nU R                  U5        X·U'   M      UR
                  US   USS  4s  s  $    GM(     g s  snf )Nr.   r   )
Úlistr   ÚrangeÚlenrc   Úqrb   ÚremoveÚappendÚ	enumerate)ÚcoeffsÚur!   ÚjÚdjÚoner2   ÚgotÚgetr(   ÚmÚcs               r)   Ú_runÚ,_gammasimp.<locals>.rule_gamma.<locals>._run"  s)  € ô œ˜f›Ó&�Üœs 1›vŸ�AÜ;@ÀÀQÁÌÈAËÔ;OÓPÒ;O°a˜q™T A¡D™[¨AÑ-¨qÓ1Ñ;O�BÐPÛ"$™˜ØŸ5™5 A�:¨#¯%©%°1­*Ø #§¡˜AØ#$ #˜CÜ"&¤u¨Q°£{Ó"3˜CÛ(*¡ Ø$%¡C Ø#$§<§<¡<°AµHØ$'§J¡J¨q¤MØ$'§J¡J¨q¤Mß+.¨3Ù(-ñ )+ñ !)Ü(1°#®¡ Ø$%¡D Ø &§¡¨aÔ 0Ø)* A£ñ )7ð $'§5¡5¨#¨a©&°#°a°b°'Ð#9Ô9ô% #%ò 'ùÚPs   ÁEc                 ó¨  >• 0 nU  H6  nUR                  5       u  pVUR                  U/ 5      R                  U5        M8     [        U[        S9nU Hä  n[        X6   5      n/ n	 T" U5      n
U
c  O«U
u  p¼nU H;  nXn-   S-
  n[        [        Xì-
  5      5       H  nUR                  UU-
  5        M     M=     X¶U-   -  nUR                  S[        R                  -  [        US-
  5      S-  -  U[        R                  U-
  -  -  5        U	R                  U5        M·  U Vs/ s H  oVU-   PM	     snU	-   X6'   Mæ     / nU H
  nXCU   -  nM     X@S S & g s  snf )N)Úkeyr.   r[   )
Úas_coeff_AddÚ
setdefaultrw   Úsortedr	   rs   Úintr   ÚPiÚHalf)r"   ÚnumerÚdenomÚratsÚgr�   ÚresidÚkeysry   ÚnewÚrunr2   ÚuiÚotherrz   Úconri   r‚   s                    €r)   Ú	_mult_thmÚ1_gammasimp.<locals>.rule_gamma.<locals>._mult_thm<  sh  ø€ ð
 �Û�AØ Ÿ~™~Ó/‘H�AØ—O‘O E¨2Ó.×5Ñ5°aÖ8ñ  ô
 ˜dÔ(8Ñ9�Û!�EÜ# D¡KÓ0�FØ�CØÙ" 6›l˜Ø™;Ø!ð (+™˜˜uó "'˜AØ"'¡)¨a¡-˜CÜ%*¬3¨q©v«;Ö%7 Ø %§¡¨S°1©WÖ 5ó &8ñ "'ð
  ¨¡™n˜ð Ÿ™ a¬¯©¡f´°!°a±%³¸±
Ñ%;Ø%&¬¯©°#©Ñ%6ñ&7ô 8ð Ÿ
™
 3œñ3 ñ8 7=Ó"=²f°¨1¤9±fÑ"=ÀÑ"C�D“Kñ? "ðD �Û!�EØ˜e™Ñ$’Añ "ð ‘q‘	ùò #>s   ÄEc                 ó€  >• U (       d  g T
" U5      u  p#U  H¥  nTU   u  pVX6:w  d2  UR                  U5      (       d  U[        5       :w  d  U[        5       :w  a  MC  [        [        X-  5      R                  5      n[        UR                  5      n[        UR                  5      n	US:X  d  M•  US:”  d  U	S:”  d  M£  Us  $    g )Nr   )ÚintersectionÚsetrt   r   Úfree_symbols)ÚlrD   ÚS1ÚT1ro   ÚS2ÚT2r$   r9   r�   Ú
compute_STÚinvs             €€r)   Ú
find_fuzzyÚ2_gammasimp.<locals>.rule_gamma.<locals>.find_fuzzy{  sœ   ø€ ÞØÙ# A›‘�Û�AØ  ™V‘F�BØ“x¨¯©¸×(;Ñ(;Ø%'¬3«5£[°B¼#»%³KÙ ô œF 1¡3›K×4Ñ4Ó5�AÜ˜AŸN™NÓ+�AÜ˜AŸN™NÓ+�Aà˜A•v 1 q£5¨A°­EØ šò r5   c                 óÞ   >• U T;   a  TU    $ U R                   U R                  [        5      R                  U R                  [        5       Vs1 s H  oR
                  iM     sn5      4$ s  snf r;   )rœ   r   r   Úunionr   rV   )r   rd   r£   s     €r)   r¢   Ú2_gammasimp.<locals>.rule_gamma.<locals>.compute_ST•  s\   ø€ Ø˜3“;Ø˜t™9Ð$Ø×)Ñ)¨4¯:©:´hÓ+?×+EÑ+EØ(,¯
©
´3¬Ó8ª 1Ÿœ©Ñ8ó,:ð ;ð ;ùÚ8s   ÁA*
c                 ó   >• T" U 5      TU '   g r;   rK   )r   r¢   r£   s    €€r)   Ú	update_STÚ1_gammasimp.<locals>.rule_gamma.<locals>.update_ST›  s   ø€ Ù& tÓ,��D’	r5   )Úis_Atomr   r   rS   Úargs_cncr   Ú
_from_argsr   Úas_numer_denomrs   rr   r   Ú	make_argsrx   rR   r   Úhasr   ÚpopÚextendrW   rw   rb   r   rŠ   r   rv   r‹   r   )0r   ÚlevelrG   rD   r   ÚncÚTÚFÚ	gamma_indr(   ÚndÚddÚipassr!   Únir$   rE   Únumer_gammasÚdenom_gammasÚnumer_othersÚdenom_othersre   Únewargsr2   Úisgr�   r"   rŒ   r�   r’   Úg2ÚngÚdgÚnoÚdor—   r¤   rª   r�   Úcontr‚   r¢   rj   rN   r£   ro   r   Ú
rule_gammas0                                           @@@@@@€€r)   rÉ   Ú_gammasimp.<locals>.rule_gammaj   s  þ€ ð �<�<ØˆKò	õ	ð �A‹:Ø—9’9ÀÇÂÓKÂ¸A™z¨!°Q©YÖ7ÁÑKÐLˆDØ�Q‰JˆEà�{�{ØˆKð �A‹:Ø—}‘}“‰HˆDÞØ�ÞÙ!¤#§.¢.°Ó"6¸À¹	ÓBÄ3Ç>Â>ÐRTÓCUÑUÐUØ�Q‰JˆEð �AŒ:Ü˜Ÿ	™	 <¸Ñ=‰DˆAÜ˜Q˜ˆIÜ�Q�ˆAà×%Ñ%Ó'‰FˆBÜ˜qž�ÜœG¤C§M¢M°"Ó$5Ó6Ó7�Ü& tž_‘E�AØ—y—y‘yÜ!$ØLNÏGÊGó'UÚLSÀq™J¡y°±£¸À¹	ÖBÉGñ'Uð "ç,™nÓ.ñ ˜ð #%˜Q™Ø!Ÿv™v¤eŸ}›}Ù!ñ -ô ˜$�Z�Ø˜Q“;¡|°B×'7Ñ'7ÙØ’Bñ "ð ‘< ‘?ˆDØ—K—K¡\°"×%5Ñ%5¹Àb×9IÑ9IØ�Ø�Q‰JˆEð �A‹:ØØ�Ù! $¨Ó*�Ø˜3“;Ø�Kñ	 ð ˆØˆØˆØˆò
	"ô ”w˜tŸy™yÓ)Ó*ˆÞØ—;‘;“=×/Ñ/Ó1‰DˆAˆqÙ˜q“\‰FˆC�ÞØ×#Ñ# AÕ&Ø˜’Ø×#Ñ# AÔ&Ù˜q“\‰FˆC�ÞØ×#Ñ# AÕ&Ø˜’Ø×#Ñ# AÔ&÷ ˆg÷ ð ˜l¨Lð*:à! <°Ð>ô)@Ñ$�˜˜uð �ßØŸ™›�BØ—}—}ØŸ
™
 2œÙ Ü!*¨6Ö!2™˜˜2Ø ™G a™K˜Ø Ÿ|Ÿ|Ù$ØŸ™¤Q§T¡TÔ*ØŸ™¤S¬¯©¨b©£\Ô2ØŸ
™
 1œØ˜q›5Ø!ŸL™LÔ(F¼UÀ1¼XÓ(FÕFØ ›UØ!ŸL™LÔ(D¼%ÀÀ¼)Ó(DÔDÙñ "3ð Ÿ
™
 2œ÷% ‘fð(  �‘q“	ñ1)@ð> %1°,ÀØ$0ð$2à$0°,ÀØ$0ð$2ô#3‘��B˜˜Bð
 Û˜Û!#˜AØ ! A a¡C¡˜AØ Ÿ|Ÿ|™|Ù %ñ "$ñ
 %Ùñ  ñ Ø—I‘I˜a”LØ—I‘I˜a”LØ˜1“uØŸ	™	Ô!<´5¸´8Ó!<Õ<Ø˜Q›ØŸ	™	Ô!A´u¸a¸R´yÓ!AÔAØ—I‘I˜a¤!§&¡&™jÔ)Ø—I‘I˜a ! A¡#¨¡'™lÔ+Ø—I‘Iœd¤1§4¡4›jÔ)ò' ñ#3òT:õ42ðh &2°<ÀÐ$NØ%1°<ÀÐ$Nó$P‘��5˜%á˜!˜U EÖ*ñ$Pð �AŒ:ö
!ð0 ˆCõ;ö-à$ |Ñ3°lÑBÀ\ÔQ�Ù˜$–ñ Rð ˜l¨Lð*:à! <°Ð>ó)@Ñ$�˜˜uð �ÞØŸ
™
›�AØ�DÞØ$˜Ù& u¨aÓ0˜Ø™=Ø!ŸL™L¨œOØ  A›vØ %§¡¨Q¨q©SÔ 1Ù )¨!¨A©#¤Ø ™F˜AØ#'˜DÙ& u¨a°!©eÓ4˜Ø™=Ø!ŸL™L¨œOØ  A¨¡E›zØ %§¡¨a°!©e°Q©YÔ 7Ù )¨1¨q©5°!©)Ô 4Ø ™F˜AØ#'˜D÷# ˜$ð$ —J‘J˜q”M÷+ �fð.  �‘q’	ñ7)@ô> ¡|Ó4¢| !”U˜1–X¡|Ñ4Ð5Ü¡lÓ3¢l ”E˜!–H¡lÑ3Ð4ñ5ä�<Ð ñ!ä#&¨Ð#5ñ6ð 	6ùòu	 Lùò4'Uùò@	 5ùÚ3s   Á]Æ]!Ü]&Ü/]+
c                 ób   • U R                   (       a  [        [        U 5      5      $ [        U 5      $ r;   )Úis_Rationalr
   r   r1   s    r)   r3   r4   Ê  s   € ¨1¯=¯=”+œe A›hÓ'ÐF¼eÀA»hÐFr5   )r   )rA   r   r/   r   )r   r   rE   rÉ   s    ` @r)   r   r   T   s�   ù€ ð �<‰<œÙ*ó,€Dö Ø�|‰|œCÙ%ó'‰ð �|‰|œCÙ.ó0ˆ÷W6ð W6ôr
 �‹,€Cá�c‹?€DØƒ{Ü�d‹|ˆà�<‰<œÙFóH€Dð €Kr5   c                   ó$   • \ rS rSr\S 5       rSrg)r/   iÏ  c                 óT  • UR                   (       a  U(       d  [        R                  $ [        U5      nUS:”  a$  [	        [        U5       Vs/ s H  oAU-   PM	     sn6 $ US:  a,  S[	        [        SU* S-   5       Vs/ s H  oAU-
  PM	     sn6 -  $ g UR                  (       ag  UR                  5       u  pVUR                   (       aD  US:”  a  [        X5      [        X-   U5      -  $ US:  a  [        X5      [        X-   U-   U* 5      -  $ UR                  (       a…  UR                  5       u  pWUR                   (       aa  US:”  a&  [        Xr5      [        Xr-   U5      -  [        Xu5      -  $ US:  a.  [        Xr5      [        Xu-   U* 5      -  [        Xr-   U-   U* 5      -  $ g g g s  snf s  snf )Nr   r.   )	rb   r   r`   r‰   r   rs   rR   r†   r/   )Úclsr$   r9   r2   r!   r�   Ú_bÚ_as           r)   ÚevalÚ_rf.evalÐ  sp  € à�<�<ÞÜ—u‘u�ä�A“ˆAà�1‹uÜ¬E°!¬HÓ5ªH q œU©HÑ5Ð6Ð6Ø�Q“Øœ¬e°A¸°r¸A±vÔ.>Ó?Ò.>¨ 1œuÑ.>Ñ?Ð@Ñ@Ð@ð ð �x�xØŸ™Ó(‘�à—<—<Ø˜1“uÜ" 1›z¬#¨a©f°a«.Ñ8Ð8Ø˜Q›Ü" 1›z¬#¨a©f°q©j¸1¸"Ó*=Ñ=Ð=à�x�xØŸ™Ó(‘�à—<—<Ø˜1“uÜ" 2›z¬#¨b©f°a«.Ñ8¼¸R»ÑCÐCØ˜Q›Ü" 2›z¬#¨b©f°q°b«/Ñ9¼#¸b¹fÀq¹jÈ1È"Ó:MÑMÐMð ð  ð ùò 6ùâ?s   ÁF Á<F%
rK   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚclassmethodrÒ   Ú__static_attributes__rK   r5   r)   r/   r/   Ï  s   † ØñNó óNr5   r/   N)Ú
sympy.corer   r   r   r   r   Úsympy.core.sortingr   r	   Úsympy.core.functionr
   Úsympy.core.symbolr   Úsympy.functionsr   r   r   Úsympy.polysr   r   Úsympy.utilities.iterablesr   r   r*   r   r/   rK   r5   r)   Ú<module>rá      s<   ðß 1Õ 1ß 8Ý +Ý #ß ,Ñ ,ß &ß 0òG+òTxôvNˆ(õ Nr5   