§
    OŠtjTÂ  ã            	       ó   — d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZmZ d dlmZ d dlmZmZ d d	lmZ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 m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ d dlKmLZL d dlMmNZNmOZOmPZP d dlQmRZRmSZSmTZT  ed¦  «        \  ZUZVZWZX ed¦  «        \	  ZYZZZ[Z\Z]Z^Z_Z`Zad„ Zbd„ Zcd„ Zdd„ Zed„ Zfd„ Zgd„ Zhd„ Zid„ Zjd„ Zkd„ Zld„ Zmd„ Znd„ Zod „ Zpd!„ Zqd"„ Zrd#„ Zsd$„ Ztd%„ Zud&„ Zv	 d'„ Zwd(„ Zxd)„ Zyd*„ Zzd+„ Z{d,„ Z|d-„ Z}d.„ Z~d/„ Zd0„ Z€d1„ Z�d2„ Z‚d3„ Zƒd4„ Z„d5„ Z…d6„ Z†d7„ Z‡d8„ Zˆd9„ Z‰d:„ ZŠd;„ Z‹d<„ ZŒd=„ Z�d>„ ZŽd?„ Z�eOd@„ ¦   «         Z�dA„ Z‘dB„ Z’dC„ Z“dD„ Z”dE„ Z•dF„ Z–dG„ Z—dH„ Z˜dI„ Z™dJ„ ZšdK„ Z›dL„ ZœdM„ Z�dN„ ZždO„ ZŸdP„ Z dQ„ Z¡dR„ Z¢dS„ Z£ePdT„ ¦   «         Z¤dU„ Z¥dV„ Z¦dW„ Z§dX„ Z¨dY„ Z©dZ„ Zªd[„ Z«d\„ Z¬d]„ Z­d^„ Z®d_„ Z¯d`„ Z°da„ Z±db„ Z²dc„ Z³dd„ Z´de„ Zµdf„ Z¶dgS )hé    )ÚQ)Úrefine)Úoo)ÚEqualityÚEqÚNe)ÚS)ÚDummyÚsymbols)Ú	Piecewise)ÚcosÚsin)ÚIntervalÚUnion)ÚContains©Úsimplify)/ÚAndÚBooleanÚ
EquivalentÚITEÚImpliesÚNandÚNorÚNotÚOrÚPOSformÚSOPformÚXorÚXnorÚ	conjunctsÚ	disjunctsÚdistribute_or_over_andÚdistribute_and_over_orÚeliminate_implicationsÚis_nnfÚis_cnfÚis_dnfÚsimplify_logicÚto_nnfÚto_cnfÚto_dnfÚto_int_reprÚbool_mapÚtrueÚfalseÚBooleanAtomÚ
is_literalÚterm_to_integerÚtruth_tableÚ
as_BooleanÚto_anfÚis_anfÚdistribute_xor_over_andÚ
anf_coeffsÚANFformÚbool_mintermÚbool_maxtermÚbool_monomialÚ_check_pairÚ_convert_to_varsSOPÚ_convert_to_varsPOSÚ	ExclusiveÚgateinputcount)ÚCNF)ÚraisesÚXFAILÚslow)ÚcombinationsÚpermutationsÚproductzA:Dza:e w:zc                  ó˜  — t           t          z  t          t           t          ¦  «        k    sJ ‚t           t          z  t          t           t          ¦  «        k    sJ ‚t           t          z  t          z  t          t          t           t          ¦  «        t          ¦  «        k    sJ ‚t           t          z	  t          t           t          ¦  «        k    sJ ‚t           t          z  t          t          t           ¦  «        k    sJ ‚t            t          t           ¦  «        k    sJ ‚t           t          z  t          t           t          ¦  «        k    sJ ‚dS )z)Test that |, & are overloaded as expectedN)ÚAÚBr   r   ÚCr   r   r   © ó    ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/logic/tests/test_boolalg.pyÚtest_overloadingrQ   !   sÛ   € õ �q‰5•C��1‘I”IÒÐÐÐÝ�q‰5•B•q�!‘H”HÒÐÐÐÝ•‰E•Q‰;�"�S¥¥A™YœY­Ñ*Ô*Ò*Ð*Ð*Ð*Ý•‰6•W�Q¥‘]”]Ò"Ð"Ð"Ð"Ý•‰6•W�Q¥‘]”]Ò"Ð"Ð"Ð"Ýˆ2••Q‘”Š<ˆ<ˆ<ˆ<Ý�q‰5•C��1‘I”IÒÐÐÐÐÐrO   c            
      óè  — t          ¦   «         t          u sJ ‚t          t          ¦  «        t          k    sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dt          ¦  «        t          k    sJ ‚t          dt          ¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚t          ddt          ¦  «        t          k    sJ ‚t          ddt          ¦  «        t          u sJ ‚t          dt          ¦  «        t          k    sJ ‚t	          t
          d„ ¦  «         t          t          dk     t          dk    ¦  «        t          u sJ ‚t          dk    } t          | | j        ¦  «        | j        k    sJ ‚t          t          k    t          t          k     t          t          k    t          t          k    f\  }}}}t          ||||¦  «        t          ||¦  «        k    sJ ‚d„ t          ||||f¦  «        D ¦   «         t          ||¦  «        hk    sJ ‚t          t          t          t          d¦  «        t          t          d¦  «        ¦  «        t          t          t          d¦  «        t          t          d¦  «        ¦  «        ¦  «        t          u sJ ‚d S )NTFé   c                  ó,   — t          dt          ¦  «        S ©Né   )r   rK   rN   rO   rP   ú<lambda>ztest_And.<locals>.<lambda>;   s   € �c !¥Q™iœi€ rO   c                 ó    — h | ]}t          |Ž ’ŒS rN   )r   ©Ú.0Úis     rP   ú	<setcomp>ztest_And.<locals>.<setcomp>A   s   € Ð:Ð:Ð:˜�C�ˆGÐ:Ð:Ð:rO   r   )r   r/   rK   r0   rD   Ú	TypeErrorÚ	canonicalrL   rH   r   ÚaÚbr   Úc©ÚeÚgÚlÚgeÚles        rP   Útest_Andrh   -   s{  € Ý‰5Œ5•Dˆ=ˆ=ˆ=ˆ=Ý�q‰6Œ6•QŠ;ˆ;ˆ;ˆ;Ýˆt‰9Œ9�ÐÐÐÐÝˆu‰:Œ:�ÐÐÐÐÝˆt�T‰?Œ?�dÐ"Ð"Ð"Ð"Ýˆt�UÑÔ�uÐ$Ð$Ð$Ð$Ýˆu�eÑÔ¥Ð%Ð%Ð%Ð%Ýˆt•Q‰<Œ<�1ÒÐÐÐÝˆu•a‰=Œ=�EÐ!Ð!Ð!Ð!Ýˆt�T˜4Ñ Ô ¥DÐ(Ð(Ð(Ð(Ýˆt�T�1ÑÔ¥Ò"Ð"Ð"Ð"Ýˆt�U�AÑÔ¥%Ð'Ð'Ð'Ð'Ýˆq•!‰9Œ9�Š>ˆ>ˆ>ˆ>Ý
�9Ð'Ð'Ñ(Ô(Ð(Ý�q�1Šu•a˜1’fÑÔ¥Ð&Ð&Ð&Ð&Ý	ˆAŠ€AÝˆq�!”+ÑÔ !¤+Ò-Ð-Ð-Ð-Ý•q’5�!�aš%¥¥a¢­­aªÐ/�L€A€qˆ"ˆbÝˆq�!�R˜ÑÔ¥ B¨¡
¤
Ò*Ð*Ð*Ð*Ø:Ð:�\¨1¨a°°R¨.Ñ9Ô9Ð:Ñ:Ô:½sÀ2Àq¹z¼z¸lÒJÐJÐJÐJÝ�s•2•a˜‘8”8�R¥ 1™XœXÑ&Ô&­­B­q°!©H¬Hµb½¸A±h´hÑ(?Ô(?Ñ@Ô@ÅEÐIÐIÐIÐIÐIÐIrO   c                  ót  — t          ¦   «         t          u sJ ‚t          t          ¦  «        t          k    sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dt          ¦  «        t          u sJ ‚t          dt          ¦  «        t          k    sJ ‚t          ddd¦  «        t          u sJ ‚t          ddt          ¦  «        t          u sJ ‚t          ddt          ¦  «        t          k    sJ ‚t          dt          ¦  «        t          u sJ ‚t	          t
          d„ ¦  «         t          t          dk     t          dk    ¦  «        t          u sJ ‚t          dk    } t          | | j        ¦  «        | k    sJ ‚t          t          k    t          t          k     t          t          k    t          t          k    f\  }}}}t          ||||¦  «        t          ||¦  «        k    sJ ‚d S )NTFrS   c                  ó,   — t          dt          ¦  «        S rU   )r   rK   rN   rO   rP   rW   ztest_Or.<locals>.<lambda>S   s   € �b ¥A™hœh€ rO   )r   r0   rK   r/   rD   r]   r^   rL   rb   s        rP   Útest_Orrk   E   só  € Ý‰4Œ4•5ˆ=ˆ=ˆ=ˆ=Ý�a‰5Œ5•AŠ:ˆ:ˆ:ˆ:Ýˆd‰8Œ8•tÐÐÐÐÝˆe‰9Œ9�ÐÐÐÐÝˆd�D‰>Œ>�TÐ!Ð!Ð!Ð!Ýˆd�E‰?Œ?�dÐ"Ð"Ð"Ð"Ýˆe�UÑÔ�uÐ$Ð$Ð$Ð$Ýˆd•A‰;Œ;�$ÐÐÐÐÝˆe•Q‰<Œ<�1ÒÐÐÐÝˆd�E˜5Ñ!Ô!¥TÐ)Ð)Ð)Ð)Ýˆd�E�1ÑÔ¥Ð%Ð%Ð%Ð%Ýˆe�U�AÑÔ¥!Ò#Ð#Ð#Ð#Ýˆa•‰8Œ8•tÐÐÐÐÝ
�9Ð&Ð&Ñ'Ô'Ð'Ý�a�!Še•Q˜!’VÑÔ¥Ð$Ð$Ð$Ð$Ý	ˆAŠ€AÝˆa�”ÑÔ Ò"Ð"Ð"Ð"Ý•q’5�!�aš%¥¥a¢­­aªÐ/�L€A€qˆ"ˆbÝˆa��B˜ÑÔ�r ! R™yœyÒ(Ð(Ð(Ð(Ð(Ð(rO   c                  ó&  — t          ¦   «         t          u sJ ‚t          t          ¦  «        t          k    sJ ‚t          t          t          ¦  «        t          u sJ ‚t          dt          t          ¦  «        t          u sJ ‚t          t          t          t          t          t          ¦  «        t          k    sJ ‚t          dddt          t          ¦  «        t          t          t          ¦  «         k    sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dt          ¦  «        t           k    sJ ‚t          dt          ¦  «        t          k    sJ ‚t          ddd¦  «        t          u sJ ‚t          ddt          ¦  «        t           k    sJ ‚t          ddt          ¦  «        t          k    sJ ‚t          t          t          t          ¦  «        t           ¦  «        sJ ‚t          t          t          t          t          t          ¦  «        ¦  «        t          t          t          t          t          ¦  «        k    sJ ‚t          t          t          t          t          t          ¦  «        ¦  «        t          t          t          ¦  «        k    sJ ‚t          t          dk     t          dk    t          ¦  «        t          ddt          ¦  «        cxk    rt          ddt          ¦  «        k    sn J ‚t          dk    } t          | | j        ¦  «        t          dd¦  «        cxk    rt          dd¦  «        k    sn J ‚d S ©NTFrS   r   )	r   r0   rK   r/   rL   Ú
isinstancerM   ÚDr^   )rc   s    rP   Útest_Xorrp   [   sÉ  € Ý‰5Œ5•Eˆ>ˆ>ˆ>ˆ>Ý�q‰6Œ6•QŠ;ˆ;ˆ;ˆ;Ý�q•!‰9Œ9�ÐÐÐÐÝˆt•Q�‰?Œ?�dÐ"Ð"Ð"Ð"Ý�q•!•Q��1ÑÔ¥Ò"Ð"Ð"Ð"Ýˆt�U˜E¥1¥aÑ(Ô(­SµµA©Y¬Y¨JÒ6Ð6Ð6Ð6Ýˆt‰9Œ9�ÐÐÐÐÝˆu‰:Œ:�ÐÐÐÐÝˆt�T‰?Œ?�eÐ#Ð#Ð#Ð#Ýˆt�UÑÔ�tÐ#Ð#Ð#Ð#Ýˆu�eÑÔ¥Ð%Ð%Ð%Ð%Ýˆt•Q‰<Œ<�A˜2ÒÐÐÐÝˆu•a‰=Œ=�AÒÐÐÐÝˆt�U˜EÑ"Ô"¥dÐ*Ð*Ð*Ð*Ýˆt�U�AÑÔ¥1 "Ò$Ð$Ð$Ð$Ýˆu�e�QÑÔ¥1Ò$Ð$Ð$Ð$Ý•c�!�Q‘i”i¥Ñ%Ô%Ð%Ð%Ð%Ý�q•!•S��A‘Y”YÑÔ¥3¥q­!­Qµ¡?¤?Ò2Ð2Ð2Ð2Ý�q•!•S��A‘Y”YÑÔ¥3¥q­!¡9¤9Ò,Ð,Ð,Ð,Ý�q�1Šu•a˜1’f�aÑ Ô ¥C¨¨1­a¡L¤LÐ@Ð@Ò@Ð@µC¸¸1½a±L´LÒ@Ð@Ð@Ð@Ð@Ð@Ý	ˆAŠ€AÝˆq�!”+ÑÔ¥# a¨¡)¤)Ð8Ð8Ò8Ð8­s°1°a©y¬yÒ8Ð8Ð8Ð8Ð8Ð8Ð8Ð8rO   c                  ó¢   — t           t          z  } |                      t          ¦  «        t           t          z  t            t           z  z  k    sJ ‚d S ©N)ÚxÚyÚrewriter   ©Úexprs    rP   Útest_rewrite_as_Andrx   t   s?   € Ý�q‰5€DØ�<Š<�ÑÔ¥¥Q¡­A¨2µ°©7Ñ 3Ò3Ð3Ð3Ð3Ð3Ð3rO   c                  ó¢   — t           t          z  } |                      t          ¦  «        t           t           z  t          t            z  z  k    sJ ‚d S rr   )rs   rt   ru   r   rv   s    rP   Útest_rewrite_as_Orrz   y   s?   € Ý�q‰5€DØ�<Š<�ÑÔ¥¥Q B¡­1µ¨r©6Ñ2Ò2Ð2Ð2Ð2Ð2Ð2rO   c                  óÈ   — t           t          z  t          t           z  z  } |                      t          ¦  «        t           t          z   t          t           z   z   k    sJ ‚d S rr   )rt   ÚzÚwru   r   rv   s    rP   Útest_rewrite_as_Nandr~   ~   sO   € Ý•‰E•a�1˜"‘fÑ€DØ�<Š<�ÑÔ¥Q­¡U 8µµQ°B±¨iÑ#7Ð!8Ò8Ð8Ð8Ð8Ð8Ð8rO   c                  ó¨   — t           t          t           z  z  } |                      t          ¦  «        t            t          t           z   z   k    sJ ‚d S rr   )r|   rt   r}   ru   r   rv   s    rP   Útest_rewrite_as_Norr€   ƒ   sE   € Ý••Q�B‘‰<€DØ�<Š<�ÑÔ¥1 "­­a¨R© y¡.Ð 1Ò1Ð1Ð1Ð1Ð1Ð1rO   c                  ó"  — t          t          d„ ¦  «         t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚d S )Nc                  ó"   — t          dd¦  «        S ©NTF)r   rN   rO   rP   rW   ztest_Not.<locals>.<lambda>‰   s   € �c $¨Ñ.Ô.€ rO   TFr   rS   rV   )rD   r]   r   r0   r/   rN   rO   rP   Útest_Notr„   ˆ   s�   € Ý
�9Ð.Ð.Ñ/Ô/Ð/Ýˆt‰9Œ9�ÐÐÐÐÝˆu‰:Œ:�ÐÐÐÐÝˆq‰6Œ6•Tˆ>ˆ>ˆ>ˆ>Ýˆq‰6Œ6•Uˆ?ˆ?ˆ?ˆ?Ýˆq‰6Œ6•Uˆ?ˆ?ˆ?ˆ?ˆ?ˆ?rO   c                  óž  — t          ¦   «         t          u sJ ‚t          t          ¦  «        t           k    sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dt          ¦  «        t           k    sJ ‚t          dt          ¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚t          ddt          ¦  «        t           k    sJ ‚t          ddt          ¦  «        t          u sJ ‚d S rƒ   )r   r0   rK   r/   rN   rO   rP   Ú	test_Nandr†   ‘   s:  € Ý‰6Œ6•Uˆ?ˆ?ˆ?ˆ?Ý•‰7Œ7•q�bŠ=ˆ=ˆ=ˆ=Ý�‰:Œ:�ÐÐÐÐÝ�‰;Œ;�$ÐÐÐÐÝ��dÑÔ�uÐ$Ð$Ð$Ð$Ý��eÑÔ¥Ð$Ð$Ð$Ð$Ý��uÑÔ¥Ð%Ð%Ð%Ð%Ý�•a‰=Œ=�Q˜BÒÐÐÐÝ�•q‰>Œ>�TÐ!Ð!Ð!Ð!Ý��d˜DÑ!Ô!¥UÐ*Ð*Ð*Ð*Ý��d�AÑÔ¥1 "Ò$Ð$Ð$Ð$Ý��e�QÑÔ¥4Ð'Ð'Ð'Ð'Ð'Ð'rO   c                  ó˜  — t          ¦   «         t          u sJ ‚t          t          ¦  «        t           k    sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dt          ¦  «        t          u sJ ‚t          dt          ¦  «        t           k    sJ ‚t          ddd¦  «        t          u sJ ‚t          ddt          ¦  «        t          u sJ ‚t          ddt          ¦  «        t          u sJ ‚d S rƒ   )r   r/   rK   r0   rN   rO   rP   Útest_Norrˆ       s6  € Ý‰5Œ5•Dˆ=ˆ=ˆ=ˆ=Ý�q‰6Œ6•a�RŠ<ˆ<ˆ<ˆ<Ýˆt‰9Œ9�ÐÐÐÐÝˆu‰:Œ:�ÐÐÐÐÝˆt�T‰?Œ?�eÐ#Ð#Ð#Ð#Ýˆt�UÑÔ�uÐ$Ð$Ð$Ð$Ýˆu�eÑÔ¥Ð$Ð$Ð$Ð$Ýˆt•Q‰<Œ<�5Ð Ð Ð Ð Ýˆu•a‰=Œ=�Q˜BÒÐÐÐÝˆt�T˜4Ñ Ô ¥EÐ)Ð)Ð)Ð)Ýˆt�T�1ÑÔ¥Ð&Ð&Ð&Ð&Ýˆt�U�AÑÔ¥%Ð'Ð'Ð'Ð'Ð'Ð'rO   c                  ó¤  — t          ¦   «         t          u sJ ‚t          t          ¦  «        t           k    sJ ‚t          t          t          ¦  «        t          u sJ ‚t          dt          t          ¦  «        t          u sJ ‚t          t          t          t          t          t          ¦  «        t           k    sJ ‚t          d¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dt          ¦  «        t          k    sJ ‚t          dt          ¦  «        t           k    sJ ‚t          ddd¦  «        t          u sJ ‚t          ddt          ¦  «        t          k    sJ ‚t          ddt          ¦  «        t           k    sJ ‚d S rƒ   )r    r/   rK   r0   rN   rO   rP   Ú	test_XnorrŠ   ¯   s“  € Ý‰6Œ6•Tˆ>ˆ>ˆ>ˆ>Ý•‰7Œ7•q�bŠ=ˆ=ˆ=ˆ=Ý••1‰:Œ:�ÐÐÐÐÝ�•a�ÑÔ�uÐ$Ð$Ð$Ð$Ý••1•a��AÑÔ¥1 "Ò$Ð$Ð$Ð$Ý�‰:Œ:�ÐÐÐÐÝ�‰;Œ;�$ÐÐÐÐÝ��dÑÔ�tÐ#Ð#Ð#Ð#Ý��eÑÔ¥Ð%Ð%Ð%Ð%Ý��uÑÔ¥Ð%Ð%Ð%Ð%Ý�•a‰=Œ=�AÒÐÐÐÝ�•q‰>Œ>�a˜RÒÐÐÐÝ��e˜UÑ#Ô#¥uÐ,Ð,Ð,Ð,Ý��e�QÑÔ¥1Ò$Ð$Ð$Ð$Ý��u�aÑ Ô ¥Q BÒ&Ð&Ð&Ð&Ð&Ð&rO   c                  ó®  — t          t          d„ ¦  «         t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dt
          ¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t          dd¦  «        t          u sJ ‚t
          t          z	  t          t
          z  k    sJ ‚t
          dk     t
          dk    z	  t
          dk    k    sJ ‚t
          dk     t          j        t
          k    z	  t          u sJ ‚t
          t
          z	  t          u sJ ‚d S )Nc                  óB   — t          t          t          t          ¦  «        S rr   )r   rK   rL   rM   rN   rO   rP   rW   ztest_Implies.<locals>.<lambda>Â   s   € �w¥q­!­QÑ/Ô/€ rO   TFr   rS   )	rD   Ú
ValueErrorr   r/   r0   rK   rL   r	   ÚOnerN   rO   rP   Útest_Impliesr�   Á   s=  € Ý
�:Ð/Ð/Ñ0Ô0Ð0Ý�4˜ÑÔ¥$Ð&Ð&Ð&Ð&Ý�4˜ÑÔ¥5Ð(Ð(Ð(Ð(Ý�5˜$ÑÔ¥4Ð'Ð'Ð'Ð'Ý�5˜%Ñ Ô ¥DÐ(Ð(Ð(Ð(Ý�1•a‰=Œ=�DÐ Ð Ð Ð Ý�1�a‰=Œ=�DÐ Ð Ð Ð Ý�1�a‰=Œ=�EÐ!Ð!Ð!Ð!Ý•‰6•Q�!‘VÒÐÐÐÝ�ŠE•q˜A’vÑ¥1¨¢6Ò*Ð*Ð*Ð*Ý�ŠE•q”u�q’yÑ!¥TÐ)Ð)Ð)Ð)Ý•‰6•Tˆ>ˆ>ˆ>ˆ>ˆ>ˆ>rO   c                  ó   — t          t          t          ¦  «        t          t          t          ¦  «        cxk    r$t          t          t          t          ¦  «        k    sn J ‚t          ¦   «         t          u sJ ‚t          t          t          ¦  «        t          t          ¦  «        cxk    r	t          u sn J ‚t          dd¦  «        t          dd¦  «        cxk    r	t          u sn J ‚t          dd¦  «        t          dd¦  «        cxk    r	t          u sn J ‚t          t          d¦  «        t          k    sJ ‚t          t          d¦  «        t          t          ¦  «        k    sJ ‚t          t          t          d¦  «        t          t          z  k    sJ ‚t          t          t          d¦  «        t           t           z  k    sJ ‚t          dt          ¦  «        t          k    sJ ‚t          dt          ¦  «        t          t          ¦  «        k    sJ ‚t          t          t          t          t          ¦  «        ¦  «        t          t          t          t          ¦  «        t          ¦  «        k    sJ ‚t          t          dk     t          dk    ¦  «        t          u sJ ‚t          t          dk     t          dk    d¦  «        t          u sJ ‚t          t          dk     t          dk    d¦  «        t          u sJ ‚t          t          dk     t          j        t          k    ¦  «        t          dd¦  «        cxk    rt          dd¦  «        k    sn J ‚t          t          t          t          ¦  «        t          t          t          ¦  «        ¦  «        t          u sJ ‚d S rm   )
r   rK   rL   r/   r0   r   rM   r	   rŽ   r   rN   rO   rP   Útest_Equivalentr‘   Ð   så  € Ý•a�ÑÔ�z­!­QÑ/Ô/ÐFÐFÒFÐFµ:½aÅÅAÑ3FÔ3FÒFÐFÐFÐFÐFÐFÝ‰<Œ<�4ÐÐÐÐÝ•a�ÑÔ�z­!™}œ}Ð4Ð4Ò4Ð4µÐ4Ð4Ð4Ð4Ð4Ð4Ý�d˜DÑ!Ô!¥Z°°uÑ%=Ô%=ÐEÐEÒEÐEÅÐEÐEÐEÐEÐEÐEÝ�d˜EÑ"Ô"¥j°¸Ñ&=Ô&=ÐFÐFÒFÐFÅÐFÐFÐFÐFÐFÐFÝ•a˜ÑÔ¥!Ò#Ð#Ð#Ð#Ý•a˜ÑÔ¥3¥q¡6¤6Ò)Ð)Ð)Ð)Ý•a�˜DÑ!Ô!¥Q­¡UÒ*Ð*Ð*Ð*Ý•a�˜EÑ"Ô"¥q b­A¨2¡gÒ-Ð-Ð-Ð-Ý�a�ÑÔ�qÒ Ð Ð Ð Ý�a�ÑÔ�s¥1™vœvÒ%Ð%Ð%Ð%Ý•a�¥A¥qÑ)Ô)Ñ*Ô*­j½ÅAÅqÑ9IÔ9IÍ1Ñ.MÔ.MÒMÐMÐMÐMÝ•a˜!’e�Q !šVÑ$Ô$­Ð-Ð-Ð-Ð-Ý•a˜!’e�Q !šV QÑ'Ô'­5Ð0Ð0Ð0Ð0Ý•a˜!’e�Q !šV QÑ'Ô'­5Ð0Ð0Ð0Ð0Ý•a˜!’e�QœU¥QšYÑ'Ô'­:°a¸Ñ+;Ô+;ÐOÐOÒOÐO½zÈ!ÈQÑ?OÔ?OÒOÐOÐOÐOÐOÐOÝ•h�q¥!‘n”n¥h­qµ!¡n¤nÑ5Ô5½Ð=Ð=Ð=Ð=Ð=Ð=rO   c                  óÖ   — t          ddd¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚d S )NFT)rA   r/   r0   rN   rO   rP   Útest_Exclusiver“   ä   s|   € Ý�U˜E 5Ñ)Ô)­TÐ1Ð1Ð1Ð1Ý�T˜5 %Ñ(Ô(­DÐ0Ð0Ð0Ð0Ý�T˜4 Ñ'Ô'­5Ð0Ð0Ð0Ð0Ý�T˜4 Ñ&Ô&­%Ð/Ð/Ð/Ð/Ð/Ð/rO   c                  óL  — t          t          t          t          ¦  «        ¦  «                             t          t          t          ¦  «        t          t          ¦  «        ¦  «        ¦  «        du sJ ‚t          t          t          ¦  «                             t          t          z	  t          t          z	  z  ¦  «        du sJ ‚t          t           z  t           t          z  z                       t           t           z  t          t          z  z  ¦  «        du sJ ‚t          t          z	                       t           t           z	  ¦  «        du sJ ‚t          t          t          z	  z	                       t          t          t          z	  z	  ¦  «        du sJ ‚t          t          d„ ¦  «         d S )NTFc                  ób   — t           t          z                       t           t          k    ¦  «        S rr   )rK   rL   ÚequalsrN   rO   rP   rW   ztest_equals.<locals>.<lambda>ñ   s   € ­­Q©¯ªµq½1²uÑ(=Ô(=€ rO   )
r   r   rK   rL   r–   r   r   rM   rD   ÚNotImplementedErrorrN   rO   rP   Útest_equalsr˜   ë   s/  € Ý�r•!•Q‰xŒx‰=Œ=×Ò¥¥C­¡F¤F­Cµ©F¬FÑ 3Ô 3Ñ4Ô4¸Ð<Ð<Ð<Ð<Ý•a�ÑÔ×"Ò"¥A­¡F­qµA©vÑ#6Ñ7Ô7¸4Ð?Ð?Ð?Ð?Ý•!�‰V�˜�Q™Ñ×'Ò'­!¨­q¨b©µQ½±UÑ(;Ñ<Ô<ÀÐDÐDÐDÐDÝ•‰F�?Š?�A˜2¥! ™8Ñ$Ô$¨Ð-Ð-Ð-Ð-Ý•!•q‘&‰M×!Ò!¥!­­Q©¡-Ñ0Ô0°EÐ9Ð9Ð9Ð9Ý
ÕÐ =Ð =Ñ>Ô>Ð>Ð>Ð>rO   c                  óF%  ‡— g d¢g d¢g d¢g d¢g} g d¢g d¢g d¢g d¢g}t          t          t          t          g| ¦  «        t	          t          t          t          ¦  «        t          ¦  «        t          t          t          ¦  «        t          ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          g|¦  «        ¦  «        t          t	          t          t          t          ¦  «        t          t          ¦  «        ¦  «        t          t          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t          t          g| |z   ¦  «        t          u sJ ‚t          t          t          t          g| |z   ¦  «        t          u sJ ‚t          t          ¦   «         t          ¦   «         t          ¦   «         g| |z   ¦  «        t          u sJ ‚g d	¢g d
¢g d¢g d¢g d¢gŠg d¢g d¢g d¢g}t          t          t          t          t          g‰|¦  «        t	          t          t          t          ¦  «        t          t          t          ¦  «        t          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          g‰|¦  «        t          t	          t          t          ¦  «        t          ¦  «        t          ¦  «        k    sJ ‚g d¢Šg d¢}t          t          t          t          t          g‰|¦  «        t	          t          t          t          ¦  «        t          t          t          ¦  «        t          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          g‰|¦  «        t          t	          t          t          ¦  «        t          ¦  «        t          ¦  «        k    sJ ‚dg d
¢dg d¢g d¢gŠdg d¢dg}t          t          t          t          t          g‰|¦  «        t	          t          t          t          ¦  «        t          t          t          ¦  «        t          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          g‰|¦  «        t          t	          t          t          ¦  «        t          ¦  «        t          ¦  «        k    sJ ‚dt          dt          digŠdg d¢dg}t          t          t          t          t          g‰|¦  «        t	          t          t          t          ¦  «        t          t          t          ¦  «        t          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          g‰|¦  «        t          t	          t          t          ¦  «        t          ¦  «        t          ¦  «        k    sJ ‚t          dt          didgŠg d¢g}g d¢gŠt          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          d„ ¦  «         t          t          t	          t          t           ¦  «        ¦  «        }t#          t          t          t           z  z  ¦  «        |k    sJ ‚t#          t          t          z  t          t           z  z  ¦  «        |k    sJ ‚t#          t%          t          t          ¦  «        ¦  «        t	          t          t          ¦  «        t          ¦  «        k    sJ ‚t#          t'          t          t          ¦  «        ¦  «        t	          t          t          t          ¦  «        t          t          t          ¦  «        t          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t#          t          t)          t          d¦  «        t           ¦  «        ¦  «        t          t)          t          d¦  «        t           ¦  «        k    sJ ‚t#          t          t)          t          d¦  «        t          ¦  «        ¦  «        t          t)          t          d¦  «        t          ¦  «        k    sJ ‚t#          t          t)          t          t          ¦  «        t           ¦  «        ¦  «        t          t)          t          t          ¦  «        t           ¦  «        k    sJ ‚t#          t	          t          t)          t          d¦  «        t          ¦  «        t          t)          t          d¦  «        t           ¦  «        ¦  «        ¦  «        t          t)          t          d¦  «        t	          t          t           ¦  «        ¦  «        k    sJ ‚t           t           z  t           z  t           t           z  t          z  z  }t          t          |¦  «        }t#          |¦  «        t          t           z  t           z  k    sJ ‚t          t          d„ ¦  «         t+          t	          t          t          k    t          t          t          k     t          ¦  «        ¦  «        ¦  «        t          t          k    k    sJ ‚t+          t	          t          t          k    t          t          t          k    t          ¦  «        ¦  «        ¦  «        t          t          k    k    sJ ‚t+          t	          t          t          k    t          t          t          k     t          ¦  «        ¦  «        ¦  «        t          t          k    k    sJ ‚t-          d¦  «        \	  }}}}}}	}
}}||z  |z  |z  |z  |	z  |
z  |z  |z  ||z  |z  |z  |z  |	z  |
z  |z  | z  z  }t#          |¦  «        |k    sJ ‚t#          ||z  |z  |z  ||z  ¬¦  «        ||z  k    sJ ‚t          t          t          gddgg¦  «        }t          t          t          gddgg¦  «        |k    sJ ‚t          t          t          gddgg¦  «        |k    sJ ‚t          t          d„ ¦  «         t          t          gdggdgg¦  «        t          u sJ ‚t          t          gdggdgg¦  «        t          u sJ ‚t          t          gg g ¦  «        t.          u sJ ‚t          t          d „ ¦  «         t          t          gdggdgg¦  «        t          u sJ ‚t          t          gdggdgg¦  «        t          u sJ ‚t          t          gg g ¦  «        t.          u sJ ‚t+          t          t          z  t          t           z  z  ¦  «        t          t          t	          t          t           ¦  «        ¦  «        k    sJ ‚t+          t          t          t          t          ¦  «        ¦  «        ¦  «        d!k    sJ ‚t+          t	          t          t          t          ¦  «        ¦  «        ¦  «        d"k    sJ ‚t+          t          t1          t          d¦  «        t1          t          t          ¦  «        ¦  «        ¦  «        t          t1          t          d¦  «        t1          t          d¦  «        ¦  «        k    sJ ‚t          t1          t          dz
  d¦  «        t1          t          t          ¦  «        ¦  «                             ¦   «         t          t1          t          d¦  «        t1          t          d¦  «        ¦  «        k    sJ ‚t          t3          t          dz
  d¦  «        t3          t          t          ¦  «        ¦  «                             ¦   «         t          t3          t          d¦  «        t3          t          t          ¦  «        ¦  «        k    sJ ‚t          t1          t          dz
  d¦  «        t3          t          t          ¦  «        ¦  «                             ¦   «         t          t1          t          d¦  «        t3          t          d¦  «        ¦  «        k    sJ ‚t          t1          t          dz
  d¦  «        t1          t          t          t          z   ¦  «        t1          t          t          z   d¦  «        ¦  «                             ¦   «         t          t1          t          d¦  «        t1          t          d#¦  «        t1          t          d¦  «        ¦  «        k    sJ ‚t          t1          t          dz
  d¦  «        t1          t          dz   d¦  «        ¦  «                             ¦   «         t1          t          d¦  «        k    sJ ‚t          t3          t          dz
  d¦  «        t3          t          dz   d¦  «        ¦  «                             ¦   «         t3          t          d¦  «        k    sJ ‚t          t1          t          dz
  d¦  «        t1          t          dz   d¦  «        ¦  «                             ¦   «         d!k    sJ ‚t          t3          t          dz
  d¦  «        t3          t          dz   d¦  «        ¦  «                             ¦   «         t          t3          t          d¦  «        t3          t          d¦  «        ¦  «        k    sJ ‚t+          t5          t          t           ¦  «        ¦  «        d"k    sJ ‚d$S )%z1
    Test working of simplification methods.
    ©r   r   rS   ©r   rS   rS   ©rS   r   r   )rS   rS   r   )r   r   r   ©r   rS   r   ©rS   r   rS   ©rS   rS   rS   ©r   r   r   rS   ©r   r   rS   rS   ©r   rS   rS   rS   ©rS   r   rS   rS   ©rS   rS   rS   rS   )r   r   r   r   )r   r   rS   r   ©r   rS   r   rS   )rS   é   é   é   é   )r   rV   é   rS   r§   r   rª   c                  óT   •— t          t          t          t          t          g‰ ¦  «        S rr   )r   r}   rs   rt   r|   ©Úmintermss   €rP   rW   z-test_simplification_boolalg.<locals>.<lambda>#  ó   ø€ �w­­1­aµ |°XÑ>Ô>€ rO   c                  óT   •— t          t          t          t          t          g‰ ¦  «        S rr   ©r   r}   rs   rt   r|   r¬   s   €rP   rW   z-test_simplification_boolalg.<locals>.<lambda>$  r®   rO   c                  óT   — t          t          t          t          t          gdg¦  «        S )NÚabcdefgr°   rN   rO   rP   rW   z-test_simplification_boolalg.<locals>.<lambda>&  s   € �g¥q­!­Qµ l°Y°KÑ@Ô@€ rO   rV   r¦   c                  óN   — t          t          t          t          z  z  d¬¦  «        S )NÚblabla)Úform)r)   rK   rL   rM   rN   rO   rP   rW   z-test_simplification_boolalg.<locals>.<lambda>7  s   € �~­aµ1µq±5©kÀÐIÑIÔI€ rO   za b c d e f g h j)Údontcarec                  ó8   — t          t          gdggdgg¦  «        S ©NrS   )r   rs   rN   rO   rP   rW   z-test_simplification_boolalg.<locals>.<lambda>L  ó   € �w­ s¨a¨S¨E°Q°C°5Ñ9Ô9€ rO   c                  ó8   — t          t          gdggdgg¦  «        S r¸   )r   rs   rN   rO   rP   rW   z-test_simplification_boolalg.<locals>.<lambda>Q  r¹   rO   FTéÿÿÿÿN)r   rs   rt   r|   r   r   r   r   r/   r
   r}   rD   r�   r]   rK   rL   rM   r)   r   r   r   r   r   r0   r   r   r   )Úset1Úset2Ú	dontcaresÚansr`   rc   r_   ra   ÚdÚfrd   ÚhÚjrw   r­   s                 @rP   Útest_simplification_boolalgrÄ   ô   s¹  ø€ ð ˆIˆI�y�y�y ) ) )¨Y¨Y¨YÐ7€DØˆIˆI�y�y�y ) ) )¨Y¨Y¨YÐ7€DÝ•A•q�!�9˜dÑ#Ô#¥r­#­cµ!©f¬fµa©.¬.½#½cÅ!¹f¼fÅa¹.¼.Ñ'IÔ'IÒIÐIÐIÐIÝ�w��1�a�y $Ñ'Ô'Ñ(Ô(Ý�r•#•c�!‘f”f�c¥!™fœfÑ%Ô%¥s­1­a¡y¤yÑ1Ô1Ñ2Ô2ò3ð 3ð 3ð 3å•A•q�!�9˜d T™kÑ*Ô*­dÐ2Ð2Ð2Ð2Ý•A•q�!�9˜d T™kÑ*Ô*­dÐ2Ð2Ð2Ð2Ý•E‘G”G�U™WœW¥e¡g¤gÐ.°°t±Ñ<Ô<ÅÐDÐDÐDÐDà��˜l˜l˜l¨L¨L¨L¸,¸,¸,Ø��ð€Hà��˜|˜|˜|¨\¨\¨\Ð:€Iå••A•q�!�˜h¨	Ñ2Ô2Ý
�3�q•!‰9Œ9•c�#�a™&œ&¥#¥a¡&¤&Ñ)Ô)Ñ*Ô*ò	+ð 	+ð 	+ð 	+å•A•q�!�Q�< ¨9Ñ5Ô5½½RÅÅAÁÄÍ¹]¼]ÍAÑ9NÔ9NÒNÐNÐNÐNà Ð Ð €HØ�	�	€Iå••A•q�!�˜h¨	Ñ2Ô2Ý
�3�q•!‰9Œ9•c�#�a™&œ&¥#¥a¡&¤&Ñ)Ô)Ñ*Ô*ò	+ð 	+ð 	+ð 	+å•A•q�!�Q�< ¨9Ñ5Ô5½½RÅÅAÁÄÍ¹]¼]ÍAÑ9NÔ9NÒNÐNÐNÐNà�<�<�<  L L LØ��ð€Hà�L�L�L !Ð$€Iå••A•q�!�˜h¨	Ñ2Ô2Ý
�3�q•!‰9Œ9•c�#�a™&œ&¥#¥a¡&¤&Ñ)Ô)Ñ*Ô*ò	+ð 	+ð 	+ð 	+å•A•q�!�Q�< ¨9Ñ5Ô5½½RÅÅAÁÄÍ¹]¼]ÍAÑ9NÔ9NÒNÐNÐNÐNà•A�q�!˜Q�<Ð €HØ�L�L�L !Ð$€Iå••A•q�!�˜h¨	Ñ2Ô2Ý
�3�q•!‰9Œ9•c�#�a™&œ&¥#¥a¡&¤&Ñ)Ô)Ñ*Ô*ò	+ð 	+ð 	+ð 	+å•A•q�!�Q�< ¨9Ñ5Ô5½½RÅÅAÁÄÍ¹]¼]ÍAÑ9NÔ9NÒNÐNÐNÐNå�A•q˜!�˜aÐ €HØ���€Ià�	�	ˆ{€HÝ
�:Ð>Ð>Ð>Ð>Ñ?Ô?Ð?Ý
�:Ð>Ð>Ð>Ð>Ñ?Ô?Ð?å
�9Ð@Ð@ÑAÔAÐAõ �a••A•q‘”Ñ
Ô
€CÝ�!�q¥1™u™+Ñ&Ô&¨#Ò-Ð-Ð-Ð-Ý�1�q™5¥Q­¡UÑ+Ñ,Ô,°Ò3Ð3Ð3Ð3Ý�'¥!¥Q™-œ-Ñ(Ô(­B­sµ1©v¬vµq©M¬MÒ9Ð9Ð9Ð9Ý�*¥Q­Ñ*Ô*Ñ+Ô+Ý�c•!•Q‰iŒi��S¥™VœV¥S­¡V¤VÑ,Ô,Ñ-Ô-ò.ð .ð .ð .å�#�h¥q¨!™nœn­aÑ0Ô0Ñ1Ô1µS½Å!ÀQ¹¼ÍÑ5KÔ5KÒKÐKÐKÐKÝ�#�h¥q¨!™nœn­aÑ0Ô0Ñ1Ô1µS½Å!ÀQ¹¼ÍÑ5KÔ5KÒKÐKÐKÐKÝ�#�h¥q­!™nœn­aÑ0Ô0Ñ1Ô1µS½Å!ÅQ¹¼ÍÑ5KÔ5KÒKÐKÐKÐKÝ�"�S¥­!¨Q¡¤µÑ3Ô3µS½Å!ÀQ¹¼ÍÑ5KÔ5KÑLÔLÑMÔMÝ•(�1˜a‘.”.¥"¥Q­¡(¤(Ñ+Ô+ò,ð ,ð ,ð ,å
ˆ�qˆb‰•A�2‰�1˜"¥˜r™'¥A™+Ñ&€AÝ�Aˆq‰	Œ	€AÝ˜!ÑÔ¥¥Q B¡­!¨¡Ò+Ð+Ð+Ð+Ý
�:ÐIÐIÑJÔJÐJÝ•B•q�A’v�s¥1¥q¢5­!™}œ}Ñ-Ô-Ñ.Ô.µ1½²6Ò:Ð:Ð:Ð:Ý•B•q�A’v�s¥1¥q¢5­!™}œ}Ñ-Ô-Ñ.Ô.µ1½²6Ò:Ð:Ð:Ð:Ý•B•q�A’v�s¥1¥q¢5­!™}œ}Ñ-Ô-Ñ.Ô.µ1½²6Ò:Ð:Ð:Ð:õ !(Ð(;Ñ <Ô <Ñ€A€qˆ!ˆQ��1�a˜˜AØˆq‰5�1‰9�q‰=˜1Ñ˜qÑ  1Ñ$ qÑ(¨1Ñ,Øˆq‰5�1‰9�q‰=˜1Ñ˜qÑ  1Ñ$ qÑ(¨A¨2Ñ-ñ.€Dõ ˜$ÑÔ 4Ò'Ð'Ð'Ð'õ ˜1˜q™5 A™+¨™/°Q¸±UÐ<Ñ<Ô<ÀÀAÁÒEÐEÐEÐEõ •1•a�&˜A˜q˜6˜(Ñ
#Ô
#€CÝ•A•q�6˜Q ˜F˜8Ñ$Ô$¨Ò+Ð+Ð+Ð+Ý•A•q�6˜Q ˜F˜8Ñ$Ô$¨Ò+Ð+Ð+Ð+å
�:Ð9Ð9Ñ:Ô:Ð:Ý•A�3˜!˜˜  ˜uÑ%Ô%­Ð-Ð-Ð-Ð-Ý•A�3˜!˜˜  ˜uÑ%Ô%­Ð-Ð-Ð-Ð-Ý•A�3˜˜BÑÔ¥5Ð(Ð(Ð(Ð(å
�:Ð9Ð9Ñ:Ô:Ð:Ý•A�3˜!˜˜  ˜uÑ%Ô%­Ð-Ð-Ð-Ð-Ý•A�3˜!˜˜  ˜uÑ%Ô%­Ð-Ð-Ð-Ð-Ý•A�3˜˜BÑÔ¥5Ð(Ð(Ð(Ð(õ •Q�‘U�q¥1™uÑ%Ñ&Ô&­#­aµµAµq±´Ñ*:Ô*:Ò:Ð:Ð:Ð:Ý•C��3�q™6œ6‘N”NÑ#Ô# uÒ,Ð,Ð,Ð,Ý•B•q�#�a™&œ&‘M”MÑ"Ô" dÒ*Ð*Ð*Ð*Ý•C��1˜a™œ¥"¥Q­¡(¤(Ñ+Ô+Ñ,Ô,µµBµq¸!±H´H½bÅÀA¹h¼hÑ0GÔ0GÒGÐGÐGÐGÝ�r•!�a‘%˜‰|Œ|�R¥¥1™XœXÑ&Ô&×/Ò/Ñ1Ô1µS½½A¸q¹¼Å2ÅaÈÁ8Ä8Ñ5LÔ5LÒLÐLÐLÐLÝ�r•!�a‘%˜‰|Œ|�R¥¥1™XœXÑ&Ô&×/Ò/Ñ1Ô1µS½½A¸q¹¼Å2ÅaÍÁ8Ä8Ñ5LÔ5LÒLÐLÐLÐLÝ�r•!�a‘%˜‰|Œ|�R¥¥1™XœXÑ&Ô&×/Ò/Ñ1Ô1µS½½A¸q¹¼Å2ÅaÈÁ8Ä8Ñ5LÔ5LÒLÐLÐLÐLÝ�r•!�a‘%˜‰|Œ|�R¥¥1¥q¡5™\œ\­2­aµ!©e°Q©<¬<Ñ8Ô8×AÒAñ ô Ý	�R•�1‰XŒX•r�!˜R‘y”y¥"¥Q¨¡(¤(Ñ	+Ô	+ò,ð ,ð ,ð ,å�r•!�a‘%˜‰|Œ|�R¥ A¡ q™\œ\Ñ*Ô*×3Ò3Ñ5Ô5½½A¸q¹¼ÒAÐAÐAÐAÝ�r•!�a‘%˜‰|Œ|�R¥ A¡ q™\œ\Ñ*Ô*×3Ò3Ñ5Ô5½½A¸q¹¼ÒAÐAÐAÐAÝ�r•!�a‘%˜‰|Œ|�R¥ A¡ q™\œ\Ñ*Ô*×3Ò3Ñ5Ô5¸Ò>Ð>Ð>Ð>Ý�r•!�a‘%˜‰|Œ|�R¥ A¡ q™\œ\Ñ*Ô*×3Ò3ñ ô Ý	�R•�1‰XŒX•r�!˜Q‘x”xÑ	 Ô	 ò!ð !ð !ð !å•C��A˜2‘J”JÑÔ 4Ò'Ð'Ð'Ð'Ð'Ð'rO   c            
      ód  — g d¢g d¢g d¢g d¢g d¢g} t          t          t          t          ¦  «        ¦  «        t          ¦  «        t          t          t          ifk    sJ ‚t          t          t          t
          t          t          g| ¦  «        t          t          t
          t          t          g| ¦  «        ¦  «        t          t          t          t          ¦  «        t          ¦  «        t          t          t
          ¦  «        t          ¦  «        t          ¦  «        t
          t
          t          t          t          t          t          t          ifk    sJ ‚t          t          t
          t          t          gg d¢g¦  «        t          t          t          t          gg d¢g¦  «        ¦  «        dk    sJ ‚t          t
          t          t          gg d¢g d¢g¦  «        }t          t          t          t          gg d¢g d	¢g¦  «        }t          ||¦  «        |t          t          t          t          ifk    sJ ‚t          t          t
          t          ¦  «        t          t
          t          ¦  «         ¦  «        dk    sJ ‚t          t          t
          t          ¦  «        t          t
          t          ¦  «        ¦  «        �J ‚t          t          t
          t          ¦  «        t          t
          t          t          ¦  «        ¦  «        �J ‚t          t          t
          t          t          ¦  «        t          t
          t          t          ¦  «         ¦  «        dk    sJ ‚t          t          t          t
          t          t          ¦  «        t          t          t
          t          t          ¦  «         ¦  «        dk    sJ ‚d
S )z,
    Test working of bool_map function.
    r    r¡   r¢   r£   r¤   rž   Frš   rœ   N)r.   r   r_   r   r}   rs   rt   r|   r   r   r   r`   ra   r   )r­   Ú	function1Ú	function2s      rP   Útest_bool_maprÈ   h  s�  € ð
 ��˜l˜l˜l¨L¨L¨L¸,¸,¸,Ø��ð€Hå•C��A™œ‘K”K¥Ñ#Ô#­­A­q¨6 {Ò2Ð2Ð2Ð2Ý•G�Q¥¥1¥a˜L¨(Ñ3Ô3Ý�Q¥¥1¥a˜L¨(Ñ3Ô3ñ5ô 5å••3•q‘6”6�1‘”�r¥#¥a¡&¤&­!™}œ}­aÑ0Ô0µ1µa½½A½qÅ!ÅQÍÐ2JÐKòLð Lð Lð Lõ •G�Q¥¥1˜I¨	¨	¨	 {Ñ3Ô3Ý�Q¥¥1˜I¨	¨	¨	 {Ñ3Ô3ñ5ô 5Ø8=ò>ð >ð >ð >å��A�q˜	 I I I¨y¨y¨yÐ#9Ñ:Ô:€IÝ��A�q˜	 I I I¨y¨y¨yÐ#9Ñ:Ô:€IÝ�I˜yÑ)Ô)Ø��1�a¥�|Ð$ò%ð %ð %ð %å•C��1‘I”I¥¥A¥q¡	¤	˜zÑ*Ô*¨eÒ3Ð3Ð3Ð3Ý•C��1‘I”I�r¥!¥Q™xœxÑ(Ô(Ð0Ð0Ð0Ý•C��1‘I”I�s¥1¥a­™|œ|Ñ,Ô,Ð4Ð4Ð4å•C��1�a‘L”L¥3¥q­!­Q¡<¤< -Ñ0Ô0°EÒ9Ð9Ð9Ð9Ý•C��1�a¥‘O”O¥c­!­Qµµ1¡o¤oÐ%5Ñ6Ô6¸%Ò?Ð?Ð?Ð?Ð?Ð?rO   c                  ó~  — t          t          d¦  «        t          k    sJ ‚t          t          dd¦  «        t          k    sJ ‚t          t          d¦  «        t          u sJ ‚t          t          dd¦  «        t          u sJ ‚t          t          d¦  «        t          u sJ ‚t          t          d¦  «        t          k    sJ ‚dS )zBTest that mixing symbols with boolean values
    works as expectedTFN)r   rK   r0   r   r/   rN   rO   rP   Útest_bool_symbolrÊ   �  s¨   € õ �q�$‰<Œ<�1ÒÐÐÐÝ�q�$˜ÑÔ¥Ò"Ð"Ð"Ð"Ý�q�%‰=Œ=�EÐ!Ð!Ð!Ð!Ý�q�$˜ÑÔ¥%Ð'Ð'Ð'Ð'Ý�a�‰;Œ;�$ÐÐÐÐÝ�a�‰<Œ<�1ÒÐÐÐÐÐrO   c                  óR  — t          dt          ¦  «        du sJ ‚t          t          t          ¦  «        du sJ ‚ddk    sJ ‚dt          k    sJ ‚dt          k    du sJ ‚ddk    sJ ‚dt          k    sJ ‚dt          k    du sJ ‚t          j        du sJ ‚t
          t          z  j        sJ ‚t
          t          z  j        sJ ‚t
           j        sJ ‚t
          t          z  j        sJ ‚t
          j        t          t
          t          ¦  «        k    sJ ‚t          t
          t          ¦  «        sJ ‚d S rm   )rn   r   r/   r0   Ú
is_BooleanrK   rL   rN   rO   rP   Útest_is_booleanrÍ   �  s*  € Ý�d�GÑ$Ô$¨Ð-Ð-Ð-Ð-Ý•d�GÑ$Ô$¨Ð,Ð,Ð,Ð,Ø�Š9ˆ9ˆ9ˆ9Ø•Š9ˆ9ˆ9ˆ9Ø•ŠI˜%ÐÐÐÐØ�Š:ˆ:ˆ:ˆ:Ø•Š:ˆ:ˆ:ˆ:Ø•ŠJ˜5Ð Ð Ð Ð ÝŒ?˜dÐ"Ð"Ð"Ð"Ý•‰EÔÐÐÐÝ•‰EÔÐÐÐÝˆBŒ?ÐÐˆ?Ý•‰EÔÐÐÐÝŒ<�:¥a­Ñ1Ô1Ò1Ð1Ð1Ð1Ý•a�Ñ!Ô!Ð!Ð!Ð!Ð!Ð!rO   c                  ó
  — t           t          z                       t           d¦  «        t          k    sJ ‚t           t          z                       t           d¦  «        t          u sJ ‚t           t          z                       t          d¦  «        t           k    sJ ‚t           t          z                       t          d¦  «        t          u sJ ‚t           t          z                       t           dt          di¦  «        t          u sJ ‚t           t          z                       t           d¦  «        t          u sJ ‚t           t          z                       t           d¦  «        t          k    sJ ‚t           t          z                       t          d¦  «        t          u sJ ‚t           t          z                       t          d¦  «        t           k    sJ ‚t           t          z                       t           dt          di¦  «        t          u sJ ‚d S rƒ   )rK   rL   Úsubsr0   r/   rN   rO   rP   Ú	test_subsrÐ   Ÿ  st  € Ý•‰E�<Š<�˜4Ñ Ô ¥AÒ%Ð%Ð%Ð%Ý•‰E�<Š<�˜5Ñ!Ô!¥UÐ*Ð*Ð*Ð*Ý•‰E�<Š<�˜4Ñ Ô ¥AÒ%Ð%Ð%Ð%Ý•‰E�<Š<�˜5Ñ!Ô!¥UÐ*Ð*Ð*Ð*Ý•‰E�<Š<�˜D¥! TÐ*Ñ+Ô+­tÐ3Ð3Ð3Ð3Ý•‰E�<Š<�˜4Ñ Ô ¥DÐ(Ð(Ð(Ð(Ý•‰E�<Š<�˜5Ñ!Ô!¥QÒ&Ð&Ð&Ð&Ý•‰E�<Š<�˜4Ñ Ô ¥DÐ(Ð(Ð(Ð(Ý•‰E�<Š<�˜5Ñ!Ô!¥QÒ&Ð&Ð&Ð&Ý•‰E�<Š<�˜D¥! TÐ*Ñ+Ô+­tÐ3Ð3Ð3Ð3Ð3Ð3rO   c                  óˆ   — t          t          t          d¦  «        ¦  «        \  } }| |z  || z  k    sJ ‚| |z  || z  k    sJ ‚dS )z$Test for commutativity of And and OrzA,BN)Úmapr   r   )rK   rL   s     rP   Útest_commutativerÓ   ²  sI   € å�w� ™œÑ'Ô'�D€A€qàˆq‰5�A˜‘EŠ>ˆ>ˆ>ˆ>Øˆq‰5�A˜‘EŠ>ˆ>ˆ>ˆ>ˆ>ˆ>rO   c                  ój   — t           t          z  t          z  t           t          t          z  z  k    sJ ‚dS )zTest for associativity of AndN©rK   rL   rM   rN   rO   rP   Útest_and_associativityrÖ   º  s+   € õ •‰E•Q‰;�!�q¥1™u™+Ò%Ð%Ð%Ð%Ð%Ð%rO   c                  ój   — t           t          z  t          z  t           t          t          z  z  k    sJ ‚d S rr   rÕ   rN   rO   rP   Útest_or_assicativityrØ   À  s)   € Ý•‰U•a‰K�Q¥!¥a¡%™[Ò)Ð)Ð)Ð)Ð)Ð)rO   c                  ó6   — t          ¦   «         } |   | k    sJ ‚d S rr   )r   )r_   s    rP   Útest_double_negationrÚ   Ä  s    € Ý‰	Œ	€AØˆRˆ5�AŠ:ˆ:ˆ:ˆ:ˆ:ˆ:rO   c            	      ó†  — t          t          t          t          d¬¦  «        ¦  «        t           t          z  k    sJ ‚t          t          t          t          t          ¦  «        z	  z	  ¦  «        t          t          t          t          ¦  «        t          t          ¦  «        ¦  «        t          t          ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          t          ¦  «        ¦  «        t           t          z  t           t          z  z  t           t          z  z  t           t          z  z  k    sJ ‚d S )NF©Úevaluate)	r%   r   rK   rL   rM   r   r   r   ro   rN   rO   rP   Útest_eliminate_implicationsrÞ   Ë  sí   € Ý!¥'­!­Q¸Ð"?Ñ"?Ô"?Ñ@Ô@ÅaÀRÍ1ÁHÒLÐLÐLÐLÝ!Ý	�a•3•q‘6”6‰kÑñô Ý!¥"¥S­¡V¤V­Sµ©V¬VÑ"4Ô"4µc½!±f´fÑ=Ô=ò>ð >ð >ð >å!¥*­Qµµ1µaÑ"8Ô"8Ñ9Ô9ÝˆB•‰F��r�A‘vÑ¥1 "¥q¡&Ñ)­a¨Rµ!©VÑ4ò5ð 5ð 5ð 5ð 5ð 5rO   c                  ó’  — t          t          t          z  t          z  ¦  «        t          t          t          hk    sJ ‚t          t          t          z  t          z  ¦  «        t          t          z  t          hk    sJ ‚t          t          ¦  «        t          hk    sJ ‚t          d¦  «        dhk    sJ ‚t          d¦  «        dhk    sJ ‚d S rƒ   )r!   rK   rL   rM   rN   rO   rP   Útest_conjunctsrà   Ó  s¥   € Ý•Q�‘U�Q‘YÑÔ¥A¥q­! 9Ò,Ð,Ð,Ð,Ý•a�!‘e�q‘[Ñ!Ô!¥a­!¡e­Q ZÒ/Ð/Ð/Ð/Ý•Q‰<Œ<�A˜3ÒÐÐÐÝ�T‰?Œ?˜t˜fÒ$Ð$Ð$Ð$Ý�UÑÔ ˜wÒ&Ð&Ð&Ð&Ð&Ð&rO   c                  ó–  — t          t          t          z  t          z  ¦  «        t          t          t          hk    sJ ‚t          t          t          z  t          z  ¦  «        t          t          z  t          z  hk    sJ ‚t          t          ¦  «        t          hk    sJ ‚t          d¦  «        dhk    sJ ‚t          d¦  «        dhk    sJ ‚d S rƒ   )r"   rK   rL   rM   rN   rO   rP   Útest_disjunctsrâ   Û  s§   € Ý•Q�‘U�Q‘YÑÔ¥A¥q­! 9Ò,Ð,Ð,Ð,Ý•a�!‘e�q‘[Ñ!Ô!¥q­1¡uµ¡k ]Ò2Ð2Ð2Ð2Ý•Q‰<Œ<�A˜3ÒÐÐÐÝ�T‰?Œ?˜t˜fÒ$Ð$Ð$Ð$Ý�UÑÔ ˜wÒ&Ð&Ð&Ð&Ð&Ð&rO   c            	      óú  — t          t          t          t          t          ¦  «        t
          ¦  «        ¦  «        t          t          t          t
          ¦  «        t          t          t
          ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          t
          ¦  «        ¦  «        ¦  «        t          t          t          t          ¦  «        t          t          t
          ¦  «        ¦  «        k    sJ ‚t          t          t          t          t          t
          ¦  «        ¦  «        ¦  «        t          t          t          t          ¦  «        t          t          t
          ¦  «        ¦  «        k    sJ ‚d S rr   )	r$   r   r   rK   rL   rM   r#   r8   r   rN   rO   rP   Útest_distributerä   ã  s×   € Ý!¥"¥S­­A¡Y¤YµÑ"2Ô"2Ñ3Ô3µs½2½aÅ¹8¼8ÅRÍÍ1ÁXÄXÑ7NÔ7NÒNÐNÐNÐNÝ!¥#¥a­­A­q©¬Ñ"2Ô"2Ñ3Ô3µr½#½aÅ¹)¼)ÅSÍÍAÁYÄYÑ7OÔ7OÒOÐOÐOÐOÝ"¥3¥q­#­aµ©)¬)Ñ#4Ô#4Ñ5Ô5½½SÅÅA¹Y¼YÍÍAÍqÉ	Ì	Ñ9RÔ9RÒRÐRÐRÐRÐRÐRrO   c                  ó  — t          d¦  «        \  } }}t          t          | |¦  «        ¦  «        t          | |¦  «        k    sJ ‚t          t          | |¦  «        ¦  «        t	          | |t          | |¦  «        ¦  «        k    sJ ‚t          t          t          | |¦  «        t          | |¦  «        |¦  «        ¦  «        t	          | d| |z  d¬¦  «        k    sJ ‚t          t          t          | |¦  «        t          | |¦  «        t          | |¦  «        t          | |¦  «        ¦  «        ¦  «        dk    sJ ‚t          t          | t          |¦  «        t          | |¦  «        t          | |¦  «        t          ||¦  «        ¦  «        ¦  «        t	          dt          ||¦  «        t          | ||¦  «        d¬¦  «        k    sJ ‚t          t	          | |¦  «        ¦  «        t	          | |¦  «        k    sJ ‚t          t          | ¦  «        ¦  «        t	          | dd¬¦  «        k    sJ ‚t          t          | |¦  «        ¦  «        t	          dt          | |¦  «        d¬¦  «        k    sJ ‚t          t          | |¦  «        ¦  «        t	          | |dt          | |¦  «        d¬¦  «        k    sJ ‚t          t          | |¦  «        ¦  «        t	          | dt          | |¦  «        d¬¦  «        k    sJ ‚t          t          | |¦  «        ¦  «        t	          | |dd¬¦  «        k    sJ ‚t          t          | |z  | |z	  ¦  «        d¬¦  «        t	          dt          t          | |¦  «        t          | |¦  «        ¦  «        d¬¦  «        k    sJ ‚t          t          | |z  | |z  ¦  «        d¬¦  «        t	          dt          t	          | |¦  «        t          | |¦  «        ¦  «        d¬¦  «        k    sJ ‚t          | | |z  | z   z  ¦  «        dk    sJ ‚d S )Núx,y,zTF©Úremove_true)Údeep)r   r6   r   r   r   r   r   r   r    r   r   )rs   rt   r|   s      rP   Útest_to_anfrê   é  s¹  € Ý�gÑÔ�G€A€qˆ!Ý•#�a˜‘)”)ÑÔ¥ A q¡	¤	Ò)Ð)Ð)Ð)Ý•"�Q˜‘(”(ÑÔ�s 1 a­¨Q°©¬Ñ3Ô3Ò3Ð3Ð3Ð3Ý•"•W˜Q ‘]”]¥C¨¨1¡I¤I¨qÑ1Ô1Ñ2Ô2Ýˆq�$˜˜A™¨5Ð1Ñ1Ô1ò2ð 2ð 2ð 2å•"•T˜!˜Q‘Z”Z¥ Q¨¡¤­D°°A©J¬J½ÀÀ1¹¼ÑFÔFÑGÔGÈ4ÒOÐOÐOÐOÝ•"�Q�˜A™œ¥ A q¡	¤	­3¨q°!©9¬9µd¸1¸a±j´jÑAÔAÑBÔBÝˆt•S˜˜A‘Y”Y¥ A q¨!¡¤¸%Ð@Ñ@Ô@òAð Að Að Aå•#�a˜‘)”)ÑÔ¥ A q¡	¤	Ò)Ð)Ð)Ð)Ý•#�a‘&”&‰>Œ>�S  D°eÐ<Ñ<Ô<Ò<Ð<Ð<Ð<Ý•$�q˜!‘*”*ÑÔ¥ T­3¨q°!©9¬9À%Ð!HÑ!HÔ!HÒHÐHÐHÐHÝ•#�a˜‘)”)ÑÔ¥ A q¨$µ°A°q±	´	ÀuÐ MÑ MÔ MÒMÐMÐMÐMÝ•'˜!˜Q‘-”-Ñ Ô ¥C¨¨4µ°Q¸±´ÈÐ$NÑ$NÔ$NÒNÐNÐNÐNÝ•*˜Q Ñ"Ô"Ñ#Ô#¥s¨1¨a°À5Ð'IÑ'IÔ'IÒIÐIÐIÐIÝ•$�q˜1‘u˜a 1™fÑ%Ô%¨EÐ2Ñ2Ô2Ýˆt•S�˜A˜q™œ¥7¨1¨a¡=¤=Ñ1Ô1¸uÐEÑEÔEòFð Fð Fð Få•#�a˜!‘e˜Q ™UÑ#Ô#¨%Ð0Ñ0Ô0Ýˆt•R�˜A˜q™	œ	¥3 q¨!¡9¤9Ñ-Ô-¸5ÐAÑAÔAòBð Bð Bð Bõ �!˜˜A™  ™
�mÑ#Ñ$Ô$¨Ò-Ð-Ð-Ð-Ð-Ð-rO   c            	      óš  — t          t          ¦  «        t          u sJ ‚t          t          ¦  «        t          u sJ ‚t          t          ¦  «        t          k    sJ ‚t          t          t           z  t          z  ¦  «        t          u sJ ‚t          t          t           z  t          z  ¦  «        t          u sJ ‚t          t          t          z	  ¦  «        t           t          z  k    sJ ‚t          t          t          t          t          ¦  «        ¦  «        t           t          z  t           t          z  z  t           t          z  z  k    sJ ‚t          t          t          z  t          z  ¦  «        t          t          z  t          z  t           t           z  t          z  z  t          t           z  t           z  z  t           t          z  t           z  z  k    sJ ‚t          t          t          t          t          ¦  «        ¦  «        t           t          z  t          t          z  z  k    sJ ‚t          t          t          t          z  t          z  ¦  «        ¦  «        t           t           z  t           z  k    sJ ‚t          t          t          t          z  t          z  ¦  «        ¦  «        t           t           z  t           z  k    sJ ‚t          t          t          t          z	  ¦  «        ¦  «        t          t           z  k    sJ ‚t          t          t          t          t          t          ¦  «        ¦  «        ¦  «        t          t          t          t          t          ¦  «        t          t           t           t           ¦  «        ¦  «        k    sJ ‚t          t          t          t          z  t          z  ¦  «        ¦  «        t           t          z  t          z  t          t           z  t          z  z  t          t          z  t           z  z  t           t           z  t           z  z  k    sJ ‚t          t          t          t          t          t          ¦  «        ¦  «        ¦  «        t           t           z  t          t           z  z  k    sJ ‚t          t          t          z	  t          t          z	  z  ¦  «        t          t           z  t           t          z  z  k    sJ ‚t          t          t          z	  t          t          z	  z  d¦  «        t           t           z  t          z  t          z  t          t           z  t           t          z  z  z  k    sJ ‚t          t          dd¦  «                              ¦   «         t          k    sJ ‚t          t          dd¦  «                              ¦   «         t           k    sJ ‚t          t          d„ ¦  «         d S )NFrS   r   c                  óf   — t          t          dk     dgt          ¦  «                             ¦   «         S r¸   )r   rK   rL   r*   rN   rO   rP   rW   ztest_to_nnf.<locals>.<lambda>  s$   € �c¥! a¢%¨!¨­aÑ0Ô0×7Ò7Ñ9Ô9€ rO   )r*   r/   r0   rK   rL   r   rM   r   r   r   r   rD   r]   rN   rO   rP   Útest_to_nnfrí      s  € Ý•$‰<Œ<�4ÐÐÐÐÝ•%‰=Œ=�EÐ!Ð!Ð!Ð!Ý•!‰9Œ9�Š>ˆ>ˆ>ˆ>Ý•!•q�b‘&�1‘*ÑÔ¥Ð%Ð%Ð%Ð%Ý•!•q�b‘&�1‘*ÑÔ¥Ð&Ð&Ð&Ð&Ý•!•q‘&‰>Œ>�a˜R¥!™VÒ#Ð#Ð#Ð#Ý•*�Q¥¥1Ñ%Ô%Ñ&Ô&­A¨2µ©6µq°b½1±fÑ*=Å!ÀÅaÁÑ*HÒHÐHÐHÐHÝ•!•a‘%�!‘)ÑÔÝ•‰E•A‰I�1˜"¥˜r™'¥A™+Ñ&­!­q¨b©&µA°2©+Ñ6½1¸"½q¹&ÅAÀ2¹+ÑFòGð Gð Gð Gå•#•a��A‘,”,ÑÔ¥Q B­¡F­qµ1©uÑ#5Ò5Ð5Ð5Ð5Ý•#•a�!‘e�a‘i‘.”.Ñ!Ô!¥a R­1¨"¡Wµ¨r¡\Ò1Ð1Ð1Ð1Ý•#•a�!‘e�a‘i‘.”.Ñ!Ô!¥a R­1¨"¡Wµ¨r¡\Ò1Ð1Ð1Ð1Ý•#•a�1‘f‘+”+ÑÔ¥!¥q b¡&Ò(Ð(Ð(Ð(Ý•#•j¥¥A¥qÑ)Ô)Ñ*Ô*Ñ+Ô+­sµ2µa½½A±;´;ÅÅAÀ2ÍÀrÍAÈ2ÁÄÑ/OÔ/OÒOÐOÐOÐOÝ•#•a�!‘e�a‘i‘.”.Ñ!Ô!ÝˆB•‰F•Q‰J�1¥˜r™6¥A™:Ñ&­!­a©%µ1°"©*Ñ5½!¸½q¸b¹ÅAÀ2¹ÑFòGð Gð Gð Gå•#•c�!�Q¥‘l”lÑ#Ô#Ñ$Ô$­!¨­q¨b©µQ½!¸±VÑ(<Ò<Ð<Ð<Ð<Ý•1�‘6�a¥1™fÑ%Ñ&Ô&­1µ¨r©6µq°b½1±fÑ*=Ò=Ð=Ð=Ð=Ý•1�‘6�a¥1™fÑ% uÑ-Ô-ÝˆB•!�‰G•a‰K�!‰O¥¥a R¡­Q¨Bµ©FÑ 3Ñ4ò5ð 5ð 5ð 5å�q�!�Q‰<Œ<×ÒÑ Ô ¥AÒ%Ð%Ð%Ð%Ý�q�!�Q‰<Œ<×ÒÑ Ô ¥Q BÒ&Ð&Ð&Ð&õ �9Ð9Ð9Ñ:Ô:Ð:Ð:Ð:rO   c                  ó,  — t          t          t          z   ¦  «        t          t	          t          ¦  «        t	          t          ¦  «        ¦  «        k    sJ ‚t          t
          t          z  t          z  ¦  «        t          t          t
          t          ¦  «        t          t          t          ¦  «        ¦  «        k    sJ ‚t          t
          t          z	  ¦  «        t
           t          z  k    sJ ‚t          t
          t          t          z  z	  ¦  «        t
           t          z  t
           t          z  z  k    sJ ‚t          t
          t          t          z  z  t
           t          t          z  z  z  d¦  «        t          t          z  k    sJ ‚t          t
          t          z  ¦  «        t          t
          t          ¦  «        k    sJ ‚t          t          t
          t          ¦  «        ¦  «        t          t          t
          t	          t          ¦  «        ¦  «        t          t          t	          t
          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t
          t          t          z  ¦  «        ¦  «        t
           t          z  t
           t          z  z  t           t           z  t
          z  z  k    sJ ‚t          t          t
          t          t          z  ¦  «        d¦  «        t          t          t	          t          ¦  «        t
          ¦  «        t          t	          t          ¦  «        t
          ¦  «        t          t          t          t	          t
          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t
          dz   ¦  «        t
          dz   k    sJ ‚d S ©NTrS   )r+   rL   rM   r   r   rK   r   r   rN   rO   rP   Útest_to_cnfrð     sJ  € Ý•A�‘E�(ÑÔ�s¥3¥q¡6¤6­3­q©6¬6Ñ2Ô2Ò2Ð2Ð2Ð2Ý•1•q‘5�A‘+ÑÔ¥#¥b­­A¡h¤hµµ1µa±´Ñ"9Ô"9Ò9Ð9Ð9Ð9Ý•!•q‘&‰>Œ>�q˜b¥A™XÒ%Ð%Ð%Ð%Ý•!��A™‘,ÑÔ¥Q B­¡Fµ¨rµA©vÑ#6Ò6Ð6Ð6Ð6Ý•!•q�1‘u‘+¥ ¥a­!¡e¡Ñ,¨dÑ3Ô3µq½1±uÒ<Ð<Ð<Ð<Ý•!•a‘%‰=Œ=�C¥¥1™IœIÒ%Ð%Ð%Ð%å•*�Q¥Ñ"Ô"Ñ#Ô#¥s­2­aµµQ±´©=¬=½"½QÅÅAÁÄ¹-¼-Ñ'HÔ'HÒHÐHÐHÐHÝ•*�Q¥¥A¡Ñ&Ô&Ñ'Ô'ÝˆB•‰F��r�A‘vÑ¥1 "­ r¡'­A¡+Ñ.ò/ð /ð /ð /å•*�Q¥¥A¡Ñ&Ô&¨Ñ-Ô-Ý�r•#•a‘&”&�!‰}Œ}�b¥¥Q¡¤­™mœm­Rµµ1µc½!±f´fÑ-=Ô-=Ñ>Ô>ò?ð ?ð ?ð ?å•!�a‘%‰=Œ=�A ™EÒ!Ð!Ð!Ð!Ð!Ð!rO   c                  ó,  ‡— t          d¦  «        \  } }}}}}}}}}	}
}}}}| |z  |z  |z  |z  |z  |z  |z  |z  | |z  |z  |z  |z  |z  |z  |	z  |z  z  | |
z  |z  |z  |z  |z  |z  |z  |z  z  Št          t          ‰¦  «        ¦  «        sJ ‚t          t          ˆfd„¦  «         t          t          t          ft          t          f¦  «        D ]D\  }} || ||||||||¦	  «	        Št          t          ˆfd„¦  «          |‰dd¬¦  «        ‰k    sJ ‚ŒEd S )Nzx1:16c                  ó&   •— t          ‰ d¬¦  «        S ©NTr   ©r+   ©Úeqs   €rP   rW   z"test_issue_18904.<locals>.<lambda>2  s   ø€ �v b°4Ð8Ñ8Ô8€ rO   c                  ó&   •— t          ‰ d¬¦  «        S ró   rô   rõ   s   €rP   rW   z"test_issue_18904.<locals>.<lambda>5  s   ø€ ¥6¨"°tÐ#<Ñ#<Ô#<€ rO   T)r   Úforce)	r   r'   r+   rD   r�   Úzipr   r   r,   )Úx1Úx2Úx3Úx4Úx5Úx6Úx7Úx8Úx9Úx10Úx11Úx12Úx13Úx14Úx15rÁ   Útrö   s                    @rP   Útest_issue_18904r
  ,  sz  ø€ ÝGNÈwÑGWÔGWÑD€BˆˆB��B˜˜B  B¨¨S°#°s¸CÀØ�‰7�R‰<˜"Ñ˜rÑ! BÑ&¨Ñ+¨bÑ0°2Ñ5Ø�‰7�R‰<˜"Ñ˜rÑ! BÑ&¨Ñ+¨cÑ1°BÑ6ñ8à�‰8�b‰=˜3Ñ Ñ# cÑ)¨CÑ/°#Ñ5¸Ñ:ñ<€Bõ •&˜‘*”*ÑÔÐÐÐÝ
�:Ð8Ð8Ð8Ð8Ñ9Ô9Ð9Ý•S�"�I¥­Ð/Ñ0Ô0ð 6ð 6‰ˆˆ1ØˆQˆr�2�r˜2˜r 2 r¨2¨rÑ2Ô2ˆÝ�zÐ<Ð<Ð<Ð<Ñ=Ô=Ð=Øˆq�˜d¨$Ð/Ñ/Ô/°2Ò5Ð5Ð5Ð5Ð5ð6ð 6rO   c                  ó„   — t          t          t          dk    t          dk    t          dk     z  z  ¦  «        ¦  «        sJ ‚d S )NéûÿÿÿrV   é   )r'   r+   r`   r_   rN   rO   rP   Útest_issue_9949r  9  s:   € Ý•&�!˜bš&¥Q¨¢U­q°1ªuÑ$5Ñ5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7Ð7Ð7rO   c                  ó²  — t          j        t          j        t          t          z   ¦  «        ¦  «        t          t          t          z   ¦  «        k    sJ ‚t          j        t          j        t          t          z  t          z  ¦  «        ¦  «        t          t          t          z  t          z  ¦  «        k    sJ ‚t          j        t          j        t          t          z	  ¦  «        ¦  «        t          t          t          z	  ¦  «        k    sJ ‚t          j        t          j        t          t          t          z  z	  ¦  «        ¦  «        t          t          t          t          z  z	  ¦  «        k    sJ ‚t          j        t          j        t          t          t          z  z  t           t          t          z  z  z  ¦  «        ¦  «        t          t          t          t          z  z  t           t          t          z  z  z  ¦  «        k    sJ ‚t          j        t          j        t          t          z  ¦  «        ¦  «        t          t          t          z  ¦  «        k    sJ ‚d S rr   )rC   Ú
CNF_to_cnfÚto_CNFrL   rM   r+   rK   rN   rO   rP   Útest_to_CNFr  =  s…  € ÝŒ>�#œ*¥q­1¡u XÑ.Ô.Ñ/Ô/µ6½AÅ¹E¸(Ñ3CÔ3CÒCÐCÐCÐCÝŒ>�#œ*¥a­!¡e­q¡[Ñ1Ô1Ñ2Ô2µf½aÅ!¹eÅq¹[Ñ6IÔ6IÒIÐIÐIÐIÝŒ>�#œ*¥Q­!¡VÑ,Ô,Ñ-Ô-µ½½Q¹±´Ò?Ð?Ð?Ð?ÝŒ>�#œ*¥Q­1­q©5¡\Ñ2Ô2Ñ3Ô3µv½aÅAÍÁE¹lÑ7KÔ7KÒKÐKÐKÐKÝŒ>�#œ*¥Q­!­a©%¡[µA°2½½Q¹±<Ñ%?Ñ@Ô@ÑAÔAÅVÍAÕQRÕUVÑQVÉKÕ[\ÐZ\Õ`aÕdeÑ`eÑZfÑLfÑEgÔEgÒgÐgÐgÐgÝŒ>�#œ*¥Q­¡UÑ+Ô+Ñ,Ô,µµq½1±u±´Ò=Ð=Ð=Ð=Ð=Ð=rO   c                  ó¢  — t          t          t          z   ¦  «        t          t	          t          ¦  «        t	          t          ¦  «        ¦  «        k    sJ ‚t          t
          t          t          z  z  ¦  «        t          t          t
          t          ¦  «        t          t
          t          ¦  «        ¦  «        k    sJ ‚t          t
          t          z	  ¦  «        t
           t          z  k    sJ ‚t          t
          t          t          z  z	  ¦  «        t
           t          t          z  z  k    sJ ‚t          t
          t          z  ¦  «        t
          t          z  k    sJ ‚t          t          t
          t          ¦  «        d¦  «        t          t          t
          t          ¦  «        t          t	          t
          ¦  «        t	          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t          t
          t          t          z  ¦  «        d¦  «        t          t          t
          t          t          ¦  «        t          t	          t
          ¦  «        t	          t          ¦  «        ¦  «        t          t	          t
          ¦  «        t	          t          ¦  «        ¦  «        ¦  «        k    sJ ‚t          t
          dz   ¦  «        t
          dz   k    sJ ‚d S rï   )r,   rL   rM   r   r   rK   r   r   rN   rO   rP   Útest_to_dnfr  F  sÐ  € Ý•A�‘E�(ÑÔ�s¥3¥q¡6¤6­3­q©6¬6Ñ2Ô2Ò2Ð2Ð2Ð2Ý•!•q�1‘u‘+ÑÔ¥"¥S­­A¡Y¤YµµAµq±	´	Ñ":Ô":Ò:Ð:Ð:Ð:Ý•!•q‘&‰>Œ>�q˜b¥A™XÒ%Ð%Ð%Ð%Ý•!��A™‘,ÑÔ¥Q B­1­q©5¡>Ò1Ð1Ð1Ð1Ý•!•a‘%‰=Œ=�A¥™EÒ!Ð!Ð!Ð!å•*�Q¥Ñ"Ô" DÑ)Ô)Ý�c•!•Q‰iŒi��S¥™VœV¥S­¡V¤VÑ,Ô,Ñ-Ô-ò.ð .ð .ð .å•*�Q¥¥A¡Ñ&Ô&¨Ñ-Ô-Ý�c•!•Q�‰lŒl�C¥¥A¡¤­­A©¬Ñ/Ô/µµS½±V´V½SÅ¹V¼VÑ1DÔ1DÑEÔEòFð Fð Fð Få•!�a‘%‰=Œ=�A ™EÒ!Ð!Ð!Ð!Ð!Ð!rO   c                  óD  ‡— t          t          t          d¦  «        ¦  «        \  } }}ˆfd„Š ‰t          | |z  || z  g| ||g¦  «        ¦  «         ‰ddgddgg¦  «        k    sJ ‚ ‰t          | |z  ||  z  g| ||g¦  «        ¦  «         ‰ddgddgg¦  «        k    sJ ‚d S )Nræ   c                 ó`   •— 	 t          ˆfd„| D ¦   «         ¦  «        S # t          $ r | cY S w xY w)Nc              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S rr   rN   )rZ   rs   Úsorted_recursives     €rP   ú	<genexpr>z=test_to_int_repr.<locals>.sorted_recursive.<locals>.<genexpr>Y  s/   øè è € Ð;Ð;°!Ð*Ð*¨1Ñ-Ô-Ð;Ð;Ð;Ð;Ð;Ð;rO   )Úsortedr]   )Úargr  s    €rP   r  z*test_to_int_repr.<locals>.sorted_recursiveW  sO   ø€ ð	ÝÐ;Ð;Ð;Ð;°sÐ;Ñ;Ô;Ñ;Ô;Ð;øÝð 	ð 	ð 	ØˆJˆJˆJð	øøøs   ƒ ž-¬-rS   rV   r¦   r»   )rÒ   r   r   r-   )rs   rt   r|   r  s      @rP   Útest_to_int_reprr  T  sù   ø€ Ý•'�7 7Ñ+Ô+Ñ,Ô,�G€A€qˆ!ðð ð ð ð ð Ð�K¨¨Q©°°A±¨¸¸A¸q¸	ÑBÔBÑCÔCØÐ˜a ˜V a¨ VÐ,Ñ-Ô-ò.ð .ð .ð .àÐ�K¨¨Q©°°Q°B±¨¸!¸QÀ¸ÑCÔCÑDÔDØÐ˜a ˜V a¨ WÐ-Ñ.Ô.ò/ð /ð /ð /ð /ð /rO   c            
      ó  — t          d¦  «        \  } }t          t          ¦  «        du sJ ‚t          t          ¦  «        du sJ ‚t          | ¦  «        du sJ ‚t          t	          | |¦  «        ¦  «        du sJ ‚t          t          | |t	          | |¦  «        ¦  «        ¦  «        du sJ ‚t          t          | |t          | |¦  «        ¦  «        ¦  «        du sJ ‚t          t          t          | ¦  «        |¦  «        ¦  «        du sJ ‚d S )Núx,yTF)r   r7   r/   r0   r   r   r   r   ©rs   rt   s     rP   Útest_is_anfr   c  sþ   € Ý�5‰>Œ>�D€A€qÝ•$‰<Œ<˜4ÐÐÐÐÝ•%‰=Œ=˜DÐ Ð Ð Ð Ý�!‰9Œ9˜ÐÐÐÐÝ•#�a˜‘)”)ÑÔ Ð$Ð$Ð$Ð$Ý•#�a˜�C  1™IœIÑ&Ô&Ñ'Ô'¨4Ð/Ð/Ð/Ð/Ý•#�a˜�B˜q !™HœHÑ%Ô%Ñ&Ô&¨%Ð/Ð/Ð/Ð/Ý•#•c˜!‘f”f˜a‘.”.Ñ!Ô! UÐ*Ð*Ð*Ð*Ð*Ð*rO   c                  ó@  — t          t          ¦  «        du sJ ‚t          t          ¦  «        du sJ ‚t          t           ¦  «        du sJ ‚t          t          t          z  ¦  «        du sJ ‚t          t          t          z  t           t          z  z  t           t          z  z  t           t           z  z  d¦  «        du sJ ‚t          t          t          z  t           t           z  z  ¦  «        du sJ ‚t          t	          t          t          t          ¦  «        ¦  «        ¦  «        du sJ ‚t          t          t          z  ¦  «        du sJ ‚t          t          t          z  t           t          z  z  t           t          z  z  t           t           z  z  d¦  «        du sJ ‚d S rƒ   )r&   r/   rK   rL   r   r   rN   rO   rP   Útest_is_nnfr"  n  sZ  € Ý•$‰<Œ<˜4ÐÐÐÐÝ•!‰9Œ9˜ÐÐÐÐÝ•1�"‰:Œ:˜ÐÐÐÐÝ•!•a‘%‰=Œ=˜DÐ Ð Ð Ð Ý•1•q‘5�a˜R¥!™VÑ$­¨­Q©Ñ/µA°2½¸±7Ñ;¸UÑCÔCÀtÐKÐKÐKÐKÝ•1•q‘5�a˜R¥1 "™WÑ%Ñ&Ô&¨$Ð.Ð.Ð.Ð.Ý•#•b��A‘h”h‘-”-Ñ Ô  EÐ)Ð)Ð)Ð)Ý•!•a‘%‰=Œ=˜EÐ!Ð!Ð!Ð!Ý•1•q‘5�a˜R¥!™VÑ$­¨­Q©Ñ/µA°2½¸±7Ñ;¸TÑBÔBÀeÐKÐKÐKÐKÐKÐKrO   c                  óÈ  — t          t          ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z   t          z  ¦  «        du sJ ‚d S rƒ   )r'   rs   rt   r|   rN   rO   rP   Útest_is_cnfr$  z  óÆ   € Ý•!‰9Œ9˜ÐÐÐÐÝ•!•a‘%�!‘)ÑÔ Ð$Ð$Ð$Ð$Ý•!•a‘%�!‘)ÑÔ Ð$Ð$Ð$Ð$Ý•1•q‘5�A‘+ÑÔ $Ð&Ð&Ð&Ð&Ý•1•q‘5�A‘+ÑÔ %Ð'Ð'Ð'Ð'Ý•A�‘E�(�Q‘,ÑÔ 5Ð(Ð(Ð(Ð(Ð(Ð(rO   c                  óÈ  — t          t          ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z  t          z  ¦  «        du sJ ‚t          t          t          z   t          z  ¦  «        du sJ ‚d S rƒ   )r(   rs   rt   r|   rN   rO   rP   Útest_is_dnfr'  ƒ  r%  rO   c                  óŽ  — t          d¦  «        \  } }}t          ddd¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚t          ddd¦  «        t          u sJ ‚t	          t          | ||¦  «        t          ¦  «        sJ ‚d} t          | ||¦  «        |k    sJ ‚d} t          | ||¦  «        |k    sJ ‚d}t          t          | |¦  «        ||¦  «        |k    sJ ‚t          t          | d¦  «        t          |d¦  «        d¦  «        t          u sJ ‚t          t          | |¦  «        t          t          ¦  «        k    sJ ‚t          t          || ¦  «        t          k    sJ ‚t          dt          t          ¦  «        t          k    sJ ‚t          dt          t          ¦  «        t          k    sJ ‚t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d	„ ¦  «         t          ddd¦  «        t          j        u sJ ‚t	          t          dddd¬
¦  «        t          ¦  «        sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          t          t          t          ¦  «        k    sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          t           t          t          ¦  «        k    sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          t           t          t          ¦  «        k    sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          t          t          t          ¦  «        k    sJ ‚t          t          t          j        t          ¦  «        t          t          ¦  «        t          t          t          t          ¦  «        k    sJ ‚t          t          t          j        t          ¦  «        t          t          ¦  «        t          t           t          t          ¦  «        k    sJ ‚t          t          t          j        t          ¦  «        t          t          ¦  «        t          t           t          t          ¦  «        k    sJ ‚t          t          t          j        t          ¦  «        t          t          ¦  «        t          t          t          t          ¦  «        k    sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          k    sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          k    sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          k    sJ ‚t          t          t          d¦  «        t          t          ¦  «        t          k    sJ ‚t          t          t          d¦  «        t          t          ¦  «                             t          d¦  «        t          k    sJ ‚t          t          t          d¦  «        t          t          ¦  «                             t          d¦  «        t          k    sJ ‚t          t"          d„ ¦  «         d S )NzA:CTFrS   r   c                  ó8   — t          dt          t          ¦  «        S rU   )r   rs   rt   rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>Ÿ  s   € �c !¥Q­™lœl€ rO   c                  ó.   — t          dg t          ¦  «        S r¸   ©r   rt   rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>   ó   € �c ! R­™mœm€ rO   c                  ó.   — t          ddt          ¦  «        S )NrS   rN   r+  rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>¡  r,  rO   c                  ó.   — t          dt          g ¦  «        S r¸   r+  rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>¢  s   € �c !¥Q¨™mœm€ rO   rÜ   c                  óV   — t          t          dk    t          t          t          ¦  «        S r¸   )r   rs   rt   r|   rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>·  s   € �s¥1 q¢5­!­QµÑ2Ô2€ rO   )r   r   r0   r/   rn   r   r   rs   r   rt   rD   r]   r	   r   r   r|   rÏ   r�   rÕ   s      rP   Útest_ITEr0  Œ  sæ  € Ý�e‰nŒn�G€A€qˆ!Ýˆt�U˜DÑ!Ô!¥UÐ*Ð*Ð*Ð*Ýˆt�T˜5Ñ!Ô!¥TÐ)Ð)Ð)Ð)Ýˆu�d˜EÑ"Ô"¥eÐ+Ð+Ð+Ð+Ýˆu�e˜TÑ"Ô"¥dÐ*Ð*Ð*Ð*Ý•c˜!˜Q ‘l”l¥CÑ(Ô(Ð(Ð(Ð(à€AÝˆq�!�Q‰<Œ<˜1ÒÐÐÐØ€AÝˆq�!�Q‰<Œ<˜1ÒÐÐÐØ€AÝ�s�1�a‰yŒy˜!˜QÑÔ 1Ò$Ð$Ð$Ð$Ý�r�!�U‰|Œ|�S  D™\œ\¨5Ñ1Ô1µUÐ:Ð:Ð:Ð:Ý�q�!�Q‰<Œ<�3�q™6œ6Ò!Ð!Ð!Ð!Ý�q�!�Q‰<Œ<�1ÒÐÐÐÝˆq•!•Q‰<Œ<�1ÒÐÐÐÝˆq•!•Q‰<Œ<�1ÒÐÐÐÝ
�9Ð*Ð*Ñ+Ô+Ð+Ý
�9Ð+Ð+Ñ,Ô,Ð,Ý
�9Ð+Ð+Ñ,Ô,Ð,Ý
�9Ð+Ð+Ñ,Ô,Ð,Ýˆq�!�Q‰<Œ<�1œ6Ð!Ð!Ð!Ð!Ý•c˜!˜Q ¨EÐ2Ñ2Ô2µCÑ8Ô8Ð8Ð8Ð8å�r•!�T‰{Œ{�A�qÑ!Ô!¥S­­A­q¡\¤\Ò1Ð1Ð1Ð1Ý�r•!�U‰|Œ|�Q¥Ñ"Ô"¥c­1¨"­aµ¡m¤mÒ3Ð3Ð3Ð3Ý�r•!�T‰{Œ{�A�qÑ!Ô!¥S­!¨­Qµ¡]¤]Ò2Ð2Ð2Ð2Ý�r•!�U‰|Œ|�Q¥Ñ"Ô"¥c­!­Qµ¡l¤lÒ2Ð2Ð2Ð2Ý�r•!”&�!‰}Œ}�a¥Ñ#Ô#¥s­1­aµ¡|¤|Ò3Ð3Ð3Ð3Ý�r•!”'�1‰~Œ~�q¥!Ñ$Ô$­­Q¨Bµµ1©¬Ò5Ð5Ð5Ð5Ý�r•!”&�!‰}Œ}�a¥Ñ#Ô#¥s­A¨2­qµ!¡}¤}Ò4Ð4Ð4Ð4Ý�r•!”'�1‰~Œ~�q¥!Ñ$Ô$­­A­qµ!©¬Ò4Ð4Ð4Ð4õ �r•!�Q‰xŒx��AÑÔ¥!Ò#Ð#Ð#Ð#Ý�r•!�Q‰xŒx��AÑÔ¥!Ò#Ð#Ð#Ð#Ý�r•!�Q‰xŒx��AÑÔ¥!Ò#Ð#Ð#Ð#Ý�r•!�Q‰xŒx��AÑÔ¥!Ò#Ð#Ð#Ð#Ý�r•!�Q‰xŒx��AÑÔ×#Ò#¥A qÑ)Ô)­QÒ.Ð.Ð.Ð.Ý�r•!�Q‰xŒx��AÑÔ×#Ò#¥A qÑ)Ô)­QÒ.Ð.Ð.Ð.Ý
�:Ð2Ð2Ñ3Ô3Ð3Ð3Ð3rO   c                  ó8  — t          d¦  «        du sJ ‚t          d¦  «        du sJ ‚t          t          ¦  «        du sJ ‚t          t           ¦  «        du sJ ‚t          t          t          t          ¦  «        ¦  «        du sJ ‚t          t	          j        t          ¦  «        ¦  «        du sJ ‚t          t          t	          j        t          ¦  «        ¦  «        ¦  «        du sJ ‚t          t          t          t          ¦  «        ¦  «        du sJ ‚t          t          t	          j        t          ¦  «        t	          j        t          ¦  «        ¦  «        ¦  «        du sJ ‚t          t          dk     ¦  «        sJ ‚t          t          t          z   dk     ¦  «        rJ ‚d S )NTFr¦   )
r2   rK   r   rL   r   Úzeror   r   rs   rt   rN   rO   rP   Útest_is_literalr3  º  s[  € Ý�dÑÔ˜tÐ#Ð#Ð#Ð#Ý�eÑÔ Ð$Ð$Ð$Ð$Ý•a‰=Œ=˜DÐ Ð Ð Ð Ý•q�b‰>Œ>˜TÐ!Ð!Ð!Ð!Ý•b��A‘h”hÑÔ 5Ð(Ð(Ð(Ð(Ý•a”f�Q‘i”iÑ Ô  DÐ(Ð(Ð(Ð(Ý•c�!œ&¥™)œ)‘n”nÑ%Ô%¨Ð-Ð-Ð-Ð-Ý•b��A‘h”hÑÔ 5Ð(Ð(Ð(Ð(Ý•c�!œ&¥™)œ)¥Q¤V­A¡Y¤YÑ/Ô/Ñ0Ô0°EÐ9Ð9Ð9Ð9Ý•a˜!’eÑÔÐÐÐÝ�!�a™% !š)Ñ$Ô$Ð$Ð$Ð$Ð$Ð$rO   c                  ó®  — dt           z  t           dz  cxk    rt           k    sn J ‚dt           z  t           dz  cxk    rdk    sn J ‚t           t          z  t          t           t          ¦  «        k    sJ ‚dt           z  t           dz  cxk    rdk    sn J ‚dt           z  t           dz  cxk    rt           k    sn J ‚t           t          z  t          t           t          ¦  «        k    sJ ‚t            t	          t           ¦  «        k    sJ ‚dt           z	  t           dz  cxk    rt           k    sn J ‚dt           z	  t           dz  cxk    rdk    sn J ‚t           dz	  dt           z  cxk    rdk    sn J ‚t           dz	  dt           z  cxk    rt            k    sn J ‚t           t          z	  t          t           z  cxk    rt          t           t          ¦  «        k    sn J ‚dt           z  t           dz  cxk    rt            k    sn J ‚dt           z  t           dz  cxk    rt           k    sn J ‚t           t          z  t          t           t          ¦  «        k    sJ ‚d S rƒ   )rK   rL   r   r   r   r   r   rN   rO   rP   Útest_operatorsr5  È  so  € à•!‰8•q˜4‘xÐ$Ð$Ò$Ð$¥1Ò$Ð$Ð$Ð$Ð$Ð$Ø•1‰9�˜E™	Ð*Ð*Ò*Ð* UÒ*Ð*Ð*Ð*Ð*Ð*Ý�q‰5•C��1‘I”IÒÐÐÐØ•!‰8•q˜4‘xÐ'Ð'Ò'Ð' 4Ò'Ð'Ð'Ð'Ð'Ð'Ø•1‰9�˜E™	Ð&Ð&Ò&Ð&¥QÒ&Ð&Ð&Ð&Ð&Ð&Ý�q‰5•B•q�!‘H”HÒÐÐÐÝˆ2••Q‘”Š<ˆ<ˆ<ˆ<Ø•1‰9�˜T™	Ð&Ð&Ò&Ð&¥QÒ&Ð&Ð&Ð&Ð&Ð&Ø•A‰:�˜e™Ð+Ð+Ò+Ð+ tÒ+Ð+Ð+Ð+Ð+Ð+Ý�‰9˜¥™	Ð)Ð)Ò)Ð) TÒ)Ð)Ð)Ð)Ð)Ð)Ý�‰:˜¥!™Ð)Ð)Ò)Ð)­ rÒ)Ð)Ð)Ð)Ð)Ð)Ý•‰6•Q�!‘VÐ,Ð,Ò,Ð,�w¥q­!™}œ}Ò,Ð,Ð,Ð,Ð,Ð,Ø•!‰8•q˜4‘xÐ%Ð%Ò%Ð%¥A 2Ò%Ð%Ð%Ð%Ð%Ð%Ø•1‰9�˜E™	Ð&Ð&Ò&Ð&¥QÒ&Ð&Ð&Ð&Ð&Ð&Ý�q‰5•C��1‘I”IÒÐÐÐÐÐrO   c                  ó&  — t           t          j         u sJ ‚t          t          j        u sJ ‚t           dusJ ‚t          dusJ ‚t           sJ ‚t          rJ ‚t           dk    sJ ‚t          dk    sJ ‚t           dk    rJ ‚t          dk    rJ ‚t           t          k    rJ ‚t          t           ¦  «        t          d¦  «        k    sJ ‚t          t          ¦  «        t          d¦  «        k    sJ ‚t	          t           dh¦  «        t	          t          dh¦  «        cxk    rdk    sn J ‚t          t           t          ¦  «        sJ ‚t          t          t          ¦  «        sJ ‚t          t           t          ¦  «        rJ ‚t          t          t          ¦  «        rJ ‚t          t           ¦  «        t          u sJ ‚t          d¦  «        t          u sJ ‚t          t          ¦  «        t           u sJ ‚t          d¦  «        t           u sJ ‚t            t          u sJ ‚t           t           u sJ ‚t          dt           fdt          f¦  «        D �]$\  } }t          | |¦  «        t          u sJ ‚t          || ¦  «        t          u sJ ‚t          ||¦  «        t          u sJ ‚t          | | ¦  «        t           u sJ ‚t          | t          ¦  «        t          k    sJ ‚t          |t          ¦  «        t          u sJ ‚| du r|du s| |z  t          u sJ ‚|| z  t          u sJ ‚|dur||z  t          u sJ ‚| dur| | z  t           u sJ ‚t          | |¦  «        t           u sJ ‚t          || ¦  «        t           u sJ ‚t          ||¦  «        t          u sJ ‚t          | | ¦  «        t           u sJ ‚t          | t          ¦  «        t           u sJ ‚t          |t          ¦  «        t          k    sJ ‚| du r|du s| |z  t           u sJ ‚|| z  t           u sJ ‚|dur||z  t          u sJ ‚| dur| | z  t           u sJ ‚t          | |¦  «        t           u sJ ‚t          || ¦  «        t           u sJ ‚t          ||¦  «        t          u sJ ‚t          | | ¦  «        t          u sJ ‚t          | t          ¦  «        t           k    sJ ‚t          |t          ¦  «        t          k    sJ ‚| du r|du s| |z  t           u sJ ‚|| z  t           u sJ ‚|dur||z  t          u sJ ‚| dur| | z  t          u sJ ‚t          | |¦  «        t           u sJ ‚t          || ¦  «        t           u sJ ‚t          ||¦  «        t           u sJ ‚t          | | ¦  «        t          u sJ ‚t          | t          ¦  «        t           k    sJ ‚t          |t          ¦  «        t           u sJ ‚t          | |¦  «        t          u sJ ‚t          || ¦  «        t          u sJ ‚t          ||¦  «        t           u sJ ‚t          | | ¦  «        t          u sJ ‚t          | t          ¦  «        t          u sJ ‚t          |t          ¦  «        t           k    sJ ‚t!          | |¦  «        t          u sJ ‚t!          || ¦  «        t           u sJ ‚t!          ||¦  «        t           u sJ ‚t!          | | ¦  «        t           u sJ ‚t!          | t          ¦  «        t          k    sJ ‚t!          |t          ¦  «        t           u sJ ‚t!          t          | ¦  «        t           u sJ ‚t!          t          |¦  «        t           k    sJ ‚| du r|du s8| |z	  t          u sJ ‚|| z  t          u sJ ‚|| z	  t           u sJ ‚| |z  t           u sJ ‚|dur||z	  t           u sJ ‚||z  t           u sJ ‚| dur| | z	  t           u sJ ‚| | z  t           u sJ ‚t#          | |¦  «        t          u sJ ‚t#          || ¦  «        t          u sJ ‚t#          ||¦  «        t           u sJ ‚t#          | | ¦  «        t           u sJ ‚t#          | t          ¦  «        t          k    sJ ‚t#          |t          ¦  «        t           k    sJ ‚t#          t          | ¦  «        t          k    sJ ‚t#          t          |¦  «        t           k    sJ ‚t%          | | | ¦  «        t           u sJ ‚t%          | | |¦  «        t           u sJ ‚t%          | || ¦  «        t          u sJ ‚t%          | ||¦  «        t          u sJ ‚t%          || | ¦  «        t           u sJ ‚t%          || |¦  «        t          u sJ ‚t%          ||| ¦  «        t           u sJ ‚t%          |||¦  «        t          u sJ ‚�Œ&t'          d„ t          j         t          j        fD ¦   «         ¦  «        sJ ‚d S )NTFrS   c              3   óF   K  — | ]}|                      d d¦  «        |u V — ŒdS )rS   rV   Nr   rY   s     rP   r  z"test_true_false.<locals>.<genexpr>^  s5   è è € Ð@Ð@¨ˆq�zŠz˜!˜QÑÔ 1Ð$Ð@Ð@Ð@Ð@Ð@Ð@rO   )r/   r	   r0   ÚhashÚlenrn   r1   Úboolr   rI   r   rs   r   r   r   r   r   r   r   Úall)ÚTÚFs     rP   Útest_true_falser>  Û  s…	  € Ý•1”6ˆ>ˆ>ˆ>ˆ>Ý•A”GÐÐÐÐÝ�tÐÐÐÐÝ˜ÐÐÐÐÝ€K€Kˆ4ÝÐÐˆ9Ý�4Š<ˆ<ˆ<ˆ<Ý�EŠ>ˆ>ˆ>ˆ>Ý˜’��ÐÝ˜’��ÐÝ�’��Ðå•‰:Œ:�˜d™œÒ#Ð#Ð#Ð#Ý•‰;Œ;�$˜u™+œ+Ò%Ð%Ð%Ð%Ý•�dˆ|ÑÔ¥¥U¨E NÑ 3Ô 3Ð8Ð8Ò8Ð8°qÒ8Ð8Ð8Ð8Ð8Ð8å•d�KÑ(Ô(Ð(Ð(Ð(Ý•e�[Ñ)Ô)Ð)Ð)Ð)õ
 �$¥Ñ%Ô%Ð%Ð%Ð%Ý�%¥Ñ&Ô&Ð&Ð&Ð&õ
 �t‰9Œ9�ÐÐÐÐÝˆt‰9Œ9�ÐÐÐÐÝ�u‰:Œ:�ÐÐÐÐÝˆu‰:Œ:�ÐÐÐÐÝˆ5•Eˆ>ˆ>ˆ>ˆ>Ýˆ6•Tˆ>ˆ>ˆ>ˆ>å˜�t˜ u­e nÑ5Ô5ð ]%ñ ]%‰ˆˆ1Ý�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1�a‰yŒy�DÐ Ð Ð Ð Ý�1•a‰yŒy�AŠ~ˆ~ˆ~ˆ~Ý�1•a‰yŒy�EÐ!Ð!Ð!Ð!Ø�T�	�	˜a 5˜j˜jØ�q‘5�E�>�>�>�>Ø�q‘5�E�>�>�>�>Ø�Eˆ>ˆ>Ø�q‘5�E�>�>�>�>Ø�Dˆ=ˆ=Ø�q‘5�D�=�=�=�=å�!�Q‰xŒx�4ÐÐÐÐÝ�!�Q‰xŒx�4ÐÐÐÐÝ�!�Q‰xŒx�5Ð Ð Ð Ð Ý�!�Q‰xŒx�4ÐÐÐÐÝ�!•Q‰xŒx�4ÐÐÐÐÝ�!•Q‰xŒx�1Š}ˆ}ˆ}ˆ}Ø�T�	�	˜a 5˜j˜jØ�q‘5�D�=�=�=�=Ø�q‘5�D�=�=�=�=Ø�Eˆ>ˆ>Ø�q‘5�E�>�>�>�>Ø�Dˆ=ˆ=Ø�q‘5�D�=�=�=�=å�1�a‰yŒy�DÐ Ð Ð Ð Ý�1�a‰yŒy�DÐ Ð Ð Ð Ý�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1•a‰yŒy�Q˜BŠˆˆˆÝ�1•a‰yŒy�AŠ~ˆ~ˆ~ˆ~Ø�T�	�	˜a 5˜j˜jØ�q‘5�D�=�=�=�=Ø�q‘5�D�=�=�=�=Ø�Eˆ>ˆ>Ø�q‘5�E�>�>�>�>Ø�Dˆ=ˆ=Ø�q‘5�E�>�>�>�>å�A�q‰zŒz�TÐ!Ð!Ð!Ð!Ý�A�q‰zŒz�TÐ!Ð!Ð!Ð!Ý�A�q‰zŒz�TÐ!Ð!Ð!Ð!Ý�A�q‰zŒz�UÐ"Ð"Ð"Ð"Ý�A•q‰zŒz�a˜RÒÐÐÐÝ�A•q‰zŒz�TÐ!Ð!Ð!Ð!å�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1�a‰yŒy�DÐ Ð Ð Ð Ý�1�a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1•a‰yŒy�EÐ!Ð!Ð!Ð!Ý�1•a‰yŒy�Q˜BŠˆˆˆå�q˜!‰}Œ}¥Ð%Ð%Ð%Ð%Ý�q˜!‰}Œ}¥Ð$Ð$Ð$Ð$Ý�q˜!‰}Œ}¥Ð$Ð$Ð$Ð$Ý�q˜!‰}Œ}¥Ð$Ð$Ð$Ð$Ý�q�!‰}Œ}¥Ò!Ð!Ð!Ð!Ý�q�!‰}Œ}¥Ð$Ð$Ð$Ð$Ý•q˜!‰}Œ}¥Ð$Ð$Ð$Ð$Ý•q˜!‰}Œ}¥ Ò"Ð"Ð"Ð"Ø�T�	�	˜a 5˜j˜jØ˜‘6�U�?�?�?�?Ø˜‘6�U�?�?�?�?Ø˜‘6�T�>�>�>�>Ø˜‘6�T�>�>�>�>Ø�Eˆ>ˆ>Ø˜‘6�T�>�>�>�>Ø˜‘6�T�>�>�>�>Ø�Dˆ=ˆ=Ø˜‘6�T�>�>�>�>Ø˜‘6�T�>�>�>�>å˜!˜QÑÔ¥5Ð(Ð(Ð(Ð(Ý˜!˜QÑÔ¥5Ð(Ð(Ð(Ð(Ý˜!˜QÑÔ¥4Ð'Ð'Ð'Ð'Ý˜!˜QÑÔ¥4Ð'Ð'Ð'Ð'Ý˜!�QÑÔ¥1Ò$Ð$Ð$Ð$Ý˜!�QÑÔ¥A 2Ò%Ð%Ð%Ð%Ý�!˜QÑÔ¥1Ò$Ð$Ð$Ð$Ý�!˜QÑÔ¥A 2Ò%Ð%Ð%Ð%å�1�a˜‰|Œ|�tÐ#Ð#Ð#Ð#Ý�1�a˜‰|Œ|�tÐ#Ð#Ð#Ð#Ý�1�a˜‰|Œ|�uÐ$Ð$Ð$Ð$Ý�1�a˜‰|Œ|�uÐ$Ð$Ð$Ð$Ý�1�a˜‰|Œ|�tÐ#Ð#Ð#Ð#Ý�1�a˜‰|Œ|�uÐ$Ð$Ð$Ð$Ý�1�a˜‰|Œ|�tÐ#Ð#Ð#Ð#Ý�1�a˜‰|Œ|�uÐ$Ð$Ð$Ð$Ñ$åÐ@Ð@­q¬vµq´wÐ.?Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@rO   c                  óÞ  — t          t          dk    dt          dk    ¦  «                             ¦   «         t          dt          ¦  «        k    sJ ‚t          t          dk    t          dk    ¦  «                             ¦   «         t          dd¦  «        k    sJ ‚t          t          dk    t          dk    ¦  «                             ¦   «         t          t           d¦  «        t          dt          ¦  «        z   k    sJ ‚t          t          dk    ¦  «                             ¦   «         t          t           d¦  «        k    sJ ‚t          t          t          dk    t          dk     ¦  «        ¦  «                             ¦   «         t          t          t           d¦  «        t          dt          ¦  «        ¦  «        k    sJ ‚t          j        ¦   «         t          j        k    sJ ‚t          j        ¦   «         t          j        u sJ ‚t                               ¦   «         t          j        k    sJ ‚t          t          t          dk     t          dk    ¦  «        t          dk     ¦  «                             ¦   «         t          j        t           d¦  «        k    sJ ‚t          t          dk     t!          t          ¦  «        dk     ¦  «                             ¦   «         t          dk                          ¦   «         k    sJ ‚t#          t$          d„ ¦  «         t'          dt)          dt          z  ¦  «        dz  t!          dt          z  ¦  «        dz  z  ¦  «                             ¦   «         t          j        u sJ ‚d S )	Nr   FrS   rV   éþÿÿÿr¦   c                  óV   — t          t          ¦  «        dk                          ¦   «         S r¸   )r   rs   Úas_setrN   rO   rP   rW   z"test_bool_as_set.<locals>.<lambda>n  s   € ­­Q©¬°!ª×(;Ò(;Ñ(=Ô(=€ rO   r»   )r   rt   rB  r   r   r   rs   r   r   r   r/   r	   ÚUniversalSetr0   ÚEmptySetÚopenr   rD   r—   r   r   rN   rO   rP   Útest_bool_as_setrF  a  s‹  € Ý�q�AŠv�u�a 1šfÑ%Ô%×,Ò,Ñ.Ô.µ(¸1½b±/´/ÒAÐAÐAÐAÝ�q�AŠv•q˜B’wÑÔ×&Ò&Ñ(Ô(­H°R¸©O¬OÒ;Ð;Ð;Ð;Ý�a�1Šf•a˜2’gÑÔ×%Ò%Ñ'Ô'­8µR°C¸Ñ+<Ô+<½xÈÍ2¹¼Ñ+NÒNÐNÐNÐNÝ�q�1Šu‰:Œ:×ÒÑÔ¥(­B¨3°Ñ"2Ô"2Ò2Ð2Ð2Ð2å�s•1�q’5�!˜aš%Ñ Ô Ñ!Ô!×(Ò(Ñ*Ô*Ý•�2˜#˜qÑ!Ô!¥8¨A­r¡?¤?Ñ3Ô3ò4ð 4ð 4ð 4åŒ;‰=Œ=�AœNÒ*Ð*Ð*Ð*ÝŒ<‰>Œ>�QœZÐ'Ð'Ð'Ð'Ý�8Š8‰:Œ:�œÒ'Ð'Ð'Ð'Ý�r•!�a’%�˜QšÑÔ¥ Q¢Ñ'Ô'×.Ò.Ñ0Ô0µH´MÅ2À#ÀqÑ4IÔ4IÒIÐIÐIÐIÝ�q�1Šu•c�!‘f”f˜q’jÑ!Ô!×(Ò(Ñ*Ô*­q°1ªu¯nªnÑ.>Ô.>Ò>Ð>Ð>Ð>Ý
ÕÐ =Ð =Ñ>Ô>Ð>åˆb•#�a�!‘e‘*”* ‘/¥C¨­A©¡J¤J°!¡OÑ3Ñ4Ô4×;Ò;Ñ=Ô=ÅÄÐKÐKÐKÐKÐKÐKrO   c            	      óÎ  — t          d¦  «        \  } }t          | dk    |dk    ¦  «                             ¦   «         t          dt          ¦  «        t          dt          ¦  «        z  k    sJ ‚t          | dk    |dk    ¦  «                             ¦   «         t          j        t          j        z  t          t           ddd¦  «        t          t           ddd¦  «        z  z
  k    sJ ‚d S )Nr  r   T)r   r   rB  r   r   r   r	   ÚRealsr  s     rP   Útest_multivariate_bool_as_setrI  s  sÓ   € å�5‰>Œ>�D€A€qåˆq�AŠv�q˜A’vÑÔ×%Ò%Ñ'Ô'­8°Aµr©?¬?½XÀaÍ¹_¼_Ñ+LÒLÐLÐLÐLÝˆa�1Šf�a˜1’fÑÔ×$Ò$Ñ&Ô&­!¬'µA´GÑ*;Ý•R�C˜˜D $Ñ'Ô'­(µB°3¸¸4ÀÑ*FÔ*FÑFñ+Gò Gð Gð Gð Gð Gð GrO   c                  óš  — t          dd¬¦  «        } | t           k    | t          k    f}t          |Ž }|j        t          u rHt	          |j        ¦  «        t	          |¦  «        |                     t          j        ¦  «        z
  k    sJ ‚n|dk    sJ ‚t          |Ž }|j        t          u rt	          |j        ¦  «        dk    sJ ‚d S |dk    sJ ‚d S )Nrs   T)Úextended_realrV   )
r   r   r   Úfuncr9  ÚargsÚcountr	   r/   r   )rs   rM  Úvs      rP   Útest_all_or_nothingrP  |  sÂ   € Ý� 4Ð(Ñ(Ô(€AØ•�Š8�Q�"’WÐ€DÝˆTˆ
€AØ„v•€}€}Ý�1”6‰{Œ{�c $™iœi¨$¯*ª*µQ´VÑ*<Ô*<Ñ<Ò<Ð<Ð<Ð<Ð<à�DŠyˆyˆyˆyÝ
ˆDˆ	€AØ„v•€|€|Ý�1”6‰{Œ{˜aÒÐÐÐÐÐà�DŠyˆyˆyˆyˆyˆyrO   c                  ób   — t           j        t           k    sJ ‚t          j        t          k    sJ ‚d S rr   )r/   r^   r0   rN   rO   rP   Útest_canonical_atomsrR  ‹  s.   € ÝŒ>�TÒ!Ð!Ð!Ð!ÝŒ?�eÒ#Ð#Ð#Ð#Ð#Ð#rO   c                  ób   — t           j        t          k    sJ ‚t          j        t           k    sJ ‚d S rr   )r/   Únegatedr0   rN   rO   rP   Útest_negated_atomsrU  �  s.   € ÝŒ<�5Ò Ð Ð Ð ÝŒ=�DÒ Ð Ð Ð Ð Ð rO   c                  óX  — t          t          dk    t          t          k     ¦  «                             ¦   «         t	          dt          d¬¦  «        k    sJ ‚t          t          dk    t          t          k     ¦  «                             ¦   «         t	          dt          ¦  «        k    sJ ‚t          t          k                          ¦   «         t	          t           t          ¦  «        k    sJ ‚t          t           k                         ¦   «         t	          t           t          ¦  «        k    sJ ‚d S )NrV   T)Ú	left_openrS   )r   rs   r   rB  r   rN   rO   rP   Útest_issue_8777rX  •  s×   € Ý�q�1Šu•a�"’fÑÔ×$Ò$Ñ&Ô&­(°1µbÀDÐ*IÑ*IÔ*IÒIÐIÐIÐIÝ�q�AŠv•q�2’vÑÔ×%Ò%Ñ'Ô'­8°Aµr©?¬?Ò:Ð:Ð:Ð:Ý•ŠF�?Š?ÑÔ¥­"¨­bÑ 1Ô 1Ò1Ð1Ð1Ð1Ý•�ŠG×ÒÑÔ¥­2¨#­rÑ!2Ô!2Ò2Ð2Ð2Ð2Ð2Ð2rO   c                  ó@  — t          t          t           t          k     t          dk    ¦  «        t          dt          k    t          t          k     ¦  «        ¦  «                             ¦   «         t          t           d¦  «        t          dt          ¦  «        z   k    sJ ‚d S )Nr@  rV   )r   r   r   rs   rB  r   rN   rO   rP   Útest_issue_8975rZ  œ  s{   € Ý�c•2�#�’'�1 š7Ñ#Ô#¥S¨­aªµµR²Ñ%8Ô%8Ñ9Ô9×@Ò@ÑBÔBÝ•R�C˜ÑÔ�x¨­2™œÑ.ò/ð /ð /ð /ð /ð /rO   c                  ó^   — t          g d¢¦  «        dk    sJ ‚t          d¦  «        dk    sJ ‚d S )N)rS   r   rS   r   r   rS   r   éR   Ú0010101000111001i9*  )r3   rN   rO   rP   Útest_term_to_integerr^  ¡  sB   € ÝÐ0Ð0Ð0Ñ1Ô1°RÒ7Ð7Ð7Ð7ÝÐ-Ñ.Ô.°%Ò7Ð7Ð7Ð7Ð7Ð7rO   c                  óP  — t          d¦  «        \  } }}}| |z  |z  | |z  z  }|                     | |z  |¦  «        ||z  |z  k    sJ ‚|                     | |z  |z  |¦  «        | |z  |z  k    sJ ‚| |z  |z  | |z  z  }|                     | |z  |¦  «        ||z  |z  k    sJ ‚|                     | |z  |z  |¦  «        | |z  |z  k    sJ ‚| |z  |z  | |z  z  }|                     | |z  |¦  «        ||z  |z  k    sJ ‚|                     | |z  |z  |¦  «        | |z  |z  k    sJ ‚d S ©Nza b c d)r   rÏ   )r_   r`   ra   rÀ   rÁ   s        rP   Útest_issue_21971ra  ¦  sm  € Ý˜Ñ#Ô#�J€A€qˆ!ˆQØ	ˆA‰�‰	�A˜‘EÑ€AØ�6Š6�!�a‘%˜ÑÔ˜q 1™u q™yÒ(Ð(Ð(Ð(Ø�6Š6�!�a‘%˜!‘)˜QÑÔ 1 q¡5¨1¡9Ò,Ð,Ð,Ð,à	
ˆQ‰�‰�q˜1‘uÑ€AØ�6Š6�!�a‘%˜ÑÔ  A¡¨™{Ò*Ð*Ð*Ð*Ø�6Š6�!�a‘%˜!‘)˜QÑÔ A¨¡E¨Q¡;Ò.Ð.Ð.Ð.à	
ˆQ‰�‰�q˜1‘uÑ€AØ�6Š6�!�a‘%˜ÑÔ  A¡¨™{Ò*Ð*Ð*Ð*Ø�6Š6�!�a‘%˜!‘)˜QÑÔ A¨¡E¨Q¡;Ò.Ð.Ð.Ð.Ð.Ð.rO   c                  óR  — t          t          t          t          t          ¦  «        t          t          gd¬¦  «        ¦  «        g d¢k    sJ ‚t          t          t          t          z  t          t          gd¬¦  «        ¦  «        g d¢k    sJ ‚t          t          t          t          z	  t          t          gd¬¦  «        ¦  «        g d¢k    sJ ‚t          t          t          t          t          ¦  «        t          t          g¦  «        ¦  «        ddgdfddgdfddgdfddgdfgk    sJ ‚d S )	NF)Úinput)FFFT)FTTT)TTFTr   rS   T)Úlistr4   r   rs   rt   rN   rO   rP   Útest_truth_tablere  µ  s4  € Ý•�C¥¥1™IœI­­1 v°UÐ;Ñ;Ô;Ñ<Ô<Ø&Ð&Ð&ò'ð 'ð 'ð 'å•�A¥™E¥A¥q 6°Ð7Ñ7Ô7Ñ8Ô8Ø$Ð$Ð$ò%ð %ð %ð %å•�A¥™F¥Q­ F°%Ð8Ñ8Ô8Ñ9Ô9Ø$Ð$Ð$ò%ð %ð %ð %å•�C¥¥1™IœI­­1 vÑ.Ô.Ñ/Ô/Ø�ˆV�UˆO˜q !˜f e˜_°°1¨v°u¨oÀÀAÀÈ¸~ÐNòOð Oð Oð Oð Oð OrO   c                  ó   ‡‡— t           j        t           j        fD �]1Št          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t          t          ˆfd„¦  «         t           j        t           j        t          fD ]¯Št          d¦  «        D ]�} t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         t          t          ˆˆfd	„¦  «         t          t          ˆˆfd
„¦  «         t          t          ˆˆfd„¦  «         ‰‰cŠŠŒžŒ°�Œ3d S )Nc                  ó
   •— ‰ 
 S rr   rN   ©r	  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Â  ó	   ø€  1 "€ rO   c                  ó
   •— ‰  S rr   rN   rh  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Ã  ri  rO   c                  ó"   •— t          ‰ ¦  «        S rr   )Úabsrh  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Ä  ó   ø€ ¥# a¡&¤&€ rO   c                  ó"   •— t          ‰ ¦  «        S rr   )Úintrh  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Æ  rm  rO   rV   c                  ó   •— ‰ ‰z   S rr   rN   ©Úor	  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ê  ó   ø€ ¨!¨a©%€ rO   c                  ó   •— ‰ ‰z
  S rr   rN   rq  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ë  rs  rO   c                  ó   •— ‰ ‰z  S rr   rN   rq  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ì  rs  rO   c                  ó   •— ‰ ‰z  S rr   rN   rq  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Í  rs  rO   c                  ó   •— ‰ ‰z  S rr   rN   rq  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Î  rs  rO   c                  ó   •— ‰ ‰z  S rr   rN   rq  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ï  s   ø€ ¨!¨q©&€ rO   )	r	   r/   r0   rD   r]   ÚZerorŽ   rs   Úrange)Ú_rr  r	  s    @@rP   Útest_issue_8571r|  À  sT  øø€ ÝŒf•a”gÐð ñ ˆÝ�y˜*˜*˜*˜*Ñ%Ô%Ð%Ý�y˜*˜*˜*˜*Ñ%Ô%Ð%Ý�y˜.˜.˜.˜.Ñ)Ô)Ð)å�y˜.˜.˜.˜.Ñ)Ô)Ð)å”&�!œ%¥Ð#ð 	ð 	ˆAÝ˜1‘X”Xð ð �Ý•y - - - - -Ñ0Ô0Ð0Ý•y - - - - -Ñ0Ô0Ð0Ý•y - - - - -Ñ0Ô0Ð0Ý•y - - - - -Ñ0Ô0Ð0Ý•y - - - - -Ñ0Ô0Ð0Ý•y . . . . .Ñ1Ô1Ð1Ø˜!���1�1ðñ	ðð rO   c                  ó@  — t          dd¬¦  «        } t          dd¬¦  «        \  }}| ||  |z  dz   z  z   ||  |z  dz   z  z  dk     }|t          j        usJ ‚|                     ¦   «         t          j        u sJ ‚|dk                         ¦   «         t          j        u sJ ‚d S )NÚnT)Únegativezp q)ÚpositiverS   r   )r   r	   r0   Úexpandr/   )r~  ÚpÚqÚrs       rP   Útest_expand_relationalr…  Ó  s±   € Ý�˜dÐ#Ñ#Ô#€AÝ�5 4Ð(Ñ(Ô(�D€A€qØ
ˆa�A�2˜‘6˜A‘:ÑÑ
 1¨¨¨Q©°©
Ñ#3Ñ	4°qÒ	8€AØ•A”GÐÐÐÐØ�8Š8‰:Œ:�œÐ Ð Ð Ð Ø�ŠE�>Š>ÑÔ�qœvÐ%Ð%Ð%Ð%Ð%Ð%rO   c                  ób   — t           j        j        dk    sJ ‚t           j        j        dk    sJ ‚d S )NT)r	   r/   Úis_Atomr0   rN   rO   rP   Útest_issue_12717rˆ  Ü  s2   € ÝŒ6Œ>˜TÒ!Ð!Ð!Ð!ÝŒ7Œ?˜dÒ"Ð"Ð"Ð"Ð"Ð"rO   c                  ó²  ‡— t          dd¬¦  «        } t          d„ dt          j        d| fD ¦   «         ¦  «        sJ ‚t          dd¬¦  «        }t          d„ d	t          j        d
|fD ¦   «         ¦  «        sJ ‚t          d„ t
          t
          d
k     fD ¦   «         ¦  «        sJ ‚dt          d¦  «        t
          dz   g fD ]Št          t          ˆfd„¦  «         Œd S )NÚnzT)Únonzeroc              3   óL   K  — | ]}t          |¦  «        t          j        u V — Œ d S rr   )r5   r	   r/   rY   s     rP   r  z"test_as_Boolean.<locals>.<genexpr>ã  s/   è è € ÐFÐF¨1�z˜!‰}Œ}¥¤Ð&ÐFÐFÐFÐFÐFÐFrO   rS   r|   )r2  c              3   óL   K  — | ]}t          |¦  «        t          j        u V — Œ d S rr   )r5   r	   r0   rY   s     rP   r  z"test_as_Boolean.<locals>.<genexpr>å  s/   è è € ÐHÐH¨A�z˜!‰}Œ}¥¤Ð'ÐHÐHÐHÐHÐHÐHrO   Fr   c              3   ó<   K  — | ]}t          |¦  «        |k    V — Œd S rr   ©r5   rY   s     rP   r  z"test_as_Boolean.<locals>.<genexpr>æ  s-   è è € Ð6Ð6 a�z˜!‰}Œ} Ò!Ð6Ð6Ð6Ð6Ð6Ð6rO   rV   c                  ó"   •— t          ‰ ¦  «        S rr   r�  )r[   s   €rP   rW   z!test_as_Boolean.<locals>.<lambda>è  s   ø€ ¥*¨Q¡-¤-€ rO   )r   r;  r	   r/   r0   rs   rD   r]   )rŠ  r|   r[   s     @rP   Útest_as_Booleanr‘  á  s÷   ø€ Ý	�˜tÐ	$Ñ	$Ô	$€BÝÐFÐF°µq´v¸qÀ"Ð0EÐFÑFÔFÑFÔFÐFÐFÐFÝ�˜$ÐÑÔ€AÝÐHÐH°%½¼À!ÀQÐ1GÐHÑHÔHÑHÔHÐHÐHÐHÝÐ6Ð6­A­q°1ªu¨:Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ø•�1‘”•q˜1‘u˜bÐ!ð 1ð 1ˆÝ�yÐ/Ð/Ð/Ð/Ñ0Ô0Ð0Ð0ð1ð 1rO   c                  ó¤  — t          t          dk     t          t          ¦  «        j        t          t          hk    sJ ‚t
          t          fD ]n}  | t          d¦  «        j        t          ¦   «         k    sJ ‚ | t          d¦  «        j        t          hk    sJ ‚ | t          d¦  «        j        t          hk    sJ ‚Œot          j	        j        t          ¦   «         k    sJ ‚t          j
        j        t          ¦   «         k    sJ ‚t          j        t          hk    sJ ‚t          t          t          t          d¦  «        t          t          d¦  «        ¦  «        j        t          t          hk    sJ ‚t          j        t          ¦  «        j        t          ¦   «         k    sJ ‚t          j        t          d¦  «        j        t          ¦   «         k    sJ ‚t          j        t          ¦  «        j        t          hk    sJ ‚t          j        t          d¦  «        j        t          hk    sJ ‚t          j        t          ¦  «        j        t          ¦   «         k    sJ ‚d S )NrS   TF)r   rs   rt   r|   Úbinary_symbolsr   r   Úsetr	   r/   r0   r   r   ÚprimeÚltÚis_truerö   )rÁ   s    rP   Útest_binary_symbolsr˜  ë  sÆ  € Ý�q�1Šu•a�ÑÔÔ*­qµ!¨fÒ4Ð4Ð4Ð4Ý•"ˆXð 1ð 1ˆØˆq•�A‰wŒwÔ%­©¬Ò.Ð.Ð.Ð.Øˆq•�D‰zŒzÔ(­Q¨CÒ/Ð/Ð/Ð/Øˆq•�E‰{Œ{Ô)­a¨SÒ0Ð0Ð0Ð0Ð0ÝŒ6Ô ¥C¡E¤EÒ)Ð)Ð)Ð)ÝŒ7Ô!¥S¡U¤UÒ*Ð*Ð*Ð*ÝÔ¥˜sÒ"Ð"Ð"Ð"Ý�q•"•Q˜‘,”,¥¥1 a¡¤Ñ)Ô)Ô8½QÅ¸FÒBÐBÐBÐBÝŒ7•1‰:Œ:Ô$­©¬Ò-Ð-Ð-Ð-ÝŒ4•�1‰:Œ:Ô$­©¬Ò-Ð-Ð-Ð-ÝŒ9•Q‰<Œ<Ô&­1¨#Ò-Ð-Ð-Ð-ÝŒ4•�4‰=Œ=Ô'­A¨3Ò.Ð.Ð.Ð.ÝŒ7•1‰:Œ:Ô$­©¬Ò-Ð-Ð-Ð-Ð-Ð-rO   c                  ó¼   — t          t          t          ¦  «                             t          ¦  «        t	          dt          t          d¦  «        fd¦  «        k    sJ ‚d S )Nr   F)rS   T)r   rs   rt   Údiffr   r   rN   rO   rP   Útest_BooleanFunction_diffr›  ü  sD   € Ý�q•!‰9Œ9�>Š>�!ÑÔ¥	¨1­bµ°E©l¬lÐ*;¸YÑ GÔ GÒGÐGÐGÐGÐGÐGrO   c                  óŽ  — t          d¦  «        \  } }}}}}}}||z  |z  | z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  |z  | z  z  ||z  | z  | z  z  ||z  |z  | z  | z  z  ||z  |z  | z  | z  z  ||z  |  z  | z  | z  z  ||z  |  z  | z  | z  z  | |z  |z  |z  | z  | z  z  }||z  |z  | z  ||z  |z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  | z  | z  z  ||z  |z  | z  | z  z  ||z  |  z  | z  | z  z  | |z  |z  |z  | z  | z  z  }	||z  |z  ||z  |z  z  ||z  |z  z  ||z  |z  z  ||z  |z  z  ||z  |z  z  ||z  | z  | z  z  | | z  | z  | z  z  || z  | z  | z  | z  z  | |z  | z  | z  | z  | z  z  || z  | z  | z  | z  | z  z  ||z  |z  |  z  | z  | z  | z  z  }
t          |d¦  «        |	k    sJ ‚t          |d¦  «        |
k    sJ ‚g d¢g d¢g d¢g d¢g d¢g d	¢g}g d
¢g d¢g d¢g d¢g}t          t          t          t
          t          g|¦  «        t          t           z  t
          t          z  t           z  z  k    sJ ‚t          t          t          t
          t          g||¦  «        t          t           z  t
          t          z  t           z  z  k    sJ ‚d S )NzA B C D E F G HÚdnfÚcnf)r   rS   r   r   r¥   )r   rS   rS   r   r¢   r¡   r£   ©rS   r   r   r   ©rS   r   r   rS   )rS   rS   r   r   ©rS   rS   r   rS   )r   r)   r   r}   rs   rt   r|   )rK   rL   rM   ro   ÚEr=  ÚGÚHrƒ  ÚsoldnfÚsolcnfr­   r¾   s                rP   Útest_issue_14700r§     sý  € Ý$Ð%6Ñ7Ô7Ñ€A€qˆ!ˆQ��1�a˜Ø
ˆa‰%�!‰)�q�b‰.˜Q ™U a R™Z¨1¨"™_Ñ	-°°Q±¸!¸±¸q¸b±Ñ	AØ
ˆa‰%�1�"‰*˜�r‰/ñ
Ø !™e q b™j¨A¨2™oñ
/Ø23°a±%¸1¸"±*À¸r±/ñ
Cà
ˆa‰%�1�"‰*˜�r‰/ñ
à !™e q b™j¨A¨2™oñ
/à23°a±%¸!±)¸q¸b±.ñ
Bð ˆa‰%�1�"‰*˜�r‰/ñ
ð   !™e a™i¨1¨"™n°¨rÑ1ñ
3ð 78¸!±e¸a±iÀ1À"±nÈÀrÑ6Iñ
Kð ˆa‰%�1�"‰*˜�r‰/˜Q˜BÑ
ñ	
 ð $% q¡5¨A¨2¡:°°¡?°a°RÑ#7ñ	
9ð
 ˆa‰%�!‰)�a‰-˜1˜"Ñ
 ˜rÑ
!ñ
#€Að �1‰u�q‰y˜A˜2‰~ ! a¡%¨!¡)¨q¨b¡.Ñ1°Q¸±U¸a¸R±ZÀ1À"±_ÑEØ�1‰u˜�r‰z˜Q˜B‰ñ Ø#$ q¡5¨A¨2¡:°°¡?ñ4Ø78¸1±uÀ¸r±zÀQÀB±ñHà�1‰u˜�r‰z˜Q˜B‰ñ à#$ q¡5¨A¨2¡:°°¡?ñ4à78¸1±u¸q±yÀAÀ2±~ÈÈÑ7JñLð �1‰u˜�r‰z˜Q˜B‰ ! Ñ#ñ%ð )*¨A©°©	°A©¸¸Ñ(:¸a¸RÑ(?ñA€Fð �1‰u�q‰y˜Q ™U Q™YÑ'¨1¨q©5°1©9Ñ5¸¸Q¹À¹ÑCØ�1‰u�q‰yñØ ™U Q™Yñ(Ø+,¨q©5°A°2©:¸¸©?ñ<àˆr�Q�B‰w˜!˜‰|˜q˜bÑ ñ"à%&¨!¨¡V¨q¨b¡[°A°2Ñ%5¸¸Ñ%:ñ<ð �1‰u˜�r‰z˜Q˜B‰ ! Ñ# q bÑ(ñ*ð ./°!°©V°q°b©[¸A¸2Ñ-=ÀÀÑ-BÀaÀRÑ-GñIð �1‰u�q‰y˜A˜2‰~  Ñ" a RÑ'¨1¨"Ñ,ñ	.€Fõ
 ˜!˜UÑ#Ô# vÒ-Ð-Ð-Ð-Ý˜!˜UÑ#Ô# vÒ-Ð-Ð-Ð-à��˜l˜l˜l¨L¨L¨L¸,¸,¸,Ø��˜l˜l˜lð,€Hà��˜|˜|˜|¨\¨\¨\¸<¸<¸<ÐH€IÝ•A•q�!�Q�< Ñ*Ô*­qµA°2©v½!½a¹%Å1À"¹*Ñ.EÒEÐEÐEÐEå•A•q�!�Q�< ¨9Ñ5Ô5Ý•�‰F•q�1‘u¥˜r‘zÑ"ò#ð #ð #ð #ð #ð #rO   c                  ón   — t          t          t          j        ¦  «        } t	          | ¦  «        | k    sJ ‚d S rr   )r   rs   r	   ÚIntegersr)   )Úconds    rP   Útest_issue_25115r«    s2   € Ý•A•q”zÑ"Ô"€Då˜$ÑÔ 4Ò'Ð'Ð'Ð'Ð'Ð'rO   c                  óÜ  — t          dd¬¦  «        \  } }}}t          dd¬¦  «        \  }}t          ||k    ||k     ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    | | k     ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    ||k     ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    | | k     ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    ||k     ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    | | k     ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    ||k     ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    | | k     ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k     ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k     ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k     | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k     | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k     ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k     ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k     | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k    | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          | | k     | | k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    | |k     ||k    ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    ||k     ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    t          ||¦  «        ¦  «                             ¦   «         ||k    k    sJ ‚t          ||k    t          ||¦  «        ¦  «                             ¦   «         t          ||¦  «        k    sJ ‚t          t          ||¦  «        |dk    d|k     |dk    ||k     ¦  «                             ¦   «         t          ||¦  «        |dk    z  |dk    z  ||k    z  k    sJ ‚t          t          ||¦  «        ||k    | |k     ||k     ¦  «                             ¦   «         ||k    ||k    z  | |k     z  k    sJ ‚t          t          ||¦  «        ||k    | |k     ||k    ||k     ¦  «                             ¦   «         t          ||¦  «        ||k    z  | |k     z  k    sJ ‚t          t          ||¦  «        |dk    d|k     |dk    ||k     ¦  «                             ¦   «         t          ||¦  «        |dk    z  |dk    z  ||k    z  k    sJ ‚t          ||¦  «        t          ||¦  «        z  ||k    z  ||k    z                       ¦   «         t          ||¦  «        t          ||¦  «        z  ||k    z  k    sJ ‚t          t          ||¦  «        t          || ¦  «        ¦  «                             ¦   «         t          t          |d	¦  «        t          |d	¦  «        ¦  «        k    sJ ‚t          ||k    ||k    ¦  «                             ¦   «         t          ||¦  «        k    sJ ‚t          |dk    |d
k     t          ||¦  «        ¦  «                             ¦   «         t          j        k    sJ ‚t          ||k    t          |d	¦  «        ¦  «                             ¦   «         t          |d	k    t          |d	¦  «        ¦  «        k    sJ ‚t          t          |d¦  «        t          |d¦  «        ¦  «                             ¦   «         t          j        k    sJ ‚t          t          |d¦  «        t          d|¦  «        ¦  «                             ¦   «         t          |d¦  «        k    sJ ‚t          t          |d¦  «        t          d|¦  «        ¦  «                             ¦   «         t          |d¦  «        k    sJ ‚d S )Núw x y zT©Úrealúd eFrS   rV   rª   r   r»   )
r   r   r   r	   r/   r   r0   r   r   r   )r}   rs   rt   r|   rÀ   rc   s         rP   Útest_relational_simplificationr±  #  sŽ  € Ý˜¨Ð.Ñ.Ô.�J€A€qˆ!ˆQÝ�5˜uÐ%Ñ%Ô%�D€A€qåˆa�1Šf�a˜!’eÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆa�1Šf�a˜!’eÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆa�1Šf�q�b˜A˜2’gÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆa�1Šf�q�b˜A˜2’gÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�Q�BŠh˜˜AšÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�Q�BŠh˜˜˜a˜RšÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5Ýˆqˆb�Q�BŠh˜˜AšÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�Q�BŠh˜˜˜a˜RšÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5Ýˆa�1Šf�a˜!’eÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆa�1Šf�a˜!’eÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆa�1Šf�q�b˜A˜2’gÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆa�1Šf�q�b˜A˜2’gÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�Q�BŠh˜˜AšÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�Q�BŠh˜˜AšÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�Q�BŠh˜˜˜a˜RšÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5Ýˆqˆb�Q�BŠh˜˜˜a˜RšÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5åˆa�!Še�Q˜!’VÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆa�!Še�Q˜!’VÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆqˆb�A�2Šg�q˜A’vÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�A�2Šg�q˜A’vÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆa�!Še�a�R˜A˜2’XÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�A�2Šg˜�r˜a˜R’xÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5Ýˆa�!Še�a�R˜A˜2’XÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�A�2Šg˜�r˜a˜R’xÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5Ýˆa�!Še�Q˜!’VÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆa�!Še�Q˜!’VÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆqˆb�A�2Šg�q˜A’vÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�A�2Šg�q˜A’vÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆa�!Še�a�R˜A˜2’XÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆa�!Še�a�R˜A˜2’XÑÔ×'Ò'Ñ)Ô)­Q¬VÒ3Ð3Ð3Ð3Ýˆqˆb�A�2Šg˜�r˜a˜R’xÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5Ýˆqˆb�A�2Šg˜�r˜a˜R’xÑ Ô ×)Ò)Ñ+Ô+­q¬vÒ5Ð5Ð5Ð5õ ˆa�1Šf�a˜!’e˜Q !šVÑ$Ô$×-Ò-Ñ/Ô/µ1´6Ò9Ð9Ð9Ð9Ýˆq�AŠv�q˜1’uÑÔ×&Ò&Ñ(Ô(­A¬GÒ3Ð3Ð3Ð3Ýˆa�1Šf•b˜˜A‘h”hÑÔ×(Ò(Ñ*Ô*¨q°AªvÒ6Ð6Ð6Ð6Ýˆq�AŠv•r˜!˜Q‘x”xÑ Ô ×)Ò)Ñ+Ô+­r°!°Q©x¬xÒ7Ð7Ð7Ð7Ý�r�!�Q‰xŒx˜˜aš  Q¢¨¨Qª°°A²Ñ6Ô6×?Ò?ÑAÔAÝˆq�!‰HŒH˜˜QšÑ 1¨¢6Ñ*¨a°!ªeÑ4ò6ð 6ð 6ð 6å�b��A‰hŒh˜˜Qš  A¢ q¨1¢uÑ-Ô-×6Ò6Ñ8Ô8Ø�ŠF�q˜1’uÑ  Q¢Ñ'ò(ð (ð (ð (å�r�!�Q‰xŒx˜˜aš  Q¢¨¨Qª°°A²Ñ6Ô6×?Ò?ÑAÔAÝˆa�‰8Œ8�q˜1’uÑ  Q¢Ñ'ò(ð (ð (ð (õ �r�!�Q‰xŒx˜˜aš  Q¢¨¨Qª°°A²Ñ6Ô6×?Ò?ÑAÔAÝˆq�!‰HŒH˜˜QšÑ 1¨¢6Ñ*¨a°!ªeÑ4ò6ð 6ð 6ð 6åˆq�!‰HŒH•r˜!˜Q‘x”xÑ 1¨¢6Ñ*¨a°1ªfÑ5×?Ò?ÑAÔAÝˆq�!‰HŒH•r˜!˜Q‘x”xÑ 1¨¢6Ñ*ò,ð ,ð ,ð ,å�r�!�Q‰xŒx�˜A ˜r™œÑ#Ô#×,Ò,Ñ.Ô.µ#µb¸¸A±h´hÅÀ1ÀaÁÄÑ2IÔ2IÒIÐIÐIÐIÝˆq�AŠv�q˜A’vÑÔ×'Ò'Ñ)Ô)­R°°1©X¬XÒ5Ð5Ð5Ð5Ýˆq�1Šu�a˜"’f�b  A™hœhÑ'Ô'×0Ò0Ñ2Ô2µa´gÒ=Ð=Ð=Ð=åˆq�AŠv•r˜!˜Q‘x”xÑ Ô ×)Ò)Ñ+Ô+­s°1¸²6½2¸aÀ¹8¼8Ñ/DÔ/DÒDÐDÐDÐDÝ�b��A‰hŒh�˜1˜a™œÑ!Ô!×*Ò*Ñ,Ô,µ´Ò6Ð6Ð6Ð6Ý�r�!�Q‰xŒx�˜A˜q™œÑ"Ô"×+Ò+Ñ-Ô-µ°A°q±´Ò9Ð9Ð9Ð9Ý�b��A‰hŒh�˜1˜a™œÑ!Ô!×*Ò*Ñ,Ô,µ°1°a±´Ò8Ð8Ð8Ð8Ð8Ð8rO   c                  óø  — t          dd¬¦  «        } t          | dk     | dk    ¦  «                             ¦   «         t          j        k    sJ ‚t          | dk     | dk    ¦  «                             ¦   «         t          j        k    sJ ‚t          | dk     | dk    ¦  «                             ¦   «         t          j        k    sJ ‚t          | dk    | dk    ¦  «                             ¦   «         t          j        k    sJ ‚d S )Nrs   Tr®  rS   r»   )r   r   r   r	   r/   r   r0   ©rs   s    rP   Útest_issue_8373r´  f  sÞ   € Ý�˜$ÐÑÔ€AÝˆa�!Še�Q˜’VÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆa�!Še�Q˜!’VÑÔ×%Ò%Ñ'Ô'­1¬6Ò1Ð1Ð1Ð1Ýˆq�1Šu�a˜1’fÑÔ×&Ò&Ñ(Ô(­A¬GÒ3Ð3Ð3Ð3Ýˆa�1Šf�a˜1’fÑÔ×&Ò&Ñ(Ô(­A¬FÒ2Ð2Ð2Ð2Ð2Ð2rO   c                  óÄ   — t          dd¬¦  «        } t          t          | d¦  «        t          | d¦  «        ¦  «                             ¦   «         t          j        k    sJ ‚d S )Nrs   Tr®  rS   rV   )r   r   r   r   r	   r0   r³  s    rP   Útest_issue_7950r¶  n  sS   € Ý�˜$ÐÑÔ€AÝ�r�!�Q‰xŒx�˜A˜q™œÑ"Ô"×+Ò+Ñ-Ô-µ´Ò8Ð8Ð8Ð8Ð8Ð8rO   c                  ó\  — d„ } t          dd¬¦  «        \  }}}}t          dd¬¦  «        \  }}t          t          ||¦  «        ||k    ||k     ||k    ||k     ¦  «        t          t          ||¦  «        |dk    d|k     |d	k    ||k     ¦  «        t          t          ||¦  «        |dk    d|k     |d	k    ||k     ¦  «        t          ||k    t          ||¦  «        ¦  «        t          t          t          ||¦  «        ||k    ||k     t          ||k    ||k     ¦  «        ¦  «        t          t          ||¦  «        |dk    d|k     |d
k    ||k     ¦  «        ¦  «        t          ||¦  «        t          ||¦  «        z  ||k    z  ||k    z  f}|D ] } | ||                     ¦   «         ¦  «         Œ!d S )Nc                 ó¬  — | j         }t          |¦  «        }t          t          t	          t          t          |dz
   |¦  «        ¦  «        |z  |¦  «        ¦  «        ¦  «        }|D ]n}t          t          ||¦  «        ¦  «        }|                      |¦  «        }|                     |¦  «        }||k    sJ d 	                    | ||¦  «        ¦   «         ‚Œod S )NrS   zHOriginal: {}
and simplified: {}
do not evaluate to the same value for {})
Úfree_symbolsr9  rd  r”  rG   rz  Údictrù   rÏ   Úformat)	ÚoriginalÚ
simplifiedÚsymbr~  Ú	valuelistÚvaluesÚsublistÚoriginalvalueÚsimplifiedvalues	            rP   Ú(test_simplification_numerically_functionz\test_relational_simplification_numerically.<locals>.test_simplification_numerically_functionu  sÚ   € ØÔ$ˆÝ�‰IŒIˆÝ��\­$­u°q¸1±u°X¸qÑ/AÔ/AÑ*BÔ*BÀQÑ*FÈÑJÔJÑKÔKÑLÔLˆ	Øð 	^ð 	^ˆFÝ�3˜t VÑ,Ô,Ñ-Ô-ˆGØ$ŸMšM¨'Ñ2Ô2ˆMØ(Ÿošo¨gÑ6Ô6ˆOØ  OÒ3Ð3Ð3ð 68ç8>º¸xÈÐU\Ñ8]Ô8]ñ 4Ô3Ð3Ð3ð		^ð 	^rO   r­  Tr®  r°  FrS   rV   rª   r»   )r   r   r   r   r   )	rÄ  r}   rs   rt   r|   rÀ   rc   ÚexpressionsÚ
expressions	            rP   Ú*test_relational_simplification_numericallyrÇ  s  sË  € ð
^ð 
^ð 
^õ ˜¨Ð.Ñ.Ô.�J€A€qˆ!ˆQÝ�5˜uÐ%Ñ%Ô%�D€A€qå•r˜!˜Q‘x”x  a¢¨¨Qª°°Q²¸¸AºÑ>Ô>Ý•r˜!˜Q‘x”x  a¢¨¨Qª°°Q²¸¸AºÑ>Ô>Ý•b˜˜A‘h”h  Q¢¨¨Aª¨q°Aªv°q¸1²uÑ=Ô=Ý�q˜A’v�r ! Q™xœxÑ(Ô(Ý•c�"˜Q ™(œ( A¨¢F¨A°ªEµ2°a¸1²f¸aÀ!ºeÑ3DÔ3DÑEÔEÝ�"˜Q ™(œ( A¨¢F¨A°ªE°1¸²7¸AÀºEÑBÔBñDô Då�q˜!‘H”H�r ! Q™xœxÑ'¨1°ª6Ñ2°a¸1²fÑ=ð€Kð "ð Hð Hˆ
Ø0Ð0°Ø1;×1DÒ1DÑ1FÔ1Fñ	Hô 	Hð 	Hð 	HðHð HrO   c                  ó¶  — ddl m}  ddlm}m}m}  | d¦  «        } | d¦  «        } | d¦  «        }|||g}t           |¦   «         gt           |¦   «         gt           |¦   «         gg}t          t          t          t          t          dd¦  «        ¦  «        dz  d¦  «        ¦  «        ¦  «        }	d	„ |	D ¦   «         }	|D ]™\  }
}|D ]‘} |
|d         j        Ž }|d
         }|	D ]t}t          t          ||¦  «        ¦  «        }|                     |¦  «        }|                     |¦  «        }||k    s%J d                     |d         ||¦  «        ¦   «         ‚ŒuŒ’Œšd S )Nr   ©ÚWild)Ú_simplify_patterns_andÚ_simplify_patterns_orÚ_simplify_patterns_xorr_   r`   ra   r@  r¦   c                 ób   — g | ],}t          d „ |D ¦   «         ¦  «        st          |¦  «        °*|‘Œ-S )c              3   ó    K  — | ]	}|d z  V — Œ
dS ©rV   NrN   ©rZ   r}   s     rP   r  zQtest_relational_simplification_patterns_numerically.<locals>.<listcomp>.<genexpr>Ÿ  ó&   è è € Ð,>Ð,>°q¨Q°©UÐ,>Ð,>Ð,>Ð,>Ð,>Ð,>rO   ©Úany©rZ   rO  s     rP   ú
<listcomp>zGtest_relational_simplification_patterns_numerically.<locals>.<listcomp>Ÿ  ó?   € ÐMÐMÐM�q­Ð,>Ð,>¸AÐ,>Ñ,>Ô,>Ñ)>Ô)>ÐMÅcÈ!ÁfÄfÐM�ÐMÐMÐMrO   rS   úGOriginal: {}
and simplified: {}
do not evaluate to the same value for{})Ú
sympy.corerÊ  Úsympy.logic.boolalgrË  rÌ  rÍ  r   r   r   rd  r”  rG   rz  rM  rº  rù   Úxreplacer»  )rÊ  rË  rÌ  rÍ  r_   r`   ra   r¾  Úpatternlistsr¿  rL  ÚpatternlistÚpatternr¼  r½  rÀ  rÁ  rÂ  rÃ  s                      rP   Ú3test_relational_simplification_patterns_numericallyrß  ’  sÞ  € ØÐÐÐÐÐð6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6àˆˆS‰	Œ	€AØˆˆS‰	Œ	€AØˆˆS‰	Œ	€AØˆq�!ˆ9€DÝÐ0Ð0Ñ2Ô2Ð3ÝÐ.Ð.Ñ0Ô0Ð1ÝÐ0Ð0Ñ2Ô2Ð3ð5€Lõ •S�¥d­5°°Q©<¬<Ñ&8Ô&8¸1Ñ&<¸aÑ@Ô@ÑAÔAÑBÔB€IàMÐM˜IÐMÑMÔM€IØ)ð 
fð 
fÑˆˆkØ"ð 		fð 		fˆGØ�t˜W QœZœ_Ð-ˆHØ  œˆJØ#ð fð f�Ý�s 4¨Ñ0Ô0Ñ1Ô1�Ø (× 1Ò 1°'Ñ :Ô :�Ø",×"5Ò"5°gÑ">Ô">�Ø$¨Ò7Ð7Ð7ð :>ç>DºfÀWÈQÄZÐQ[Ð]dÑ>eÔ>eñ 8Ô7Ð7Ð7ð	fð		fð
fð 
frO   c                  ó¼   — t          d¦  «        } | dk    | dk     z  | dk    | dk     z  z                       ¦   «         | dk    | dk     z  | dk    | dk     z  z  k    sJ ‚d S )Nr~  r¦   r   )r   r   )r~  s    rP   Útest_issue_16803rá  ­  s{   € Ý�‰Œ€Aà�ŠU�q˜1’uÑ ! a¢%¨A°ªEÑ!2Ñ3×=Ò=Ñ?Ô?Ø�ŠE�a˜!’eÑ  Q¢¨1¨qª5Ñ 1Ñ2ò3ð 3ð 3ð 3ð 3ð 3rO   c                  óè  ‡ — t           t          t          t          iŠ t          t           t          z   dk    t           t          z
  dk     ¦  «                             ‰ ¦  «        sJ ‚t          t           t          z   dk     t           t          z
  dk     ¦  «                             ‰ ¦  «        rJ ‚t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         t          t          ˆ fd„¦  «         d S )Nr   c                  óŽ   •— t          t          t          z   dk     t          t          z
  dk     ¦  «                             ‰ ¦  «        S ©Nr   )r   rs   rt   rÏ   ©r„  s   €rP   rW   z"test_issue_17530.<locals>.<lambda>¸  s/   ø€ �b¥¥Q¡¨¢­Aµ©E°AªIÑ6Ô6×;Ò;¸AÑ>Ô>€ rO   c                  óŽ   •— t          t          t          z   dk    t          t          z
  dk     ¦  «                             ‰ ¦  «        S rä  ©r   rs   rt   rÏ   rå  s   €rP   rW   z"test_issue_17530.<locals>.<lambda>¹  ó/   ø€ �c¥!¥a¡%¨!¢)­Qµ©U°QªYÑ7Ô7×<Ò<¸QÑ?Ô?€ rO   c                  óŽ   •— t          t          t          z   dk    t          t          z
  dk     ¦  «                             ‰ ¦  «        S rä  rç  rå  s   €rP   rW   z"test_issue_17530.<locals>.<lambda>º  rè  rO   )rs   r   rt   r   rÏ   r   rD   r]   rå  s   @rP   Útest_issue_17530rê  ´  sÌ   ø€ Ý	
�B••2ˆ€AÝ�a•!‰e�aŠi��Q™ šÑ#Ô#×(Ò(¨Ñ+Ô+Ð+Ð+Ð+Ý•1•q‘5˜1’9�a¥!™e ašiÑ(Ô(×-Ò-¨aÑ0Ô0Ð0Ð0Ð0Ý
�9Ð>Ð>Ð>Ð>Ñ?Ô?Ð?Ý
�9Ð?Ð?Ð?Ð?Ñ@Ô@Ð@Ý
�9Ð?Ð?Ð?Ð?Ñ@Ô@Ð@Ð@Ð@rO   c                  ód  — t          ddg¦  «        ddgk    sJ ‚t          g d¢¦  «        g d¢k    sJ ‚t          g d¢¦  «        g d¢k    sJ ‚t          g d¢¦  «        g d¢k    sJ ‚t          g d¢¦  «        g d¢k    sJ ‚t          g d¢¦  «        g d¢k    sJ ‚t          g d	¢¦  «        g d
¢k    sJ ‚d S )NrS   r   r    r¢   ©rS   rS   rS   r   r   rŸ  r¤   r¡  r£   )r9   rN   rO   rP   Útest_anf_coeffsrí  ½  sï   € Ý�q˜!�fÑÔ ! Q Ò'Ð'Ð'Ð'Ý�l�l�lÑ#Ô# | | |Ò3Ð3Ð3Ð3Ý�l�l�lÑ#Ô# | | |Ò3Ð3Ð3Ð3Ý�l�l�lÑ#Ô# | | |Ò3Ð3Ð3Ð3Ý�l�l�lÑ#Ô# | | |Ò3Ð3Ð3Ð3Ý�l�l�lÑ#Ô# | | |Ò3Ð3Ð3Ð3Ý�l�l�lÑ#Ô# | | |Ò3Ð3Ð3Ð3Ð3Ð3rO   c                  óP  — t          d¦  «        \  } }t          | gddg¦  «        dk    sJ ‚t          | gddg¦  «        dk    sJ ‚t          | gddg¦  «        t          | dd¬¦  «        k    sJ ‚t          | |gg d¢¦  «        t          dt          | |¦  «        d¬¦  «        k    sJ ‚d S )Nr  rS   Tr   Frç   rì  )r   r:   r   r   r  s     rP   Útest_ANFformrï  Ç  sÐ   € Ý�5‰>Œ>�D€A€qÝ�A�3˜˜A˜ÑÔ 4Ò'Ð'Ð'Ð'Ý�A�3˜˜A˜ÑÔ 5Ò(Ð(Ð(Ð(Ý�A�3˜˜A˜ÑÔ¥3 q¨$¸EÐ#BÑ#BÔ#BÒBÐBÐBÐBÝ�A�q�6˜<˜<˜<Ñ(Ô(Ýˆt•S˜˜A‘Y”Y¨EÐ2Ñ2Ô2ò3ð 3ð 3ð 3ð 3ð 3rO   c                  óà   — t          d¦  «        \  } }t          d| |g¦  «        t          | |¦  «        k    sJ ‚t          ddg| |g¦  «        t          t          |¦  «        | ¦  «        k    sJ ‚d S )Nr  r¦   rS   r   )r   r;   r   r   r  s     rP   Útest_bool_mintermrñ  Ð  so   € Ý�5‰>Œ>�D€A€qÝ˜˜A˜q˜6Ñ"Ô"¥c¨!¨Q¡i¤iÒ/Ð/Ð/Ð/Ý˜˜A˜  A Ñ'Ô'­3­s°1©v¬v°q©>¬>Ò9Ð9Ð9Ð9Ð9Ð9rO   c                  óú   — t          d¦  «        \  } }t          d| |g¦  «        t          t          | ¦  «        |¦  «        k    sJ ‚t          ddg| |g¦  «        t          t          |¦  «        | ¦  «        k    sJ ‚d S )Nr  rV   r   rS   )r   r<   r   r   r  s     rP   Útest_bool_maxtermró  Ö  su   € Ý�5‰>Œ>�D€A€qÝ˜˜A˜q˜6Ñ"Ô"¥b­¨Q©¬°¡m¤mÒ3Ð3Ð3Ð3Ý˜˜A˜  A Ñ'Ô'­2­c°!©f¬f°a©=¬=Ò8Ð8Ð8Ð8Ð8Ð8rO   c                  óª   — t          d¦  «        \  } }t          d| |g¦  «        |k    sJ ‚t          ddg| |g¦  «        t          | |¦  «        k    sJ ‚d S )Nr  rS   )r   r=   r   r  s     rP   Útest_bool_monomialrõ  Ü  sa   € Ý�5‰>Œ>�D€A€qÝ˜˜Q ˜FÑ#Ô# qÒ(Ð(Ð(Ð(Ý˜!˜Q˜ ! Q Ñ(Ô(­C°°1©I¬IÒ5Ð5Ð5Ð5Ð5Ð5rO   c                  ón   — t          g d¢g d¢¦  «        dk    sJ ‚t          g d¢g d¢¦  «        dk    sJ ‚d S )Nr�   r›   rV   rŸ   r»   )r>   rN   rO   rP   Útest_check_pairr÷  â  sN   € Ý�y�y�y ) ) )Ñ,Ô,°Ò1Ð1Ð1Ð1Ý�y�y�y ) ) )Ñ,Ô,°Ò2Ð2Ð2Ð2Ð2Ð2rO   c                  ó   — t           t          z  t          t           z  z  t           t            z  z  } t          t           z  t          t           z  z  t            t           z  z  }t          | d¬¦  «        }|| |fv sJ ‚d S ró   )rL   rM   rK   r,   )rw   Úres1Úresults      rP   Útest_issue_19114rû  ç  sq   € Ý•‰E•a�1˜"‘fÑ¥! ¥q b¡Ñ)€Då•‰E•a�1˜"‘fÑ¥! ¥q b¡Ñ)€DÝ�D 4Ð(Ñ(Ô(€FØ�d˜D�\Ð!Ð!Ð!Ð!Ð!Ð!rO   c                  óV  — t          t          t          t          t          gg d¢¦  «        } t          t           z  t          t          z  t          z  z  t          t           z  t           z  z  t          t           z  t           z  z  t          t           z  t           z  z  }| |k    sJ ‚d S )N)rS   rV   r¦   r  rª   é   é   é	   r¨   é   é   r©   )r   r_   r`   ra   rÀ   )rú  Úexpecteds     rP   Útest_issue_20870r  ï  sˆ   € Ý•a��A�q�\Ð#KÐ#KÐ#KÑLÔL€FÝ•a�R‘�A¥™E¥A™IÑ&­!­q¨b©&µA°2©+Ñ6Ý•a�R‘�1˜"‘ñÝ!"¥a R¡­1¨"¡ñ.€Hà�XÒÐÐÐÐÐrO   c                  óh  — t          g d¢t          t          t          g¦  «        t	          t          t          ¦  «        t          t          t          ¦  «        ¦  «        k    sJ ‚t          g d¢t          t          t          g¦  «        t	          t          t          t          ¦  «        ¦  «        k    sJ ‚d S ©Nr�   )r¦   rS   r   )r?   rs   rt   r|   r   r   rN   rO   rP   Útest_convert_to_varsSOPr  ö  sx   € Ý˜y˜y˜y­1­aµ¨)Ñ4Ô4½½CÅ¹F¼FÅAÅsÍ1ÁvÄvÑ8NÔ8NÒNÐNÐNÐNÝ˜y˜y˜y­1­aµ¨)Ñ4Ô4½½A½sÅ1¹v¼v¹¼ÒFÐFÐFÐFÐFÐFrO   c                  óN  — t          g d¢t          t          t          g¦  «        t	          t          t          t          ¦  «        t          ¦  «        k    sJ ‚t          g d¢t          t          t          g¦  «        t	          t          t          ¦  «        t          ¦  «        k    sJ ‚d S r  )r@   rs   rt   r|   r   r   rN   rO   rP   Útest_convert_to_varsPOSr  û  sr   € Ý˜y˜y˜y­1­aµ¨)Ñ4Ô4½½1½cÅ!¹f¼fÅaÑ8HÔ8HÒHÐHÐHÐHÝ˜y˜y˜y­1­aµ¨)Ñ4Ô4½½3½q¹6¼6Å1¹¼ÒEÐEÐEÐEÐEÐErO   c                  ó:  ‡‡— t          d¦  «        \  ŠŠ} }}t          t          ‰‰¦  «        ¦  «        dk    sJ ‚t          ‰‰| z  |z  |‰z  z  z  ¦  «        dk    sJ ‚t          t          ‰d¦  «        ¦  «        dk    sJ ‚t          t          ˆˆfd„¦  «         d S )Nza:erV   rÿ  Tr   c                  ó(   •— t          ‰ ‰z  ¦  «        S rr   )rB   )r_   r`   s   €€rP   rW   z%test_gateinputcount.<locals>.<lambda>  s   ø€ �n¨Q°©UÑ3Ô3€ rO   )r   rB   r   rD   r]   )ra   rÀ   rc   r_   r`   s      @@rP   Útest_gateinputcountr     s­   øø€ Ý˜E‘N”N�M€A€qˆ!ˆQ�Ý�#˜a ™)œ)Ñ$Ô$¨Ò)Ð)Ð)Ð)Ý˜!˜a !™e a™i¨1¨q©5Ñ1Ñ1Ñ2Ô2°aÒ7Ð7Ð7Ð7Ý�#˜a ™,œ,Ñ'Ô'¨1Ò,Ð,Ð,Ð,Ý
�9Ð3Ð3Ð3Ð3Ð3Ñ4Ô4Ð4Ð4Ð4rO   c                  ó‚  — t          t          dk     t          dk      ¦  «        rJ ‚t          t          dk     t          dk     ¦  «        sJ ‚t          t          dk     dt          k    ¦  «        t          j        u sJ ‚t          t          dk     t          dk     ¦  «        t          dk     k    sJ ‚t          t          dk    t          dk     ¦  «        rJ ‚t          t          dk    t          dk    ¦  «        sJ ‚t          t          dk    dt          k    ¦  «        t          j        u sJ ‚t          t          dk    t          dk    ¦  «        t          dk    k    sJ ‚t          t          dk    t          dk     ¦  «        rJ ‚t          t          dk    t          dk    ¦  «        sJ ‚t          t          dk    dt          k     ¦  «        t          j        u sJ ‚t          t          dk    t          dk    ¦  «        t          dk    k    sJ ‚t          t          dk    t          dk     ¦  «        rJ ‚t          t          dk    t          dk    ¦  «        sJ ‚t          t          dk    dt          k    ¦  «        t          j        u sJ ‚t          t          dk    t          dk    ¦  «        t          dk    k    sJ ‚t          t          t          d¦  «        t          t          d¦  «         ¦  «        rJ ‚t          t          t          d¦  «        t          t          d¦  «        ¦  «        sJ ‚t          t          t          d¦  «        t          dt          ¦  «        ¦  «        t          j        u sJ ‚t          t          t          d¦  «        t          t          d¦  «        ¦  «        t          t          d¦  «        k    sJ ‚t          t          t          d¦  «        t          t          d¦  «         ¦  «        rJ ‚t          t          t          d¦  «        t          dt          ¦  «        ¦  «        t          j        u sJ ‚t          t          t          d¦  «        t          t          d¦  «        ¦  «        sJ ‚t          t          t          d¦  «        t          t          d¦  «        ¦  «        t          t          d¦  «        k    sJ ‚t          t          t          dk    t          dk    ¦  «        t          dk    ¦  «        t          dk    k    sJ ‚t          t          t          dk    t          dk    ¦  «        t          dk    t          dk    z  ¦  «        t          j        u sJ ‚t          t          j	        t          ¦  «        t          j	        t          ¦  «        ¦  «        t          j        u sJ ‚t          t          j	        t          ¦  «        t          j
        t          ¦  «        ¦  «        t          j        u sJ ‚t          t          j	        t          ¦  «        t          j        t          ¦  «        ¦  «        t          j	        t          ¦  «        k    sJ ‚d S rä  )r   rs   r	   r/   rt   r   r   r   r   r€  r  r0   r¯  rN   rO   rP   Útest_refiner    sŽ  € å•a˜!’e�q 1šu˜XÑ&Ô&Ð&Ð&Ð&Ý•!�a’%�!˜aš%Ñ!Ô!Ð!Ð!Ð!Ý•!�a’%˜!�aš%Ñ!Ô!¥Q¤VÐ+Ð+Ð+Ð+Ý•!�a’%�!˜aš%Ñ!Ô!¥a¨!¢eÒ,Ð,Ð,Ð,Ý•a˜1’f¥ Q¢˜iÑ(Ô(Ð(Ð(Ð(Ý•!�q’&�1 š6Ñ#Ô#Ð#Ð#Ð#Ý•!�q’&˜1¥š6Ñ#Ô#¥q¤vÐ-Ð-Ð-Ð-Ý•!�q’&�1 š6Ñ#Ô#­¨QªÒ/Ð/Ð/Ð/Ý•a˜!’e�q 1šu˜XÑ&Ô&Ð&Ð&Ð&Ý•!�a’%�!˜aš%Ñ!Ô!Ð!Ð!Ð!Ý•!�a’%˜!�aš%Ñ!Ô!¥Q¤VÐ+Ð+Ð+Ð+Ý•!�a’%�!˜aš%Ñ!Ô!¥a¨!¢eÒ,Ð,Ð,Ð,Ý•a˜1’f¥ Q¢˜iÑ(Ô(Ð(Ð(Ð(Ý•!�q’&�1 š6Ñ#Ô#Ð#Ð#Ð#Ý•!�q’&˜1¥š6Ñ#Ô#¥q¤vÐ-Ð-Ð-Ð-Ý•!�q’&�1 š6Ñ#Ô#­¨QªÒ/Ð/Ð/Ð/Ý•b�˜A‘h”h¥"¥Q¨¡(¤( Ñ,Ô,Ð,Ð,Ð,Ý•"•Q˜‘(”(�R¥ 1™XœXÑ'Ô'Ð'Ð'Ð'Ý•"•Q˜‘(”(�R ¥1™XœXÑ'Ô'­1¬6Ð1Ð1Ð1Ð1Ý•"•Q˜‘(”(�R¥ 1™XœXÑ'Ô'­2­a°©8¬8Ò3Ð3Ð3Ð3Ý•b�˜A‘h”h¥"¥Q¨¡(¤( Ñ,Ô,Ð,Ð,Ð,Ý•"•Q˜‘(”(�R ¥1™XœXÑ'Ô'­1¬6Ð1Ð1Ð1Ð1Ý•"•Q˜‘(”(�R¥ 1™XœXÑ'Ô'Ð'Ð'Ð'Ý•"•Q˜‘(”(�R¥ 1™XœXÑ'Ô'­B­q°!©H¬HÒ5Ð5Ð5Ð5õ •#•a˜!’e�Q šUÑ#Ô#¥a¨!¢eÑ-Ô-µ!°a²%Ò8Ð8Ð8Ð8Ý•#•a˜!’e�Q šUÑ#Ô#¥a¨!¢eµ°A²Ñ%6Ñ7Ô7½1¼6ÐAÐAÐAÐAõ •!”*�Q‘-”-¥¤­A¡¤Ñ/Ô/µ1´6Ð9Ð9Ð9Ð9Ý•!”*�Q‘-”-¥¤­A¡¤Ñ/Ô/µ1´7Ð:Ð:Ð:Ð:Ý•!”*�Q‘-”-¥¤­¡¤Ñ+Ô+­q¬z½!©}¬}Ò<Ð<Ð<Ð<Ð<Ð<rO   c                  ón  — ddl m}  ddlm}  | d¦  «        } | d¦  «        } | d¦  «        }|||g}t           |¦   «         gg}t          t          t          t          t          dd¦  «        ¦  «        dz  d¦  «        ¦  «        ¦  «        }d	„ |D ¦   «         }|D ]™\  }}	|	D ]‘}
 ||
d         j	        Ž }|
d
         }|D ]t}t          t          ||¦  «        ¦  «        }|                     |¦  «        }|                     |¦  «        }||k    s%J d                     |
d         ||¦  «        ¦   «         ‚ŒuŒ’Œšd S )Nr   rÉ  )Ú_simplify_patterns_and3r_   r`   ra   r@  r¦   c                 ób   — g | ],}t          d „ |D ¦   «         ¦  «        st          |¦  «        °*|‘Œ-S )c              3   ó    K  — | ]	}|d z  V — Œ
dS rÐ  rN   rÑ  s     rP   r  z[test_relational_threeterm_simplification_patterns_numerically.<locals>.<listcomp>.<genexpr>7  rÒ  rO   rÓ  rÕ  s     rP   rÖ  zQtest_relational_threeterm_simplification_patterns_numerically.<locals>.<listcomp>7  r×  rO   rS   rØ  )rÙ  rÊ  rÚ  r  r   rd  r”  rG   rz  rM  rº  rù   rÛ  r»  )rÊ  r  r_   r`   ra   r¾  rÜ  r¿  rL  rÝ  rÞ  r¼  r½  rÀ  rÁ  rÂ  rÃ  s                    rP   Ú=test_relational_threeterm_simplification_patterns_numericallyr  -  s–  € ØÐÐÐÐÐØ;Ð;Ð;Ð;Ð;Ð;ØˆˆS‰	Œ	€AØˆˆS‰	Œ	€AØˆˆS‰	Œ	€AØˆq�!ˆ9€DÝÐ1Ð1Ñ3Ô3Ð4Ð5€LÝ•S�¥d­5°°Q©<¬<Ñ&8Ô&8¸1Ñ&<¸aÑ@Ô@ÑAÔAÑBÔB€IàMÐM˜IÐMÑMÔM€IØ)ð 
fð 
fÑˆˆkØ"ð 		fð 		fˆGØ�t˜W QœZœ_Ð-ˆHØ  œˆJØ#ð fð f�Ý�s 4¨Ñ0Ô0Ñ1Ô1�Ø (× 1Ò 1°'Ñ :Ô :�Ø",×"5Ò"5°gÑ">Ô">�Ø$¨Ò7Ð7Ð7ð :>ç>DºfÀWÈQÄZÐQ[Ð]dÑ>eÔ>eñ 8Ô7Ð7Ð7ð	fð		fð
fð 
frO   c                  óL  — t          t          t          t          ¦  «        t	          t          t
          ¦  «        ¦  «        } t          | t           ¦  «        sJ ‚t          | j        ¦  «        t          t          t          ¦  «        t	          t          t
          ¦  «        hk    sJ ‚d S rr   )	r   r   r_   ra   r   r`   rn   r”  rM  r³  s    rP   Útest_issue_25451r  E  sk   € Ý
�3�q•!‰9Œ9•b��A‘h”hÑÔ€AÝ�a�ÑÔÐÐÐÝˆqŒv‰;Œ;�3�q¥!™9œ9¥b­­A¡h¤hÐ/Ò/Ð/Ð/Ð/Ð/Ð/rO   c                  ó  — t          d¦  «        \  } }}}t          |t          | |¦  «        t          | |¦  «        ¦  «        }t          | |t          | |¦  «        ¦  «        }t          t          |t          ||¦  «        ¦  «        t          ||¦  «        ¦  «        }t          t          t          t          |t          ||¦  «        ¦  «        ¦  «        t          ||¦  «        ¦  «        ¦  «        }||k    sJ ‚||k    sJ ‚d S r`  )r   r   r   r6   )r_   r`   ra   rÀ   rs   rt   rú  Ú
result_anfs           rP   Útest_issue_26985r  K  sÕ   € Ý˜Ñ#Ô#�J€A€qˆ!ˆQõ 	ˆA�s�1�a‰yŒy�#˜a ™)œ)Ñ$Ô$€AÝˆAˆq•#�a˜‘)”)ÑÔ€Aõ •�Q�˜A˜q™	œ	Ñ"Ô"¥C¨¨1¡I¤IÑ.Ô.€FÝ��F¥3 q­#¨a°©)¬)Ñ#4Ô#4Ñ5Ô5µs¸1¸a±y´yÑAÔAÑBÔB€Jà˜Š?ˆ?ˆ?ˆ?Ø�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;rO   N)·Úsympy.assumptions.askr   Úsympy.assumptions.refiner   Úsympy.core.numbersr   Úsympy.core.relationalr   r   r   Úsympy.core.singletonr	   Úsympy.core.symbolr
   r   Úsympy.functionsr   Ú(sympy.functions.elementary.trigonometricr   r   Úsympy.sets.setsr   r   Úsympy.sets.containsr   Úsympy.simplify.simplifyr   rÚ  r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   Úsympy.assumptions.cnfrC   Úsympy.testing.pytestrD   rE   rF   Ú	itertoolsrG   rH   rI   rK   rL   rM   ro   r_   r`   ra   rÀ   rc   r}   rs   rt   r|   rQ   rh   rk   rp   rx   rz   r~   r€   r„   r†   rˆ   rŠ   r�   r‘   r“   r˜   rÄ   rÈ   rÊ   rÍ   rÐ   rÓ   rÖ   rØ   rÚ   rÞ   rà   râ   rä   rê   rí   rð   r
  r  r  r  r  r   r"  r$  r'  r0  r3  r5  r>  rF  rI  rP  rR  rU  rX  rZ  r^  ra  re  r|  r…  rˆ  r‘  r˜  r›  r§  r«  r±  r´  r¶  rÇ  rß  rá  rê  rí  rï  rñ  ró  rõ  r÷  rû  r  r  r  r  r  r  r  r  rN   rO   rP   ú<module>r&     s·  ðØ #Ð #Ð #Ð #Ð #Ð #Ø +Ð +Ð +Ð +Ð +Ð +Ø !Ð !Ð !Ð !Ð !Ð !Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø "Ð "Ð "Ð "Ð "Ð "Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø (Ð (Ð (Ð (Ð (Ð (Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð &Ð %Ð %Ð %Ð %Ð %à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9àˆW�U‰^Œ^�
€€1€aˆØ#˜G IÑ.Ô.Ñ €€1€aˆˆAˆq�!�Q˜ð	ð 	ð 	ðJð Jð Jð0)ð )ð )ð,9ð 9ð 9ð24ð 4ð 4ð
3ð 3ð 3ð
9ð 9ð 9ð
2ð 2ð 2ð
ð ð ð(ð (ð (ð(ð (ð (ð'ð 'ð 'ð$ð ð ð>ð >ð >ð(0ð 0ð 0ð?ð ?ð ?ðq(ð q(ð q(ðh@ð @ð @ð2	ð 	ð 	ð"ð "ð "ð$
4ð 
4ð 
4ððð ð ð&ð &ð &ð*ð *ð *ðð ð ð5ð 5ð 5ð'ð 'ð 'ð'ð 'ð 'ðSð Sð Sð.ð .ð .ð.;ð ;ð ;ð8"ð "ð "ð 
6ð 
6ð 
6ð8ð 8ð 8ð>ð >ð >ð"ð "ð "ð/ð /ð /ð+ð +ð +ð	Lð 	Lð 	Lð)ð )ð )ð)ð )ð )ð+4ð +4ð +4ð\%ð %ð %ðð ð ð&CAð CAð CAðLLð Lð Lð$ ðGð Gñ „ðGðð ð ð$ð $ð $ð
!ð !ð !ð
3ð 3ð 3ð/ð /ð /ð
8ð 8ð 8ð
/ð /ð /ðOð Oð Oðð ð ð&&ð &ð &ð#ð #ð #ð
1ð 1ð 1ð.ð .ð .ð"Hð Hð Hð#ð #ð #ð:(ð (ð (ð@9ð @9ð @9ðF3ð 3ð 3ð9ð 9ð 9ð
 ðHð Hñ „ðHð<fð fð fð63ð 3ð 3ðAð Að Að4ð 4ð 4ð3ð 3ð 3ð:ð :ð :ð9ð 9ð 9ð6ð 6ð 6ð3ð 3ð 3ð
"ð "ð "ðð ð ðGð Gð Gð
Fð Fð Fð
5ð 5ð 5ð"=ð "=ð "=ðJfð fð fð00ð 0ð 0ðð ð ð ð rO   