§
    OŠtj³h  ã            
       óX  — d Z ddlmZ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 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 ddlmZ ddlmZ ddl m!Z!m"Z"m#Z#m$Z$m%Z% ddl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9m:Z: ddl;m<Z< ddl=Z=ddl>m?Z?  e
d¦  «        \
  Z@ZAZBZCZDZEZFZGZHZId„ ZJd„ ZKd„ ZLd„ ZMd„ ZNd„ ZOd„ ZPd„ ZQd„ ZRd „ ZSd!„ ZTd"„ ZUd#„ ZVd$„ ZWd%„ ZXd&„ ZYd'„ ZZd(„ Z[d)„ Z\d*„ Z]d+„ Z^d,„ Z_d-„ Z`d.„ Zad/„ Zbd0„ Zce:d1„ ¦   «         Zdd2„ Zed3„ Zfd4„ Zgd5„ Zhd6„ Zid7„ ZjdS )8zBTests for algorithms for computing symbolic roots of polynomials. é    )ÚIÚRationalÚpi)ÚS)ÚSymbolÚWildÚsymbols)Ú	conjugateÚimÚre)Úexp)ÚrootÚsqrt)Ú	Piecewise)ÚacosÚcosÚsin)ÚZZ©ÚInterval)Úpowsimp)ÚPolyÚcyclotomic_polyÚ	intervalsÚnrootsÚrootof)
Úroot_factorsÚroots_linearÚroots_quadraticÚroots_cubicÚroots_quarticÚroots_quinticÚroots_cyclotomicÚroots_binomialÚpreprocess_rootsÚroots)Úlegendre_poly)ÚPolynomialErrorÚUnsolvableFactorError)Ú_nsort)ÚraisesÚslow)Úverify_numericallyN)Úproductza,b,c,d,e,q,t,x,y,zc                 óR  — t          d„ | D ¦   «         ¦  «        }t          | d |…         ¦  «        t          | d |…         ¦  «        k    sJ ‚t          |t	          | ¦  «        d¦  «        D ]<}| |dz            | |         k    s%| |dz            t          | |         ¦  «        k    s dS Œ=dS )Nc              3   ó,   K  — | ]}|j         rd ndV — ŒdS )é   r   N©Úis_real©Ú.0Úis     ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/tests/test_polyroots.pyú	<genexpr>z_check.<locals>.<genexpr>(   s-   è è € Ð5Ð5¨!�Q”YÐ%�� AÐ5Ð5Ð5Ð5Ð5Ð5ó    é   r1   FT)ÚsumÚsortedÚlistÚrangeÚlenr
   )r&   ÚnrealÚixs      r7   Ú_checkrB   $   sµ   € õ Ð5Ð5¨uÐ5Ñ5Ô5Ñ5Ô5€EÝ�%˜˜˜”-Ñ Ô ¥D¨¨v°¨v¬Ñ$7Ô$7Ò7Ð7Ð7Ð7Ý�E�3˜u™:œ: qÑ)Ô)ð ð ˆà�b˜1‘f”  r¤Ò*Ð*Ø�b˜1‘f”¥¨5°¬9Ñ!5Ô!5Ò5Ð5Ø�5�5øØˆ4r9   c                  óŠ   — t          t          dt          z  dz   t          ¦  «        ¦  «        t          dd¦  «        gk    sJ ‚d S )Nr:   r1   éÿÿÿÿ)r   r   Úxr   © r9   r7   Útest_roots_linearrG   2   s>   € Ý�˜Q�q™S 1™W¥aÑ(Ô(Ñ)Ô)­h°r¸1©o¬oÐ->Ò>Ð>Ð>Ð>Ð>Ð>r9   c            	      óÌ  — t          t          dt          dz  z  t          ¦  «        ¦  «        ddgk    sJ ‚t          t          dt          dz  z  dt          z  z   t          ¦  «        ¦  «        t          dd¦  «        dgk    sJ ‚t          t          dt          dz  z  dz   t          ¦  «        ¦  «        t           t          d¦  «        z  dz  t          t          d¦  «        z  dz  gk    sJ ‚t          t          dt          dz  z  dt          z  z   dz   t          ¦  «        ¦  «        dt          t          d¦  «        z  dz  z
  dt          t          d¦  «        z  dz  z   gk    sJ ‚t          t          dt          dz  z  dt          z  z   dz   t          ¦  «                             ¦   «         ¦  «         t          dz  dt          z  t          z  dt          z  t          z  z   t          t          z
  z  t          z  z   t          t          z
  t          t          dz  z  z   t          t          dz  z  z
  t          t          z
  z  z   } t          t          | t          ¦  «        ¦  «        t           t          t          z   z  t          t          z
  z  t          t          t          z  t          t          z  z   t          t          z  z
  t          t          z  z
  dt          z  t          z  t          dz  z  z   ¦  «        t          t          z
  z  z
  t           t          t          z   z  t          t          z
  z  t          t          t          z  t          t          z  z   t          t          z  z
  t          t          z  z
  dt          z  t          z  t          dz  z  z   ¦  «        t          t          z
  z  z   gk    sJ ‚t          t          t          dz  z  dt          z  z
  dt          z  z
  t          ¦  «        } t          | ¦  «        t          dt          dz  z  dz   ¦  «         t          z  dt          z  z   t          dt          dz  z  dz   ¦  «        t          z  dt          z  z   gk    sJ ‚t          t          dz  t          dz   dz
  t          z  z   t          dz  z   dz   t          ¦  «        } t          | ¦  «        dt          dz  dz   gk    sJ ‚t          t          d¦  «        t          dz  z  dz
  t          ¦  «        } t          | ¦  «        }|t          |¦  «        k    sJ ‚t          d	t          dz  z  d
t          z  z
  dz   ¦  «        } d„ |                      d¬¦  «        D ¦   «         d„ |                      d¬¦  «        D ¦   «         k    sJ ‚t          ddd¦  «        D ]R\  }}}t          |t          dz  z  |t          z  z   |z   ¦  «        } t          | ¦  «        }|t          |¦  «        k    sJ ‚ŒSd S )Nr:   r   é   éýÿÿÿé   é   rD   r1   ièÿÿÿé´   i  c                 ó8   — g | ]}|                      d ¦  «        ‘ŒS ©r:   ©Ún©r5   Úws     r7   ú
<listcomp>z(test_roots_quadratic.<locals>.<listcomp>P   s"   € Ð7Ð7Ð7�qˆA�CŠC�‰FŒFÐ7Ð7Ð7r9   T)Úradicalsc                 ó8   — g | ]}|                      d ¦  «        ‘ŒS rO   rP   rR   s     r7   rT   z(test_roots_quadratic.<locals>.<listcomp>Q   s"   € Ð8Ð8Ð8�qˆA�CŠC�‰FŒFÐ8Ð8Ð8r9   F)éþÿÿÿr:   )r   rD   )r   r   rE   r   r   r   rB   Ú	all_rootsÚaÚeÚcÚdÚbÚyr*   r.   )ÚfÚrÚ_aÚ_bÚ_cr&   s         r7   Útest_roots_quadraticrd   6   sÖ  € Ý�4 ¥! Q¡$¡­™?œ?Ñ+Ô+°°1¨vÒ5Ð5Ð5Ð5Ý�4 ¥! Q¡$¡¨­1©¡­aÑ0Ô0Ñ1Ô1µh¸rÀ1±o´oÀqÐ5IÒIÐIÐIÐIÝ�4 ¥! Q¡$¡¨¡
­AÑ.Ô.Ñ/Ô/µQ°Bµt¸A±w´w±J¸q±LÅ!ÅDÈÁGÄGÁ)ÈAÁ+Ð3NÒNÐNÐNÐNÝ�4 ¥! Q¡$¡¨­1©¡¨qÑ 0µ!Ñ4Ô4Ñ5Ô5¸"½qÅÀaÁÄ¹yÈ¹{Ñ:JÈBÕQRÕSWÐXYÑSZÔSZÑQZÐ[\ÑQ\ÑL\Ð9]Ò]Ð]Ð]Ð]Ý
�4�•!�Q‘$‘˜�1™‘˜qÑ ¥!Ñ$Ô$×.Ò.Ñ0Ô0Ñ1Ô1Ð1å	ˆ1‰�•!‘•A‘˜�!™�A™‘¥¥A¡Ñ&¥qÑ(Ñ(­Aµ©EµAµa¸±d±F©N½Q½qÀ!¹t¹VÑ,CÅaÍ!ÁeÑ+LÑL€AÝ�4 ¥1™:œ:Ñ&Ô&Ý
ˆ�Q•‰U‰•Q�‘UÑ	�d¥1¥Q¡3­­1©¡9­qµ©s¡?µQµq±SÑ#8¸1½Q¹3½q¹5ÅÀAÁ¹:Ñ#EÑFÔFÍÍAÉÑNÑ	NÝ
ˆ�Q•‰U‰•Q�‘UÑ	�d¥1¥Q¡3­­1©¡9­qµ©s¡?µQµq±SÑ#8¸1½Q¹3½q¹5ÅÀAÁ¹:Ñ#EÑFÔFÍÍAÉÑNÑ	Nð	PòPð Pð Pð Põ
 	�Q�q�!‰t‰V�a�‘c‰\˜A�a™CÑ¥Ñ#Ô#€AÝ˜1ÑÔÝ
ˆq•�A‘‰v˜‰zÑ
Ô
Ð	�1Ñ	˜q¥™sÑ	"¥D¨­1¨a©4©°!©Ñ$4Ô$4µQÑ$6¸½1¹Ñ$<Ð=ò>ð >ð >ð >å�Q�‰T•a˜‘d�U˜Q‘Y¥‘MÑ!¥A q¡DÑ(¨1Ñ,­aÑ0Ô0€AÝ˜1ÑÔØ	
�1ˆa‰4�!‰8ˆòð ð ð õ 	�T�!‰WŒW•Q˜‘T‰\˜AÑ�qÑ!Ô!€AÝ˜ÑÔ€AØ•�q‘	”	Š>ˆ>ˆ>ˆ>õ 	ˆS•�A‘‰X˜�A™Ñ Ñ#Ñ$Ô$€AØ7Ð7˜AŸKšK°˜KÑ6Ô6Ð7Ñ7Ô7Ø8Ð8˜AŸKšK°˜KÑ7Ô7Ð8Ñ8Ô8ò9ð 9ð 9ð 9å˜g w°Ñ8Ô8ð &ð &‰
ˆˆB�Ý�•A�q‘D‘˜2�a™4‘ "Ñ$Ñ%Ô%ˆÝ Ñ"Ô"ˆØ�˜u™œÒ%Ð%Ð%Ð%Ð%ð&ð &r9   c                  ó8  — t          t          dz  t          z  t          dz  z   t          z   t          ¦  «        } t          | ¦  «        t	          t          dz  t	          d¦  «        t          z  dz  z   ¦  «        dt	          t	          d¦  «         t          z  dz  t          dz  z   ¦  «        dt	          t          dz  t	          d¦  «        t          z  dz  z   ¦  «         dt	          t	          d¦  «         t          z  dz  t          dz  z   ¦  «         dik    sJ ‚d S )NrL   r:   é   r1   )r   rE   r   r&   r   ©Úeqs    r7   Útest_issue_7724ri   X   sì   € Ý	�a�‰d•1‰f•q˜!‘t‰m�aÑ¥Ñ	#Ô	#€BÝ�‰9Œ9Ý�Qˆq‰S•4˜‘7”7�1‘9˜Q‘;ÑÑÔ Ý�d�1‰gŒgˆX•a‰Z˜‰\�A˜a™CÑÑ Ô  !Ý	�a�‰c•D˜‘G”G�A‘I˜a‘KÑÑ	 Ô	 Ð  !Ý	�t�A‰wŒwˆh•q‰j˜‰l�Q˜q™SÑ Ñ	!Ô	!Ð! 1ð	&ò &ð &ð &ð &ð &ð &r9   c                  ó  ‡‡— t          dt          ddgt          ¦  «                             ¦   «         Št	          t          ‰t          ¦  «        t          ¦  «        } t          dd¦  «        t          dz  dz  z
  Šˆfd„| D ¦   «         }t          |¦  «        t          t	          t          ‰                     t          ‰¦  «        t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          ˆˆfd„|D ¦   «         ¦  «        sJ ‚d S )Nr1   rW   rJ   r:   é   c                 óF   •— g | ]}|                      t          ‰¦  «        ‘ŒS rF   )Úsubsr^   )r5   r`   Úzs     €r7   rT   z#test_issue_8438.<locals>.<listcomp>e   s%   ø€ Ð(Ð(Ð(˜QˆA�FŠF•1�a‰LŒLÐ(Ð(Ð(r9   c              3   ó�   •K  — | ]@}‰                      t          ‰t          |i¦  «                             d d¬¦  «        dk    V — ŒAdS )r:   T©Úchopr   N)rm   r^   rE   rQ   )r5   r6   Úprn   s     €€r7   r8   z"test_issue_8438.<locals>.<genexpr>i   sO   øè è € ÐGÐG¸Qˆq�vŠv•q˜!�Q �lÑ#Ô#×%Ò% a¨dÐ%Ñ3Ô3°qÒ8ÐGÐGÐGÐGÐGÐGr9   )
r   r^   rE   Úas_exprr    r   r   Úsetrm   Úall)r&   Úpostrr   rn   s     @@r7   Útest_issue_8438rw   a   së   øø€ Ýˆa•�B˜ˆ^�QÑÔ×'Ò'Ñ)Ô)€AÝ�˜Q¥™
œ
¥AÑ&Ô&€EÝ��Q‰Œ�!˜A™#˜a™%Ñ€AØ(Ð(Ð(Ð( %Ð(Ñ(Ô(€DÝˆt‰9Œ9Ý�•D˜Ÿš¥ 1™œ¥qÑ)Ô)Ñ*Ô*Ñ+Ô+ò,ð ,ð ,ð ,õ ÐGÐGÐGÐGÐGÀ$ÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGr9   c                  ó  ‡— t          dt          dz  z  dz
  t          ¦  «        t          t          dz  dz   ¦  «        z                       ¦   «         } t          | ¦  «        sJ ‚t          t          dz  dt          dz  z  z   dz   t          ¦  «        Šˆfd„t	          d¦  «        D ¦   «         }t          t          dz  dt          dz  z  z   dz   t          ¦  «                             ¦   «         } | |k    sJ ‚t          | ¦  «        sJ ‚t          dt          dz  z  dz
  ¦  «                             ¦   «         } t          | ¦  «        sJ ‚t          t          dt          dz  z  dz
  ¦  «                             ¦   «         ¦  «        dk    sJ ‚d S )	NrL   é   r1   r:   rf   rK   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rF   ©r   )r5   r6   r_   s     €r7   rT   z#test_issue_8285.<locals>.<listcomp>p   s!   ø€ Ð	)Ð	)Ð	)˜1�&��A‰,Œ,Ð	)Ð	)Ð	)r9   é
   )r   rE   rX   rB   r>   r?   )r&   Úror_   s     @r7   Útest_issue_8285r~   l   sV  ø€ Ý�!•A�q‘D‘&˜1‘*�aÑ Ô ¥¥a¨¡d¨Q¡h¡¤Ñ/×:Ò:Ñ<Ô<€EÝ�%‰=Œ=ÐÐˆ=Ý�Q�‰T�A•a˜‘d‘F‰]˜QÑ¥Ñ"Ô"€AØ	)Ð	)Ð	)Ð	)¥ a¡¤Ð	)Ñ	)Ô	)€BÝ•�A‘˜�!˜Q™$™‘ Ñ"¥AÑ&Ô&×0Ò0Ñ2Ô2€EØ�BŠ;ˆ;ˆ;ˆ;Ý�%‰=Œ=ÐÐˆ=õ �•1�a‘4‘˜!‘ÑÔ×&Ò&Ñ(Ô(€EÝ�%‰=Œ=ÐÐˆ=Ý�t�A•a˜‘e‘G˜a‘KÑ Ô ×*Ò*Ñ,Ô,Ñ-Ô-°Ò3Ð3Ð3Ð3Ð3Ð3r9   c                  ó„  — t          t          dz  dz   ¦  «        t          t          dz  dz   ¦  «        z                       ¦   «         } t          | ¦  «        sJ ‚t          t          dz  dt          dz  z  z   dz   t          ¦  «                             ¦   «         } t          | ¦  «        sJ ‚t          t          dz  t          z
  dz   ¦  «                             ¦   «         } t          | ¦  «        sJ ‚t          t          dz  dt          dz  z  z   dz   t          ¦  «                             ¦   «         } t          | ¦  «        sJ ‚d S )Nr:   rL   rK   rI   r1   )r   rE   rX   rB   ©r&   s    r7   Útest_issue_8289r�   {   s  € Ý•!�Q‘$˜‘(‰^Œ^�D¥ A¡¨¡™NœNÑ*×5Ò5Ñ7Ô7€EÝ�%‰=Œ=ÐÐˆ=Ý•�A‘˜�!˜Q™$™‘ Ñ"¥AÑ&Ô&×0Ò0Ñ2Ô2€EÝ�%‰=Œ=ÐÐˆ=Ý•�A‘�‘˜A‘ÑÔ×(Ò(Ñ*Ô*€EÝ�%‰=Œ=ÐÐˆ=å•�A‘˜�!˜Q™$™‘ Ñ"¥AÑ&Ô&×0Ò0Ñ2Ô2€EÝ�%‰=Œ=ÐÐˆ=ÐÐr9   c            	      ó  ‡— t          t          dz
  dz  dz   t          dz
  dz  dz   z  t          dz
  z  ¦  «                             ¦   «         ddt          z
  dt          z   dt	          d¦  «        t          z  z
  dt	          d¦  «        t          z  z   gk    sJ ‚t          dz  dt          dz  z  z   dz   Šˆfd„t          d¦  «        D ¦   «         } t          ‰¦  «                             ¦   «         | k    sJ ‚t          | ¦  «         d S )Nr1   r:   rL   r|   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rF   r{   )r5   r6   rr   s     €r7   rT   z$test_issue_14291.<locals>.<listcomp>‹   s!   ø€ Ð
*Ð
*Ð
*˜A�6�!�Q‰<Œ<Ð
*Ð
*Ð
*r9   )r   rE   rX   r   r   r>   rB   )Úansrr   s    @r7   Útest_issue_14291r…   ‡   sõ   ø€ Ý•!�a‘%˜!‘˜a‘¥1 q¡5¨1¡*¨q¡.Ñ1µ1°q±5Ñ9ñ 
ô 
ß
Š)‰+Œ+˜!˜Q¥™U A­¡E¨1­t°A©w¬wµq©y©=¸!½dÀ1¹g¼gÅa¹i¹-ÐHòIð Ið Ið Iå	ˆ1‰ˆr•!�Q‘$‰w‰˜Ñ€AØ
*Ð
*Ð
*Ð
*¥ q¡¤Ð
*Ñ
*Ô
*€CÝ�‰7Œ7×ÒÑÔ #Ò%Ð%Ð%Ð%Ý
ˆ3�K„K€K€K€Kr9   c                  óÖ   — t          t          dz  t          t          ¦  «        t          z  z   t          z   t          d¬¦  «        } t	          | ¦  «        }t          |¦  «        dk    sJ ‚d S )NrI   ÚEX©Údomain)r   r^   r   rE   r&   r?   )rh   Úroots_ds     r7   Útest_issue_13340r‹   �   sU   € Ý	�a�‰d•S�‘V”V�A‘X‰o¥Ñ!¥1¨TÐ	2Ñ	2Ô	2€BÝ�B‰iŒi€GÝˆw‰<Œ<˜1ÒÐÐÐÐÐr9   c                  óF  ‡— t          t          dz  t          dz  ddt          z  z   z  z   t          dz  ddt          z  z   z  z   t          dd	t          z  z
  z  z   d
z
  dt          z  z
  t          ¦  «        Št          ‰¦  «        } t	          ˆfd„| D ¦   «         ¦  «        sJ ‚d S )NrL   rI   é   é    r:   iãþÿÿi‚  iøôÿÿiÀ  i
  i¥  c              3   ó6   •K  — | ]} ‰|¦  «        d k    V — ŒdS ©r   NrF   ©r5   r`   rh   s     €r7   r8   z#test_issue_14522.<locals>.<genexpr>™   s/   øè è € Ð,Ð,˜aˆrˆr�!‰uŒu˜ŠzÐ,Ð,Ð,Ð,Ð,Ð,r9   )r   rE   r   r&   ru   )Úroots_eqrh   s    @r7   Útest_issue_14522r“   –   s¡   ø€ Ý	�a�‰d•Q˜‘T˜2 ¥1¡™9Ñ%Ñ%­¨1©¨d°S½±U©lÑ(;Ñ;½aÀÈÍQÉÁÑ>OÑOÐRVÑVÐY]Õ^_ÑY_Ñ_ÕabÑ	cÔ	c€BÝ�R‰yŒy€HÝÐ,Ð,Ð,Ð, 8Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,r9   c                  óà   — t          t          t          dz  dt          dz  z  z
  t          t          z  z   dz
  t          ¦  «        ¦  «        } | d                              t          ¦  «        sJ ‚d S )NrL   rK   r:   rI   r   )r!   r   ÚtrE   Úhas)Úsols    r7   Útest_issue_15076r˜   œ   sV   € Ý
��Q ™T A¥a¨¡d¡F™]­Q­q©SÑ0°1Ñ4µaÑ8Ô8Ñ
9Ô
9€CØˆqŒ6�:Š:•a‰=Œ=ÐÐˆ=ÐÐr9   c                  ó  — t          t          dz  dt          d¦  «        z  t          dz  z  z
  dt          dz  z  z   dt          d¦  «        z  t          dz  z  z
  dt          z  z   t          ¦  «        } t          | ¦  «        }d|v sJ ‚d S )NrL   ry   r:   rI   é@   i   r   )r   rE   r   r&   )rh   r’   s     r7   Útest_issue_16589r›   ¡   su   € Ý	�a�‰d�Q•t˜A‘w”w‘Y�q !™t‘^Ñ# a­¨1©¡fÑ,¨rµ$°q±'´'©z½!¸Q¹$©Ñ>ÀÅaÁÑGÍÑ	KÔ	K€BÝ�R‰yŒy€HØ�ˆ=ˆ=ˆ=ˆ=ˆ=ˆ=r9   c                  ó€  — t          t          dt          dz  z  t          ¦  «        ¦  «        g d¢k    sJ ‚t          t          t          dz  dt          dz  z  z
  dt          z  z   dz
  t          ¦  «        ¦  «        g d¢k    sJ ‚t          t          d¦  «        } t          t          t          dz  t          z
  t          ¦  «        ¦  «        | | t
          j         t          d¦  «        t          z  dz  z   z  | t
          j         t          d¦  «        t          z  dz  z
  z  gk    sJ ‚t          t          t          dz  dz
  t          ¦  «        ¦  «        dt
          j        t          t          d¦  «        z  dz  z
  t
          j        t          t          d¦  «        z  dz  z   gk    sJ ‚t          t          dt          dz  z  dt          dz  z  z
  dt          z  z
  dz
  t          ¦  «        ¦  «        d         t
          j        dt          dd¦  «        z  dz  z   dt          dd¦  «        z  dz  z   k    sJ ‚t          dz   dt          dz  z  z   dt          z  z   dz
  }t          |dd¬	¦  «        t          t          |t          ¦  «        d¬
¦  «        cxk    �r&t          dd¦  «        dt          d¦  «        z  t          t          dt          d¦  «        z  dz  ¦  «        dz  ¦  «        z  dz  z   dt          d¦  «        z  t          t          dt          d¦  «        z  dz  ¦  «         dz  t          dz  z   ¦  «        z  dz  t          dd¦  «        z   dt          d¦  «        z  t          t          dt          d¦  «        z  dz  ¦  «         dz  t          dz  z   ¦  «        z  dz  t          dd¦  «        z   gk    sn J ‚d S )Nr:   rI   )r   r   r   r1   ©r1   r1   r1   rD   r   T)ÚtrigÚmultiple)rž   é   ry   é©   rW   rK   )r    r   rE   r   r^   r   ÚHalfr   r   r   r&   r   r   r   r   )r`   rh   s     r7   Útest_roots_cubicr£   §   s`  € Ý•t˜A�a ™d™F¥A‘”Ñ'Ô'¨9¨9¨9Ò4Ð4Ð4Ð4Ý•t�A˜q™D 1¥Q¨¡T¡6™M¨A­a©CÑ/°!Ñ3µQÑ7Ô7Ñ8Ô8¸I¸I¸IÒEÐEÐEÐEõ 	�Q�‰
Œ
€AÝ•t�A˜q™D¥1™H¥aÑ(Ô(Ñ)Ô)¨aØ	�AŒFˆ7•T˜!‘W”W�Q‘Y˜q‘[Ñ Ñ!Ø	�AŒFˆ7•T˜!‘W”W�Q‘Y˜q‘[Ñ Ñ!ð.#ò #ð #ð #ð #õ •t�A˜q™D 2™I¥qÑ)Ô)Ñ*Ô*Ø	�QŒV•a�˜Q™œ‘i ‘kÑ!¥1¤6­A­d°1©g¬g©I°a©KÑ#7Ð8ò9ð 9ð 9ð 9å•t˜A�a ™d™F Q¥q¨!¡t¡V™O¨aµ©cÑ1°AÑ5µqÑ9Ô9Ñ:Ô:¸1Ô=Ý	
Œ�!•X˜a ‘^”^Ñ# AÑ%Ñ	%¨­8°A°q©>¬>Ñ(9¸!Ñ(;Ñ	;ò<ð <ð <ð <å
ˆQ‰$ˆ�•1�a‘4‘‰˜!�A™#Ñ	 Ñ	!€BÝ�˜$¨Ð.Ñ.Ô.Ý•t˜B¥‘{”{¨Ð.Ñ.Ô.ð
ð 
ò 
ñ 
å��A‰Œ˜�4 ™8œ8™¥C­¨Q­t°B©x¬x©Z¸©^Ñ(<Ô(<¸QÑ(>Ñ$?Ô$?Ñ?ÀÑAÑAØ
�4�‰8Œ8‰•C�˜a¥ R¡¤™j¨™nÑ-Ô-Ð-¨aÑ/µ"°Q±$Ñ6Ñ7Ô7Ñ7¸Ñ9½HÀQÈ¹N¼NÑJØ
�4�‰8Œ8‰•C�˜a¥ R¡¤™j¨™nÑ-Ô-Ð-¨aÑ/µ"°Q±$Ñ6Ñ7Ô7Ñ7¸Ñ9½HÀQÈ¹N¼NÑJð3
ò
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r9   c                  óŽ	  ‡‡‡— t          t          t          dz  t          ¦  «        ¦  «        g d¢k    sJ ‚t          t          t          dz  t          dz  z   t          ¦  «        ¦  «        g d¢g d¢g d¢g d¢fv sJ ‚t          t          t          dz  t          dz  z
  t          ¦  «        ¦  «        g d¢g d	¢g d
¢g d¢fv sJ ‚t          t          t          dz  t          z   t          ¦  «        ¦  «        } t          j        t
          t          d¦  «        z  dz  z   t          j        t
          t          d¦  «        z  dz  z
  t          j        t          j         g}t          | t          ¬¦  «        t          |t          ¬¦  «        k    sJ ‚t          g d¢¦  «        D ]ø\  }\  }}}}|dk    r-| |dz  t          d¦  «        z  |t          d¦  «        z  z
  z  }nH|dk    rB|||dz  t          dd¦  «        z  |t          d¦  «        z  z
  z  |t          d¦  «        z  z   z  }t          dz  |t          dz  z  z   |t          dz  z  z   |t          z  z   |z   Št          t          ‰t          ¦  «        ¦  «        }t          ˆfd„|D ¦   «         ¦  «        sJ ‚Œùt          t          t          z  t          dz  z   t          dz  z   t          dz  z   dt          dz  z  z   t          dd¦  «        z
  t          ¦  «        Št          ‰¦  «        }t          ˆfd„|D ¦   «         ¦  «        sJ ‚t          dd¬¦  «        Št          dz  dt          dz  z  z   dt          dz  z  z   t          ‰dz   z  z   dz   Št          t          ‰t          ¦  «        ¦  «        }	t          ˆˆfd„|	D ¦   «         ¦  «        sJ ‚t          t           t          dz  z  t          dz  z   t          z
  ‰z   t          ¦  «        Št          ‰¦  «        }t          d„ |D ¦   «         ¦  «        sJ ‚t          dd¦  «        t          dd¦  «        dœt          dd¦  «        t          dd¦  «        dœt          dd¦  «        ddœf}
|
D ]bŠt          t          ‰                     ‰¦  «        t          ¦  «        ¦  «        }t          ˆfd„t%          ||¦  «        D ¦   «         ¦  «        sJ ‚Œcd S ) NrL   ©r   r   r   r   rI   )rD   r   r   r   )r   rD   r   r   )r   r   rD   r   )r   r   r   rD   )r1   r   r   r   )r   r1   r   r   )r   r   r1   r   )r   r   r   r1   r:   ©Úkey))r1   r:   rI   r   )rI   éùÿÿÿi÷ÿÿÿé	   ©r1   r:   rI   rL   rª   )r¨   rJ   rI   éúÿÿÿ)rJ   rf   r«   éüÿÿÿ)rK   éûÿÿÿiöÿÿÿrJ   ry   é   r�   c              3   ó~   •K  — | ]7}‰                      t          |¦  «                             d ¬¦  «        dk    V — Œ8dS )Trp   r   N©rm   rE   rQ   )r5   Úairh   s     €r7   r8   z%test_roots_quartic.<locals>.<genexpr>à   sE   øè è € ÐBÐB¸�2—7’7�1˜b‘>”>×#Ò#¨Ð#Ñ.Ô.°!Ò3ÐBÐBÐBÐBÐBÐBr9   r1   c              3   ój   •K  — | ]-}t          ‰                     t          |¦  «        d ¦  «        V — Œ.dS r�   ©r-   rm   rE   )r5   r6   rh   s     €r7   r8   z%test_roots_quartic.<locals>.<genexpr>å   s:   øè è € ÐAÐA¸Õ! "§'¢'­!¨Q¡-¤-°Ñ3Ô3ÐAÐAÐAÐAÐAÐAr9   rn   T)Únegativeé   rf   c              3   ót   •K  — | ]2}t          ‰                     t          |f‰d ff¦  «        d¦  «        V — Œ3dS )rD   r   Nr³   )r5   r6   rh   rn   s     €€r7   r8   z%test_roots_quartic.<locals>.<genexpr>é   sG   øè è € ÐOÐOÀQÕ! "§'¢'­A¨q¨6°A°r°7Ð*;Ñ"<Ô"<¸aÑ@Ô@ÐOÐOÐOÐOÐOÐOr9   c              3   óF   K  — | ]}t          |¦  «        t          k    V — Œd S ©N)Útyper   r4   s     r7   r8   z%test_roots_quartic.<locals>.<genexpr>î   s-   è è € Ð1Ð1¨�t�A‰wŒw�)Ò#Ð1Ð1Ð1Ð1Ð1Ð1r9   rD   )r^   rn   rW   c              3   ój   •K  — | ]-\  }}t          |                     ‰¦  «        |z
  d ¦  «        V — Œ.dS r�   )r-   rm   )r5   rS   ÚsÚreps      €r7   r8   z%test_roots_quartic.<locals>.<genexpr>õ   s@   øè è € ÐTÐT¹d¸aÀÕ% a§f¢f¨S¡k¤k°A¡o°qÑ9Ô9ÐTÐTÐTÐTÐTÐTr9   )r!   r   rE   r   r¢   r   r   ÚZeroÚOner<   ÚhashÚ	enumerater   ru   Úqr	   r^   rm   Úzip)ÚlhsÚrhsr6   rY   r]   r[   r\   r„   r—   ÚzansÚrepsrh   r¼   rn   s              @@@r7   Útest_roots_quarticrÇ   ¾   s³  øøø€ Ý��a ™d¥A™œÑ'Ô'¨<¨<¨<Ò7Ð7Ð7Ð7Ý��a ™d¥Q¨¡T™k­1Ñ-Ô-Ñ.Ô.ØˆˆØˆˆØˆˆØˆˆð	3ð ð ð ð õ ��a ™d¥Q¨¡T™k­1Ñ-Ô-Ñ.Ô.ØˆˆØˆˆØˆˆØˆˆð	3ð ð ð ð õ ��Q ™T¥A™X¥qÑ)Ô)Ñ
*Ô
*€CÝŒ6•A•d˜1‘g”g‘I˜a‘KÑ¥¤­!­D°©G¬G©)°A©+Ñ!5µq´vÅÄ¸vÐ
F€Cå�#�4Ð Ñ Ô ¥F¨3µDÐ$9Ñ$9Ô$9Ò9Ð9Ð9Ð9õ %ð &8ð &8ð &8ñ 9ô 9ð Cð C‰ˆ‰<ˆAˆq�!�Qð �Š6ˆ6Ø��A�q‘D�˜1™œ‘I ¥! A¡$¤$¡Ñ&Ñ'ˆAˆAØ�!ŠVˆVØ�1�a˜‘d�8 A sÑ+Ô+Ñ+¨aµ°"±´©gÑ5Ñ6¸½1¸Q¹4¼4¹Ñ?Ñ@ˆAÝ�‰T�A•a˜‘d‘F‰]˜Q�q !™t™VÑ# a­¡cÑ)¨AÑ-ˆÝ�D ¥Q™KœKÑ(Ô(ˆÝÐBÐBÐBÐB¸cÐBÑBÔBÑBÔBÐBÐBÐBÐBõ 
�a•‰c•A�a‘C‰i�!˜Q™$Ñ¥ A¡Ñ%¨­!¨Q©$©Ñ.µ¸!¸Q±´Ñ?ÅÑ	CÔ	C€BÝ
˜Ñ
Ô
€CÝÐAÐAÐAÐA¸SÐAÑAÔAÑAÔAÐAÐAÐAÝ�˜dÐ#Ñ#Ô#€AÝ	
ˆA‰�•!�Q‘$‘‰˜�1˜a™4™Ñ	¥! Q¨¡V¡*Ñ	,¨qÑ	0€BÝ�˜b¥!™œÑ%Ô%€DÝÐOÐOÐOÐOÐOÈ$ÐOÑOÔOÑOÔOÐOÐOÐOõ 
�a•�1‘‰f•q˜!‘t‰m�aÑ !Ñ#¥QÑ	'Ô	'€BÝ
˜Ñ
Ô
€CÝÐ1Ð1¨SÐ1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1å�r˜1‰oŒo¥H¨R°¡O¤OÐ4Ð4Ý�r˜1‰oŒo¥H¨R°¡O¤OÐ4Ð4Ý�r˜1‰oŒo BÐ'Ð'ð)€Dð ð Uð UˆÝ�D §¢¨¡¤­qÑ1Ô1Ñ2Ô2ˆÝÐTÐTÐTÐTÅcÈ#ÈsÁmÄmÐTÑTÔTÑTÔTÐTÐTÐTÐTðUð Ur9   c                  ó  — t          d„ t          t          t          dz  t          dz  ddt          z  z   z  z
  dt          z  dt          z   z  z   dz
  dt          z  z   t          ¦  «        ¦  «        D ¦   «         ¦  «        rJ ‚d S )Nc              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S r¸   )Ú
isinstancer   r4   s     r7   r8   z#test_issue_21287.<locals>.<genexpr>ù   sD   è è € ð Bð B°•:˜a¥Ñ+Ô+ð Bð Bð Bð Bð Bð Br9   rL   r:   rI   rf   rD   r1   )Úanyr!   r   rE   r   rF   r9   r7   Útest_issue_21287rÌ   ø   s    € Ýð Bð Bµ]Ý�Q�‰T•A�q‘D˜!˜a¥™c™'‘NÑ" Q¥q¡S¨"­q©&¡\Ñ1°AÑ5¸½!¹Ñ;½QÑ?Ô?ñ6Aô 6Að Bñ Bô Bñ Bô Bð Bð Bð Bð Bð Br9   c                  óv  ‡— t           dz  dz
  t           dz  dz   dz  dt           dz  dz   z  z
  dz   t           dz  dt           dz  z  z
  dt           dz  z  z
  dt           z  z   d	z   f} | D ]PŠt          t          ‰¦  «        ¦  «        }t          |¦  «        dk    sJ ‚t	          ˆfd
„|D ¦   «         ¦  «        sJ ‚ŒQd S )Nrf   r:   r1   é   én   rI   é7   i	  iÓ  c              3   ó¤   •K  — | ]J}‰                      t          |                     d ¦  «        ¦  «                             d¬¦  «        dk    V — ŒKdS )r|   gñhãˆµøä>rp   r   Nr°   r‘   s     €r7   r8   z%test_roots_quintic.<locals>.<genexpr>  sQ   øè è € ÐJÐJ¸q�2—7’7�1˜aŸcšc "™gœgÑ&Ô&×(Ò(°Ð(Ñ5Ô5¸Ò:ÐJÐJÐJÐJÐJÐJr9   )rE   r"   r   r?   ru   )Úeqsr&   rh   s     @r7   Útest_roots_quinticrÓ   ý   sÙ   ø€ Ýˆa‰4�!‰8Ýˆq‰S�1‰W�q‰L˜1�a ™c A™g™;Ñ&¨Ñ+Ýˆq‰D�3•q˜!‘t‘8‰O˜b¥ A¡™gÑ%¨­Q©Ñ.°Ñ4ð6€Cð ð Kð KˆÝ�d 2™hœhÑ'Ô'ˆÝ�5‰zŒz˜QŠˆˆˆÝÐJÐJÐJÐJÀEÐJÑJÔJÑJÔJÐJÐJÐJÐJðKð Kr9   c                  óN  — t          t          dt          d¬¦  «        ¦  «        dgk    sJ ‚t          t          dt          d¬¦  «        ¦  «        dgk    sJ ‚t          t          dt          d¬¦  «        ¦  «        t          dd¦  «        t          t          d¦  «        z  dz  z
  t          dd¦  «        t          t          d¦  «        z  dz  z   gk    sJ ‚t          t          dt          d¬¦  «        ¦  «        t           t          gk    sJ ‚t          t          dt          d¬¦  «        ¦  «        t          j        t          t          d¦  «        z  dz  z
  t          j        t          t          d¦  «        z  dz  z   gk    sJ ‚t          t          d	t          d¬¦  «        ¦  «        t          t          d	z  ¦  «         t          t          t          d	z  ¦  «        z  z
  t          t          d	z  ¦  «         t          t          t          d	z  ¦  «        z  z   t          t          t          dd	¦  «        z  ¦  «         t          t          t          t          dd	¦  «        z  ¦  «        z  z
  t          t          t          dd	¦  «        z  ¦  «         t          t          t          t          dd	¦  «        z  ¦  «        z  z   t          t          t          dd	¦  «        z  ¦  «        t          t          t          t          dd	¦  «        z  ¦  «        z  z
  t          t          t          dd	¦  «        z  ¦  «        t          t          t          t          dd	¦  «        z  ¦  «        z  z   gk    sJ ‚t          t          d
t          d¬¦  «        ¦  «        t          d¦  «         dz  t          t          d¦  «        z  dz  z
  t          d¦  «         dz  t          t          d¦  «        z  dz  z   t          d¦  «        dz  t          t          d¦  «        z  dz  z
  t          d¦  «        dz  t          t          d¦  «        z  dz  z   gk    sJ ‚t          t          dt          d¬¦  «        ¦  «        t          d¦  «         dz  t          dz  z
  t          d¦  «         dz  t          dz  z   t          d¦  «        dz  t          dz  z
  t          d¦  «        dz  t          dz  z   gk    sJ ‚t          t          dt          d¬¦  «        d¬¦  «        dgk    sJ ‚t          t          dt          d¬¦  «        d¬¦  «        dgk    sJ ‚t          t          dt          d¬¦  «        d¬¦  «        t          dd¦  «         dt          dd¦  «        z   gk    sJ ‚t          t          dt          d¬¦  «        d¬¦  «        t           t          gk    sJ ‚t          t          dt          d¬¦  «        d¬¦  «        t          dd¦  «         t          dd¦  «        dz   t          dd¦  «        dz  dt          dd¦  «        dz  z
  t          dd¦  «        z   t          dd¦  «        dz  z   gk    sJ ‚t          t          dt          d¬¦  «        d¬¦  «        dt          dd¦  «        z
  t          dd¦  «        gk    sJ ‚d S )Nr1   T©Úpolysr:   rD   rI   rL   rK   rk   ry   rÎ   )Úfactorrf   )r#   r   rE   r   r   r   r   r¢   r   r   r   r   rF   r9   r7   Útest_roots_cyclotomicrØ     s*  € Ý�O¨A­q¸Ð=Ñ=Ô=Ñ>Ô>À1À#ÒEÐEÐEÐEÝ�O¨A­q¸Ð=Ñ=Ô=Ñ>Ô>À2À$ÒFÐFÐFÐFÝ�OØ	�1�Dðñ ô ñ ô Ý'¨¨A™œµµ4¸±7´7±¸1±Ñ<½hÀrÈ1¹o¼oÕPQÕRVÐWXÑRYÔRYÑPYÐZ[ÑP[Ñ>[Ð\ò]ð ]ð ]ð ]å�O¨A­q¸Ð=Ñ=Ô=Ñ>Ô>ÅAÀ2ÅqÀ'ÒIÐIÐIÐIÝ�OØ	�1�Dðñ ô ñ ô Ý œv­­$¨q©'¬'©	°!©Ñ3µQ´V½aÅÀQÁÄ¹iÈ¹kÑ5IÐJòKð Kð Kð Kõ �O¨A­q¸Ð=Ñ=Ô=Ñ>Ô>Ý	�R�‰T‰Œˆ
•Q•s�2˜a™4‘y”y‘[Ñ Ý	�R�‰T‰Œˆ
•Q•s�2˜a™4‘y”y‘[Ñ Ý	�R•˜˜A‘”ÑÑ	Ô	Ð¥!¥C­­8°A°q©>¬>Ñ(9Ñ$:Ô$:Ñ":Ñ:Ý	�R•˜˜A‘”ÑÑ	Ô	Ð¥!¥C­­8°A°q©>¬>Ñ(9Ñ$:Ô$:Ñ":Ñ:Ý�B�x˜˜1‰~Œ~ÑÑÔ¥¥3¥r­(°1°a©.¬.Ñ'8Ñ#9Ô#9Ñ!9Ñ9Ý�B�x˜˜1‰~Œ~ÑÑÔ¥¥3¥r­(°1°a©.¬.Ñ'8Ñ#9Ô#9Ñ!9Ñ9ðCò ð ð ð õ �O¨A­q¸Ð=Ñ=Ô=Ñ>Ô>Ý	ˆa‰Œˆ�‰
•Q•t˜A‘w”w‘Y˜q‘[Ñ Ý	ˆa‰Œˆ�‰
•Q•t˜A‘w”w‘Y˜q‘[Ñ ÝˆQ‰Œ�‰	•A•d˜1‘g”g‘I˜a‘KÑÝˆQ‰Œ�‰	•A•d˜1‘g”g‘I˜a‘KÑð	Cò ð ð ð õ �O¨Bµ¸Ð>Ñ>Ô>Ñ?Ô?Ý	ˆa‰Œˆ�‰
•Q�q‘SÑÝ	ˆa‰Œˆ�‰
•Q�q‘SÑÝˆQ‰Œ�‰	•A�a‘C‰ÝˆQ‰Œ�‰	•A�a‘C‰ð	Dò ð ð ð õ Ý˜�1 DÐ)Ñ)Ô)°$ð8ñ 8ô 8Ø<=¸3ò?ð ?ð ?ð ?åÝ˜�1 DÐ)Ñ)Ô)°$ð8ñ 8ô 8Ø<>¸4ò@ð @ð @ð @õ �O¨A­q¸Ð=Ñ=Ô=ÀdÐKÑKÔKÝ
ˆr�1‰+Œ+ˆ�r�D  Q™KœKÑ'Ð(ò)ð )ð )ð )å�O¨A­q¸Ð=Ñ=Ô=ÀdÐKÑKÔKÝ
ˆ�Qˆòð ð ð å�O¨A­q¸Ð=Ñ=Ô=ÀdÐKÑKÔKÝ
ˆr�1‰+Œ+ˆ�˜R ™œ Q™�­¨R°©¬°Q©¸½TÀ"Àa¹[¼[È!¹^Ñ8KÍdÐSUÐWXÉkÌkÑ8YÕ\`ÐacÐefÑ\gÔ\gÐijÑ\jÑ8jÐkòlð lð lð lõ �O¨A­q¸Ð=Ñ=Ô=ÀdÐKÑKÔKØ	
�T�"�a‰[Œ[‰�$˜r 1™+œ+Ð&ò'ð 'ð 'ð 'ð 'ð 'r9   c            
      óº  — t          t          dt          z  t          ¦  «        ¦  «        dgk    sJ ‚t          t          dt          dz  z  t          ¦  «        ¦  «        g d¢k    sJ ‚t          t          dt          z  dz   t          ¦  «        ¦  «        t          dd¦  «        gk    sJ ‚dt          dd¦  «        z  dz  } t          t          dt          dz  z  dz   t          ¦  «        ¦  «        |  | t          z  z
  |  | t          z  z   | | t          z  z
  | | t          z  z   gk    sJ ‚t          t          t          t          d	z  dz
  ¦  «        ¦  «        ¦  «         t          d
d¬¦  «        }t          dd¬¦  «        }t          t          |t          dz  z  |z   t          ¦  «        ¦  «        }t          t          |t          dz  z  |z   t          ¦  «        ¦  «        }t          |d         ¦  «        t          |d         ¦  «        k    sJ ‚t          |d         ¦  «        t          |d         ¦  «        k    sJ ‚t          dddd¦  «        D ]X\  }}}}||k    r|dk    rŒt          |t          |z  z  ||z  z   ¦  «        }	t          |	¦  «        }
|
t          |
¦  «        k    sJ ‚ŒYt          t          dt          dz  z  dt          dz  z  z
  t          ¦  «        ¦  «        dt          z  t          dd¦  «        t          d¦  «        t          z  dz  z
  z  ddt          z  ddt          z  t          dd¦  «        t          d¦  «        t          z  dz  z   z  dik    sJ ‚d S )Nrf   r   rL   r¥   r:   rW   r|   rI   ry   Úa1T)ÚnonnegativeÚb1r1   )r1   r:   )rD   r1   )r:   rI   rL   rf   r�   rD   )r$   r   rE   r   r   rB   r   r   r   r.   r*   r&   r^   r   )ÚArÚ   rÜ   Úr0Úr1rY   r]   r»   rQ   rr   r„   s              r7   Útest_roots_binomialrà   7  s  € Ý�$˜q¥™s¥A™,œ,Ñ'Ô'¨A¨3Ò.Ð.Ð.Ð.Ý�$˜q¥ A¡™v¥q™/œ/Ñ*Ô*¨l¨l¨lÒ:Ð:Ð:Ð:Ý�$˜q¥™s Q™w­Ñ*Ô*Ñ+Ô+µ¸¸Q±´Ð/@Ò@Ð@Ð@Ð@à
�H�Q˜‰NŒNÑ˜2Ñ€Aå�$˜q¥ A¡™v¨™z­1Ñ-Ô-Ñ.Ô.Ø
ˆˆa•‰c‰�A�2˜�!™‘8˜Q ¥1¡™W a¨!­A©#¡gÐ.ò/ð /ð /ð /å
�>�$�q !™t a™x™.œ.Ñ)Ô)Ñ*Ô*Ð*å	� $Ð	'Ñ	'Ô	'€BÝ	� $Ð	'Ñ	'Ô	'€Bå	�˜b¥ A¡™g¨™l­AÑ.Ô.Ñ	/Ô	/€BÝ	�˜R¥ 1¡™W r™\­1Ñ-Ô-Ñ	.Ô	.€Bå�2�a”5‰>Œ>�W R¨¤U™^œ^Ò+Ð+Ð+Ð+Ý�2�a”5‰>Œ>�W R¨¤U™^œ^Ò+Ð+Ð+Ð+Ý˜f f¨g°|ÑDÔDð "ð "‰
ˆˆ1ˆa�Ø�Š6ˆ6�a˜1’f�fØÝ�•1�a‘4‘˜!˜A™#‘ÑÔˆÝ˜QÑÔˆØ•f˜S‘k”kÒ!Ð!Ð!Ð!Ð!õ •�a�˜1™‘f˜r¥! Q¡$™wÑ&­Ñ*Ô*Ñ+Ô+Ø	�!‰�X�b˜!‰_Œ_�t A™wœw¥q™y¨™{Ñ*Ñ+¨QØ	�!‰ˆQØ	�!‰�X�b˜!‰_Œ_�t A™wœw¥q™y¨™{Ñ*Ñ+¨Qð00ò 0ð 0ð 0ð 0ð 0ð 0r9   c            	      ó’  — t           t          z  t          dz  z  t          z   t          z
  } t	          t          | t          ¦  «        ¦  «        \  }}|dk    sJ ‚|t          t           t          z  t          dz  z  t          z   t          z
  t          ¦  «        k    sJ ‚t          dz  t          dz  z  t          dz  t          dz  z  z   t          t          z  z   t           z   } t	          t          | t          ¦  «        ¦  «        \  }}|dt          z  k    sJ ‚|t          t          dz  t          dz  z   t          z   t           z   t          ¦  «        k    sJ ‚t          dz  t          dz  z  t          dz  t          dz  z  z   t           z   } t	          t          | t          ¦  «        ¦  «        \  }}|dt          z  k    sJ ‚|t          t          dz  t          dz  z   t           z   t          ¦  «        k    sJ ‚t          dz  t          dz  z  t          t          z  z   t           z   } t	          t          | t          ¦  «        ¦  «        \  }}|dt          z  k    sJ ‚|t          t          dz  t          z   t           z   t          ¦  «        k    sJ ‚t          dz  t          dz  z  t           z   } t	          t          | t          ¦  «        ¦  «        \  }}|dt          z  k    sJ ‚|t          t          dz  t           z   t          ¦  «        k    sJ ‚t          d¦  «        \  }}}}d|dz  z  |dz  z  |dz  z  d|z  t          z  |d	z  z  |d	z  z  |d
z  z  z   d|dz  z  |dz  z  |dz  z  t          dz  z  |dz  z  z
  d|dz  z  |dz  z  |dz  z  t          dz  z  |dz  z  z   d|dz  z  |dz  z  |dz  z  t          dz  z  |dz  z  z
  d|dz  z  |dz  z  |dz  z  t          dz  z  |dz  z  z   d|dz  z  |dz  z  |dz  z  t          dz  z  d|dz  z  z  z   d|z  |z  |d	z  z  t          d	z  z  d|dz  z  z  z
  d|dz  z  t          dz  z  dz  z   } t	          t          | t          ¦  «        ¦  «        \  }}|d|z  |z  ||dz  z  z  k    sJ ‚|dt          dz  z  dt          d	z  z  z
  dt          dz  z  z   dt          dz  z  z   dt          dz  z  z
  dt          dz  z  z   dt          dz  z  z
  dt          z  z   d z
  k    sJ ‚t          t          dz   t          dz  t          t          ¦  «        z  z   t          t          t          t          t          ¦  «        f         ¬!¦  «        } t          t          dz   t          t          ¦  «        z   t          t          t          t          ¦  «                 ¬!¦  «        }t	          | ¦  «        t          |fk    sJ ‚d S )"Nr:   r1   rI   úE,F,J,Lìûÿÿÿ [r|)s2^ ry   r�   ì    …83ll8rk   é   ì   €]$=‚,y rK   rÎ   ì   �/ž@ê:rf   r|   ì   öD!^ rL   é—qâ é
Ö  é�  éP   éy  é q é   idÂ i ãB iÌß°l   ”uòl   ˜/1gÔ&l   „g l   ‹FäW&k rˆ   )
rY   r^   rE   r]   r%   r   r[   r	   r   r   )r_   ÚcoeffÚpolyÚEÚFÚJÚLÚgs           r7   Útest_roots_preprocessingr÷   X  sp  € Ý	�!‰�Aˆq‰D‰•1‰•qÑ€Aå"¥4¨­1¡:¤:Ñ.Ô.�K€Eˆ4à�AŠ:ˆ:ˆ:ˆ:Ø•4��!™�A˜q™D™¥1™¥qÑ(­!Ñ,Ô,Ò,Ð,Ð,Ð,å	ˆ1‰�Q�‰T‰	•A�q‘D�˜A™‘IÑ¥¥!¡Ñ#¥aÑ'€Aå"¥4¨­1¡:¤:Ñ.Ô.�K€Eˆ4à�A•a‘CŠ<ˆ<ˆ<ˆ<Ø•4�˜1™�q !™t™¥a™­!Ñ+­QÑ/Ô/Ò/Ð/Ð/Ð/å	ˆ1‰�Q�‰T‰	•A�q‘D�˜A™‘IÑ¥Ñ!€Aå"¥4¨­1¡:¤:Ñ.Ô.�K€Eˆ4à�A•a‘CŠ<ˆ<ˆ<ˆ<Ø•4�˜1™�q !™t™¥a™­Ñ+Ô+Ò+Ð+Ð+Ð+å	ˆ1‰�Q�‰T‰	•A•a‘C‰�!Ñ€Aå"¥4¨­1¡:¤:Ñ.Ô.�K€Eˆ4à�A•a‘CŠ<ˆ<ˆ<ˆ<Ø•4�˜1™�q™¥1™¥aÑ(Ô(Ò(Ð(Ð(Ð(å	ˆ1‰�Q�‰T‰	•A‰€Aå"¥4¨­1¡:¤:Ñ.Ô.�K€Eˆ4à�A•a‘CŠ<ˆ<ˆ<ˆ<Ø•4�˜1™�q™¥!Ñ$Ô$Ò$Ð$Ð$Ð$å˜Ñ#Ô#�J€A€qˆ!ˆQà˜a ™dÑ" 1 a¡4Ñ'¨¨2©Ñ-Ø˜1Ñ�QÑ˜q !™tÑ# A q¡DÑ(¨¨B©Ñ.ñ	/à˜˜A™Ñ˜a ™dÑ" 1 a¡4Ñ'­¨1©Ñ,¨Q°©UÑ2ñ	3ð 	�q˜!‘tÑ˜A˜q™DÑ   A¡Ñ%¥a¨¡dÑ*¨1¨b©5Ñ0ñ	1ð 	�A�q‘DÑ˜˜A™Ñ˜a ™dÑ"¥1 a¡4Ñ'¨¨1©Ñ,ñ		-ð
 	��A‘‰�a˜‘dÑ˜1˜a™4Ñ¥ 1¡Ñ$ Q¨¡TÑ)ñ	*ð 	ˆa�‰d‰
�1�a‘4‰˜˜1™Ñ�Q ™TÑ! 1 Q¨¡T¡6Ñ*ñ	+ð 	ˆQ‰ˆq‰��A‘‰•a˜‘dÑ˜B˜q !™t™GÑ$ñ	%ð 	ˆAˆq‰D‰•�A‘‰�fÑñ	€Aõ #¥4¨­1¡:¤:Ñ.Ô.�K€Eˆ4à�B�q‘D˜‘F˜A˜a ™d™F‘OÒ#Ð#Ð#Ð#Ø�3•q˜!‘t‘8˜f¥Q¨¡T™kÑ)¨GµA°q±D©LÑ8¸9ÅQÈÁT¹>ÑIÈKÕXYÐ[\ÑX\ÑL\Ñ\Ø•Q˜‘TÑñØ*­1¨a©4Ñ/ñ0Ø2@ÅÑ2BñCØETñUò Uð Uð Uð Uõ 	�a�‰dˆU•Q˜‘T�#�a™&œ&‘[Ñ ¥!­B­qµ#µa±&´&¨y¬MÐ:Ñ:Ô:€AÝ�a�‰dˆU•S�‘V”V‰^�Q¥r­#­a©&¬&¤zÐ2Ñ2Ô2€Aå˜AÑÔ¥1 a &Ò(Ð(Ð(Ð(Ð(Ð(r9   c                  ó|5  — t          dt          ¦  «        i k    sJ ‚t          t          t          ¦  «        t          j        dik    sJ ‚t          t          dz  t          ¦  «        t          j        dik    sJ ‚t          t          dz
  t          dz   z  t          dz
  z                       ¦   «         t          ¦  «        t          d¦  «         dt          d¦  «        dt          d¦  «        dik    sJ ‚t          dt          z  dz   t          ¦  «        t          dd¦  «        dik    sJ ‚t          dt          z  dz   dz  t          ¦  «        t          dd¦  «        dik    sJ ‚t          dt          z  dz   dz  t          ¦  «        t          dd¦  «        dik    sJ ‚t          dt          z  dz   dz  t          ¦  «        t          dd¦  «        dik    sJ ‚t          t          dz  dz
  t          ¦  «        t          dt          j        dt          j         dt           dik    sJ ‚t          t          dz  dz
  dz  t          ¦  «        t          dt          j        dt          j         dt           dik    sJ ‚t          dt          z  dz
  dz                       ¦   «         t          ¦  «        t          dd¦  «        dik    sJ ‚t          dt          z  dz   dz                       ¦   «         t          ¦  «        t          d	d¦  «        dik    sJ ‚t          dt          z  dz
  dz                       ¦   «         t          ¦  «        t          dd¦  «        dik    sJ ‚t          dt          z  dz   dz                       ¦   «         t          ¦  «        t          d	d¦  «        dik    sJ ‚t          dt          z  dz
  dz                       ¦   «         t          ¦  «        t          dd¦  «        dik    sJ ‚t          dt          z  dz   dz                       ¦   «         t          ¦  «        t          d	d¦  «        dik    sJ ‚t          t          t          z  t          z
  dz                       ¦   «         t          ¦  «        t          t          z  dik    sJ ‚t          t          t          z  t          z   dz                       ¦   «         t          ¦  «        t           t          z  dik    sJ ‚t          t          dz  t           dz
  t          z  z   t          z   t          ¦  «        t          dt          j        dik    sJ ‚t          t          dz  dt          dz  z  z
  dz   t          ¦  «        t          j        dt          j
        dik    sJ ‚t          t          d
z  dt          dz  z  z
  dt          dz  z  z   t          dz  z
  t          ¦  «        t          j        ddt          d¦  «        z
  dt          j        ddt          d¦  «        z   dik    sJ ‚t          t          dz  dz
  t          ¦  «        t          d¦  «        dz  t          t          d¦  «        z  dz  z   dt          d¦  «        dz  t          t          d¦  «        z  dz  z
  dt          d¦  «         dz  t          t          d¦  «        z  dz  z   dt          d¦  «         dz  t          t          d¦  «        z  dz  z
  dt          j        dt          j         dt          dt           dik    sJ ‚dt          dz  z  dt          dz  z  z
  dt          dz  z  z
  dt          dz  z  z   dt          d
z  z  z   dt          dz  z  z
  dt          dz  z  z
  dt          dz  z  z
  } t          | ¦  «        t          j        dt          d¦  «         dt          d¦  «        dt          dd¦  «        dt          d	d¦  «        dt          dd¦  «        dt          dd¦  «        dik    sJ ‚t          t          t          z   t          z   t          z  t          t          z   t          z   t          z   z
  t          ¦  «        t          t          z   t          z   t          z   t          t          z   t          z   z  dik    sJ ‚t          t          dz  t          dz  z   t          z
  dz   t          d¬¦  «        i k    sJ ‚t          t          dz
  t          dz   z  t          dz
  z                       ¦   «         t          d¬¦  «        t          d¦  «         dt          d¦  «        dt          d¦  «        dik    sJ ‚t          t          dz
  t          dz   z  t          dz
  z  t          dz
  z                       ¦   «         t          d¬¦  «        t          d¦  «         dt          d¦  «        dt          d¦  «        dt          d¦  «        dik    sJ ‚t          t          dz  dt          dz  z  z   dt          z  z   dz   t          ¦  «        t          d¦  «         ddt          z  ddt          z  dik    sJ ‚t          t          dz  dt          dz  z  z   dt          z  z   dz   t          d¬¦  «        dt          z  ddt          z  dt          d¦  «         dik    sJ ‚t          t          dz  t          z
  t          dz  dt          dz  z  z   dt          z  z   dz   z  t          ¦  «        t          j        dt          j        dt          d¦  «         ddt          z  ddt          z  dik    sJ ‚t          j        t          dd¦  «        }}dt          d¦  «        z  dz   |z  }d|z  dz  }|dz  }t          d¦  «        t          z  dz  }||z
  }| |z
  }t          t          dz  t          dz  z   t          z
  dz   t          d¬¦  «        | |z
  |z
  d| |z  ||z  z
  |z
  d| |z  ||z  z
  |z
  dik    sJ ‚t          dz  dt          z  z   dz                        t          dt          dz  z  dt          z  z   ¦  «                             t          dt          z  dz
  ¦  «        } d„ dD ¦   «         \  }	}
t          d¦  «        }t          | t          ¦  «        |	|
t          ddt          z  |z  z
  ¦  «        z  z   d|	|
t          ddt          z  |z  z
  ¦  «        z  z
  d|	|
t          ddt          z  |z  z   ¦  «        z  z   d|	|
t          ddt          z  |z  z   ¦  «        z  z
  dik    sJ ‚t          dz  t          dz  z   t          dz  z   t          z   dz   } d„ dD ¦   «         \  }}}t          | t          ¦  «        | |d|z  z  z   t          ||d|z  z  z   |z  z  z   d| |d|z  z  z   t          ||d|z  z  z   |z  z  z
  d| |d|z  z  z
  t          ||d|z  z  z
  |z  z  z   d| |d|z  z  z
  t          ||d|z  z  z
  |z  z  z
  dik    sJ ‚t           dz  dt"          z
  t           dz  z  z   ddt"          z  z   dt          dz  z  z
  t           z  z   t"          z
  dt          dz  z  z   } t          | t           ¦  «        t          j        dt          j        t          j        t"          z  z   t          j        t          ddt"          z  z
  t"          dz  z   dt          dz  z  z   ¦  «        z  z   dt          j        t          j        t"          z  z   t          j        t          ddt"          z  z
  t"          dz  z   dt          dz  z  z   ¦  «        z  z
  dik    sJ ‚t          t          t          z  t          z  t          dz  z  dt          dz  z  z   dt          z  z   dz   t          d¬¦  «        i k    sJ ‚t          t          t          z  t          z  t          dz  z  dt          dz  z  z   dt          z  z   dz   t          d¬¦  «        i k    sJ ‚t          t          dz  dz
  t          d ¬!¦  «        t          j        dt          j         dik    sJ ‚t          t          dz  dz
  t          d"¬!¦  «        t          dt           dik    sJ ‚t          t          dz
  t          dz   z  t          ¦  «        t          j        dt          j         dik    sJ ‚t          t          dz
  t          dz   z  t          d#„ ¬$¦  «        t          j        dik    sJ ‚t          t          dz  dz
  t          d d¬%¦  «        t          j         t          j        gk    sJ ‚t          t          dz  dz
  t          d"d¬%¦  «        t          t           gk    sJ ‚t%          d&d¬'¦  «        \  }}t          dz  ||z
  dz  z  dt          z  ||z
  z  z   dz   }t          |t          d(¬!¦  «        d||z
  z  dik    sJ ‚t          t          dz  t          d¬)¦  «        t          j        t          j        t          j        gk    sJ ‚t          d*t          d¬)¦  «        g k    sJ ‚t          d
z  t          dz  z
  t          dz  z   t          dz  z
  t          dz  z   t          z
  dz   } t          | ¦  «        t           t'          t(          dz  ¦  «        z  t+          t(          dz  ¦  «        z   dt           t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z
  dt           t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z   dt          t'          t(          dz  ¦  «        z  t+          t(          dz  ¦  «        z   dt          t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z
  dt          t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z   dik    sJ ‚t          dz  dz   | dz  z                       ¦   «         }t          |¦  «        t           t'          t(          dz  ¦  «        z  t+          t(          dz  ¦  «        z   dt           t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z
  dt           t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z   dt          t'          t(          dz  ¦  «        z  t+          t(          dz  ¦  «        z   dt          t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z
  dt          t'          t(          t          dd¦  «        z  ¦  «        z  t+          t(          t          dd¦  «        z  ¦  «        z   dt           dt          dik    sJ ‚t          t          dz  d+t          z  z   dz   ¦  «        }d,„ |D ¦   «         d-         }d.d
t          d/¦  «        z  z   }|dt-          |d¦  «        z  dz  d0t-          |d¦  «        z  z   k    sJ ‚t/          ddt          d¦  «        z  z   t          dz  z  d1dt          d¦  «        z  z
  t          dz  z  z   t          d¦  «         dz
  t          z  z   dz   t          d2¬3¦  «        }t          |¦  «        dt          d¦  «        z   dddt          d¦  «        z  z   dt          d¦  «         dz   dik    sJ ‚t/          d4t          dz  z  d5t          d¦  «        z  t          dz  z  z   d6t          dz  z  z
  d.t          d¦  «        z  t          dz  z  z
  d7t          dz  z  z   d8t          d¦  «        z  t          dz  z  z   d9t          dz  z  z
  d:t          d¦  «        z  t          dz  z  z
  d;t          d¦  «        z  t          z  z
  d;t          z  z
  d<z   t          d2¬3¦  «        }t          |¦  «        t          d¦  «         dz   dddt          d¦  «        z  z   ddt          d¦  «        z   dd=dt          d¦  «        z  z   dd	dt          d¦  «        z  z   dik    sJ ‚t/          t          dz  dt          dz  z  z
  d
t          d¦  «        z  t          dz  z  z   dt          d¦  «        z  t          z  z
  d>t          z  z   d?z
  d?t          d¦  «        z  z   t          d2¬3¦  «        }t          |¦  «        dt          d¦  «        z  dz   ddt          d¦  «        z  dz   ddt          d¦  «        z  dz
  dik    sJ ‚t          t/          t          t          d¦  «        z   dz  dz
  t          d2¬3¦  «        ¦  «        t          d¦  «         t-          dd¦  «        t          j         t          d¦  «        t          z  dz  z
  z  z   dt          d¦  «         t-          dd¦  «        t          j         t          d¦  «        t          z  dz  z   z  z   dt          d¦  «         t-          dd¦  «        z   dik    sJ ‚d S )@Nr1   r©   r:   rI   rL   rD   rf   r|   rJ   rK   ry   i øÿÿið  i  iü  i€  éà   rk   i€  rš   r¨   F)ÚcubicsrW   Té!   é   c                 ó    — g | ]}t          |Ž ‘ŒS rF   ©r   ©r5   r`   s     r7   rT   ztest_roots0.<locals>.<listcomp>à  s,   € ð 'ð 'ð 'Øõ  �lð 'ð 'ð 'r9   ))r    rï   )r1   rï   c                 ó    — g | ]}t          |Ž ‘ŒS rF   rþ   rÿ   s     r7   rT   ztest_roots0.<locals>.<listcomp>í  s   € ÐIÐIÐI¨!� 1˜ÐIÐIÐIr9   ))r1   rL   )r1   ry   )rf   ry   ÚZ©Úfilterr   c                 ó   — | j         S r¸   )Úis_positive)r`   s    r7   ú<lambda>ztest_roots0.<locals>.<lambda>  s   € °´€ r9   )Ú	predicate)r  rŸ   za, b)ÚrealÚR©rŸ   iÒ  é(   c                 ó    — g | ]}|j         ¯	|‘ŒS rF   r2   )r5   Úrxs     r7   rT   ztest_roots0.<locals>.<listcomp>*  s   € Ð.Ð.Ð.˜ 2¤:Ð.�Ð.Ð.Ð.r9   r   él   i2  rï   r«   r‡   rˆ   é)   é   é™   é¯   é}   é-   é   é   é   r¬   é   rå   )r&   rE   r   r½   Úexpandr   r   r¾   rY   r]   ÚNegativeOner   r[   r\   r¢   rm   rn   r^   r	   r   r   r   r   r   )r_   Úr1_2Úr1_3Úx0Úx1Úx2Úx3Úx4Úx5Úr13_20Úr1_20Ús2Úr1_4Úr1_8Úr5_8ÚarÚbrrr   rö   r`   Ú	real_rootÚcrrh   s                          r7   Útest_roots0r-  ”  si  € Ý�•A‰;Œ;˜"ÒÐÐÐÝ••A‰;Œ;�1œ6 1˜+Ò%Ð%Ð%Ð%Ý•�A‘•q‰>Œ>�aœf a˜[Ò(Ð(Ð(Ð(Ý•1�q‘5�1˜q™5‘/¥1 q¡5Ñ)×1Ò1Ñ3Ô3µQÑ7Ô7½Q¸q¹T¼T¸EÀ1ÅaÈÁdÄdÈAÍqÐQRÉtÌtÐUVÐ;WÒWÐWÐWÐWå�•1‘�q‘�!ÑÔ¥¨"¨a¡¤°!Ð 4Ò4Ð4Ð4Ð4Ý�!•A‘#˜‘'˜A‘�qÑ!Ô!¥h¨r°1¡o¤o°qÐ%9Ò9Ð9Ð9Ð9Ý�!•A‘#˜‘'˜A‘�qÑ!Ô!¥h¨r°1¡o¤o°qÐ%9Ò9Ð9Ð9Ð9Ý�!•A‘#˜‘'˜B‘¥Ñ"Ô"¥x°°A¡¤¸Ð&;Ò;Ð;Ð;Ð;å•�A‘˜‘�1ÑÔ¥! Q­¬¨qµ1´5°&¸!½a¸RÀÐ!CÒCÐCÐCÐCÝ•!�Q‘$˜‘(˜Q‘¥Ñ"Ô"¥q¨!­Q¬U°A½¼°v¸qÅ1À"ÀaÐ&HÒHÐHÐHÐHå�1•Q‘3˜‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ¸1¸a±´À!Ð0DÒDÐDÐDÐDÝ�1•Q‘3˜‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ¸"¸a±´À!Ð0DÒDÐDÐDÐDå�1•Q‘3˜‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ¸1¸a±´À!Ð0DÒDÐDÐDÐDÝ�1•Q‘3˜‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ¸"¸a±´À!Ð0DÒDÐDÐDÐDå�1•Q‘3˜‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ¸1¸a±´À!Ð0DÒDÐDÐDÐDÝ�1•Q‘3˜‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ¸"¸a±´À!Ð0DÒDÐDÐDÐDå•1•Q‘3�‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ!µA±#°q°	Ò9Ð9Ð9Ð9Ý•1•Q‘3�‘7˜Q‘,×&Ò&Ñ(Ô(­!Ñ,Ô,µ!°µA±°q°	Ò9Ð9Ð9Ð9å•�A‘�!˜˜a™¥™
Ñ"¥QÑ&­Ñ*Ô*­q°!µQ´U¸AÐ.>Ò>Ð>Ð>Ð>å•�A‘˜�!˜Q™$™‘ Ñ"¥AÑ&Ô&­1¬5°!µQ´]ÀAÐ*FÒFÐFÐFÐFå•�A‘˜�!˜Q™$™‘ ¥1 a¡4¡Ñ'­!¨Q©$Ñ.µÑ2Ô2Ý	
Œ��2�˜Q™œ‘< ¥A¤F¨A¨rµD¸±G´G©|¸QÐ?ò@ð @ð @ð @õ •�A‘˜‘�1ÑÔÝˆQ‰Œ�‰	•A•d˜1‘g”g‘I˜a‘KÑ ÝˆQ‰Œ�‰	•A•d˜1‘g”g‘I˜a‘KÑ Ý	ˆa‰Œˆ�‰
•Q•t˜A‘w”w‘Y˜q‘[Ñ  !Ý	ˆa‰Œˆ�‰
•Q•t˜A‘w”w‘Y˜q‘[Ñ  !Ý	Œˆq•1”5�&˜!�Q ¥A 2 qð"ò ð ð ð ð 	�a�‰d‰
�T�!˜Q™$‘YÑ ¥a¨¡d¡Ñ*¨Tµ!°Q±$©YÑ6¸½aÀ¹d¹ÑBØ�Aˆq‰D‰ñ	Ø•q˜!‘t‘8ñ	Ø ¥ A¡™gñ	&€Aõ �‰8Œ8�œ ¥A a¡D¤D 5¨!­Q¨q©T¬T°1µh¸rÀ1±o´oÀqÝ˜˜Q‘” ¥H¨R°¡O¤O°Q½ÀÀA¹¼ÈðKò Kð Kð Kð Kõ •!•a‘%�!‘)�Q‘¥!¥a¡%­!¡)­a¡-Ñ0µ!Ñ4Ô4½!½a¹%Å!¹)Åa¹-Í!ÍaÉ%ÕRSÉ)Ñ9TÐVWÐ8XÒXÐXÐXÐXå•�A‘�˜1™‘�q‘ 1Ñ$¥a°Ð6Ñ6Ô6¸"Ò<Ð<Ð<Ð<Ý•1�q‘5Ý	ˆA‰ñÝ�A‘ñßš™œ¥!¨Eð3ñ 3ô 3Ý89¸!¹¼°u¸aÅÀ1ÁÄÀqÍ!ÈAÉ$Ì$ÐPQÐ6RòSð Sð Sð Så•1�q‘5�1˜q™5‘/¥1 q¡5Ñ)­1¨q©5Ñ1×9Ò9Ñ;Ô;½QÀuÐMÑMÔMÝ
ˆA‰$Œ$ˆ�•1�Q‘4”4˜�A˜a™DœD !¥Q q¡T¤T¨1Ð-ò.ð .ð .ð .å•�A‘˜�!˜Q™$™‘ ¥1¡Ñ$ qÑ(­!Ñ,Ô,µ!°A±$´$°¸¸2½a¹4ÀÀAÅaÁCÈÐ0KÒKÐKÐKÐKÝ•�A‘˜�!˜Q™$™‘ ¥1¡Ñ$ qÑ(­!°DÐ9Ñ9Ô9Ø	�A‰ˆq�!•A‘#�q�1˜Q™4œ4˜% Ð#ò$ð $ð $ð $å•!�Q‘$�‘(�Q ™T A¥a¨¡d¡F™]¨Q­q©SÑ0°1Ñ4Ñ5µqÑ:Ô:Ý	
Œ�•1”6˜1�q ™tœt˜e Q¨­1©¨a°µ1±°aÐ8ò9ð 9ð 9ð 9õ ”� ! Q™œˆ$€Dà
�D�‰HŒH‰*�r‰/˜DÑ	 €BØ	
ˆ2‰ˆa‰€BØ	ˆA‰€BÝ	ˆa‰Œ•‰�1‰€BØ	ˆd‰€BØ
ˆˆt‰€BÝ•�A‘�˜1™‘�q‘ 1Ñ$¥a°Ð5Ñ5Ô5Ø	ˆˆb‰�4‰˜Ø	ˆˆB‰��B‘‰˜Ñ˜qØ	ˆˆB‰��B‘‰˜Ñ˜qð:ò ð ð ð õ 
ˆA‰�•!‘‰�a‰×Ò�a ¥1 a¡4¡¨!­A©#¡Ñ.Ô.×3Ò3µA°q½±s¸Q±wÑ?Ô?€Að'ð 'Ø$ð'ñ 'ô '�M€FˆEõ 
ˆa‰Œ€BÝ�•A‰;Œ;Ø�•t˜A ¥!¡ B¡™JÑ'Ô'Ñ'Ñ'¨Ø�•t˜A ¥!¡ B¡™JÑ'Ô'Ñ'Ñ'¨Ø�•t˜A ¥!¡ B¡™JÑ'Ô'Ñ'Ñ'¨Ø�•t˜A ¥!¡ B¡™JÑ'Ô'Ñ'Ñ'¨ð	ò ð ð ð õ 	
ˆ1‰�q�!‰t‰•a˜‘dÑ�QÑ Ñ"€AàIÐIÐ/GÐIÑIÔIÑ€Dˆ$�å�•A‰;Œ;Ø	ˆ��Q˜‘W‘Ñ�q $¨¨a°©g©Ñ"5¸Ñ!<Ñ<Ñ<¸aØ	ˆ��Q˜‘W‘Ñ�q $¨¨a°©g©Ñ"5¸Ñ!<Ñ<Ñ<¸aØ	ˆ��Q˜‘W‘Ñ�q $¨¨a°©g©Ñ"5¸Ñ!<Ñ<Ñ<¸aØ	ˆ��Q˜‘W‘Ñ�q $¨¨a°©g©Ñ"5¸Ñ!<Ñ<Ñ<¸að	ò ð ð ð õ 	
ˆ1‰�•Q‘�˜1™‰}Ñ  A¥a¡C¡¨!­A¨q©D©&Ñ 0µ!Ñ3Ñ3µaÑ7¸!½A¸q¹D¹&Ñ@€Aå�•A‰;Œ;Ý	ŒˆqÝ	Œ•”�‘Ñ�AœF¥4¨¨A­a©C©µ!°Q±$©¸½1¸a¹4¹Ñ(?Ñ#@Ô#@Ñ@Ñ@À!Ý	Œ•”�‘Ñ�AœF¥4¨¨A­a©C©µ!°Q±$©¸½1¸a¹4¹Ñ(?Ñ#@Ô#@Ñ@Ñ@À!ðò ð ð ð õ ••1‘•Q‘•q˜!‘t‘˜a¥ 1¡™fÑ$ q­¡sÑ*¨QÑ.µ¸%Ð@Ñ@Ô@ÀBÒFÐFÐFÐFÝ••1‘•Q‘•q˜!‘t‘˜a¥ 1¡™fÑ$ q­¡sÑ*¨QÑ.µ¸$Ð?Ñ?Ô?À2ÒEÐEÐEÐEå•�A‘˜‘�1 SÐ)Ñ)Ô)­a¬e°Q½¼¸ÀÐ-BÒBÐBÐBÐBÝ•�A‘˜‘�1 SÐ)Ñ)Ô)­a°µQ°B¸¨]Ò:Ð:Ð:Ð:å•!�a‘%�!˜a™%‘¥!Ñ$Ô$­¬°µA´E°6¸1Ð(=Ò=Ð=Ð=Ð=ÝÝ	
ˆQ‰•�Q‘‰�Ð&=Ð&=ð?ñ ?ô ?ÝCDÄ5È!À*òMð Mð Mð Mõ •�A‘˜‘�1 S°4Ð8Ñ8Ô8½a¼e¸VÅQÄU¸OÒKÐKÐKÐKÝ•�A‘˜‘�1 S°4Ð8Ñ8Ô8½QÅÀ¸GÒCÐCÐCÐCå�V $Ð'Ñ'Ô'�F€BˆÝ	ˆ1‰ˆb�‰e�a‰Z‰˜!�A™#˜r "™u™+Ñ%¨Ñ)€AÝ�•A˜cÐ"Ñ"Ô" q¨"¨r©'¡{°AÐ&6Ò6Ð6Ð6Ð6å•�A‘•q 4Ð(Ñ(Ô(­Q¬VµQ´V½Q¼VÐ,DÒDÐDÐDÐDÝ�•q 4Ð(Ñ(Ô(¨BÒ.Ð.Ð.Ð.å	ˆ1‰�q�!‰t‰•a˜‘dÑ�Q ™TÑ!¥A q¡DÑ(­1Ñ,¨qÑ0€Aå�‰8Œ8Ý	
ˆ�3�r�!‰t‰9Œ9‰•s�2˜a™4‘y”yÑ  !Ý	
ˆ�3�r•(˜1˜a‘.”.Ñ Ñ!Ô!Ñ!¥C­­8°A°q©>¬>Ñ(9Ñ$:Ô$:Ñ:¸AÝ	
ˆ�3�r•(˜1˜a‘.”.Ñ Ñ!Ô!Ñ!¥C­­8°A°q©>¬>Ñ(9Ñ$:Ô$:Ñ:¸AÝ	�#�b�‰d‰)Œ)‰•c�"˜Q™$‘i”iÑ Ý	�#�b•˜!˜Q‘”ÑÑ
 Ô
 Ñ ¥3¥r­(°1°a©.¬.Ñ'8Ñ#9Ô#9Ñ9¸1Ý	�#�b•˜!˜Q‘”ÑÑ
 Ô
 Ñ ¥3¥r­(°1°a©.¬.Ñ'8Ñ#9Ô#9Ñ9¸1ðò ð ð ð õ ˆQ‰$�‰(�A�q‘D‰× Ò Ñ"Ô"€Aå�‰8Œ8Ý	
ˆ�3�r�!‰t‰9Œ9‰•s�2˜a™4‘y”yÑ  !Ý	
ˆ�3�r•(˜1˜a‘.”.Ñ Ñ!Ô!Ñ!¥C­­8°A°q©>¬>Ñ(9Ñ$:Ô$:Ñ:¸AÝ	
ˆ�3�r•(˜1˜a‘.”.Ñ Ñ!Ô!Ñ!¥C­­8°A°q©>¬>Ñ(9Ñ$:Ô$:Ñ:¸AÝ	�#�b�‰d‰)Œ)‰•c�"˜Q™$‘i”iÑ Ý	�#�b•˜!˜Q‘”ÑÑ
 Ô
 Ñ ¥3¥r­(°1°a©.¬.Ñ'8Ñ#9Ô#9Ñ9¸1Ý	�#�b•˜!˜Q‘”ÑÑ
 Ô
 Ñ ¥3¥r­(°1°a©.¬.Ñ'8Ñ#9Ô#9Ñ9¸1Ý	
ˆˆA�q�!ðò ð ð ð õ 	�a�‰d�R�‘T‰k˜BÑÑÔ€AØ.Ð.˜aÐ.Ñ.Ô.¨qÔ1€IØ	ˆq•�d‘”‰|Ñ	€BØ˜�4  A™;œ;™ qÑ(¨2­d°2°q©k¬k©>Ñ9Ò9Ð9Ð9Ð9å	ˆq�1•T˜!‘W”W‘9‰}�a ™dÑ" b¨1­T°!©W¬W©9¡nµa¸±dÑ%:Ñ:½tÀA¹w¼w¸hÈ¹lÍAÑ=MÑMÐPQÑQÕSTÐ]aÐ	bÑ	bÔ	b€BÝ�‰9Œ9˜�d 1™gœg™ q¨"¨qµ°a±´©y©.¸!½dÀ1¹g¼g¸XÈ¹\È1ÐMÒMÐMÐMÐMå	ˆb•�A‘‰g˜�4 ™7œ7™
¥1 a¡4™Ñ'¨#­a°©d©(Ñ2°S½¸a¹¼±[ÅÀAÁÑ5EÑEØ�ˆ1‰�HñØ•4˜‘7”7‰{�1˜a™4Ññ Ø"$¥Q¨¡T¡'ñ*Ø,.­t°A©w¬w©Jµq¸!±t©Oñ<Ø>@ÅÀaÁÄ¹jÍ¹lñKà…q�Dñ	àñå˜ð
ñ 
ô 
€Bõ �‰9Œ9�$˜q™'œ'˜ A™ q¨"¨qµ°a±´©y©.¸!¸RÅ$ÀqÁ'Ä'¹\È1Ø˜a¥ Q¡¤™i™¨¨B°µ4¸±7´7±©N¸Að?ò ?ð ?ð ?ð ?õ 
�a�‰d�Q•q˜!‘t‘V‰m˜a¥ Q¡¤™i­¨1©™nÑ,¨qµ°a±´©y½©{Ñ:¸RÅ¹TÑAÀBÑFØ�t�A‰wŒw‰JñÝ $ð
(ñ 
(ô 
(€Bå�‰9Œ9˜�D ™GœG™ a™¨¨B­t°A©w¬w©J¸©N¸A¸rÅ$ÀqÁ'Ä'¹zÈA¹~ÈqÐQÒQÐQÐQÐQå••q�4 ™7œ7‘{ QÑ&¨Ñ*­A°dÐ;Ñ;Ô;Ñ<Ô<Ý
ˆq‰'Œ'ˆ•D˜˜A‘J”J¥¤ ­$¨q©'¬'µ!©)°A©+Ñ 5Ñ6Ñ	6¸Ý
ˆq‰'Œ'ˆ•D˜˜A‘J”J¥¤ ­$¨q©'¬'µ!©)°A©+Ñ 5Ñ6Ñ	6¸Ý
ˆq‰'Œ'ˆ•D˜˜A‘J”JÑ	 ð	#ò#ð #ð #ð #ð #ð #r9   c                  óª  ‡‡— t          d¦  «        \  } }}}Š‰dz  |z  | |z  z   ‰|z  |z  z   | z
  }‰dz  | |||z
  z  | z  z   z  ‰| z  |z  |z  ||z  |z
  z  z   | |z  ||z  z
  z   }t          t          |‰¦  «                             ¦   «         ¦  «        ddgk    sJ ‚t          t          |‰¦  «                             ¦   «         ¦  «        ddgk    sJ ‚t          d¦  «        \  }}}}	}
}}||z
  ||z
  z  ||z
  z  |	|z  |
z  z   |
z   |	z
  |z
  }||z
  |z  |z  |
||z
  z  |
z  z   |	|	z  ||z
  z  z   }t          t          ||z
  |¦  «                             ¦   «         ¦  «        g d¢k    sJ ‚‰dz  d‰dz  z  z   dz   Št          t          ‰¦  «                             ¦   «         ¦  «        }t          d„ ˆˆfd	„|D ¦   «         D ¦   «         ¦  «        rJ ‚d
S )z6Just test that calculating these roots does not hang. z	a,b,c,d,xr:   r1   zzz,yy,xx,zy,zx,yx,kr�   rI   ry   c              3   ó   K  — | ]}|V — Œd S r¸   rF   r4   s     r7   r8   z"test_roots_slow.<locals>.<genexpr>T  s"   è è € ÐGÐG˜�1ÐGÐGÐGÐGÐGÐGr9   c                 ód   •— g | ],}‰                      ‰|¦  «                             d ¬¦  «        ‘Œ-S )Trp   )rm   rQ   )r5   Úrir_   rE   s     €€r7   rT   z#test_roots_slow.<locals>.<listcomp>T  s3   ø€ ÐFÐFÐF¸b˜qŸvšv a¨™}œ}Ÿš°D˜Ñ9Ô9ÐFÐFÐFr9   N)r	   r=   r&   ÚvaluesÚkeysrË   )rY   r]   r[   r\   Úf1Úf2ÚzzÚyyÚxxÚzyÚzxÚyxÚkÚe1Úe2r	  r_   rE   s                   @@r7   Útest_roots_slowr?  @  s%  øø€ å˜KÑ(Ô(�M€A€qˆ!ˆQ�à	
ˆA‰ˆa‰�1�Q‘3‰˜!˜A™#˜a™%Ñ	 !Ñ	#€BØ	
ˆA‰ˆq�1�a˜!‘e‘9˜Q‘;‰Ñ	 ! A¡# a¡%¨¡'¨1¨Q©3°©7Ñ"3Ñ	3°q¸±s¸Q¸q¹S±yÑ	A€Bå•�b˜!‘”×#Ò#Ñ%Ô%Ñ&Ô&¨1¨a¨&Ò0Ð0Ð0Ð0Ý•�b˜!‘”×#Ò#Ñ%Ô%Ñ&Ô&¨1¨a¨&Ò0Ð0Ð0Ð0å")Ð*?Ñ"@Ô"@Ñ€RˆˆR��R˜˜Qà
ˆq‰&�2˜‘6Ñ	˜B ™FÑ	# b¨¡e¨B¡hÑ	.°Ñ	3°bÑ	8¸2Ñ	=€BØ
ˆq‰&�"‰�R‰˜"˜b 1™f™+ b™.Ñ	(¨2¨b©5°"°q±&©>Ñ	9€Bå•�b˜2‘g˜qÑ!Ô!×(Ò(Ñ*Ô*Ñ+Ô+¨y¨y¨yÒ8Ð8Ð8Ð8à	ˆ1‰ˆq��A‘‰v‰˜Ñ€AÝ�U�1‰XŒX�]Š]‰_Œ_ÑÔ€AåÐGÐGÐFÐFÐFÐFÐFÀAÐFÑFÔFÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGr9   c                  óP  — t          t          dz  t          z   dz   t          d¬¦  «        } t          t          dz  t          z   dz   t          d¬¦  «        }t          | |¦  «        D ]\  }}t          ||z
  ¦  «        dk     sJ ‚Œt          dz  dt	          d	¦  «        z  t          d
z  z  z   ddt	          d¦  «        z  z   t          dz  z  z
  ddt	          d¦  «        z  dz   z  z   }t          |d¬¦  «        } d}t          | |¦  «        D ]\  }}t          ||z
  ¦  «        dk     sJ ‚Œd S )Nr:   r1   Tr
  g      ð?gê-�™—q=rL   g      @g       @rI   g     €S@g      8@g      b@g      "@)gØ‹ì~��)Àg)cÇÍÀg3!	Ž˜@g¨
¢ ¡Ø@ç»½×Ùß|Û=)r&   rE   rÂ   Úabsr   )ÚR1ÚR2rß   Úr2r_   s        r7   Útest_roots_inexactrF  W  s5  € Ý	�q�!‰t•a‰x˜!‰|�Q¨Ð	.Ñ	.Ô	.€BÝ	�q�!‰t•a‰x˜#‰~�q¨4Ð	0Ñ	0Ô	0€Bå�b˜"‘+”+ð $ð $‰ˆˆBÝ�2˜‘7‰|Œ|˜eÒ#Ð#Ð#Ð#Ð#å	ˆ1‰ˆs•4˜‘9”9‰}�Q ™TÑ!Ñ! T¨Dµ°c±´©NÑ%:½A¸q¹DÑ$@Ñ@Ø
�•4˜‘9”9‘˜sÑ"Ñ
#ñ	$€Aõ 
ˆq˜4Ð	 Ñ	 Ô	 €Bð
.€Bõ �b˜"‘+”+ð $ð $‰ˆˆBÝ�2˜‘7‰|Œ|˜eÒ#Ð#Ð#Ð#Ð#ð$ð $r9   c                  ó6  — t          d¦  «        \  } }}}d| dz  z  |dz  z  |dz  z  d|z  t          z  | dz  z  |dz  z  |dz  z  z   d| d	z  z  |d
z  z  |d	z  z  t          d
z  z  |dz  z  z
  d| dz  z  |dz  z  |dz  z  t          dz  z  |dz  z  z   d| dz  z  |dz  z  |dz  z  t          dz  z  |dz  z  z
  d| dz  z  |dz  z  |dz  z  t          dz  z  |d	z  z  z   d| d
z  z  |d	z  z  |d
z  z  t          d	z  z  d|dz  z  z  z   d| z  |z  |dz  z  t          dz  z  d|d
z  z  z  z
  d|dz  z  t          dz  z  dz  z   }t          |t          ¦  «        i k    sJ ‚t          |                     ¦   «         t          d¬¦  «        }g d¢}t	          d¦  «        }|| z  |z  ||d
z  z  z  }t          |¦  «        t          |¦  «        k    sJ ‚t          ||¦  «        D ]:\  }	}
|	                     |¦  «        }|�t          ||         |
z
  ¦  «        dk     sJ ‚Œ;d S )Nrâ   rã   ry   r�   rä   rk   rå   ræ   rK   r:   rÎ   rç   rf   rI   r|   rè   rL   ré   rê   rë   rì   rí   rî   Tr
  )g?|Y÷ˆc”ÀgOXLýzGX@gö„í'I^g@gíá|Û°n@gËÀdZw@g5Ä`e¼ˆ@gS$·Èªä“@gJúómèœ@rS   rA  )	r	   rE   r&   Úevalfr   r?   rÂ   ÚmatchrB  )rò   ró   rô   rõ   r_   rC  rD  rS   rr   rß   rE  rI  s               r7   Útest_roots_preprocessedrJ  i  s´  € Ý˜Ñ#Ô#�J€A€qˆ!ˆQà˜a ™dÑ" 1 a¡4Ñ'¨¨2©Ñ-Ø˜1Ñ�QÑ˜q !™tÑ# A q¡DÑ(¨¨B©Ñ.ñ	/à˜˜A™Ñ˜a ™dÑ" 1 a¡4Ñ'­¨1©Ñ,¨Q°©UÑ2ñ	3ð 	�q˜!‘tÑ˜A˜q™DÑ   A¡Ñ%¥a¨¡dÑ*¨1¨b©5Ñ0ñ	1ð 	�A�q‘DÑ˜˜A™Ñ˜a ™dÑ"¥1 a¡4Ñ'¨¨1©Ñ,ñ		-ð
 	��A‘‰�a˜‘dÑ˜1˜a™4Ñ¥ 1¡Ñ$ Q¨¡TÑ)ñ	*ð 	ˆa�‰d‰
�1�a‘4‰˜˜1™Ñ�Q ™TÑ! 1 Q¨¡T¡6Ñ*ñ	+ð 	ˆQ‰ˆq‰��A‘‰•a˜‘dÑ˜B˜q !™t™GÑ$ñ	%ð 	ˆAˆq‰D‰•�A‘‰�fÑñ	€Aõ �•A‰;Œ;˜"ÒÐÐÐå	ˆq�wŠw‰yŒy�! dÐ	+Ñ	+Ô	+€Bð
Rð 
Rð 
R€Bõ 	ˆS‰	Œ	€AØ	ˆ!‰ˆA‰ˆq��A‘‰v‰€Aåˆr‰7Œ7•c˜"‘g”gÒÐÐÐå�b˜"‘+”+ð @ð @‰ˆˆBØ—’˜‘”ˆØÐ ¥S¨¨q¬°B©Ñ%7Ô%7¸%Ò%?Ð%?Ð%?Ð?Ð%?ð@ð @r9   c                  ó~  — t          t          dz  dt          z  z
  dz   d¬¦  «        ddik    sJ ‚t          t          dz  dt          z  z
  dz   d¬¦  «        ddik    sJ ‚t          t          dz  dt          dz  z  z
  t          dz  z
  dt          z  z   dz
  d¬¦  «        ddik    sJ ‚t          t          d	„ ¦  «         d S )
Nr:   r1   F©ÚstrictTrK   rf   rI   c                  ó‚   — t          t          dz  dt          dz  z  z
  t          dz  z
  dt          z  z   dz
  d¬¦  «        S )NrK   r:   rf   rI   TrL  )r&   rE   rF   r9   r7   r  z#test_roots_strict.<locals>.<lambda>‹  s;   € ­%µ°1±°q½¸A¹±v±ÅÀ1ÁÑ0DÀqÍÁsÑ0JÈQÑ0NÐW[Ð*\Ñ*\Ô*\€ r9   )r&   rE   r+   r)   rF   r9   r7   Útest_roots_strictrO  †  sÊ   € Ý•�A‘˜�!™‘˜a‘¨Ð.Ñ.Ô.°1°a°&Ò8Ð8Ð8Ð8Ý•�A‘˜�!™‘˜a‘¨Ð-Ñ-Ô-°!°Q°Ò7Ð7Ð7Ð7å•�A‘˜�!˜Q™$™‘¥ A¡Ñ%¨­!©Ñ+¨aÑ/¸Ð>Ñ>Ô>À1ÀaÀ&ÒHÐHÐHÐHÝ
Õ Ð"\Ð"\Ñ]Ô]Ð]Ð]Ð]r9   c                  ó  — ddt           z  z
  dt           dz  z  z
  dt           dz  z  z   dt           dz  z  z
  } t          | d	¬
¦  «        \  }}t          | ¦  «        }t          | d	¬¦  «        }d„ |D ¦   «         }d„ |D ¦   «         }||z   }d„ |D ¦   «         }t	          |d„ ¬¦  «        }t	          |d„ ¬¦  «        }||fD ]H}t          ||¦  «        D ]5\  }}|j        r||v sJ ‚Œt          |¦  «        t          |¦  «        f|v sJ ‚Œ6ŒId S )NipøÿÿiÀ  i¨  r:   i�
  rI   é1   rL   T)ru   r
  c                 ó:   — g | ]\  \  }}}t          ||¦  «        ‘ŒS rF   r   ©r5   rY   r]   Ú_s       r7   rT   z$test_roots_mixed.<locals>.<listcomp>•  s(   € Ð
1Ð
1Ð
1™y™v  1 q�H�Q˜‰NŒNÐ
1Ð
1Ð
1r9   c           	      óÄ   — g | ]]\  \  }}}t          t          |¦  «        t          |¦  «        ¦  «        t          t          |¦  «        t          |¦  «        ¦  «        z  ‘Œ^S rF   )r   r   r   rS  s       r7   rT   z$test_roots_mixed.<locals>.<listcomp>–  sd   € ð ð ð ñ ?¹f¸qÀ!Øõ •R˜‘U”U�B˜q™EœEÑ"Ô"¥8­B¨q©E¬Eµ2°a±5´5Ñ#9Ô#9Ñ9ð ð ð r9   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rF   )rH  rÿ   s     r7   rT   z$test_roots_mixed.<locals>.<listcomp>š  s    € Ð,Ð,Ð,˜a�—’‘	”	Ð,Ð,Ð,r9   c                 ó*   — |                       ¦   «         S r¸   ©Úsort_key©rE   s    r7   r  z"test_roots_mixed.<locals>.<lambda>œ  ó   € ¨A¯JªJ©L¬L€ r9   r¦   c                 ó*   — |                       ¦   «         S r¸   rX  rZ  s    r7   r  z"test_roots_mixed.<locals>.<lambda>�  r[  r9   )	rE   r   r   r&   r<   rÂ   r3   r   r   )	r_   Ú_reÚ_imÚ_nrootsÚ_srootsÚ
_intervalsÚ_rootsr6   r`   s	            r7   Útest_roots_mixedrc  Ž  sa  € Ø�•Q‘‰˜�a ™d™Ñ" T­!¨Q©$¡YÑ.°µA°q±D±Ñ8€Aå˜ Ð%Ñ%Ô%�H€CˆÝ�Q‰iŒi€GÝ�A Ð%Ñ%Ô%€Gà
1Ð
1¨CÐ
1Ñ
1Ô
1€Cðð Øðñ ô €Cð �s‘€JØ,Ð, 7Ð,Ñ,Ô,€Gå�WÐ"8Ð"8Ð9Ñ9Ô9€GÝ�WÐ"8Ð"8Ð9Ñ9Ô9€Gà˜GÐ$ð +ð +ˆÝ˜
 FÑ+Ô+ð 	+ð 	+‰DˆAˆqØŒyð +Ø˜A�v�v�v�v�vå˜1™œ�r !™uœu�~¨Ð*Ð*Ð*Ð*Ð*ð		+ð+ð +r9   c            
      óX  — t          t          dt          ¦  «        ¦  «        t          dt          ¦  «        gk    sJ ‚t          t          t          t          ¦  «        ¦  «        t          t          t          ¦  «        gk    sJ ‚t          t          dz  dz
  t          ¦  «        t          dz   t          dz
  gk    sJ ‚t          t          dz  t          z
  t          ¦  «        t          t	          t          ¦  «        z
  t          t	          t          ¦  «        z   gk    sJ ‚t          t          dz  dz
  dz  ¦  «        t          dz   t          dz   t          dz
  t          dz
  t          t
          z
  t          t
          z
  t          t
          z   t          t
          z   gk    sJ ‚t          t          t          dz  dz
  t          ¦  «        d¬¦  «        t          t          dz   t          ¦  «        t          t          dz
  t          ¦  «        t          t          dz  dz   t          ¦  «        gk    sJ ‚t          dt          dz  z  dt          dz  z  z   dt          dz  z  z   t          dz  z   t          d	¬¦  «        t          t          t          dz  dt          dz  z  z   dt          dz  z  z   dz   gk    sJ ‚d S )
Nr1   r:   rL   r  r  ry   rÎ   rK   ÚQ)r   r   rE   r^   r   r   rF   r9   r7   Útest_root_factorsrf  §  s  € Ý�˜Q¥™
œ
Ñ#Ô#­¨Qµ©
¬
 |Ò3Ð3Ð3Ð3Ý��Q¥™
œ
Ñ#Ô#­­Qµ©
¬
 |Ò3Ð3Ð3Ð3å�˜1™˜q™¥!Ñ$Ô$­¨Q©µ°A±¨Ò6Ð6Ð6Ð6Ý�˜1™�q™¥!Ñ$Ô$­­Tµ!©W¬W©µa½$½q¹'¼'±kÐ(BÒBÐBÐBÐBå�˜A™ ™ A™Ñ&Ô&Ý	
ˆQ‰•�A‘•q˜1‘u�a !™e¥Q­¡U­Aµ©Eµ1µq±5½!½a¹%Ð@òAð Að Að Aõ ��Q ™T A™X¥qÑ)Ô)°#Ð6Ñ6Ô6Ý	�a�!‰e•Q‰Œ��a !™e¥Q™œ­­a°©d°Q©h½Ñ):Ô):Ð;ò<ð <ð <ð <å˜�!˜Q™$™ ¥A q¡D¡Ñ(¨1­Q°©T©6Ñ1µA°q±DÑ8½!ÀCÐHÑHÔHÝ	
�A�q�!‰t�a�˜1™‘f‰}˜r¥! Q¡$™wÑ&¨Ñ*Ð+ò,ð ,ð ,ð ,ð ,ð ,r9   c                  óÒ   ‡— d} t          | t          d¬¦  «        Št          t          j        j        ˆfd„¦  «         ‰                     d¬¦  «        }d„ |D ¦   «         g d¢k    sJ ‚d S )	Nrš   TrÕ   c                  ó2   •— ‰                       dd¬¦  «        S )NrI   rf   )rQ   Úmaxsteps)r   )rr   s   €r7   r  ztest_nroots1.<locals>.<lambda>¼  s   ø€ ¨A¯HªH°qÀ1¨HÑ,EÔ,E€ r9   rI   rP   c                 ó,   — g | ]}t          |¦  «        ‘ŒS rF   ©Ústrrÿ   s     r7   rT   z test_nroots1.<locals>.<listcomp>Á  ó   € Ð"Ð"Ð"�q�C�‰FŒFÐ"Ð"Ð"r9   )@z-0.999z-0.996z-0.991z-0.983z-0.973z-0.961z-0.946z-0.930z-0.911z-0.889z-0.866z-0.841z-0.813z-0.784z-0.753z-0.720z-0.685z-0.649z-0.611z-0.572z-0.531z-0.489z-0.446z-0.402z-0.357z-0.311z-0.265z-0.217z-0.170z-0.121z-0.0730z-0.0243z0.0243z0.0730z0.121z0.170z0.217z0.265z0.311z0.357z0.402z0.446z0.489z0.531z0.572z0.611z0.649z0.685z0.720z0.753z0.784z0.813z0.841z0.866z0.889z0.911z0.930z0.946z0.961z0.973z0.983z0.991z0.996z0.999)r'   rE   r+   ÚmpmathÚmpÚNoConvergencer   )rQ   r&   rr   s     @r7   Útest_nroots1rq  ·  s•   ø€ à
€AÝ�a� $Ð'Ñ'Ô'€Aå
�6Œ9Ô"Ð$EÐ$EÐ$EÐ$EÑFÔFÐFà�HŠH�qˆH‰MŒM€Eð #Ð"˜EÐ"Ñ"Ô"ð	Kð 	Kð 	Kò
Kð 
Kð 
Kð 
Kð 
Kð 
Kr9   c                  ó  — t          t          dz  dt          z  z   dz   t          ¦  «        } |                      d¬¦  «        }d„ |D ¦   «         g d¢k    sJ ‚|                      d¬¦  «        }d„ |D ¦   «         g d¢k    sJ ‚d S )	Nrf   rI   r1   rP   c                 ó,   — g | ]}t          |¦  «        ‘ŒS rF   rk  rÿ   s     r7   rT   z test_nroots2.<locals>.<listcomp>Ô  rm  r9   )z-0.332z-0.839 - 0.944*Iz-0.839 + 0.944*Iz1.01 - 0.937*Iz1.01 + 0.937*Ic                 ó,   — g | ]}t          |¦  «        ‘ŒS rF   rk  rÿ   s     r7   rT   z test_nroots2.<locals>.<listcomp>Ù  rm  r9   )z-0.33199z-0.83907 - 0.94385*Iz-0.83907 + 0.94385*Iz1.0051 - 0.93726*Iz1.0051 + 0.93726*I)r   rE   r   )rr   r&   s     r7   Útest_nroots2ru  Í  s¹   € Ý�Q�‰T�A•a‘C‰Z˜!‰^�QÑÔ€Aà�HŠH�qˆH‰MŒM€Eð #Ð"˜EÐ"Ñ"Ô"ð4ð 4ð 4ò4ð 4ð 4ð 4ð �HŠH�qˆH‰MŒM€EØ"Ð"˜EÐ"Ñ"Ô"ð:ð :ð :ò:ð :ð :ð :ð :ð :r9   c                  óä   — t          t          t          t          dz  t          dz  t	          t
          ¦  «        z  z   t          z   t
          z   t          d¬¦  «        ¦  «        ¦  «        dk    sJ ‚d S )NrI   r:   T)Ú	composite)r?   r&   r   r^   r   rE   rF   r9   r7   Útest_roots_compositerx  Þ  sY   € Ý�u•T�!˜Q™$¥ A¡¥d­1¡g¤g¡Ñ-µÑ1µAÑ5µqÀDÐIÑIÔIÑJÔJÑKÔKÈqÒPÐPÐPÐPÐPÐPr9   c                  ó–   ‡ — t          t          ¦  «        dz  t          t          ¦  «        z
  dz   Š t          t          ˆ fd„¦  «         d S )NrI   r1   c                  ó"   •— t          ‰ ¦  «        S r¸   r€   rg   s   €r7   r  z"test_issue_19113.<locals>.<lambda>ä  s   ø€ ¥E¨"¡I¤I€ r9   )r   rE   r+   r(   rg   s   @r7   Útest_issue_19113r{  â  sB   ø€ Ý	�Q‰Œ�‰•S�‘V”VÑ	˜aÑ	€BÝ
�?Ð-Ð-Ð-Ð-Ñ.Ô.Ð.Ð.Ð.r9   c                  ó|   — t          ddddt          z  z
  dz  z  dz  dt          z  z   dgd	¬
¦  «        ddgk    sJ ‚d S )Nr1   rJ   r¬   rL   r:   ry   rÎ   r   Tr
  )r&   r   rF   r9   r7   Útest_issue_17454r}  ç  sP   € Ý�!�R˜˜a¥™c™ A™Ñ% aÑ'¨"­Q©$Ñ.°Ð2¸TÐBÑBÔBÀqÈ!ÀfÒLÐLÐLÐLÐLÐLr9   c                  ó  — t          t          dz   t          ¦  «                             ¦   «         dgk    sJ ‚t          t          dz  dz   t          ¦  «                             ¦   «         dt          d¦  «        dz  z   gk    sJ ‚d S )Nl   Ô       lúÿÿÿÔ       rI   rL   r:   )r   rE   Ú
real_rootsr   rF   r9   r7   Útest_issue_20913r€  ë  sz   € Ý•Ð-Ñ-­qÑ1Ô1×<Ò<Ñ>Ô>ÐC]ÐB^Ò^Ð^Ð^Ð^Ý•�1‘�q‘�!ÑÔ×'Ò'Ñ)Ô)¨qµ1°Q±4´4¸±6©{¨l¨^Ò;Ð;Ð;Ð;Ð;Ð;r9   c            
      ót  — t          dd¦  «        } dt          z  | z  t          dz   d| z  z  z  }t          t          t          t          dz  z  t          dz   dz  z   t          ¦  «        ¦  «        |d| dt          d¦  «        t          z  z   z  dz  d|dt          d¦  «        t          z  z   z  dz  dik    sJ ‚d S )Nr1   rI   rD   rf   r:   )r   rY   r&   r   rE   r   r   )rZ   r`   s     r7   Útest_issue_22768r‚  ð  s»   € Ý��A‰Œ€AØ	�A‰�‰	•1�q‘5˜A˜a™C‘.Ñ €AÝ••a�˜1™‘f¥ A¡¨™zÑ)­1Ñ-Ô-Ñ.Ô.Ø	ˆ1Ø	
ˆˆA•�Q‘”�‘	‰MÑ˜1Ñ˜aØ	ˆ2•�Q‘”�‘	‰>Ñ˜1Ñ˜að3!ò !ð !ð !ð !ð !ð !r9   )kÚ__doc__Úsympy.core.numbersr   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   r	   Ú$sympy.functions.elementary.complexesr
   r   r   Ú&sympy.functions.elementary.exponentialr   Ú(sympy.functions.elementary.miscellaneousr   r   Ú$sympy.functions.elementary.piecewiser   Ú(sympy.functions.elementary.trigonometricr   r   r   Úsympy.polys.domains.integerringr   Úsympy.sets.setsr   Úsympy.simplify.powsimpr   Úsympy.polysr   r   r   r   r   Úsympy.polys.polyrootsr   r   r   r    r!   r"   r#   r$   r%   r&   Úsympy.polys.orthopolysr'   Úsympy.polys.polyerrorsr(   r)   Úsympy.polys.polyutilsr*   Úsympy.testing.pytestr+   r,   Úsympy.core.randomr-   rn  Ú	itertoolsr.   rY   r]   r[   r\   rZ   rÁ   r•   rE   r^   rn   rB   rG   rd   ri   rw   r~   r�   r…   r‹   r“   r˜   r›   r£   rÇ   rÌ   rÓ   rØ   rà   r÷   r-  r?  rF  rJ  rO  rc  rf  rq  ru  rx  r{  r}  r€  r‚  rF   r9   r7   ú<module>r—     s�  ðØ HÐ Hà 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø "Ð "Ð "Ð "Ð "Ð "Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ :Ð :Ð :Ð :Ð :Ð :Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ .Ð .Ð .Ð .Ð .Ð .Ø $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *à HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hð?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?ð 1Ð 0Ð 0Ð 0Ð 0Ð 0ðð ð ð ð ð ð ð à (Ð (Ð (Ð (Ð (Ð (à -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø €€€Ø Ð Ð Ð Ð Ð ð  '˜wÐ'<Ñ=Ô=Ñ €€1€aˆˆAˆq�!�Q˜˜1ðð ð ð?ð ?ð ?ð&ð &ð &ðD&ð &ð &ðHð Hð Hð4ð 4ð 4ð	ð 	ð 	ðð ð ðð ð ð-ð -ð -ðð ð ð
ð ð ð
ð 
ð 
ð.7Uð 7Uð 7UðtBð Bð Bð
Kð Kð Kð-'ð -'ð -'ð`0ð 0ð 0ðB9)ð 9)ð 9)ðxj#ð j#ð j#ðXHð Hð Hð.$ð $ð $ð$@ð @ð @ð:^ð ^ð ^ð+ð +ð +ð2,ð ,ð ,ð  ðKð Kñ „ðKð*:ð :ð :ð"Qð Qð Qð/ð /ð /ð
Mð Mð Mð<ð <ð <ð
!ð !ð !ð !ð !r9   