Ë
    óÿæiL  ã                   ó¾   — d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
mZ  e«       \  ZZZZZZZd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"y)zOTests for Euclidean algorithms, GCDs, LCMs and polynomial remainder sequences. é    )Úring)ÚZZÚQQÚRR)Úf_polysÚdmp_fateman_poly_F_1Údmp_fateman_poly_F_2Údmp_fateman_poly_F_3c                  ó´  — t        dt        «      \  } }|dz  d|dz  z  z
  d|dz  z  z
  d|z  z   dz   }|dz  |dz  z   d|z  z
  dz
  }t        dd	«       |z  t        dd	«      z   }t        dd	«      |dz  z  t        dd	«      |z  z
  dz   }|dz   }| j                  ||«      ||fk(  sJ ‚| j                  ||«      |||fk(  sJ ‚|dz  d|dz  z  z   |z
  dz   }|dz  |z
  dz   }| j                  ||«      \  }}}| j                  ||«      \  }}}	| j	                  | j                  ||«      | j                  ||«      «      |k(  sJ ‚| j	                  | j                  ||«      | j                  ||«      «      |	k(  sJ ‚d|z  }|dz  d
z
  }t        dd«      |z  }t        dd
«       }d}| j                  ||«      ||fk(  sJ ‚| j                  ||«      |||fk(  sJ ‚y )NÚxé   é   é   é   é   é   é   é   é   é    )r   r   Údup_half_gcdexÚ	dup_gcdexÚdup_addÚdup_mul)
ÚRr   ÚfÚgÚsÚtÚhÚSÚTÚHs
             úw/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/sympy/polys/tests/test_euclidtools.pyÚtest_dup_gcdexr%      s+  € Ü�”R‹=�D€A€qà	ˆ1‰ˆq��A‘‰v‰˜˜!˜Q™$™Ñ  A¡Ñ%¨Ñ*€AØ	ˆ1‰ˆq�!‰t‰�a˜‘cÑ˜AÑ€Aä	ˆAˆa‹ˆ�‰
”R˜˜!“WÑ€AÜ
ˆ1ˆQ‹��1‘‰”r˜!˜A“w˜q‘yÑ  1Ñ$€AØ	ˆA‰€Aà×Ñ˜A˜qÓ! a¨ VÒ+Ð+Ð+Ø�;‰;�q˜!Ó  A q 	Ò)Ð)Ð)à	ˆ1‰ˆq��A‘‰v‰˜Ñ˜AÑ€AØ	ˆ1‰ˆq‰�1‰€Aà�k‰k˜!˜QÓ�G€A€qˆ!Ø�k‰k˜!˜QÓ�G€A€qˆ!à�9‰9�Q—Y‘Y˜q !“_Ø—Y‘Y˜q !“_ó&Ø)*ò+ð +ð +à�9‰9�Q—Y‘Y˜q !“_Ø—Y‘Y˜q !“_ó&Ø)*ò+ð +ð +ð 	
ˆ!‰€AØ	ˆ1‰ˆr‰	€Aä
ˆ1ˆR‹�‰
€AÜ	ˆAˆb‹ˆ	€AØ	€Aà×Ñ˜A˜qÓ! a¨ VÒ+Ð+Ð+Ø�;‰;�q˜!Ó  A q 	Ò)Ð)Ñ)ó    c                  ó„   — t        dt        «      \  } }| j                  d|z  |dz  dz
  «      t        dd«      |z  k(  sJ ‚y )Nr   r   r   r   r   )r   r   Ú
dup_invert©r   r   s     r$   Útest_dup_invertr*   1   s@   € Ü�”R‹=�D€A€qØ�<‰<˜˜!™˜Q ™T B™YÓ'¬2¨a°«8°A©:Ò5Ð5Ñ5r&   c            
      óü  — t        dt        «      \  } }|dz  |dz  z   d|dz  z  z
  d|dz  z  z
  d|dz  z  z   d|z  z   dz
  }d|dz  z  d|dz  z  z   d|dz  z  z
  d|z  z
  d	z   }| j                  ||«      ||t        dd«       |dz  z  t        d
d«      |dz  z  z   t        d
d«      z
  t        dd«       |dz  z  d|z  z
  t        dd«      z   t        dd«      |z  t        dd«      z
  t        dd«       gk(  sJ ‚y )Nr   é   r   r   r   r   r   é	   é   r   éu   é   i¹  i¾Ž i=M  id� i¿  iu¯ÐLiiƒf )r   r   Údup_euclidean_prs©r   r   r   r   s       r$   Útest_dup_euclidean_prsr3   6   s5  € Ü�”R‹=�D€A€qà	ˆ1‰ˆq�!‰t‰�a˜˜1™‘fÑ˜q  A¡™vÑ%¨¨!¨Q©$©Ñ.°°1±Ñ4°qÑ8€AØ	ˆ!ˆQ‰$‰��1�a‘4‘‰˜!˜A˜q™D™&Ñ  1 Q¡3Ñ&¨Ñ+€Aà×Ñ˜q !Ó$Ø	Ø	Ü	ˆAˆa‹ˆ��A‘‰œ˜1˜Q›  1¡™Ñ$¤r¨!¨A£wÑ.Ü	ˆC�‹ˆ�A�q‘DÑ˜1˜Q™3Ñ¤ C¨£Ñ+Ü
ˆ6�%Ó˜ÑœR  t›_Ñ,Ü	ˆJ�yÓ	!Ð!ð)#ò #ð #ñ #r&   c                  óP  — t        dt        «      \  } }|dz  |dz  z   d|dz  z  z
  d|dz  z  z
  d|dz  z  z   d|z  z   dz
  }d|dz  z  d|dz  z  z   d|dz  z  z
  d|z  z
  d	z   }| j                  ||«      ||d
|dz  z  |dz  z   dz
  d|dz  z  d|z  z   dz
  d|z  dz
  dgk(  sJ ‚y )Nr   r,   r   r   r   r   r   r-   r.   éûÿÿÿé   r0   é1   i7  i  r   )r   r   Údup_primitive_prsr2   s       r$   Útest_dup_primitive_prsr9   E   só   € Ü�”R‹=�D€A€qà	ˆ1‰ˆq�!‰t‰�a˜˜1™‘fÑ˜q  A¡™vÑ%¨¨!¨Q©$©Ñ.°°1±Ñ4°qÑ8€AØ	ˆ!ˆQ‰$‰��1�a‘4‘‰˜!˜A˜q™D™&Ñ  1 Q¡3Ñ&¨Ñ+€Aà×Ñ˜q !Ó$Ø	Ø	Ø
ˆ1ˆa‰4‰�!�Q‘$‰˜ÑØ
ˆ1ˆa‰4‰�"�Q‘$‰˜ÑØˆQ‰�‰Ø	ð)ò ð ñ r&   c                  ó<  — t        dt        «      \  } }| j                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚|dz  |dz  z   d|dz  z  z
  d|dz  z  z
  d|dz  z  z   d|z  z   d	z
  }d|dz  z  d	|dz  z  z   d|dz  z  z
  d
|z  z
  dz   }d|dz  z  d|dz  z  z
  d
z   }d|dz  z  d|z  z   dz
  }d|z  dz
  }d}| j                  ||«      ||||||gk(  sJ ‚| j                  ||«      | j	                  |«      k(  sJ ‚|dz  d|z  z
  dz   }|dz  dz
  }d|z  dz
  }| j                  ||«      |||gk(  sJ ‚| j                  ||«      dk(  sJ ‚|dz  dz   }|dz  dz
  }d}| j                  ||«      |||gk(  sJ ‚| j                  ||«      dk(  sJ ‚|dz  dz
  }|dz  |dz  z
  dz   }| j                  ||«      dk(  sJ ‚d|dz  z  |z
  }d	|dz  z  dz   }| j                  ||«      dk(  sJ ‚|dz  d|z  z
  dz   }|dz  |z
  d	z   }| j                  ||«      dk(  sJ ‚|dz  d|dz  z  z
  d|z  z   dz
  }|dz  d|dz  z  z
  d|z  z   dz
  }| j                  ||«      dk(  sJ ‚|dz  d|dz  z  z
  d|z  z   dz
  }|dz  d|dz  z  z
  d|z  z   dz
  }| j                  ||«      dk(  sJ ‚|dz  dz
  }|dz  d|dz  z  z   d|z  z   dz
  }| j                  ||«      dk(  sJ ‚|dz  dz
  }|dz
  }| j                  ||«      dk(  sJ ‚y ) Nr   r   r   r,   r   r   r   r   r   r-   r.   r   éA   é}   éõ   in$  i0  idú éþÿÿÿé@   é   i	  é   éJ   éx   i@Þÿÿé
   é   é   r   éÿÿÿÿ)r   r   Údup_resultantÚdup_subresultantsÚdup_LC)r   r   r   r   ÚaÚbÚcÚds           r$   Útest_dup_subresultantsrO   T   s  € Ü�”R‹=�D€A€qà�?‰?˜1˜aÓ  AÒ%Ð%Ð%à�?‰?˜1˜aÓ  AÒ%Ð%Ð%Ø�?‰?˜1˜aÓ  AÒ%Ð%Ð%à	ˆ1‰ˆq�!‰t‰�a˜˜1™‘fÑ˜q  A¡™vÑ%¨¨!¨Q©$©Ñ.°°1±Ñ4°qÑ8€AØ	ˆ!ˆQ‰$‰��1�a‘4‘‰˜!˜A˜q™D™&Ñ  1 Q¡3Ñ&¨Ñ+€Aà
ˆ1ˆa‰4‰�!�A�q‘D‘&Ñ˜1Ñ€AØ
ˆ1ˆa‰4‰�#�a‘%‰˜#Ñ€AØˆQ‰�‰€AØ€Aà×Ñ˜q !Ó$¨¨A¨q°!°Q¸Ð(:Ò:Ð:Ð:Ø�?‰?˜1˜aÓ  A§H¡H¨Q£KÒ/Ð/Ð/à	ˆ1‰ˆq�‰s‰
�Q‰€AØ	ˆ1‰ˆq‰€Aà	ˆ!‰ˆa‰€Aà×Ñ˜q !Ó$¨¨A¨q¨	Ò1Ð1Ð1Ø�?‰?˜1˜aÓ  AÒ%Ð%Ð%à	ˆ1‰ˆq‰€AØ	ˆ1‰ˆq‰€Aà
€Aà×Ñ˜q !Ó$¨¨A¨q¨	Ò1Ð1Ð1Ø�?‰?˜1˜aÓ  AÒ%Ð%Ð%à	ˆ1‰ˆq‰€AØ	ˆ1‰ˆq�!‰t‰�a‰€Aà�?‰?˜1˜aÓ  AÒ%Ð%Ð%à	ˆ!ˆQ‰$‰�‰
€AØ	ˆ!ˆQ‰$‰�‰
€Aà�?‰?˜1˜aÓ  BÒ&Ð&Ð&à	ˆ1‰ˆq�‰s‰
�Q‰€AØ	ˆ1‰ˆq‰�1‰€Aà�?‰?˜1˜aÓ  CÒ'Ð'Ð'à	ˆ1‰ˆq��A‘‰v‰˜˜1™Ñ˜qÑ €AØ	ˆ1‰ˆr�!�Q‘$‰w‰˜˜A™Ñ Ñ#€Aà�?‰?˜1˜aÓ  EÒ)Ð)Ð)à	ˆ1‰ˆq��A‘‰v‰˜˜1™Ñ˜qÑ €AØ	ˆ1‰ˆr�!�Q‘$‰w‰˜˜A™Ñ Ñ"€Aà�?‰?˜1˜aÓ  AÒ%Ð%Ð%à	ˆ1‰ˆq‰€AØ	ˆ1‰ˆq��A‘‰v‰˜˜!™Ñ˜aÑ€Aà�?‰?˜1˜aÓ  BÒ&Ð&Ð&à	ˆ1‰ˆq‰€AØ	ˆA‰€Aà�?‰?˜1˜aÓ  BÒ&Ð&Ñ&r&   c                  ó²  — t        dt        «      \  } }}| j                  dd«      dk(  sJ ‚| j                  dd«      d   dk(  sJ ‚| j	                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚| j                  dd«      d   dk(  sJ ‚| j	                  dd«      dk(  sJ ‚| j                  dd«      dk(  sJ ‚d|dz  z  |z  |dz  z
  dz
  }|dz  ||dz  z  z   dz
  }d|z  |dz  z  |dz  z   d|z  z
  dz   }d	|d
z  z  d|dz  z  z
  |dz  z   d|dz  z  z
  d|dz  z  z   d|dz  z  z   d|z  z
  dz   }| j                  |«      }| j                  ||«      ||||gk(  sJ ‚| j                  ||«      |k(  sJ ‚| j                  ||«      d   |k(  sJ ‚| j	                  ||«      |k(  sJ ‚| j                  ||«      |k(  sJ ‚|dz   dz   }d|dz  z  |z  |dz  z   }d|dz  z  d|z  z   dz   }d|dz  z  d|dz  z  z   d|z  z   dz   }| j                  |«      }| j                  ||«      |||gk(  sJ ‚| j                  ||«      |k(  sJ ‚| j                  ||«      d   |k(  sJ ‚| j	                  ||«      |k(  sJ ‚| j                  ||«      |k(  sJ ‚t        dt        «      \  } }}}}	}
d|dz  z  d|z  |z  z
  d|z  |z  z
  ||z  z   }|dz  ||	z  z
  ||
z  z
  |	|
z  z   }|dz  |dz  z  d|dz  z  |z  |	z  z
  d|dz  z  |z  |
z  z
  d|dz  z  |	z  |
z  z   d|z  |dz  z  |	z  z
  d|z  |dz  z  |
z  z
  d|z  |z  |	dz  z  z   d|z  |z  |	z  |
z  z   d|z  |z  |
dz  z  z   d|z  |	dz  z  |
z  z
  d|z  |	z  |
dz  z  z
  d|dz  z  |	z  |
z  z   d|z  |	dz  z  |
z  z
  d|z  |	z  |
dz  z  z
  d|	dz  z  |
dz  z  z   }| j	                  ||«      |j                  |«      k(  sJ ‚t        dt        «      \  } }}}}	}
|dz  t        dd«      |z  |z  z
  t        dd«      |z  |z  z
  t        dd«      |z  |z  z   }|dz  ||	z  z
  ||
z  z
  |	|
z  z   }t        dd«      |dz  z  |dz  z  t        dd«      |dz  z  |z  |	z  z
  t        dd«      |dz  z  |z  |
z  z
  t        dd«      |dz  z  |	z  |
z  z   t        dd«      |z  |dz  z  |	z  z
  t        dd«      |z  |dz  z  |
z  z
  t        dd«      |z  |z  |	dz  z  z   t        dd«      |z  |z  |	z  |
z  z   t        dd«      |z  |z  |
dz  z  z   t        dd«      |z  |	dz  z  |
z  z
  t        dd«      |z  |	z  |
dz  z  z
  t        dd«      |dz  z  |	z  |
z  z   t        dd«      |z  |	dz  z  |
z  z
  t        dd«      |z  |	z  |
dz  z  z
  |	dz  |
dz  z  z   }| j                  ||«      |j                  |«      k(  sJ ‚t        dt        «      \  }}t        d|«      \  }}|dz  d|dz  z  z
  d|dz  z  z   dz   }d|z  |dz  z  |dz  z   d|z  |dz  z  z   d|dz  z  z
  d
|z  |z  z
  dz   }|j                  ||«      d |dz  z  d!|dz  z  z   d"|dz  z  z   d#z   k(  sJ ‚y )$Núx,yr   r   r   r   r   r-   é   éýÿÿÿrD   r   r@   r   é6   r,   iÙ  éØ   r   r   é-   é   i£  éá   r0   ú	x,y,z,u,vé   é$   r   r   iúÿÿÿrF   i ¹, iÀŠ! i°b iä²  )r   r   Údmp_resultantÚdmp_prs_resultantÚdmp_zz_collins_resultantÚdmp_qq_collins_resultantÚdmp_LCÚdmp_subresultantsÚdropr   rH   )r   r   Úyr   r   rK   rL   ÚrÚzÚuÚvÚRtr   ÚRxs                 r$   Útest_dmp_subresultantsrj   ›   s¼  € Ü�5œ"‹o�G€A€qˆ!à�?‰?˜1˜aÓ  AÒ%Ð%Ð%Ø×Ñ˜q !Ó$ QÑ'¨1Ò,Ð,Ð,Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0à�?‰?˜1˜aÓ  AÒ%Ð%Ð%Ø�?‰?˜1˜aÓ  AÒ%Ð%Ð%Ø�?‰?˜1˜aÓ  AÒ%Ð%Ð%à�?‰?˜1˜aÓ  AÒ%Ð%Ð%Ø×Ñ˜q !Ó$ QÑ'¨1Ò,Ð,Ð,Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0à	ˆ!ˆQ‰$‰ˆq‰�1�a‘4‰˜!Ñ€AØ	ˆ1‰ˆq��A‘‰v‰˜Ñ€Aà	ˆ!‰ˆAˆq‰D‰�1�a‘4‰˜"˜Q™$Ñ Ñ"€AØ
ˆ1ˆb‰5‰�2�a˜‘d‘7Ñ˜Q ™TÑ! B q¨!¡t¡GÑ+¨a°°1±©fÑ4°s¸1¸a¹4±xÑ?À#ÀaÁ%ÑGÈ"ÑL€Aà	�‰�‹€Aà×Ñ˜q !Ó$¨¨A¨q°!¨Ò4Ð4Ð4à�?‰?˜1˜aÓ  AÒ%Ð%Ð%Ø×Ñ˜q !Ó$ QÑ'¨1Ò,Ð,Ð,Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0à	
ˆA‰ˆ�‰	€AØ	ˆ!ˆQ‰$‰ˆq‰�1�a‘4‰€Aà
ˆ1ˆa‰4‰�"�Q‘$‰˜Ñ€AØˆAˆq‰D‰�3�q˜!‘t‘8Ñ˜c !™eÑ# bÑ(€Aà	�‰�‹€Aà×Ñ˜q !Ó$¨¨A¨q¨	Ò1Ð1Ð1Ø�?‰?˜1˜aÓ  AÒ%Ð%Ð%Ø×Ñ˜q !Ó$ QÑ'¨1Ò,Ð,Ð,Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0Ø×%Ñ% a¨Ó+¨qÒ0Ð0Ð0ä˜K¬Ó,Ñ€A€qˆ!ˆQ��1à	ˆ!ˆQ‰$‰��1‘�Q‘‰˜˜1™˜Q™Ñ  1¡Ñ$€AØ	ˆ1‰ˆq�‰s‰
�Q�q‘SÑ˜1˜Q™3Ñ€Aà	ˆ1‰ˆQ�‰T‰	�A�a˜‘d‘F˜1‘H˜Q‘JÑ  1 a¡4¡¨¡¨!¡Ñ+¨a°°1±©f°Q©h°q©jÑ8¸1¸Q¹3¸qÀ!¹t¹8ÀA¹:ÑEØ	ˆ!‰ˆAˆq‰D‰�‰
ñ	Ø�q‘S˜‘U˜1˜a™4‘Zñ	 Ø"$ Q¡$ q¡&¨¡(¨1¡*ñ	-Ø/0°©s°1©u°Q¸±T©zñ	:Ø<>¸q¹DÀÀAÁ¹IÀa¹Kñ	Hà
ˆ1‰ˆQ‰ˆq�!‰t‰ñ	à˜˜1™‘f˜Q‘h˜q‘jñ	!à#% a¡4¨¨1©¡9¨Q¡;ñ	/à13°A±°a±¸¸1¹±ñ	=à?AÀ!ÀQÁ$¹wÀqÈ!Át¹|ñ	L€Að ×%Ñ% a¨Ó+¨q¯v©v°a«yÒ8Ð8Ð8ä˜K¬Ó,Ñ€A€qˆ!ˆQ��1à	ˆ1‰Œr�!�A‹w�q‰y˜‰{ÑœR  !›W Q™Y q™[Ñ(¬2¨a°«7°1©9°Q©;Ñ6€AØ	ˆ1‰ˆq�‰s‰
�Q�q‘SÑ˜1˜Q™3Ñ€Aä
ˆ1ˆR‹��A‘‰�a˜‘dÑœR  "›X a¨¡d™]¨1™_¨QÑ.Ñ.´°A°b³¸!¸Q¹$±¸q±ÀÑ1BÑBÄRÈÈ!ÃWÈQÐPQÉTÁ\ÐRSÁ^ÐTUÑEUÑUÜ
ˆ1ˆR‹�‰
�1�a‘4‰˜Ññ	Ü˜q ›H Q™J q¨!¡t™O¨AÑ-ñ	.Ü02°1°Q³¸±	¸!±¸A¸q¹DÑ0@ñ	AÜCEÀaÈÃ7È1Á9ÈQÁ;ÈqÁ=ÐQRÁ?ñ	Sä
ˆ1ˆQ‹�‰	�!‰�A�q‘DÑñ	ä˜a ›7 1™9 Q¨¡T™>¨!Ñ+ñ	,ä.0°°1«g°a©i¸©k¸!¸Q¹$Ñ.>ñ	?äACÀAÀaÃÈÈAÉÁÈaÁÐPQÑAQñ	Rô 	ˆ1ˆQ‹�‰	�!�Q‘$‰�qÑñ	ô ˜a ›7 1™9 Q™; q¨!¡tÑ+ñ	,ð /0°©d°1°a±4©iñ	8€Að
 ×%Ñ% a¨Ó+¨q¯v©v°a«yÒ8Ð8Ð8ä�”b‹M�E€BˆÜ��b‹M�E€Bˆà	ˆ1‰ˆq��A‘‰v‰˜˜!˜Q™$™Ñ Ñ"€AØ
ˆ1‰ˆQ�‰T‰	�A�q‘DÑ˜2˜a™4  1¡™9Ñ$ q¨¨A©¡vÑ-°°1±°Q±Ñ6¸Ñ:€Aà×Ñ˜A˜qÓ! W¨Q°©T¡\°G¸A¸q¹D±LÑ%@À6È!ÈQÉ$Á;Ñ%NÐQVÑ%VÒVÐVÑVr&   c                  óø  — t        dt        «      \  } }| j                  d«      dk(  sJ ‚| j                  |«      dk(  sJ ‚| j                  |dz  d|dz  z  z   d|z  z   dz
  «      dk(  sJ ‚| j                  d	|d	z  z  |dz  z   dz   «      d
k(  sJ ‚| j                  |dz  d|dz  z  z   d|dz  z  z   d|z  z
  dz   «      dk(  sJ ‚| j                  d|dz  z  d|dz  z  z   d|dz  z  z   |dz  z   dz   «      dk(  sJ ‚y )Nr   r   r   r   r   r-   r6   épÒÿÿr   éÀÞÜr   r   é   r   r@   r   rW   ìüÿÿÿ 	BBu)r   r   Údup_discriminantr)   s     r$   Útest_dup_discriminantrq   é   s6  € Ü�”R‹=�D€A€qà×Ñ˜aÓ  AÒ%Ð%Ð%Ø×Ñ˜aÓ  AÒ%Ð%Ð%à×Ñ˜a ™d Q q¨!¡t¡V™m¨a°©cÑ1°BÑ6Ó7¸6ÒAÐAÐAØ×Ñ˜a  1¡™f q¨!¡t™m¨aÑ/Ó0°HÒ<Ð<Ð<Ø×Ñ˜a ™d Q q¨!¡t¡V™m¨a°°1±©fÑ4°r¸!±tÑ;¸bÑ@ÓAÀQÒFÐFÐFØ×Ñ˜b  A¡™g¨¨1¨a©4©Ñ/°"°Q¸±T±'Ñ9¸A¸q¹DÑ@À1ÑDÓEÐI\Ò\Ð\Ñ\r&   c                  ó2  — t        dt        «      \  } }| j                  d«      dk(  sJ ‚t        dt        «      \  } }}| j                  d«      dk(  sJ ‚| j                  |«      dk(  sJ ‚| j                  |dz  d|dz  z  z   d|z  z   dz
  «      dk(  sJ ‚| j                  d	|d	z  z  |dz  z   dz   «      d
k(  sJ ‚| j                  |dz  d|dz  z  z   d|dz  z  z   d|z  z
  dz   «      dk(  sJ ‚| j                  d|dz  z  d|dz  z  z   d|dz  z  z   |dz  z   dz   «      dk(  sJ ‚| j                  |dz  |z  d|z  z   «      d|dz  z  j                  |«      k(  sJ ‚| j                  ||dz  z  d|z  z   «      dk(  sJ ‚t        dt        «      \  } }}}| j                  ||z  |z   «      dk(  sJ ‚t        dt        «      \  } }}}}| j                  |dz  |z  ||z  z   |z   «      d|z  |z  |dz  z   j                  |«      k(  sJ ‚t        dt        «      \  } }}}}}| j                  |dz  |z  |dz  |z  z   ||z  z   |z   «      d|dz  z  |dz  z  d|z  |z  |z  |z  z   d|z  |dz  z  z
  d|dz  z  |z  z
  |dz  |dz  z  z   j                  |«      k(  sJ ‚y )Nr   r   rQ   r   r   r-   r6   rl   r   rm   r   r   rn   r   r@   r   rW   r   ro   iøÿÿÿúx,y,zúx,y,z,uéüÿÿÿrY   iåÿÿÿrZ   )r   r   Údmp_discriminantrb   )r   r   rc   re   rf   rg   s         r$   Útest_dmp_discriminantrw   õ   s  € Ü�”R‹=�D€A€qà×Ñ˜aÓ  AÒ%Ð%Ð%ä�5œ"‹o�G€A€qˆ!à×Ñ˜aÓ  AÒ%Ð%Ð%Ø×Ñ˜aÓ  AÒ%Ð%Ð%à×Ñ˜a ™d Q q¨!¡t¡V™m¨a°©cÑ1°BÑ6Ó7¸6ÒAÐAÐAØ×Ñ˜a  1¡™f q¨!¡t™m¨aÑ/Ó0°HÒ<Ð<Ð<Ø×Ñ˜a ™d Q q¨!¡t¡V™m¨a°°1±©fÑ4°r¸!±tÑ;¸bÑ@ÓAÀQÒFÐFÐFØ×Ñ˜b  A¡™g¨¨1¨a©4©Ñ/°"°Q¸±T±'Ñ9¸A¸q¹DÑ@À1ÑDÓEÐI\Ò\Ð\Ð\à×Ñ˜a ™d 1™f q¨¡s™lÓ+°°1°a±4±¯~©~¸aÓ/@Ò@Ð@Ð@Ø×Ñ˜a  1¡™f q¨¡s™lÓ+¨qÒ0Ð0Ð0ä�gœrÓ"�J€A€qˆ!ˆQØ×Ñ˜a ™c A™gÓ&¨!Ò+Ð+Ð+ä˜¤BÓ'�M€A€qˆ!ˆQ�Ø×Ñ˜a ™d 1™f q¨¡s™l¨QÑ.Ó/°B°q±D¸±F¸QÀ¹T±M×3GÑ3GÈÓ3JÒJÐJÐJä˜K¬Ó,Ñ€A€qˆ!ˆQ��1Ø×Ñ˜a ™d 1™f q¨!¡t¨A¡v™o°°!±Ñ3°aÑ7Ó8Ø	ˆQ�‰T‰�!�Q‘$‰˜˜A™˜a™ ™ !™Ñ	# a¨¡c¨!¨Q©$¡hÑ	.°°1°a±4±¸±Ñ	9¸A¸q¹DÀÀAÁ¹IÑ	E×KÑKÈAÓNòOð Oñ Or&   c                  óV  — t        dt        «      \  } }d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rd	k(  sJ ‚ J ‚d
d|z  dz   }}| j                  ||«      | j                  ||«      cxk(  rd|z  dz   d
dfk(  sJ ‚ J ‚d|z  dz   d
}}| j                  ||«      | j                  ||«      cxk(  rd|z  dz   dd
fk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚|dz  d|z  z   dz   d}}| j                  ||«      | j                  ||«      cxk(  rd|dz  d|z  z   dz   dfk(  sJ ‚ J ‚|dz  d|z  z   dz   d}}| j                  ||«      | j                  ||«      cxk(  rd|dz  d|z  z   dz   dfk(  sJ ‚ J ‚d|dz  z  d|z  z   dz   d}}| j                  ||«      | j                  ||«      cxk(  rd|dz  d|z  z   dz   dfk(  sJ ‚ J ‚dd|dz  z  d|z  z   dz   }}| j                  ||«      | j                  ||«      cxk(  rdd|dz  d|z  z   dz   fk(  sJ ‚ J ‚d|dz  z  d|z  z   dz   |dz   }}| j                  ||«      | j                  ||«      cxk(  r|dz   d|z  dz   dfk(  sJ ‚ J ‚|dz   d|dz  z  d|z  z   dz   }}| j                  ||«      | j                  ||«      cxk(  r|dz   dd|z  dz   fk(  sJ ‚ J ‚|dz
  |}}| j                  ||«      | j                  ||«      cxk(  r	d||fk(  sJ ‚ J ‚|dz  d|dz  z  z   d|dz  z  z   d|z  z   dz   }|dz  d|dz  z  z   d|z  z   dz   }|dz  d|z  z   dz   }|dz  d|z  z   dz   }|dz   }| j                  ||«      |||fk(  sJ ‚| j                  ||«      |||fk(  sJ ‚|dz  dz
  }|dz  d|dz  z  z   dz   }|dz  dz   }|dz  dz
  }|dz  dz   }| j                  ||«      |||fk(  sJ ‚| j                  ||«      |||fk(  sJ ‚|dz  |dz  z   d|dz  z  z
  d|dz  z  z
  d|dz  z  z   d|z  z   dz
  }d|dz  z  d|dz  z  z   d|dz  z  z
  d|z  z
  dz   }d}|}|}| j                  ||«      |||fk(  sJ ‚| j                  ||«      |||fk(  sJ ‚t        dt        «      \  } }|dz  |dz  z   d|dz  z  z
  d|dz  z  z
  d|dz  z  z   d|z  z   dz
  }d|dz  z  d|dz  z  z   d|dz  z  z
  d|z  z
  dz   }d}|}|}| j                  ||«      |||fk(  sJ ‚| j                  ||«      |||fk(  sJ ‚t        dt        «      \  } }d|d z  z  d!|d"z  z  z   d#|d$z  z  z   d%|d&z  z  z   d'|dz  z  z
  d(|d)z  z  z   d*|d+z  z  z   d,z   }d-|dz  z  d.|d)z  z  z   d/|d+z  z  z
  d,z
  }| j                  || j                  |d«      «      d
   |k(  sJ ‚| j                  || j                  |d«      «      d
   |k(  sJ ‚t        dt        «      \  } }t	        dd«      |dz  z  |z   t	        dd«      z   }t	        dd«      |z  t	        dd«      z   }|dz   }| j                  ||«      ||t	        dd«      fk(  sJ ‚| j                  ||«      ||t	        dd«      fk(  sJ ‚t        dt        «      \  } }d0|z  d1z   }d2|z  d3z   }d2|z  d3z   }d4}d}| j                  ||«      |||fk(  sJ ‚y )5Nr   ©r   r   ©r   r   r   ©r   r   ©r   r   r   ©r>   r   ©r   rG   r   ©r   r>   ©r   r   rG   r   r   r   r   ©r   r   ©r   r   r   ©r>   r   ©r   rG   r   ©r   r>   ©r   r   rG   ©r>   r>   ©r   rG   rG   é   r,   r   r.   rn   r   rA   r   r-   lìÿÿÿ     p¢ƒ>�Zè6-(È·3Ã{ CÃzˆìVgÚsóR&r7   l       À	Í`”ç ò%³'(Õ'»@ó$@¥9$` ÑV é*   l      `µ%³Nw‚g¹ej^íôr�0c’u`Z§hD é#   l      ]%³5…œu[o¦vÈ&Á+Ú/
có>_o],é   l    @ü)-ÀPµ/Í'X=‚vØw+U9+; l    _ÖIÈ	†,ü4~XsRò`Y?t
U¼ é   l   y[Ùpñ?÷uÿ;ÃZàW`±( r@   l   ñEÙA‘y·\¼^
l     Àmc@Ats lÍ\o#MkïEœ6w# l    @¼r/sÜL—xFJŽG jëA�l   €3ƒsèd%uÒ%ƒg%9 Œi[T l         qRvl        @Ñû	l        P\l        `àiÂ*  )r   r   Údup_zz_heu_gcdÚdup_rr_prs_gcdr   Údup_qq_heu_gcdÚdup_ff_prs_gcdÚdup_diff)r   r   r   r   r    ÚcffÚcfgs          r$   Útest_dup_gcdr•     s“
  € Ü�”R‹=�D€A€qà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔH¸yÒHÐHÑHÐHÐHà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔH¸yÒHÐHÑHÐHÐHà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIàˆa�‰c�A‰g€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔNÀÀ!ÁÀaÁÈÈA¸ÒNÐNÑNÐNÐNàˆQ‰3�‰7�A€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔNÀÀ!ÁÀaÁÈÈA¸ÒNÐNÑNÐNÐNà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔH¸yÒHÐHÑHÐHÐHà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔJ¸{ÒJÐJÑJÐJÐJàˆa‰4�!�A‘#‰:˜‰>˜1€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÁ4È!ÈAÉ#Á:ÐPQÁ>ÐSTÐ?UÒUÐUÑUÐUÐUàˆa‰4�!�A‘#‰:˜‰>˜1€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÁ4È!ÈAÉ#Á:ÐPQÁ>ÐSTÐ?UÒUÐUÑUÐUÐUàˆQ�‰T‰6�A�a‘C‰<˜!Ñ˜Q€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÁ4È!ÈAÉ#Á:ÐPQÁ>ÐSTÐ?UÒUÐUÑUÐUÐUàˆa��1‘‰f�q˜‘s‰l˜QÑ€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÈÁdÈQÈqÉSÁjÐSTÁnÐ?UÒUÐUÑUÐUÐUàˆQ�‰T‰6�A�a‘C‰<˜!Ñ˜Q ™U€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔRÀÀAÁÀqÈÁsÈQÁwÐPQÐ?RÒRÐRÑRÐRÐRàˆq‰5�!�A�q‘D‘&˜1˜Q™3‘, Ñ"€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔRÀÀAÁÀqÈ!ÈAÉ#ÐPQÉ'Ð?RÒRÐRÑRÐRÐRàˆr‰6�1€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔHÀÀ1Àa¸yÒHÐHÑHÐHÐHà	ˆ1‰ˆq��A‘‰v‰˜˜1˜a™4™Ñ " Q¡$Ñ&¨Ñ*€AØ	ˆ1‰ˆq��A‘‰v‰˜˜1™Ñ˜qÑ €Aà	ˆ1‰ˆq�‰s‰
�Q‰€Aà
ˆQ‰$��1‘‰*�q‰.€CØ
ˆa‰%€Cà×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2Ø×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2à	ˆ1‰ˆq‰€AØ	ˆ1‰ˆq��A‘‰v‰˜Ñ€Aà	ˆ1‰ˆq‰€Aà
ˆQ‰$�‰(€CØ
ˆQ‰$�‰(€Cà×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2Ø×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2à	ˆ1‰ˆq�!‰t‰�a˜˜1™‘fÑ˜q  A¡™vÑ%¨¨!¨Q©$©Ñ.°°1±Ñ4°qÑ8€AØ	ˆ!ˆQ‰$‰��1�a‘4‘‰˜!˜A˜q™D™&Ñ  1 Q¡3Ñ&¨Ñ+€Aà	€Aà
€CØ
€Cà×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2Ø×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2ä�”R‹=�D€A€qà	ˆ1‰ˆq�!‰t‰�a˜˜1™‘fÑ˜q  A¡™vÑ%¨¨!¨Q©$©Ñ.°°1±Ñ4°qÑ8€AØ	ˆ!ˆQ‰$‰��1�a‘4‘‰˜!˜A˜q™D™&Ñ  1 Q¡3Ñ&¨Ñ+€Aà	€Aà
€CØ
€Cà×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2Ø×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2ä�”R‹=�D€A€qàdÐefÐhjÑejÑjØ
]Ð^_ÐacÑ^cÑ
cñ	dà
XÐYZÐ\^ÑY^Ñ
^ñ	_ð SÐSTÐVXÑSXÑ
Xñ	Yð LÈAÈrÉEÑ
Qñ		Rð
 DÀAÀrÁEÑ
Iñ	Jð :¸!¸Q¹$Ñ
>ñ	?ð /ñ	/€Að GÀqÈ"ÁuÑ
LØ
@ÀÀBÁÑ
FñGà
8¸¸A¹Ñ
=ñ>ð /ñ/€Að
 ×Ñ˜A˜qŸz™z¨!¨QÓ/Ó0°Ñ3°qÒ8Ð8Ð8Ø×Ñ˜A˜qŸz™z¨!¨QÓ/Ó0°Ñ3°qÒ8Ð8Ð8ä�”R‹=�D€A€qä
ˆ1ˆQ‹��1‘‰�qÑœ2˜a ›7Ñ"€AÜ
ˆ1ˆQ‹�‰	”B�q˜“GÑ€Aà	ˆA‰€Aà×Ñ˜A˜qÓ! a¨¬B¨q°«G _Ò4Ð4Ð4Ø×Ñ˜A˜qÓ! a¨¬B¨q°«G _Ò4Ð4Ð4ä�”R‹=�D€A€qà˜qÑ Ð#9Ñ9€AØ˜1ÑÐ1Ñ1€Aà˜1ÑÐ1Ñ1€AØ
€CØ
€Cà×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ñ2r&   c            
      ón  — t        dt        «      \  } }}d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rd	k(  sJ ‚ J ‚d
d|z  dz   }}| j                  ||«      | j                  ||«      cxk(  rd|z  dz   d
dfk(  sJ ‚ J ‚d|z  dz   d
}}| j                  ||«      | j                  ||«      cxk(  rd|z  dz   dd
fk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚d\  }}| j                  ||«      | j                  ||«      cxk(  rdk(  sJ ‚ J ‚|dz  d|z  z   dz   d}}| j                  ||«      | j                  ||«      cxk(  rd|dz  d|z  z   dz   dfk(  sJ ‚ J ‚|dz  d|z  z   dz   d}}| j                  ||«      | j                  ||«      cxk(  rd|dz  d|z  z   dz   dfk(  sJ ‚ J ‚d|dz  z  d|z  z   dz   d}}| j                  ||«      | j                  ||«      cxk(  rd|dz  d|z  z   dz   dfk(  sJ ‚ J ‚dd|dz  z  d|z  z   dz   }}| j                  ||«      | j                  ||«      cxk(  rdd|dz  d|z  z   dz   fk(  sJ ‚ J ‚d|dz  z  d|z  z   dz   |dz   }}| j                  ||«      | j                  ||«      cxk(  r|dz   d|z  dz   dfk(  sJ ‚ J ‚|dz   d|dz  z  d|z  z   dz   }}| j                  ||«      | j                  ||«      cxk(  r|dz   dd|z  dz   fk(  sJ ‚ J ‚t        dt        «      \  } }}}}|dz  d|z  z   dz   d|z  dz   }}| j                  ||«      | j                  ||«      cxk(  r|dz   |dz   dfk(  sJ ‚ J ‚|dz  |dz  z  d|dz  z  |z  z   |dz  z   ||z  z   |z   |dz  d|z  z   dz   }}|dz   |dz  |z  |dz  z   |z   |dz   }	}}| j                  ||«      |||	fk(  sJ ‚| j                  ||«      |||	fk(  sJ ‚| j                  ||«      ||	|fk(  sJ ‚| j                  ||«      ||	|fk(  sJ ‚t        dt        «      \  } }}}t	        | j
                  t        dt        «      «      \  }}}| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚t        dt        «      \  } }}}}}t	        | j
                  t        dt        «      «      \  }}}| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚t        dt        «      \  } }}}}}}}t	        | j
                  t        dt        «      «      \  }}}| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚t        dt        «      \
  } }}}}}}}}}t	        | j
                  t        dt        «      «      \  }}}| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚t        dt        «      \  } }}}t	        | j
                  t        dt        «      «      \  }}}| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚t	        | j
                  t        dt        «      «      \  }}}| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚t        dt        «      \  } }}}}}t	        | j
                  t        dt        «      «      \  }}}| j                  ||«      \  }
}}	|
|k(  r*| j                  |
|«      |k(  r| j                  |
|	«      |k(  sJ ‚t        dt        «      \  } }}t        dd«      |dz  z  |z   t        dd«      z   }t        dd«      |z  t        dd«      z   }|dz   }| j                  ||«      ||t        dd«      fk(  sJ ‚| j                  ||«      ||t        dd«      fk(  sJ ‚t        dt        «      \  } }}d|z  |dz  z  d|z  |z  z
  d|z  z   }d|d z  z  }| j                  ||«      d|z  d|dz  z  d|z  z
  dz   d|dz  z  fk(  sJ ‚y )!NrQ   ry   rz   r{   r|   r}   r~   r   r€   r   r   r   r   r�   r‚   rƒ   r„   r…   r†   r‡   rˆ   rt   rs   rY   zx,y,z,u,v,a,br   zx,y,z,u,v,a,b,c,dr,   gÍÌÌÌÌÌ @gš™™™™™@g      ð?r   )r   r   Údmp_zz_heu_gcdÚdmp_rr_prs_gcdÚmapÚ
from_denser   Údmp_mulr	   r
   Údmp_inner_gcdr   Údmp_qq_heu_gcdÚdmp_ff_prs_gcdr   )r   r   rc   r   r   re   rf   r    r“   r”   r#   rg   rK   rL   rM   rN   s                   r$   Útest_dmp_gcdrŸ   Ÿ  s8  € Ü�5œ"‹o�G€A€qˆ!à�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔH¸yÒHÐHÑHÐHÐHà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔH¸yÒHÐHÑHÐHÐHà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIàˆa�‰c�A‰g€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔNÀÀ!ÁÀaÁÈÈA¸ÒNÐNÑNÐNÐNàˆQ‰3�‰7�A€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔNÀÀ!ÁÀaÁÈÈA¸ÒNÐNÑNÐNÐNà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔH¸yÒHÐHÑHÐHÐHà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔI¸zÒIÐIÑIÐIÐIà�D€A€qØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔJ¸{ÒJÐJÑJÐJÐJàˆa‰4�!�A‘#‰:˜‰>˜1€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÁ4È!ÈAÉ#Á:ÐPQÁ>ÐSTÐ?UÒUÐUÑUÐUÐUàˆa‰4�!�A‘#‰:˜‰>˜1€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÁ4È!ÈAÉ#Á:ÐPQÁ>ÐSTÐ?UÒUÐUÑUÐUÐUàˆQ�‰T‰6�A�a‘C‰<˜!Ñ˜Q€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÁ4È!ÈAÉ#Á:ÐPQÁ>ÐSTÐ?UÒUÐUÑUÐUÐUàˆa��1‘‰f�q˜‘s‰l˜QÑ€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔUÀÀ1ÀaÈÁdÈQÈqÉSÁjÐSTÁnÐ?UÒUÐUÑUÐUÐUàˆQ�‰T‰6�A�a‘C‰<˜!Ñ˜Q ™U€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔRÀÀAÁÀqÈÁsÈQÁwÐPQÐ?RÒRÐRÑRÐRÐRàˆq‰5�!�A�q‘D‘&˜1˜Q™3‘, Ñ"€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔRÀÀAÁÀqÈ!ÈAÉ#ÐPQÉ'Ð?RÒRÐRÑRÐRÐRä˜¤BÓ'�M€A€qˆ!ˆQ�àˆa‰4�!�A‘#‰:˜‰>˜1˜Q™3 ™7€q€AØ×Ñ˜A˜qÓ! Q×%5Ñ%5°a¸Ó%;ÔPÀÀAÁÀqÈ1ÁuÈaÐ?PÒPÐPÑPÐPÐPàˆa‰4��1‘‰9�q˜˜A™‘v˜a‘xÑ ! Q¡$Ñ&¨¨1©Ñ,¨qÑ0°!°Q±$¸¸1¹±*¸q±.€q€AØ�a‘%˜˜A™˜a™ ! Q¡$™¨Ñ*¨A°©EˆC€s€Aà×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2Ø×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2à×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2Ø×Ñ˜A˜qÓ! a¨¨c ]Ò2Ð2Ð2ä�gœrÓ"�J€A€qˆ!ˆQä�!—,‘,Ô 4°Q¼Ó ;Ó<�G€A€qˆ!Ø×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ð ×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ô ˜K¬Ó,Ñ€A€qˆ!ˆQ��1ä�!—,‘,Ô 4°Q¼Ó ;Ó<�G€A€qˆ!Ø×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ô " /´2Ó6Ñ€A€qˆ!ˆQ��1�a˜ä�!—,‘,Ô 4°Q¼Ó ;Ó<�G€A€qˆ!Ø×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ô $(Ð(;¼RÓ#@Ñ €A€qˆ!ˆQ��1�a˜˜A˜qä�!—,‘,Ô 4°Q¼Ó ;Ó<�G€A€qˆ!Ø×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ô �gœrÓ"�J€A€qˆ!ˆQä�!—,‘,Ô 4°Q¼Ó ;Ó<�G€A€qˆ!Ø×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ð ×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ô �!—,‘,Ô 4°Q¼Ó ;Ó<�G€A€qˆ!Ø×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ð ×"Ñ" 1 aÓ(�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ô ˜K¬Ó,Ñ€A€qˆ!ˆQ��1ä�!—,‘,Ô 4°Q¼Ó ;Ó<�G€A€qˆ!Ø—/‘/ ! QÓ'�K€A€sˆCà�Š6�a—i‘i  3Ó'¨1Ò,Ø—i‘i  3Ó'¨1Ò,ð-ð -ô �5œ"‹o�G€A€qˆ!ä
ˆ1ˆQ‹��1‘‰�qÑœ2˜a ›7Ñ"€AÜ
ˆ1ˆQ‹�‰	”B�q˜“GÑ€Aà	ˆA‰€Aà×Ñ˜A˜qÓ! a¨¬B¨q°«G _Ò4Ð4Ð4Ø×Ñ˜A˜qÓ! a¨¬B¨q°«G _Ò4Ð4Ð4ä�5œ"‹o�G€A€qˆ!àˆA‰ˆa�‰d‰
�S˜‘U˜1‘WÑ˜s 1™uÑ$€AØˆAˆq‰D‰€Aà×Ñ˜A˜qÓ!Ø	ˆQ‰��A�q‘D‘˜3˜q™5Ñ  3Ñ&¨¨A¨q©D©Ð1ò2ð 2ñ 2r&   c                  ó�  — t        dt        «      \  } }| j                  dd«      dk(  sJ ‚| j                  d|dz  z  d|z  «      d|dz  z  k(  sJ ‚| j                  d|dz  z  d|z  «      d|dz  z  k(  sJ ‚| j                  |dz  |z   |«      |dz  |z   k(  sJ ‚| j                  |dz  |z   d|z  «      d|dz  z  d|z  z   k(  sJ ‚| j                  |dz  d|z  z   |«      |dz  d|z  z   k(  sJ ‚| j                  d|dz  z  |z   |«      d|dz  z  |z   k(  sJ ‚| j                  d|dz  z  |z   d|z  «      d|dz  z  d|z  z   k(  sJ ‚y )Nr   r   r   r   r   )r   r   Údup_lcmr)   s     r$   Útest_dup_lcmr¢   8  s|  € Ü�”R‹=�D€A€qà�9‰9�Q˜‹?˜aÒÐÐà�9‰9�Q�q˜!‘t‘V˜Q˜q™SÓ! Q q¨!¡t¡VÒ+Ð+Ð+Ø�9‰9�Q�q˜!‘t‘V˜Q˜q™SÓ! Q q¨!¡t¡VÒ+Ð+Ð+à�9‰9�Q˜‘T˜A‘X˜qÓ! Q¨¡T¨A¡XÒ-Ð-Ð-Ø�9‰9�Q˜‘T˜A‘X˜q ™sÓ# q¨¨A©¡v°°!±¡|Ò3Ð3Ð3Ø�9‰9�Q˜‘T˜A˜a™C‘Z Ó# q¨!¡t¨a°©c¡zÒ1Ð1Ð1Ø�9‰9�Q�q˜!‘t‘V˜a‘Z Ó# q¨¨A©¡v°¡zÒ1Ð1Ð1Ø�9‰9�Q�q˜!‘t‘V˜a‘Z  1¡Ó%¨¨1¨a©4©°!°A±#©Ò5Ð5Ñ5r&   c                  óP  — t        dt        «      \  } }}| j                  dd«      dk(  sJ ‚| j                  ||«      ||z  k(  sJ ‚| j                  d|dz  z  d|z  |dz  z  «      d|dz  z  |dz  z  k(  sJ ‚| j                  d|dz  z  d|z  |dz  z  «      d|dz  z  |dz  z  k(  sJ ‚| j                  |dz  |z  ||dz  z  «      |dz  |dz  z  k(  sJ ‚d|z  |dz  z  d|z  |dz  z  z
  d|z  |dz  z  z
  d|z  |dz  z  z   }|dz  d|dz  z  z
  |z   }d|z  |dz  z  d|z  |dz  z  z
  d|z  |dz  z  z
  d|z  |dz  z  z   d|z  |dz  z  z   d|z  |dz  z  z
  }| j                  ||«      |k(  sJ ‚|dz  d|dz  z  |z  z
  d|z  |dz  z  z
  d|dz  z  z
  }|dz  d|dz  z  |z  z   d	|dz  z  |dz  z  z   d
|z  |dz  z  z   d|dz  z  z   }|dz  |dz  |z  z   d|dz  z  |dz  z  z
  d|dz  z  |dz  z  z
  d|z  |dz  z  z
  d|dz  z  z
  }| j                  ||«      |k(  sJ ‚y )NrQ   r   r   r   r   r   r@   r-   r   rD   rZ   é2   é/   r   )r   r   Údmp_lcm)r   r   rc   r   r   r    s         r$   Útest_dmp_lcmr§   G  sÊ  € Ü�5œ"‹o�G€A€qˆ!à�9‰9�Q˜‹?˜aÒÐÐØ�9‰9�Q˜‹?˜a ™cÒ!Ð!Ð!à�9‰9�Q�q˜!‘t‘V˜Q˜q™S  A¡™XÓ&¨!¨A¨q©D©&°°A±©+Ò5Ð5Ð5Ø�9‰9�Q�q˜!‘t‘V˜Q˜q™S  A¡™XÓ&¨!¨A¨q©D©&°°A±©+Ò5Ð5Ð5à�9‰9�Q˜‘T˜!‘V˜Q˜q !™t™VÓ$¨¨1©¨Q°©T©	Ò1Ð1Ð1à	ˆ!‰ˆAˆq‰D‰�1�Q‘3�q˜!‘t‘8Ñ˜a ™c ! Q¡$™hÑ&¨¨1©¨Q°©T©Ñ1€AØ	ˆ1‰ˆq��A‘‰v‰˜Ñ€AØ	ˆ!‰ˆAˆq‰D‰�1�Q‘3�q˜!‘t‘8Ñ˜a ™c ! Q¡$™hÑ&¨¨1©¨Q°©T©Ñ1°A°a±C¸¸1¹±HÑ<¸qÀ¹sÀ1ÀaÁ4¹xÑG€Aà�9‰9�Q˜‹?˜aÒÐÐà	ˆ1‰ˆq��A‘‰v�a‰x‰˜!˜A™#˜a ™d™(Ñ" Q q¨!¡t¡VÑ+€AØ	ˆ1‰ˆq��A‘‰v�a‰x‰˜"˜Q ™T™' ! Q¡$™,Ñ&¨¨A©¨a°©d©Ñ2°Q°q¸!±t±VÑ;€AØ	ˆ1‰ˆq�!‰t�A‰v‰˜˜1˜a™4™  1¡™Ñ$ r¨!¨Q©$¡w¨q°!©t¡|Ñ3°b¸±d¸1¸a¹4±iÑ?À"ÀQÈÁTÁ'ÑI€Aà�9‰9�Q˜‹?˜aÒÐÑr&   c                  ó   — t        dt        «      \  } }}| j                  d«      dk(  sJ ‚d|dz  z  d|z  z   dz   dd}}}t        dd«      D ]  }||z  }|||z  |z  z  }Œ | j                  |«      |j	                  |«      k(  sJ ‚t        dt        «      \  } }}}| j                  t
        «      dk(  sJ ‚| j                  t        «      dk(  sJ ‚t        d	t        «      \  } }}}}| j                  t        «      dk(  sJ ‚y )
NrQ   r>   r   r   r   r   r   rs   úx,y,z,t)r   r   Údmp_contentÚrangerb   Úf_4Úf_5Úf_6)	r   r   rc   r   r   ÚFÚire   r   s	            r$   Útest_dmp_contentr±   _  s  € Ü�%œ‹_�F€A€qˆà�=‰=˜Ó Ò!Ð!Ð!à��1‘‰f�q˜‘s‰l˜QÑ  1ˆ!€q€Aä�1�aŽ[ˆØ	ˆQ‰ˆØ	ˆQ�‰T�!‰V‰‰ð ð �=‰=˜Ó˜qŸv™v a›yÒ(Ð(Ð(ä�GœRÓ �H€A€qˆˆ1à�=‰=œÓ Ò"Ð"Ð"Ø�=‰=œÓ Ò"Ð"Ð"ä�i¤Ó$�J€A€qˆˆ1ˆQØ�=‰=œÓ Ò"Ð"Ñ"r&   c                  óŠ  — t        dt        «      \  } }}| j                  d«      dk(  sJ ‚| j                  d«      dk(  sJ ‚d|dz  z  d|z  z   dz   dd}}}t        dd«      D ]  }||z  }|||z  |z  z  }Œ | j                  |«      |j	                  |«      ||z  fk(  sJ ‚t        d	t        «      \  } }}}| j                  t
        «      \  }}|dk(  r	|t
        k(  sJ ‚| j                  t        «      \  }}|dk(  r	|t        k(  sJ ‚t        d
t        «      \  } }}}}	| j                  t        «      \  }}|dk(  r	|t        k(  sJ ‚y )NrQ   r   ry   r   )r   r   r   r   r   rs   r©   )r   r   Údmp_primitiver«   rb   r¬   r­   r®   )
r   r   rc   r   r   r¯   r°   re   Úcontr   s
             r$   Útest_dmp_primitiverµ   u  sR  € Ü�%œ‹_�F€A€qˆà�?‰?˜1Ó Ò'Ð'Ð'Ø�?‰?˜1Ó Ò'Ð'Ð'à��1‘‰f�q˜‘s‰l˜QÑ  1ˆ!€q€Aä�1�aŽ[ˆØ	ˆQ‰ˆØ	ˆQ�‰T�!‰V‰‰ð ð �?‰?˜1Ó !§&¡&¨£)¨Q°©UÐ!3Ò3Ð3Ð3ä�GœRÓ �H€A€qˆˆ1à�o‰oœcÓ"�G€Dˆ!Ø�1Š9˜œcšÐ!Ð!Ø�o‰oœcÓ"�G€Dˆ!Ø�1Š9˜œcšÐ!Ð!ä�i¤Ó$�J€A€qˆˆ1ˆQà�o‰oœcÓ"�G€Dˆ!Ø�1Š9˜œcšÐ!Ð!˜r&   c                  óÞ  — t        dt        «      \  } }d|dz  z  dz
  }|dz  d|z  z
  dz   }d|z  dz   }|dz
  }| j                  ||«      ||fk(  sJ ‚| j                  ||d¬«      dd||fk(  sJ ‚| dz
  }d|z  dz
  }|dz   }d|z  dz   }| j                  ||«      ||fk(  sJ ‚| j                  ||«      ||fk(  sJ ‚| j                  d	d	«      d
k(  sJ ‚| j                  d	d	d¬«      dk(  sJ ‚| j                  |d	«      dk(  sJ ‚| j                  |d	d¬«      dk(  sJ ‚| j                  d	|«      dk(  sJ ‚| j                  d	|d¬«      dk(  sJ ‚d	}|}d}| j                  ||d¬«      ||fk(  sJ ‚y )Nr   r   r   F©Úincluder   r   rS   r   ry   ©r   r   r   r   ©r   r   ©r   r   r   r   ©r   r   ©r   r   r   r   T)r   r   Ú
dup_cancel)	r   r   r   r   ÚpÚqr¯   ÚGÚones	            r$   Útest_dup_cancelrÃ   �  sÉ  € Ü�”R‹=�D€A€qà	ˆ!ˆQ‰$‰�‰
€AØ	ˆ1‰ˆq�‰s‰
�Q‰€Aà	ˆ!‰ˆa‰€AØ	ˆA‰€Aà�<‰<˜˜1Ó ! Q Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°°A°q¸!°Ò<Ð<Ð<à	
ˆˆQ‰€AØ	ˆ!‰ˆa‰€Aà	ˆA‰€AØ
ˆ1‰ˆq‰€Aà�<‰<˜˜1Ó ! Q Ò'Ð'Ð'Ø�<‰<˜˜1Ó ! Q Ò'Ð'Ð'à�<‰<˜˜1Ó Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°Ò<Ð<Ð<à�<‰<˜˜1Ó Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°Ò<Ð<Ð<à�<‰<˜˜1Ó Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°Ò<Ð<Ð<à	€AØ	€AØ
€Cà�<‰<˜˜1 dˆ<Ó+°°3¨xÒ7Ð7Ñ7r&   c                  ó  — t        dt        «      \  } }}d|dz  z  dz
  }|dz  d|z  z
  dz   }d|z  dz   }|dz
  }| j                  ||«      ||fk(  sJ ‚| j                  ||d¬«      dd||fk(  sJ ‚| j                  dd«      dk(  sJ ‚| j                  ddd¬«      dk(  sJ ‚| j                  |d«      d	k(  sJ ‚| j                  |dd¬«      d
k(  sJ ‚| j                  d|«      dk(  sJ ‚| j                  d|d¬«      dk(  sJ ‚y )NrQ   r   r   Fr·   r   ry   r¹   rº   r»   r¼   r½   )r   r   Ú
dmp_cancel)r   r   rc   r   r   r¿   rÀ   s          r$   Útest_dmp_cancelrÆ   µ  s3  € Ü�5œ"‹o�G€A€qˆ!à	ˆ!ˆQ‰$‰�‰
€AØ	ˆ1‰ˆq�‰s‰
�Q‰€Aà	ˆ!‰ˆa‰€AØ	ˆA‰€Aà�<‰<˜˜1Ó ! Q Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°°A°q¸!°Ò<Ð<Ð<à�<‰<˜˜1Ó Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°Ò<Ð<Ð<à�<‰<˜˜1Ó Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°Ò<Ð<Ð<à�<‰<˜˜1Ó Ò'Ð'Ð'Ø�<‰<˜˜1 eˆ<Ó,°Ò<Ð<Ñ<r&   N)#Ú__doc__Úsympy.polys.ringsr   Úsympy.polys.domainsr   r   r   Úsympy.polys.specialpolysr   r   r	   r
   Úf_0Úf_1Úf_2Úf_3r¬   r­   r®   r%   r*   r3   r9   rO   rj   rq   rw   r•   rŸ   r¢   r§   r±   rµ   rÃ   rÆ   © r&   r$   Ú<module>rÐ      s�   ðÙ Uå "ß *Ñ *÷ó ñ %,£IÑ !€€Sˆ#ˆs�C˜˜cò *òF6ò
#òòD'òNKWò\	]òOò:J3òZV2òr6ò ò0#ò,"ò6"8óJ=r&   