Ë
    7^(hTÂ  ã            	       óæ  — 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¶yg)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 ‚y)z)Test that |, & are overloaded as expectedN)ÚAÚBr   r   ÚCr   r   r   © ó    ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/logic/tests/test_boolalg.pyÚtest_overloadingrQ   !   s±   € ô Œq‰5”Cœœ1“IÒÐÐÜŒq‰5”B”qœ!“HÒÐÐÜ”‰E”Q‰;œ"œS¤¤A›Y¬Ó*Ò*Ð*Ð*Ü”‰6”WœQ¤“]Ò"Ð"Ð"Ü”‰6”WœQ¤“]Ò"Ð"Ð"Üˆ2””Q“Š<Ðˆ<ÜŒq‰5”Cœœ1“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kD  } t        | | j                  «      | j                  k(  sJ ‚t        t        kD  t        t        k  t        t        k\  t        t        k  f\  }}}}t        ||||«      t        ||«      k(  sJ ‚t        ||||f«      D �ch c]
  }t        |Ž ’Œ c}t        ||«      hk(  sJ ‚t        t        t        t        d«      t        t        d«      «      t        t        t        d«      t        t        d«      «      «      t        u sJ ‚y c c}w )NTFé   c                  ó"   — t        dt        «      S ©Né   )r   rK   rN   rO   rP   ú<lambda>ztest_And.<locals>.<lambda>;   s   € œc !¤Q›i€ rO   r   )r   r/   rK   r0   rD   Ú	TypeErrorÚ	canonicalrL   rH   r   ÚaÚbr   Úc)ÚeÚgÚlÚgeÚleÚis         rP   Útest_Andrc   -   s  € Ü‹5”D‰=Ðˆ=ÜŒq‹6”QŠ;Ðˆ;Üˆt‹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Ñ'Ô(ÜŒ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Ö:˜ŒC�ŠGÒ:¼sÀ2Àq»z¸lÒJÐJÐJÜŒs”2”a˜“8œR¤ 1›XÓ&¬¬B¬q°!«H´b¼¸A³hÓ(?Ó@ÄEÑIÐIÑIùò ;s   Ç%I(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        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kD  } t        | | j                  «      | k(  sJ ‚t        t        kD  t        t        k  t        t        k\  t        t        k  f\  }}}}t        ||||«      t        ||«      k(  sJ ‚y )NTFrS   c                  ó"   — t        dt        «      S rU   )r   rK   rN   rO   rP   rW   ztest_Or.<locals>.<lambda>S   s   € œb ¤A›h€ rO   )r   r0   rK   r/   rD   rX   rY   rL   )r]   r^   r_   r`   ra   s        rP   Útest_Orrf   E   s‘  € Ü‹4”5‰=Ðˆ=ÜŒa‹5”AŠ:Ðˆ:Üˆd‹8”tÑÐÐÜˆe‹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”tÑÐÐÜ
Œ9Ñ&Ô'ÜŒa�!‰e”Q˜!‘VÓ¤Ñ$Ð$Ð$Ü	ˆA‰€AÜˆa�—‘Ó Ò"Ð"Ð"Ü”q‘5œ!œa™%¤¤a¡¬¬a©Ð/�L€A€qˆ"ˆbÜˆa��B˜Óœr ! R›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J ‚ J ‚t        dkD  } t        | | j                  «      t        dd«      cxk(  rt        dd«      k(  sJ ‚ J ‚y ©NTFrS   r   )	r   r0   rK   r/   rL   Ú
isinstancerM   ÚDrY   )r]   s    rP   Útest_Xorrk   [   s.  € Ü‹5”E‰>Ðˆ>ÜŒq‹6”QŠ;Ðˆ;ÜŒq”!‹9œÑÐÐÜˆt”Qœ‹?œdÑ"Ð"Ð"ÜŒq”!”Qœœ1Ó¤Ò"Ð"Ð"Üˆt�U˜E¤1¤aÓ(¬S´´A«Y¨JÒ6Ð6Ð6Üˆt‹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¤Ô%Ð%Ð%ÜŒq”!”SœœA“YÓ¤3¤q¬!¬Q´£?Ò2Ð2Ð2ÜŒq”!”SœœA“YÓ¤3¤q¬!£9Ò,Ð,Ð,ÜŒq�1‰u”a˜1‘fœaÓ ¤C¨¨1¬a£LÔ@´C¸¸1¼a³LÒ@Ð@Ñ@Ð@Ð@Ü	ˆA‰€AÜˆq�!—+‘+Ó¤# a¨£)Ô8¬s°1°a«yÒ8Ð8Ñ8Ð8Ñ8rO   c                  óˆ   — t         t        z  } | j                  t        «      t         t        z  t          t         z  z  k(  sJ ‚y ©N)ÚxÚyÚrewriter   ©Úexprs    rP   Útest_rewrite_as_Andrs   t   s3   € ÜŒq‰5€DØ�<‰<œÓ¤¤Q¡¬A¨2´°©7Ñ 3Ò3Ð3Ñ3rO   c                  óˆ   — t         t        z  } | j                  t        «      t         t         z  t        t          z  z  k(  sJ ‚y rm   )rn   ro   rp   r   rq   s    rP   Útest_rewrite_as_Orru   y   s3   € ÜŒq‰5€DØ�<‰<œÓ¤¤Q B¡¬1´¨r©6Ñ2Ò2Ð2Ñ2rO   c                  óª   — t         t        z  t        t         z  z  } | j                  t        «      t         t        z   t        t         z   z   k(  sJ ‚y rm   )ro   ÚzÚwrp   r   rq   s    rP   Útest_rewrite_as_Nandry   ~   sC   € Ü”‰E”aœ1˜"‘fÑ€DØ�<‰<œÓ¤Q¬¡U 8´´Q°B±¨iÑ#7Ð!8Ò8Ð8Ñ8rO   c                  óŽ   — t         t        t         z  z  } | j                  t        «      t          t        t         z   z   k(  sJ ‚y rm   )rw   ro   rx   rp   r   rq   s    rP   Útest_rewrite_as_Norr{   ƒ   s9   € Ü””Q�B‘‰<€DØ�<‰<œÓ¤1 "¬¬a¨R© y¡.Ð 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 ‚y )Nc                  ó   — t        dd«      S ©NTF)r   rN   rO   rP   rW   ztest_Not.<locals>.<lambda>‰   s   € œc $¨Ó.€ rO   TFr   rS   rV   )rD   rX   r   r0   r/   rN   rO   rP   Útest_Notr   ˆ   sa   € Ü
Œ9Ñ.Ô/Üˆt‹9œÑÐÐÜˆu‹:œÑÐÐÜˆq‹6”T‰>Ðˆ>Üˆq‹6”U‰?Ðˆ?Üˆq‹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 ‚y r~   )r   r0   rK   r/   rN   rO   rP   Ú	test_Nandr�   ‘   sö   € Ü‹6”U‰?Ðˆ?Ü”‹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 ‚y r~   )r   r/   rK   r0   rN   rO   rP   Útest_Norrƒ       só   € Ü‹5”D‰=Ðˆ=ÜŒq‹6”a�RŠ<Ðˆ<Üˆt‹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 ‚y r~   )r    r/   rK   r0   rN   rO   rP   Ú	test_Xnorr…   ¯   s>  € Ü‹6”T‰>Ðˆ>Ü”‹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
        kD  z	  t        u sJ ‚t
        t
        z	  t        u sJ ‚y )Nc                  ó4   — t        t        t        t        «      S rm   )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Ü�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‘uœq‘yÑ!¤TÑ)Ð)Ð)Ü”‰6”T‰>Ð‰>rO   c                  ó¤  — t        t        t        «      t        t        t        «      cxk(  rt        t        t        t        «      k(  sJ ‚ J ‚t        «       t        u sJ ‚t        t        t        «      t        t        «      cxk(  r	t        u sJ ‚ J ‚t        dd«      t        dd«      cxk(  r	t        u sJ ‚ J ‚t        dd«      t        dd«      cxk(  r	t        u sJ ‚ 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        «      k7  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        kD  «      t        dd«      cxk(  rt        dd«      k(  sJ ‚ J ‚t        t        t        t        «      t        t        t        «      «      t        u sJ ‚y rh   )
r   rK   rL   r/   r0   r   rM   r	   r‰   r   rN   rO   rP   Útest_EquivalentrŒ   Ð   s*  € Ü”aœÓœz¬!¬QÓ/ÔF´:¼aÄÄAÓ3FÒFÐFÑFÐFÐFÜ‹<œ4ÑÐÐÜ”aœÓœz¬!›}Ô4´Ñ4Ð4Ñ4Ð4Ð4Ü�d˜DÓ!¤Z°°uÓ%=ÔEÄÑEÐEÑEÐEÐEÜ�d˜EÓ"¤j°¸Ó&=ÔFÄÑFÐFÑFÐFÐFÜ”a˜Ó¤!Ò#Ð#Ð#Ü”a˜Ó¤3¤q£6Ò)Ð)Ð)Ü”aœ˜DÓ!¤Q¬¡UÒ*Ð*Ð*Ü”aœ˜EÓ"¤q b¬A¨2¡gÒ-Ð-Ð-Ü�aœÓœqÒ Ð Ð Ü�aœÓœs¤1›vÒ%Ð%Ð%Ü”aœ¤A¤qÓ)Ó*¬j¼ÄAÄqÓ9IÌ1Ó.MÒMÐMÐMÜ”a˜!‘eœQ !™VÓ$¬Ñ-Ð-Ð-Ü”a˜!‘eœQ !™V QÓ'¬5Ñ0Ð0Ð0Ü”a˜!‘eœQ !™V QÓ'¬5Ñ0Ð0Ð0Ü”a˜!‘eœQŸU™U¤Q™YÓ'¬:°a¸Ó+;ÔO¼zÈ!ÈQÓ?OÒOÐOÑOÐOÐOÜ”hœq¤!“n¤h¬q´!£nÓ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 ‚y )NFT)rA   r/   r0   rN   rO   rP   Útest_ExclusiverŽ   ä   s^   € Ü�U˜E 5Ó)¬TÑ1Ð1Ð1Ü�T˜5 %Ó(¬DÑ0Ð0Ð0Ü�T˜4 Ó'¬5Ñ0Ð0Ð0Ü�T˜4 Ó&¬%Ñ/Ð/Ñ/rO   c                  ó°  — t        t        t        t        «      «      j	                  t        t        t        «      t        t        «      «      «      du sJ ‚t        t        t        «      j	                  t        t        z	  t        t        z	  z  «      du sJ ‚t        t         z  t         t        z  z  j	                  t         t         z  t        t        z  z  «      du sJ ‚t        t        z	  j	                  t         t         z	  «      du sJ ‚t        t        t        z	  z	  j	                  t        t        t        z	  z	  «      du sJ ‚t        t        d„ «       y )NTFc                  óP   — t         t        z  j                  t         t        kD  «      S rm   )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‹=×Ñ¤¤C¬£F¬C´«FÓ 3Ó4¸Ñ<Ð<Ð<Ü”aœÓ×"Ñ"¤A¬¡F¬q´A©vÑ#6Ó7¸4Ñ?Ð?Ð?Ü”!�‰Vœ˜œQ™Ñ×'Ñ'¬!¨¬q¨b©´Q¼±UÑ(;Ó<ÀÑDÐDÐDÜ”‰F�?‰?œA˜2¤! ™8Ó$¨Ñ-Ð-Ð-Ü”!”q‘&‰M×!Ñ!¤!¬¬Q©¡-Ó0°EÑ9Ð9Ð9Ü
ÔÑ =Õ>rO   c                  óà  ‡— 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        kD  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        «      «      j+                  «       t        t1        t        d«      t1        t        d«      «      k(  sJ ‚t        t3        t        dz
  d«      t3        t        t        «      «      j+                  «       t        t3        t        d«      t3        t        t        «      «      k(  sJ ‚t        t1        t        dz
  d«      t3        t        t        «      «      j+                  «       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«      «      j+                  «       t        t1        t        d«      t1        t        d#«      t1        t        d«      «      k(  sJ ‚t        t1        t        dz
  d«      t1        t        dz   d«      «      j+                  «       t1        t        d«      k(  sJ ‚t        t3        t        dz
  d«      t3        t        dz   d«      «      j+                  «       t3        t        d«      k(  sJ ‚t        t1        t        dz
  d«      t1        t        dz   d«      «      j+                  «       d!k(  sJ ‚t        t3        t        dz
  d«      t3        t        dz   d«      «      j+                  «       t        t3        t        d«      t3        t        d«      «      k(  sJ ‚t+        t5        t        t         «      «      d"k(  sJ ‚y$)%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                  óD   •— t        t        t        t        t        g‰ «      S rm   )r   rx   rn   ro   rw   ©Úmintermss   €rP   rW   z-test_simplification_boolalg.<locals>.<lambda>#  ó   ø€ œw¬¬1¬a´ |°XÓ>€ rO   c                  óD   •— t        t        t        t        t        g‰ «      S rm   ©r   rx   rn   ro   rw   r§   s   €rP   rW   z-test_simplification_boolalg.<locals>.<lambda>$  r©   rO   c                  óD   — 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                  ó@   — 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€ rO   za b c d e f g h j)Údontcarec                  ó.   — t        t        gdggdgg«      S ©NrS   )r   rn   rN   rO   rP   rW   z-test_simplification_boolalg.<locals>.<lambda>L  ó   € œw¬ s¨a¨S¨E°Q°C°5Ó9€ rO   c                  ó.   — t        t        gdggdgg«      S r³   )r   rn   rN   rO   rP   rW   z-test_simplification_boolalg.<locals>.<lambda>Q  r´   rO   FTéÿÿÿÿN)r   rn   ro   rw   r   r   r   r   r/   r
   rx   rD   rˆ   rX   rK   rL   rM   r)   r   r   r   r   r   r0   r   r   r   )Úset1Úset2Ú	dontcaresÚansr[   r]   rZ   r\   ÚdÚfr^   ÚhÚjrr   r¨   s                 @rP   Útest_simplification_boolalgr¿   ô   s€
  ø€ ò ’y¢)ªYÐ7€DÚ’y¢)ªYÐ7€DÜ”A”qœ!�9˜dÓ#¤r¬#¬c´!«f´a«.¼#¼cÄ!»fÄa».Ó'IÒIÐIÐIÜŒwœœ1œa�y $Ó'Ó(ÜŒr”#”cœ!“fœc¤!›fÓ%¤s¬1¬a£yÓ1Ó2ò3ð 3ð 3ä”A”qœ!�9˜d T™kÓ*¬dÑ2Ð2Ð2Ü”A”qœ!�9˜d T™kÓ*¬dÑ2Ð2Ð2Ü”E“GœU›W¤e£gÐ.°°t±Ó<ÄÑDÐDÐDâšlªLº,Úð€Hâš|ª\Ð:€Iä””A”qœ!�˜h¨	Ó2Ü
Œ3Œq”!‹9”cœ#œa›&¤#¤a£&Ó)Ó*ò	+ð,ð	+ä”A”qœ!œQ�< ¨9Ó5¼¼RÄÄAÃÌ»]ÌAÓ9NÒNÐNÐNâ €HÚ€Iä””A”qœ!�˜h¨	Ó2Ü
Œ3Œq”!‹9”cœ#œa›&¤#¤a£&Ó)Ó*ò	+ð,ð	+ä”A”qœ!œQ�< ¨9Ó5¼¼RÄÄAÃÌ»]ÌAÓ9NÒNÐNÐNà’< ¢LÚð€Hà’L !Ð$€Iä””A”qœ!�˜h¨	Ó2Ü
Œ3Œq”!‹9”cœ#œa›&¤#¤a£&Ó)Ó*ò	+ð,ð	+ä”A”qœ!œQ�< ¨9Ó5¼¼RÄÄAÃÌ»]ÌAÓ9NÒNÐNÐNà”A�qœ!˜Q�<Ð €HØ’L !Ð$€Iä””A”qœ!�˜h¨	Ó2Ü
Œ3Œq”!‹9”cœ#œa›&¤#¤a£&Ó)Ó*ò	+ð,ð	+ä”A”qœ!œQ�< ¨9Ó5¼¼RÄÄAÃÌ»]ÌAÓ9NÒNÐNÐNä�A”q˜!�˜aÐ €HÚ�€Iâˆ{€HÜ
Œ:Ó>Ô?Ü
Œ:Ó>Ô?ä
Œ9Ñ@ÔAô Œa””A”q“Ó
€CÜœ!œq¤1™u™+Ó&¨#Ò-Ð-Ð-Üœ1œq™5¤Q¬¡UÑ+Ó,°Ò3Ð3Ð3Üœ'¤!¤Q›-Ó(¬B¬s´1«v´q«MÒ9Ð9Ð9Üœ*¤Q¬Ó*Ó+ÜŒc”!”Q‹iœœS¤›V¤S¬£VÓ,Ó-ò.ð .ð .äœ#œh¤q¨!›n¬aÓ0Ó1´S¼Ä!ÀQ»ÌÓ5KÒKÐKÐKÜœ#œh¤q¨!›n¬aÓ0Ó1´S¼Ä!ÀQ»ÌÓ5KÒKÐKÐKÜœ#œh¤q¬!›n¬aÓ0Ó1´S¼Ä!ÄQ»ÌÓ5KÒKÐKÐKÜœ"œS¤¬!¨Q£´Ó3´S¼Ä!ÀQ»ÌÓ5KÓLÓMÜ”(œ1˜a“.¤"¤Q¬£(Ó+ò,ð ,ð ,ä
ˆŒqˆb‰”A�2‰œ1˜"¤˜r™'¤A™+Ñ&€AÜŒAˆq‹	€AÜ˜!Ó¤¤Q B¡¬!¨¡Ò+Ð+Ð+Ü
Œ:ÑIÔ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ô ”1”a�&˜A˜q˜6˜(Ó
#€CÜ”A”q�6˜Q ˜F˜8Ó$¨Ò+Ð+Ð+Ü”A”q�6˜Q ˜F˜8Ó$¨Ò+Ð+Ð+ä
Œ:Ñ9Ô:Ü”A�3˜!˜˜  ˜uÓ%¬Ñ-Ð-Ð-Ü”A�3˜!˜˜  ˜uÓ%¬Ñ-Ð-Ð-Ü”A�3˜˜BÓ¤5Ñ(Ð(Ð(ä
Œ:Ñ9Ô:Ü”A�3˜!˜˜  ˜uÓ%¬Ñ-Ð-Ð-Ü”A�3˜!˜˜  ˜uÓ%¬Ñ-Ð-Ð-Ü”A�3˜˜BÓ¤5Ñ(Ð(Ð(ô ”Qœ‘Uœq¤1™uÑ%Ó&¬#¬a´´A´q³Ó*:Ò:Ð:Ð:Ü”Cœœ3œq›6“NÓ# uÒ,Ð,Ð,Ü”B”qœ#œa›&“MÓ" dÒ*Ð*Ð*Ü”Cœœ1˜a›¤"¤Q¬£(Ó+Ó,´´B´q¸!³H¼bÄÀA»hÓ0GÒGÐGÐGÜŒr”!�a‘%˜‹|œR¤¤1›XÓ&×/Ñ/Ó1´S¼¼A¸q»Ä2ÄaÈÃ8Ó5LÒLÐLÐLÜŒr”!�a‘%˜‹|œR¤¤1›XÓ&×/Ñ/Ó1´S¼¼A¸q»Ä2ÄaÌÃ8Ó5LÒLÐLÐLÜŒr”!�a‘%˜‹|œR¤¤1›XÓ&×/Ñ/Ó1´S¼¼A¸q»Ä2ÄaÈÃ8Ó5LÒLÐLÐLÜŒr”!�a‘%˜‹|œR¤¤1¤q¡5›\¬2¬a´!©e°Q«<Ó8×AÑAó Ü	ŒR”�1‹X”rœ!˜R“y¤"¤Q¨£(Ó	+ò,ð ,ð ,äŒr”!�a‘%˜‹|œR¤ A¡ q›\Ó*×3Ñ3Ó5¼¼A¸q»ÒAÐAÐAÜŒr”!�a‘%˜‹|œR¤ A¡ q›\Ó*×3Ñ3Ó5¼¼A¸q»ÒAÐAÐAÜŒr”!�a‘%˜‹|œR¤ A¡ q›\Ó*×3Ñ3Ó5¸Ò>Ð>Ð>ÜŒr”!�a‘%˜‹|œR¤ A¡ q›\Ó*×3Ñ3ó Ü	ŒR”�1‹X”rœ!˜Q“xÓ	 ò!ð !ð !ä”CœœA˜2“JÓ 4Ò'Ð'Ñ'rO   c            
      óÊ  — 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k7  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 ‚y
)z,
    Test working of bool_map function.
    r›   rœ   r�   rž   rŸ   r™   Fr•   r—   N)r.   r   rZ   r   rx   rn   ro   rw   r   r   r   r[   r\   r   )r¨   Ú	function1Ú	function2s      rP   Útest_bool_maprÃ   h  sû  € ò
 šlªLº,Úð€Hä”CœœA›“K¤Ó#¬¬A¬q¨6 {Ò2Ð2Ð2Ü”GœQ¤¤1¤a˜L¨(Ó3ÜœQ¤¤1¤a˜L¨(Ó3ó5ä””3”q“6œ1“œr¤#¤a£&¬!›}¬aÓ0´1´a¼¼A¼qÄ!ÄQÌÐ2JÐKòLð Lð Lô ”GœQ¤¤1˜Iª	 {Ó3ÜœQ¤¤1˜Iª	 {Ó3ó5Ø8=ò>ð >ð >äœœAœq˜	¢IªyÐ#9Ó:€IÜœœAœq˜	¢IªyÐ#9Ó:€IÜ�I˜yÓ)Øœœ1œa¤�|Ð$ò%ð %ð %ä”Cœœ1“I¤¤A¤q£	˜zÓ*¨eÒ3Ð3Ð3Ü”Cœœ1“Iœr¤!¤Q›xÓ(Ð0Ð0Ð0Ü”Cœœ1“Iœs¤1¤a¬›|Ó,Ð4Ð4Ð4ä”Cœœ1œa“L¤3¤q¬!¬Q£< -Ó0°EÒ9Ð9Ð9Ü”Cœœ1œa¤“O¤c¬!¬Q´´1£oÐ%5Ó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 ‚y)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                  ó6  — t        dt        «      du sJ ‚t        t        t        «      du sJ ‚ddk(  sJ ‚dt        k7  sJ ‚dt        k(  du sJ ‚ddk(  sJ ‚dt        k7  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        «      k7  sJ ‚t        t
        t        «      sJ ‚y rh   )ri   r   r/   r0   Ú
is_BooleanrK   rL   rN   rO   rP   Útest_is_booleanrÈ   �  s  € Ü�dœGÓ$¨Ñ-Ð-Ð-Ü”dœGÓ$¨Ñ,Ð,Ð,Ø�Š9Ðˆ9Ø”Š9Ðˆ9Ø”‰I˜%ÑÐÐØ�Š:Ðˆ:Ø”Š:Ðˆ:Ø”‰J˜5Ñ Ð Ð Ü�?‰?˜dÑ"Ð"Ð"Ü”‰E×ÒÐÐÜ”‰E×ÒÐÐÜˆB�?Š?Ðˆ?Ü”‰E×ÒÐÐÜ�<‰<œ:¤a¬Ó1Ò1Ð1Ð1Ü”aœÔ!Ð!Ñ!rO   c                  ó\  — t         t        z  j                  t         d«      t        k(  sJ ‚t         t        z  j                  t         d«      t        u sJ ‚t         t        z  j                  t        d«      t         k(  sJ ‚t         t        z  j                  t        d«      t        u sJ ‚t         t        z  j                  t         dt        di«      t        u sJ ‚t         t        z  j                  t         d«      t        u sJ ‚t         t        z  j                  t         d«      t        k(  sJ ‚t         t        z  j                  t        d«      t        u sJ ‚t         t        z  j                  t        d«      t         k(  sJ ‚t         t        z  j                  t         dt        di«      t        u sJ ‚y r~   )rK   rL   Úsubsr0   r/   rN   rO   rP   Ú	test_subsrË   Ÿ  s2  € Ü”‰E�<‰<œ˜4Ó ¤AÒ%Ð%Ð%Ü”‰E�<‰<œ˜5Ó!¤UÑ*Ð*Ð*Ü”‰E�<‰<œ˜4Ó ¤AÒ%Ð%Ð%Ü”‰E�<‰<œ˜5Ó!¤UÑ*Ð*Ð*Ü”‰E�<‰<œ˜D¤! TÐ*Ó+¬tÑ3Ð3Ð3Ü”‰E�<‰<œ˜4Ó ¤DÑ(Ð(Ð(Ü”‰E�<‰<œ˜5Ó!¤QÒ&Ð&Ð&Ü”‰E�<‰<œ˜4Ó ¤DÑ(Ð(Ð(Ü”‰E�<‰<œ˜5Ó!¤QÒ&Ð&Ð&Ü”‰E�<‰<œ˜D¤! TÐ*Ó+¬tÑ3Ð3Ñ3rO   c                  óp   — t        t        t        d«      «      \  } }| |z  || z  k(  sJ ‚| |z  || z  k(  sJ ‚y)z$Test for commutativity of And and OrzA,BN)Úmapr   r   )rK   rL   s     rP   Útest_commutativerÎ   ²  s>   € äŒwœ ›Ó'�D€A€qàˆq‰5�A˜‘EŠ>Ðˆ>Øˆq‰5�A˜‘EŠ>Ð‰>rO   c                  óZ   — t         t        z  t        z  t         t        t        z  z  k(  sJ ‚y)zTest for associativity of AndN©rK   rL   rM   rN   rO   rP   Útest_and_associativityrÑ   º  s"   € ô ”‰E”Q‰;œ!œq¤1™u™+Ò%Ð%Ñ%rO   c                  óZ   — t         t        z  t        z  t         t        t        z  z  k(  sJ ‚y rm   rÐ   rN   rO   rP   Útest_or_assicativityrÓ   À  s    € Ü”‰U”a‰KœQ¤!¤a¡%™[Ò)Ð)Ñ)rO   c                  ó*   — t        «       } |   | k(  sJ ‚y rm   )r   )rZ   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 ‚y )NF©Úevaluate)	r%   r   rK   rL   rM   r   r   r   rj   rN   rO   rP   Útest_eliminate_implicationsrÙ   Ë  s´   € Ü!¤'¬!¬Q¸Ô"?Ó@ÄaÀRÌ1ÁHÒLÐLÐLÜ!Ü	Œa”3”q“6‰kÑóÜ!¤"¤S¬£V¬S´«VÓ"4´c¼!³fÓ=ò>ð >ð >ä!¤*¬Q´´1´aÓ"8Ó9ÜˆB”‰Fœ�rœA‘vÑ¤1 "¤q¡&Ñ)¬a¨R´!©VÑ4ò5ð 5ñ 5rO   c                  óB  — 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 ‚y 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                  óF  — 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 ‚y 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Ü”Q‹<œA˜3ÒÐÐÜ�T‹?˜t˜fÒ$Ð$Ð$Ü�UÓ ˜wÒ&Ð&Ñ&rO   c            	      ó8  — 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 ‚y rm   )	r$   r   r   rK   rL   rM   r#   r8   r   rN   rO   rP   Útest_distributerß   ã  s›   € Ü!¤"¤S¬¬A£Y´Ó"2Ó3´s¼2¼aÄ»8ÄRÌÌ1ÃXÓ7NÒNÐNÐNÜ!¤#¤a¬¬A¬q«Ó"2Ó3´r¼#¼aÄ»)ÄSÌÌAÃYÓ7OÒOÐOÐOÜ"¤3¤q¬#¬a´«)Ó#4Ó5¼¼SÄÄA»YÌÌAÌqË	Ó9RÒ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 ‚y )Núx,y,zTF©Úremove_true)Údeep)r   r6   r   r   r   r   r   r   r    r   r   )rn   ro   rw   s      rP   Útest_to_anfrå   é  sÁ  € Ü�gÓ�G€A€qˆ!Ü”#�a˜“)Ó¤ A q£	Ò)Ð)Ð)Ü”"�Q˜“(Óœs 1 a¬¨Q°«Ó3Ò3Ð3Ð3Ü”"”W˜Q “]¤C¨¨1£I¨qÓ1Ó2Üˆq�$˜˜A™¨5Ô1ò2ð 2ð 2ä”"”T˜!˜Q“Z¤ Q¨£¬D°°A«J¼ÀÀ1»ÓFÓGÈ4ÒOÐOÐOÜ”"�Qœ˜A›¤ A q£	¬3¨q°!«9´d¸1¸a³jÓAÓBÜˆt”S˜˜A“Y¤ A q¨!£¸%Ô@òAð Að Aä”#�a˜“)Ó¤ A q£	Ò)Ð)Ð)Ü”#�a“&‹>œS  D°eÔ<Ò<Ð<Ð<Ü”$�q˜!“*Ó¤ T¬3¨q°!«9À%Ô!HÒHÐHÐHÜ”#�a˜“)Ó¤ A q¨$´°A°q³	ÀuÔ MÒMÐMÐMÜ”'˜!˜Q“-Ó ¤C¨¨4´°Q¸³ÈÔ$NÒNÐNÐNÜ”*˜Q Ó"Ó#¤s¨1¨a°À5Ô'IÒIÐIÐIÜ”$�q˜1‘u˜a 1™fÓ%¨EÔ2Üˆt”Sœ˜A˜q›¤7¨1¨a£=Ó1¸uÔEòFð Fð Fä”#�a˜!‘e˜Q ™UÓ#¨%Ô0Üˆt”Rœ˜A˜q›	¤3 q¨!£9Ó-¸5ÔAòBð Bð Bô �!˜˜A™  ™
�mÑ#Ó$¨Ò-Ð-Ñ-rO   c            	      óp	  — 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«      j                  «       t        k(  sJ ‚t        t        dd«      j                  «       t         k(  sJ ‚t        t        d„ «       y )NFrS   r   c                  óP   — t        t        dk  dgt        «      j                  «       S r³   )r   rK   rL   r*   rN   rO   rP   rW   ztest_to_nnf.<locals>.<lambda>  s   € œc¤! a¡%¨!¨¬aÓ0×7Ñ7Ó9€ rO   )r*   r/   r0   rK   rL   r   rM   r   r   r   r   rD   rX   rN   rO   rP   Útest_to_nnfrè      sk  € Ü”$‹<œ4ÑÐÐÜ”%‹=œEÑ!Ð!Ð!Ü”!‹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Ü”!”a‘%œ!‘)ÓÜ”‰E”A‰Iœ1˜"¤˜r™'¤A™+Ñ&¬!¬q¨b©&´A°2©+Ñ6¼1¸"¼q¹&ÄAÀ2¹+ÑFòGð Gð Gä”#”aœœA“,Ó¤Q B¬¡F¬q´1©uÑ#5Ò5Ð5Ð5Ü”#”aœ!‘eœa‘i“.Ó!¤a R¬1¨"¡W´¨r¡\Ò1Ð1Ð1Ü”#”aœ!‘eœa‘i“.Ó!¤a R¬1¨"¡W´¨r¡\Ò1Ð1Ð1Ü”#”aœ1‘f“+Ó¤!¤q b¡&Ò(Ð(Ð(Ü”#”j¤¤A¤qÓ)Ó*Ó+¬s´2´a¼¼A³;ÄÄAÀ2ÌÀrÌAÈ2ÃÓ/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ä”#”cœ!œQ¤“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äŒq�!�Q‹<×ÑÓ ¤AÒ%Ð%Ð%ÜŒq�!�Q‹<×ÑÓ ¤Q BÒ&Ð&Ð&ô Œ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 ‚y ©NTrS   )r+   rL   rM   r   r   rK   r   r   rN   rO   rP   Útest_to_cnfrë     sÓ  € Ü”Aœ‘E�(Óœs¤3¤q£6¬3¬q«6Ó2Ò2Ð2Ð2Ü”1”q‘5œA‘+Ó¤#¤b¬¬A£h´´1´a³Ó"9Ò9Ð9Ð9Ü”!”q‘&‹>œq˜b¤A™XÒ%Ð%Ð%Ü”!œœA™‘,Ó¤Q B¬¡F´¨r´A©vÑ#6Ò6Ð6Ð6Ü”!”qœ1‘u‘+¤ ¤a¬!¡e¡Ñ,¨dÓ3´q¼1±uÒ<Ð<Ð<Ü”!”a‘%‹=œC¤¤1›IÒ%Ð%Ð%ä”*œQ¤Ó"Ó#¤s¬2¬a´´Q³«=¼"¼QÄÄAÃ»-Ó'HÒHÐHÐHÜ”*œQ¤¤A¡Ó&Ó'ÜˆB”‰Fœ�rœA‘vÑ¤1 "¬ r¡'¬A¡+Ñ.ò/ð /ð /ä”*œQ¤¤A¡Ó&¨Ó-ÜŒr”#”a“&œ!‹}œb¤¤Q£¬›m¬R´´1´c¼!³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 ]8  \  }} || ||||||||«	      Št        t        ˆfd„«        |‰dd¬«      ‰k(  rŒ8J ‚ y )Nzx1:16c                  ó   •— t        ‰ d¬«      S ©NTr   ©r+   ©Úeqs   €rP   rW   z"test_issue_18904.<locals>.<lambda>2  s   ø€ œv b°4Ô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  ,  s1  ø€ ÜGNÈwÓ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Ô9Ü”Sœ"�I¤¬Ð/Ó0ò 6‰ˆˆ1Ùˆr�2�r˜2˜r 2 r¨2¨rÓ2ˆÜŒzÓ<Ô=Ù�˜d¨$Ô/°2Ó5Ð5Ð5ñ6rO   c                  óf   — t        t        t        dkD  t        dkD  t        dk  z  z  «      «      sJ ‚y )NéûÿÿÿrV   é   )r'   r+   r[   rZ   rN   rO   rP   Útest_issue_9949r	  9  s+   € Ü”&œ!˜b™&¤Q¨¡U¬q°1©uÑ$5Ñ5Ó6Ô7Ð7Ñ7rO   c                  óD  — 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 ‚y rm   )rC   Ú
CNF_to_cnfÚto_CNFrL   rM   r+   rK   rN   rO   rP   Útest_to_CNFr  =  sQ  € Ü�>‰>œ#Ÿ*™*¤q¬1¡u XÓ.Ó/´6¼AÄ¹E¸(Ó3CÒCÐCÐCÜ�>‰>œ#Ÿ*™*¤a¬!¡e¬q¡[Ó1Ó2´f¼aÄ!¹eÄq¹[Ó6IÒIÐIÐIÜ�>‰>œ#Ÿ*™*¤Q¬!¡VÓ,Ó-´¼¼Q¹³Ò?Ð?Ð?Ü�>‰>œ#Ÿ*™*¤Q¬1¬q©5¡\Ó2Ó3´v¼aÄAÌÁE¹lÓ7KÒKÐKÐKÜ�>‰>œ#Ÿ*™*¤Q¬!¬a©%¡[´A°2¼¼Q¹±<Ñ%?Ó@ÓAÄVÌAÔQRÔUVÑQVÉKÔ[\ÐZ\Ô`aÔdeÑ`eÑZfÑLfÓEgÒgÐgÐgÜ�>‰>œ#Ÿ*™*¤Q¬¡UÓ+Ó,´´q¼1±u³Ò=Ð=Ñ=rO   c                  óR  — 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 ‚y rê   )r,   rL   rM   r   r   rK   r   r   rN   rO   rP   Útest_to_dnfr  F  se  € Ü”Aœ‘E�(Óœs¤3¤q£6¬3¬q«6Ó2Ò2Ð2Ð2Ü”!”qœ1‘u‘+Ó¤"¤S¬¬A£Y´´A´q³	Ó":Ò:Ð:Ð:Ü”!”q‘&‹>œq˜b¤A™XÒ%Ð%Ð%Ü”!œœA™‘,Ó¤Q B¬1¬q©5¡>Ò1Ð1Ð1Ü”!”a‘%‹=œA¤™EÒ!Ð!Ð!ä”*œQ¤Ó" DÓ)ÜŒc”!”Q‹iœœS¤›V¤S¬£VÓ,Ó-ò.ð .ð .ä”*œQ¤¤A¡Ó&¨Ó-ÜŒc”!”Qœ‹lœC¤¤A£¬¬A«Ó/´´S¼³V¼SÄ»VÓ1DÓEòFð Fð Fä”!�a‘%‹=œA ™EÒ!Ð!Ñ!rO   c                  ó  ‡— 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 ‚y )Nrá   c                 óP   •— 	 t        ˆfd„| D «       «      S # t        $ r | cY S w xY w)Nc              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wrm   rN   )Ú.0rn   Úsorted_recursives     €rP   ú	<genexpr>z=test_to_int_repr.<locals>.sorted_recursive.<locals>.<genexpr>Y  s   øè ø€ Ò;°!Ñ*¨1×-Ñ;ùs   ƒ)ÚsortedrX   )Úargr  s    €rP   r  z*test_to_int_repr.<locals>.sorted_recursiveW  s-   ø€ ð	ÜÓ;°sÔ;Ó;Ð;øÜò 	ØŠJð	ús   ƒ —%¤%rS   rV   r¡   r¶   )rÍ   r   r   r-   )rn   ro   rw   r  s      @rP   Útest_to_int_reprr  T  s­   ø€ Ü”'œ7 7Ó+Ó,�G€A€qˆ!ôñ œK¨¨Q©°°A±¨¸¸A¸q¸	ÓBÓCÙ˜a ˜V a¨ VÐ,Ó-ò.ð .ð .áœK¨¨Q©°°Q°B±¨¸!¸QÀ¸ÓCÓ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 ‚y )Núx,yTF)r   r7   r/   r0   r   r   r   r   ©rn   ro   s     rP   Útest_is_anfr  c  s¿   € Ü�5‹>�D€A€qÜ”$‹<˜4ÑÐÐÜ”%‹=˜DÑ Ð Ð Ü�!‹9˜ÑÐÐÜ”#�a˜“)Ó Ñ$Ð$Ð$Ü”#�a˜œC  1›IÓ&Ó'¨4Ñ/Ð/Ð/Ü”#�a˜œB˜q !›HÓ%Ó&¨%Ñ/Ð/Ð/Ü”#”c˜!“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 ‚y r~   )r&   r/   rK   rL   r   r   rN   rO   rP   Útest_is_nnfr  n  s  € Ü”$‹<˜4ÑÐÐÜ”!‹9˜ÑÐÐÜ”1�"‹:˜ÑÐÐÜ”!”a‘%‹=˜DÑ Ð Ð Ü”1”q‘5œa˜R¤!™VÑ$¬¨¬Q©Ñ/´A°2¼¸±7Ñ;¸UÓCÀtÑKÐKÐKÜ”1”q‘5œa˜R¤1 "™WÑ%Ó&¨$Ñ.Ð.Ð.Ü”#”bœœA“h“-Ó  EÑ)Ð)Ð)Ü”!”a‘%‹=˜EÑ!Ð!Ð!Ü”1”q‘5œa˜R¤!™VÑ$¬¨¬Q©Ñ/´A°2¼¸±7Ñ;¸TÓBÀeÑKÐKÑKrO   c                  óv  — 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 ‚y r~   )r'   rn   ro   rw   rN   rO   rP   Útest_is_cnfr   z  ó�   € Ü”!‹9˜ÑÐÐÜ”!”a‘%œ!‘)Ó Ñ$Ð$Ð$Ü”!”a‘%œ!‘)Ó Ñ$Ð$Ð$Ü”1”q‘5œA‘+Ó $Ñ&Ð&Ð&Ü”1”q‘5œA‘+Ó %Ñ'Ð'Ð'Ü”Aœ‘E�(œQ‘,Ó 5Ñ(Ð(Ñ(rO   c                  óv  — 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 ‚y r~   )r(   rn   ro   rw   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        «      j!                  t        d«      t        k(  sJ ‚t        t        t        d«      t        t        «      j!                  t        d«      t        k(  sJ ‚t        t"        d„ «       y )NzA:CTFrS   r   c                  ó,   — t        dt        t        «      S rU   )r   rn   ro   rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>Ÿ  s   € œc !¤Q¬›l€ rO   c                  ó$   — t        dg t        «      S r³   ©r   ro   rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>   ó   € œc ! R¬›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€ rO   r×   c                  óD   — t        t        dkD  t        t        t        «      S r³   )r   rn   ro   rw   rN   rO   rP   rW   ztest_ITE.<locals>.<lambda>·  s   € œs¤1 q¡5¬!¬Q´Ó2€ rO   )r   r   r0   r/   ri   r   r   rn   r   ro   rD   rX   r	   r   r   rw   rÊ   rˆ   rÐ   s      rP   Útest_ITEr,  Œ  sÒ  € Ü�e‹n�G€A€qˆ!Üˆt�U˜DÓ!¤UÑ*Ð*Ð*Üˆt�T˜5Ó!¤TÑ)Ð)Ð)Üˆu�d˜EÓ"¤eÑ+Ð+Ð+Üˆu�e˜TÓ"¤dÑ*Ð*Ð*Ü”c˜!˜Q “l¤CÔ(Ð(Ð(à€AÜˆq�!�Q‹<˜1ÒÐÐØ€AÜˆq�!�Q‹<˜1ÒÐÐØ€AÜŒs�1�a‹y˜!˜QÓ 1Ò$Ð$Ð$ÜŒr�!�U‹|œS  D›\¨5Ó1´UÑ:Ð:Ð:ÜŒq�!�Q‹<œ3œq›6Ò!Ð!Ð!ÜŒq�!�Q‹<œ1ÒÐÐÜˆq”!”Q‹<œ1ÒÐÐÜˆq”!”Q‹<œ1ÒÐÐÜ
Œ9Ñ*Ô+Ü
Œ9Ñ+Ô,Ü
Œ9Ñ+Ô,Ü
Œ9Ñ+Ô,Üˆq�!�Q‹<œ1Ÿ6™6Ñ!Ð!Ð!Ü”c˜!˜Q ¨EÔ2´CÔ8Ð8Ð8äŒr”!�T‹{œAœqÓ!¤S¬¬A¬q£\Ò1Ð1Ð1ÜŒr”!�U‹|œQ¤Ó"¤c¬1¨"¬a´£mÒ3Ð3Ð3ÜŒr”!�T‹{œAœqÓ!¤S¬!¨¬Q´£]Ò2Ð2Ð2ÜŒr”!�U‹|œQ¤Ó"¤c¬!¬Q´£lÒ2Ð2Ð2ÜŒr”!—&‘&œ!‹}œa¤Ó#¤s¬1¬a´£|Ò3Ð3Ð3ÜŒr”!—'‘'œ1‹~œq¤!Ó$¬¬Q¨B´´1«Ò5Ð5Ð5ÜŒr”!—&‘&œ!‹}œa¤Ó#¤s¬A¨2¬q´!£}Ò4Ð4Ð4ÜŒr”!—'‘'œ1‹~œq¤!Ó$¬¬A¬q´!«Ò4Ð4Ð4ô Œr”!�Q‹xœœAÓ¤!Ò#Ð#Ð#ÜŒr”!�Q‹xœœAÓ¤!Ò#Ð#Ð#ÜŒr”!�Q‹xœœAÓ¤!Ò#Ð#Ð#ÜŒr”!�Q‹xœœAÓ¤!Ò#Ð#Ð#ÜŒr”!�Q‹xœœAÓ×#Ñ#¤A qÓ)¬QÒ.Ð.Ð.ÜŒr”!�Q‹xœœAÓ×#Ñ#¤A qÓ)¬QÒ.Ð.Ð.Ü
Œ:Ñ2Õ3rO   c                  ó¨  — 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 ‚y )NTFr¡   )
r2   rK   r   rL   r   Úzeror   r   rn   ro   rN   rO   rP   Útest_is_literalr/  º  s  € Ü�dÓ˜tÑ#Ð#Ð#Ü�eÓ Ñ$Ð$Ð$Ü”a‹=˜DÑ Ð Ð Ü”q�b‹>˜TÑ!Ð!Ð!Ü”bœœA“hÓ 5Ñ(Ð(Ð(Ü”a—f‘fœQ“iÓ  DÑ(Ð(Ð(Ü”cœ!Ÿ&™&¤›)“nÓ%¨Ñ-Ð-Ð-Ü”bœœA“hÓ 5Ñ(Ð(Ð(Ü”cœ!Ÿ&™&¤›)¤Q§V¡V¬A£YÓ/Ó0°EÑ9Ð9Ð9Ü”a˜!‘eÔÐÐÜœ!œa™% !™)Ô$Ð$Ð$Ð$rO   c                  ó
  — dt         z  t         dz  cxk(  r
t         k(  sJ ‚ J ‚dt         z  t         dz  cxk(  rdk(  sJ ‚ J ‚t         t        z  t        t         t        «      k(  sJ ‚dt         z  t         dz  cxk(  rdk(  sJ ‚ J ‚dt         z  t         dz  cxk(  r
t         k(  sJ ‚ 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J ‚ J ‚dt         z	  t         dz  cxk(  rdk(  sJ ‚ J ‚t         dz	  dt         z  cxk(  rdk(  sJ ‚ J ‚t         dz	  dt         z  cxk(  rt          k(  sJ ‚ J ‚t         t        z	  t        t         z  cxk(  rt        t         t        «      k(  sJ ‚ J ‚dt         z  t         dz  cxk(  rt          k(  sJ ‚ J ‚dt         z  t         dz  cxk(  r
t         k(  sJ ‚ J ‚t         t        z  t        t         t        «      k(  sJ ‚y r~   )rK   rL   r   r   r   r   r   rN   rO   rP   Útest_operatorsr1  È  sÑ  € à”!‰8”q˜4‘xÔ$¤1Ò$Ð$Ñ$Ð$Ð$Ø”1‰9œ˜E™	Ô* UÒ*Ð*Ñ*Ð*Ð*ÜŒq‰5”Cœœ1“IÒÐÐØ”!‰8”q˜4‘xÔ' 4Ò'Ð'Ñ'Ð'Ð'Ø”1‰9œ˜E™	Ô&¤QÒ&Ð&Ñ&Ð&Ð&ÜŒq‰5”B”qœ!“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ÒÐÑ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J ‚ 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 s4| |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 r�ŒåJ ‚ t'        d„ t        j                   t        j                  fD «       «      sJ ‚y )NTFrS   c              3   óD   K  — | ]  }|j                  d d«      |u –— Œ y­w)rS   rV   Nr   ©r  rb   s     rP   r  z"test_true_false.<locals>.<genexpr>^  s    è ø€ Ò@¨ˆq�z‰z˜!˜QÓ 1Ô$Ñ@ùs   ‚ )r/   r	   r0   ÚhashÚlenri   r1   Úboolr   rI   r   rn   r   r   r   r   r   r   r   Úall)ÚTÚFs     rP   Útest_true_falser;  Û  sÔ  € Ü”1—6‘6‰>Ðˆ>Ü”A—G‘GÑÐÐÜ�tÑÐÐÜ˜ÑÐÐÝ€Kˆ4ÝÐˆ9Ü�4Š<Ðˆ<Ü�EŠ>Ðˆ>Ü˜’ÐÐÜ˜’ÐÐÜœ’ÐÐä”‹:œ˜d›Ò#Ð#Ð#Ü”‹;œ$˜u›+Ò%Ð%Ð%Ü”�dˆ|Ó¤¤U¨E NÓ 3Ô8°qÒ8Ð8Ñ8Ð8Ð8ä”dœKÔ(Ð(Ð(Ü”eœ[Ô)Ð)Ð)ô
 œ$¤Ô%Ð%Ð%Üœ%¤Ô&Ð&Ð&ô
 Œt‹9œÑÐÐÜˆt‹9œÑÐÐÜŒu‹:œÑÐÐÜˆu‹:œÑÐÐÜˆ5”E‰>Ðˆ>Üˆ6”T‰>Ðˆ>ä˜œt˜ u¬e nÓ5ó ]%‰ˆˆ1Ü�1�a‹yœEÑ!Ð!Ð!Ü�1�a‹yœEÑ!Ð!Ð!Ü�1�a‹yœEÑ!Ð!Ð!Ü�1�a‹yœDÑ Ð Ð Ü�1”a‹yœAŠ~Ðˆ~Ü�1”a‹yœEÑ!Ð!Ð!Ø�T‘	˜a 5™jØ�q‘5œE‘>Ð!�>Ø�q‘5œE‘>Ð!�>Ø�E‰>Ø�q‘5œE‘>Ð!�>Ø�D‰=Ø�q‘5œD‘=Ð �=ä�!�Q‹xœ4ÑÐÐÜ�!�Q‹xœ4ÑÐÐÜ�!�Q‹xœ5Ñ Ð Ð Ü�!�Q‹xœ4ÑÐÐÜ�!”Q‹xœ4ÑÐÐÜ�!”Q‹xœ1Š}Ðˆ}Ø�T‘	˜a 5™jØ�q‘5œD‘=Ð �=Ø�q‘5œD‘=Ð �=Ø�E‰>Ø�q‘5œE‘>Ð!�>Ø�D‰=Ø�q‘5œD‘=Ð �=ä�1�a‹yœDÑ Ð Ð Ü�1�a‹yœDÑ Ð Ð Ü�1�a‹yœEÑ!Ð!Ð!Ü�1�a‹yœEÑ!Ð!Ð!Ü�1”a‹yœQ˜BŠÐˆÜ�1”a‹yœAŠ~Ðˆ~Ø�T‘	˜a 5™jØ�q‘5œD‘=Ð �=Ø�q‘5œD‘=Ð �=Ø�E‰>Ø�q‘5œE‘>Ð!�>Ø�D‰=Ø�q‘5œE‘>Ð!�>ä�A�q‹zœTÑ!Ð!Ð!Ü�A�q‹zœTÑ!Ð!Ð!Ü�A�q‹zœTÑ!Ð!Ð!Ü�A�q‹zœUÑ"Ð"Ð"Ü�A”q‹zœa˜RÒÐÐÜ�A”q‹zœTÑ!Ð!Ð!ä�1�a‹yœEÑ!Ð!Ð!Ü�1�a‹yœEÑ!Ð!Ð!Ü�1�a‹yœDÑ Ð Ð Ü�1�a‹yœEÑ!Ð!Ð!Ü�1”a‹yœEÑ!Ð!Ð!Ü�1”a‹yœQ˜BŠÐˆä�q˜!‹}¤Ñ%Ð%Ð%Ü�q˜!‹}¤Ñ$Ð$Ð$Ü�q˜!‹}¤Ñ$Ð$Ð$Ü�q˜!‹}¤Ñ$Ð$Ð$Ü�qœ!‹}¤Ò!Ð!Ð!Ü�qœ!‹}¤Ñ$Ð$Ð$Ü”q˜!‹}¤Ñ$Ð$Ð$Ü”q˜!‹}¤ Ò"Ð"Ð"Ø�T‘	˜a 5™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©v´q·w±wÐ.?Ô@Ô@Ð@Ñ@rO   c                  óž  — t        t        dk  dt        dk\  «      j                  «       t        dt        «      k(  sJ ‚t        t        dk  t        dk\  «      j                  «       t        dd«      k(  sJ ‚t        t        dk\  t        dk  «      j                  «       t        t         d«      t        dt        «      z   k(  sJ ‚t        t        dkD  «      j                  «       t        t         d«      k(  sJ ‚t        t        t        dkD  t        dk  «      «      j                  «       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        j                  «       t        j                  k(  sJ ‚t        t        t        dk  t        dkD  «      t        dk  «      j                  «       t        j                  t         d«      k(  sJ ‚t        t        dk  t!        t        «      dk  «      j                  «       t        dk  j                  «       k(  sJ ‚t#        t$        d„ «       t'        dt)        dt        z  «      dz  t!        dt        z  «      dz  z  «      j                  «       t        j                  u sJ ‚y )	Nr   FrS   rV   éþÿÿÿr¡   c                  óB   — t        t        «      dk  j                  «       S r³   )r   rn   Úas_setrN   rO   rP   rW   z"test_bool_as_set.<locals>.<lambda>n  s   € ¬¬Q«°!©×(;Ñ(;Ó(=€ rO   r¶   )r   ro   r?  r   r   r   rn   r   r   r   r/   r	   ÚUniversalSetr0   ÚEmptySetÚopenr   rD   r’   r   r   rN   rO   rP   Útest_bool_as_setrC  a  s  € ÜŒq�A‰v�uœa 1™fÓ%×,Ñ,Ó.´(¸1¼b³/ÒAÐAÐAÜŒq�A‰v”q˜B‘wÓ×&Ñ&Ó(¬H°R¸«OÒ;Ð;Ð;ÜŒa�1‰f”a˜2‘gÓ×%Ñ%Ó'¬8´R°C¸Ó+<¼xÈÌ2»Ñ+NÒNÐNÐNÜŒq�1‰u‹:×ÑÓ¤(¬B¨3°Ó"2Ò2Ð2Ð2äŒs”1�q‘5œ!˜a™%Ó Ó!×(Ñ(Ó*Ü”œ2˜#˜qÓ!¤8¨A¬r£?Ó3ò4ð 4ð 4ä�;‰;‹=œAŸN™NÒ*Ð*Ð*Ü�<‰<‹>œQŸZ™ZÑ'Ð'Ð'Ü�8‰8‹:œŸ™Ò'Ð'Ð'ÜŒr”!�a‘%œ˜Q™Ó¤ Q¡Ó'×.Ñ.Ó0´H·M±MÄ2À#ÀqÓ4IÒIÐIÐIÜŒq�1‰u”cœ!“f˜q‘jÓ!×(Ñ(Ó*¬q°1©u¯n©nÓ.>Ò>Ð>Ð>Ü
ÔÑ =Ô>äˆb”#�aœ!‘e“* ‘/¤C¨¬A©£J°!¡OÑ3Ó4×;Ñ;Ó=ÄÇÁÑKÐKÑKrO   c            	      ó€  — t        d«      \  } }t        | dk\  |dk\  «      j                  «       t        dt        «      t        dt        «      z  k(  sJ ‚t        | dk\  |dk\  «      j                  «       t        j                  t        j                  z  t        t         ddd«      t        t         ddd«      z  z
  k(  sJ ‚y )Nr  r   T)r   r   r?  r   r   r   r	   ÚRealsr  s     rP   Útest_multivariate_bool_as_setrF  s  sª   € ä�5‹>�D€A€qäˆq�A‰v�q˜A‘vÓ×%Ñ%Ó'¬8°A´r«?¼XÀaÌ»_Ñ+LÒLÐLÐLÜˆa�1‰f�a˜1‘fÓ×$Ñ$Ó&¬!¯'©'´A·G±GÑ*;Ü”R�C˜˜D $Ó'¬(´B°3¸¸4ÀÓ*FÑFñ+Gò Gð Gñ GrO   c                  ó„  — t        dd¬«      } | t         k\  | t        k  f}t        |Ž }|j                  t        u rCt	        |j
                  «      t	        |«      |j                  t        j                  «      z
  k(  s	J ‚|dk(  sJ ‚t        |Ž }|j                  t        u rt	        |j
                  «      dk(  sJ ‚y |dk(  sJ ‚y )Nrn   T)Úextended_realrV   )
r   r   r   Úfuncr6  ÚargsÚcountr	   r/   r   )rn   rJ  Úvs      rP   Útest_all_or_nothingrM  |  s¤   € Ü� 4Ô(€AØ”�‰8�Qœ"‘WÐ€DÜˆTˆ
€AØ‡v�v”�}Ü�1—6‘6‹{œc $›i¨$¯*©*´Q·V±VÓ*<Ñ<Ò<Ð<Ð<à�DŠyÐˆyÜ
ˆDˆ	€AØ‡v�v”�|Ü�1—6‘6‹{˜aÒÐÑà�DŠyÐ‰yrO   c                  óh   — t         j                  t         k(  sJ ‚t        j                  t        k(  sJ ‚y rm   )r/   rY   r0   rN   rO   rP   Útest_canonical_atomsrO  ‹  s&   € Ü�>‰>œTÒ!Ð!Ð!Ü�?‰?œeÒ#Ð#Ñ#rO   c                  óh   — t         j                  t        k(  sJ ‚t        j                  t         k(  sJ ‚y rm   )r/   Únegatedr0   rN   rO   rP   Útest_negated_atomsrR  �  s&   € Ü�<‰<œ5Ò Ð Ð Ü�=‰=œDÒ Ð Ñ rO   c                  óÒ  — t        t        dkD  t        t        k  «      j                  «       t	        dt        d¬«      k(  sJ ‚t        t        dk\  t        t        k  «      j                  «       t	        dt        «      k(  sJ ‚t        t        k  j                  «       t	        t         t        «      k(  sJ ‚t        t         kD  j                  «       t	        t         t        «      k(  sJ ‚y )NrV   T)Ú	left_openrS   )r   rn   r   r?  r   rN   rO   rP   Útest_issue_8777rU  •  s¥   € ÜŒq�1‰u”aœ"‘fÓ×$Ñ$Ó&¬(°1´bÀDÔ*IÒIÐIÐIÜŒq�A‰v”qœ2‘vÓ×%Ñ%Ó'¬8°A´r«?Ò:Ð:Ð:Ü”‰F�?‰?Ó¤¬"¨¬bÓ 1Ò1Ð1Ð1Ü”�‰G×ÑÓ¤¬2¨#¬rÓ!2Ò2Ð2Ñ2rO   c                  óô   — t        t        t         t        k  t        dk  «      t        dt        k  t        t        k  «      «      j	                  «       t        t         d«      t        dt        «      z   k(  sJ ‚y )Nr=  rV   )r   r   r   rn   r?  r   rN   rO   rP   Útest_issue_8975rW  œ  s[   € ÜŒc”2�#œ‘'œ1 ™7Ó#¤S¨¬a©´´R±Ó%8Ó9×@Ñ@ÓBÜ”R�C˜Óœx¨¬2›Ñ.ò/ð /ñ /rO   c                  óH   — t        g d¢«      dk(  sJ ‚t        d«      dk(  sJ ‚y )N)rS   r   rS   r   r   rS   r   éR   Ú0010101000111001i9*  )r3   rN   rO   rP   Útest_term_to_integerr[  ¡  s*   € ÜÒ0Ó1°RÒ7Ð7Ð7ÜÐ-Ó.°%Ò7Ð7Ñ7rO   c                  ó
  — t        d«      \  } }}}| |z  |z  | |z  z  }|j                  | |z  |«      ||z  |z  k(  sJ ‚|j                  | |z  |z  |«      | |z  |z  k(  sJ ‚| |z  |z  | |z  z  }|j                  | |z  |«      ||z  |z  k(  sJ ‚|j                  | |z  |z  |«      | |z  |z  k(  sJ ‚| |z  |z  | |z  z  }|j                  | |z  |«      ||z  |z  k(  sJ ‚|j                  | |z  |z  |«      | |z  |z  k(  sJ ‚y ©Nza b c d)r   rÊ   )rZ   r[   r\   r»   r¼   s        rP   Útest_issue_21971r^  ¦  s@  € Ü˜Ó#�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                  óØ  — 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 ‚y )	NF)Úinput)FFFT)FTTT)TTFTr   rS   T)Úlistr4   r   rn   ro   rN   rO   rP   Útest_truth_tablerb  µ  sÜ   € Ü”œC¤¤1›I¬¬1 v°UÔ;Ó<Ú&ò'ð 'ð 'ä”œA¤™E¤A¤q 6°Ô7Ó8Ú$ò%ð %ð %ä”œA¤™F¤Q¬ F°%Ô8Ó9Ú$ò%ð %ð %ä”œC¤¤1›I¬¬1 vÓ.Ó/Ø�ˆV�UˆO˜q !˜f e˜_°°1¨v°u¨oÀÀAÀÈ¸~ÐNòOð Oñ OrO   c                  ó\  ‡‡— t         j                  t         j                  fD �]  Š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ŠŠŒ� Œ‘ �Œ	 y )Nc                  ó
   •— ‰ ­S rm   rN   ©r  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Â  ó	   ø€  1 "€ rO   c                  ó
   •— ‰  S rm   rN   re  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Ã  rf  rO   c                  ó   •— t        ‰ «      S rm   )Úabsre  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Ä  ó   ø€ ¤# a£&€ rO   c                  ó   •— t        ‰ «      S rm   )Úintre  s   €rP   rW   z!test_issue_8571.<locals>.<lambda>Æ  rj  rO   rV   c                  ó   •— ‰ ‰z   S rm   rN   ©Úor  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ê  ó   ø€ ¨!¨a©%€ rO   c                  ó   •— ‰ ‰z
  S rm   rN   rn  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ë  rp  rO   c                  ó   •— ‰ ‰z  S rm   rN   rn  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ì  rp  rO   c                  ó   •— ‰ ‰z  S rm   rN   rn  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Í  rp  rO   c                  ó   •— ‰ ‰z  S rm   rN   rn  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Î  rp  rO   c                  ó   •— ‰ ‰z  S rm   rN   rn  s   €€rP   rW   z!test_issue_8571.<locals>.<lambda>Ï  s   ø€ ¨!¨q©&€ rO   )	r	   r/   r0   rD   rX   ÚZeror‰   rn   Úrange)Ú_ro  r  s    @@rP   Útest_issue_8571ry  À  s¿   ù€ Ü�f‰f”a—g‘gÐó ˆÜŒy›*Ô%ÜŒy›*Ô%ÜŒy›.Ô)äŒy›.Ô)ä—&‘&œ!Ÿ%™%¤Ð#ò 	ˆAÜ˜1“Xò �Ü”y¤-Ô0Ü”y¤-Ô0Ü”y¤-Ô0Ü”y¤-Ô0Ü”y¤-Ô0Ü”y¤.Ô1Ø˜!��‘1ñò	ñrO   c                  ó2  — t        dd¬«      } t        dd¬«      \  }}| ||  |z  dz   z  z   ||  |z  dz   z  z  dk  }|t        j                  usJ ‚|j                  «       t        j                  u sJ ‚|dkD  j                  «       t        j                  u sJ ‚y )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‘GÑÐÐØ�8‰8‹:œŸ™Ñ Ð Ð Ø�‰E�>‰>ÓœqŸv™vÑ%Ð%Ñ%rO   c                  ó€   — t         j                  j                  dk(  sJ ‚t         j                  j                  dk(  sJ ‚y )NT)r	   r/   Úis_Atomr0   rN   rO   rP   Útest_issue_12717r…  Ü  s.   € Ü�6‰6�>‰>˜TÒ!Ð!Ð!Ü�7‰7�?‰?˜dÒ"Ð"Ñ"rO   c                  óp  ‡— 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„«       Œ y )NÚnzT)Únonzeroc              3   óR   K  — | ]  }t        |«      t        j                  u –— Œ! y ­wrm   )r5   r	   r/   r4  s     rP   r  z"test_as_Boolean.<locals>.<genexpr>ã  s   è ø€ ÒF¨1Œz˜!‹}¤§¡Ô&ÑFùó   ‚%'rS   rw   )r.  c              3   óR   K  — | ]  }t        |«      t        j                  u –— Œ! y ­wrm   )r5   r	   r0   r4  s     rP   r  z"test_as_Boolean.<locals>.<genexpr>å  s   è ø€ ÒH¨AŒz˜!‹}¤§¡Ô'ÑHùrŠ  Fr   c              3   ó8   K  — | ]  }t        |«      |k(  –— Œ y ­wrm   ©r5   r4  s     rP   r  z"test_as_Boolean.<locals>.<genexpr>æ  s   è ø€ Ò6 aŒz˜!‹} Õ!Ñ6ùs   ‚rV   c                  ó   •— t        ‰ «      S rm   r�  )rb   s   €rP   rW   z!test_as_Boolean.<locals>.<lambda>è  s   ø€ ¤*¨Q£-€ rO   )r   r8  r	   r/   r0   rn   rD   rX   )r‡  rw   rb   s     @rP   Útest_as_Booleanr�  á  s¤   ø€ Ü	�˜tÔ	$€BÜÑF°´q·v±v¸qÀ"Ð0EÔFÔFÐFÐFÜ�˜$Ô€AÜÑH°%¼¿¹À!ÀQÐ1GÔHÔHÐHÐHÜÑ6¬A¬q°1©u¨:Ô6Ô6Ð6Ð6Ø”�1“”q˜1‘u˜bÐ!ò 1ˆÜŒyÓ/Õ0ñ1rO   c                  ó�  — t        t        dk  t        t        «      j                  t        t        hk(  sJ ‚t
        t        fD ]h  }  | t        d«      j                  t        «       k(  sJ ‚ | t        d«      j                  t        hk(  sJ ‚ | t        d«      j                  t        hk(  rŒhJ ‚ t        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 ‚y )NrS   TF)r   rn   ro   rw   Ú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Ü”"ˆXò 1ˆÙ”�A‹w×%Ñ%¬«Ò.Ð.Ð.Ù”�D‹z×(Ñ(¬Q¨CÒ/Ð/Ð/Ù”�E‹{×)Ñ)¬a¨SÓ0Ð0Ð0ð1ô �6‰6× Ñ ¤C£EÒ)Ð)Ð)Ü�7‰7×!Ñ!¤S£UÒ*Ð*Ð*Ü×Ñ¤˜sÒ"Ð"Ð"ÜŒq”"”Q˜“,¤¤1 a£Ó)×8Ñ8¼QÄ¸FÒBÐBÐBÜ�7‰7”1‹:×$Ñ$¬«Ò-Ð-Ð-Ü�4‰4”�1‹:×$Ñ$¬«Ò-Ð-Ð-Ü�9‰9”Q‹<×&Ñ&¬1¨#Ò-Ð-Ð-Ü�4‰4”�4‹=×'Ñ'¬A¨3Ò.Ð.Ð.Ü�7‰7”1‹:×$Ñ$¬«Ò-Ð-Ñ-rO   c                  ó�   — t        t        t        «      j                  t        «      t	        dt        t        d«      fd«      k(  sJ ‚y )Nr   F)rS   T)r   rn   ro   Údiffr   r   rN   rO   rP   Útest_BooleanFunction_diffr™  ü  s1   € ÜŒq”!‹9�>‰>œ!Ó¤	¨1¬b´°E«lÐ*;¸YÓ GÒGÐGÑGrO   c                  ó8  — 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 ‚y )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   rx   rn   ro   rw   )rK   rL   rM   rj   ÚEr:  ÚGÚHr€  ÚsoldnfÚsolcnfr¨   r¹   s                rP   Útest_issue_14700r¥     s®  € Ü$Ð%6Ó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ð,€Hâš|ª\º<ÐH€IÜ”A”qœ!œQ�< Ó*¬q´A°2©v¼!¼a¹%Ä1À"¹*Ñ.EÒEÐEÐEä”A”qœ!œQ�< ¨9Ó5Ü”�‰F”qœ1‘u¤˜r‘zÑ"ò#ð #ñ #rO   c                  ó`   — t        t        t        j                  «      } t	        | «      | k(  sJ ‚y rm   )r   rn   r	   ÚIntegersr)   )Úconds    rP   Útest_issue_25115r©    s%   € Ü”A”q—z‘zÓ"€Dä˜$Ó 4Ò'Ð'Ñ'rO   c                  ó¼  — t        dd¬«      \  } }}}t        dd¬«      \  }}t        ||k\  ||k  «      j                  «       t        j                  k(  sJ ‚t        ||k\  ||kD  «      j                  «       t        j                  k(  sJ ‚t        ||k\  | | kD  «      j                  «       t        j                  k(  sJ ‚t        ||k\  | | k  «      j                  «       t        j                  k(  sJ ‚t        | | k  ||k  «      j                  «       t        j                  k(  sJ ‚t        | | k  | | kD  «      j                  «       t        j                  k(  sJ ‚t        | | k  ||kD  «      j                  «       t        j                  k(  sJ ‚t        | | k  | | k  «      j                  «       t        j                  k(  sJ ‚t        ||k  ||k  «      j                  «       t        j                  k(  sJ ‚t        ||k  ||kD  «      j                  «       t        j                  k(  sJ ‚t        ||k  | | kD  «      j                  «       t        j                  k(  sJ ‚t        ||k  | | k  «      j                  «       t        j                  k(  sJ ‚t        | | k\  ||k  «      j                  «       t        j                  k(  sJ ‚t        | | k\  ||kD  «      j                  «       t        j                  k(  sJ ‚t        | | k\  | | kD  «      j                  «       t        j                  k(  sJ ‚t        | | k\  | | k  «      j                  «       t        j                  k(  sJ ‚t        ||k  ||k\  «      j                  «       t        j                  k(  sJ ‚t        ||kD  ||k\  «      j                  «       t        j                  k(  sJ ‚t        | | kD  ||k\  «      j                  «       t        j                  k(  sJ ‚t        | | k  ||k\  «      j                  «       t        j                  k(  sJ ‚t        ||k  | | k  «      j                  «       t        j                  k(  sJ ‚t        | | kD  | | k  «      j                  «       t        j                  k(  sJ ‚t        ||kD  | | k  «      j                  «       t        j                  k(  sJ ‚t        | | k  | | k  «      j                  «       t        j                  k(  sJ ‚t        ||k  ||k  «      j                  «       t        j                  k(  sJ ‚t        ||kD  ||k  «      j                  «       t        j                  k(  sJ ‚t        | | kD  ||k  «      j                  «       t        j                  k(  sJ ‚t        | | k  ||k  «      j                  «       t        j                  k(  sJ ‚t        ||k  | | k\  «      j                  «       t        j                  k(  sJ ‚t        ||kD  | | k\  «      j                  «       t        j                  k(  sJ ‚t        | | kD  | | k\  «      j                  «       t        j                  k(  sJ ‚t        | | k  | | k\  «      j                  «       t        j                  k(  sJ ‚t        ||k\  | |k  ||k  «      j                  «       t        j                  k(  sJ ‚t        ||k\  ||k  «      j                  «       t        j                  k(  sJ ‚t        ||k\  t        ||«      «      j                  «       ||k\  k(  sJ ‚t        ||k\  t        ||«      «      j                  «       t        ||«      k(  sJ ‚t        t        ||«      |dk\  d|k  |dk\  ||k  «      j                  «       t        ||«      |dk\  z  |dk\  z  ||kD  z  k(  sJ ‚t        t        ||«      ||k\  | |k  ||k  «      j                  «       ||k\  ||kD  z  | |k  z  k(  sJ ‚t        t        ||«      ||k\  | |k  ||k\  ||k  «      j                  «       t        ||«      ||kD  z  | |k  z  k(  sJ ‚t        t        ||«      |dk\  d|k  |dk\  ||k  «      j                  «       t        ||«      |dk\  z  |dk\  z  ||kD  z  k(  sJ ‚t        ||«      t        ||«      z  ||k\  z  ||k\  z  j                  «       t        ||«      t        ||«      z  ||k\  z  k(  sJ ‚t        t        ||«      t        || «      «      j                  «       t        t        |d	«      t        |d	«      «      k(  sJ ‚t        ||k\  ||k  «      j                  «       t        ||«      k(  sJ ‚t        |dkD  |d
k  t        ||«      «      j                  «       t        j                  k(  sJ ‚t        ||k\  t        |d	«      «      j                  «       t        |d	k\  t        |d	«      «      k(  sJ ‚t        t        |d«      t        |d«      «      j                  «       t        j                  k(  sJ ‚t        t        |d«      t        d|«      «      j                  «       t        |d«      k(  sJ ‚t        t        |d«      t        d|«      «      j                  «       t        |d«      k(  sJ ‚y )Núw x y zT©Úrealúd eFrS   rV   r¥   r   r¶   )
r   r   r   r	   r/   r   r0   r   r   r   )rx   rn   ro   rw   r»   r]   s         rP   Útest_relational_simplificationr¯  #  sË	  € Ü˜¨Ô.�J€A€qˆ!ˆQÜ�5˜uÔ%�D€A€qäˆa�1‰f�a˜!‘eÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆa�1‰f�a˜!‘eÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆa�1‰f�q�b˜A˜2‘gÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆa�1‰f�q�b˜A˜2‘gÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�Q�B‰h˜˜A™Ó×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�Q�B‰h˜˜˜a˜R™Ó ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5Üˆqˆb�Q�B‰h˜˜A™Ó×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�Q�B‰h˜˜˜a˜R™Ó ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5Üˆa�1‰f�a˜!‘eÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆa�1‰f�a˜!‘eÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆa�1‰f�q�b˜A˜2‘gÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆa�1‰f�q�b˜A˜2‘gÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�Q�B‰h˜˜A™Ó×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�Q�B‰h˜˜A™Ó×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�Q�B‰h˜˜˜a˜R™Ó ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5Üˆqˆb�Q�B‰h˜˜˜a˜R™Ó ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5äˆa�!‰e�Q˜!‘VÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆa�!‰e�Q˜!‘VÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆqˆb�A�2‰g�q˜A‘vÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�A�2‰g�q˜A‘vÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆa�!‰e�a�R˜A˜2‘XÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�A�2‰g˜�r˜a˜R‘xÓ ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5Üˆa�!‰e�a�R˜A˜2‘XÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�A�2‰g˜�r˜a˜R‘xÓ ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5Üˆa�!‰e�Q˜!‘VÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆa�!‰e�Q˜!‘VÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆqˆb�A�2‰g�q˜A‘vÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�A�2‰g�q˜A‘vÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆa�!‰e�a�R˜A˜2‘XÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆa�!‰e�a�R˜A˜2‘XÓ×'Ñ'Ó)¬Q¯V©VÒ3Ð3Ð3Üˆqˆb�A�2‰g˜�r˜a˜R‘xÓ ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5Üˆqˆb�A�2‰g˜�r˜a˜R‘xÓ ×)Ñ)Ó+¬q¯v©vÒ5Ð5Ð5ô ˆa�1‰f�a˜!‘e˜Q !™VÓ$×-Ñ-Ó/´1·6±6Ò9Ð9Ð9Üˆq�A‰v�q˜1‘uÓ×&Ñ&Ó(¬A¯G©GÒ3Ð3Ð3Üˆa�1‰f”b˜˜A“hÓ×(Ñ(Ó*¨q°A©vÒ6Ð6Ð6Üˆq�A‰v”r˜!˜Q“xÓ ×)Ñ)Ó+¬r°!°Q«xÒ7Ð7Ð7ÜŒr�!�Q‹x˜˜a™  Q¡¨¨Q©°°A±Ó6×?Ñ?ÓAÜˆq�!‹H˜˜Q™Ñ 1¨¡6Ñ*¨a°!©eÑ4ò6ð 6ð 6äŒb��A‹h˜˜Q™  A¡ q¨1¡uÓ-×6Ñ6Ó8Ø�‰F�q˜1‘uÑ  Q¡Ñ'ò(ð (ð (äŒr�!�Q‹x˜˜a™  Q¡¨¨Q©°°A±Ó6×?Ñ?ÓAÜˆa�‹8�q˜1‘uÑ  Q¡Ñ'ò(ð (ð (ô Œr�!�Q‹x˜˜a™  Q¡¨¨Q©°°A±Ó6×?Ñ?ÓAÜˆq�!‹H˜˜Q™Ñ 1¨¡6Ñ*¨a°!©eÑ4ò6ð 6ð 6äˆq�!‹H”r˜!˜Q“xÑ 1¨¡6Ñ*¨a°1©fÑ5×?Ñ?ÓAÜˆq�!‹H”r˜!˜Q“xÑ 1¨¡6Ñ*ò,ð ,ð ,äŒr�!�Q‹xœ˜A ˜r›Ó#×,Ñ,Ó.´#´b¸¸A³hÄÀ1ÀaÃÓ2IÒIÐIÐIÜˆq�A‰v�q˜A‘vÓ×'Ñ'Ó)¬R°°1«XÒ5Ð5Ð5Üˆq�1‰u�a˜"‘fœb  A›hÓ'×0Ñ0Ó2´a·g±gÒ=Ð=Ð=äˆq�A‰v”r˜!˜Q“xÓ ×)Ñ)Ó+¬s°1¸±6¼2¸aÀ»8Ó/DÒDÐDÐDÜŒb��A‹hœ˜1˜a›Ó!×*Ñ*Ó,´·±Ò6Ð6Ð6ÜŒr�!�Q‹xœ˜A˜q›Ó"×+Ñ+Ó-´°A°q³Ò9Ð9Ð9ÜŒb��A‹hœ˜1˜a›Ó!×*Ñ*Ó,´°1°a³Ò8Ð8Ñ8rO   c                  ó¶  — t        dd¬«      } t        | dk  | dkD  «      j                  «       t        j                  k(  sJ ‚t        | dk  | dk\  «      j                  «       t        j                  k(  sJ ‚t        | dk  | dk\  «      j                  «       t        j                  k(  sJ ‚t        | dk  | dk\  «      j                  «       t        j                  k(  sJ ‚y )Nrn   Tr¬  rS   r¶   )r   r   r   r	   r/   r   r0   ©rn   s    rP   Útest_issue_8373r²  f  s¶   € Ü�˜$Ô€AÜˆa�!‰e�Q˜‘VÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆa�!‰e�Q˜!‘VÓ×%Ñ%Ó'¬1¯6©6Ò1Ð1Ð1Üˆq�1‰u�a˜1‘fÓ×&Ñ&Ó(¬A¯G©GÒ3Ð3Ð3Üˆa�1‰f�a˜1‘fÓ×&Ñ&Ó(¬A¯F©FÒ2Ð2Ñ2rO   c                  ó    — t        dd¬«      } t        t        | d«      t        | d«      «      j                  «       t        j
                  k(  sJ ‚y )Nrn   Tr¬  rS   rV   )r   r   r   r   r	   r0   r±  s    rP   Útest_issue_7950r´  n  s<   € Ü�˜$Ô€AÜŒr�!�Q‹xœ˜A˜q›Ó"×+Ñ+Ó-´·±Ò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 ]  } | ||j	                  «       «       Œ y )Nc                 óX  — | j                   }t        |«      }t        t        t	        t        t        |dz
   |«      «      |z  |«      «      «      }|D ]V  }t        t        ||«      «      }| j                  |«      }|j                  |«      }||k(  rŒ@J dj                  | ||«      «       ‚ y )NrS   zHOriginal: {}
and simplified: {}
do not evaluate to the same value for {})
Úfree_symbolsr6  ra  r’  rG   rw  Ú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ˆÜœœ\¬$¬u°q¸1±u°X¸qÓ/AÓ*BÀQÑ*FÈÓJÓKÓLˆ	Øò 	^ˆFÜœ3˜t VÓ,Ó-ˆGØ$ŸM™M¨'Ó2ˆMØ(Ÿo™o¨gÓ6ˆOØ  OÓ3ð ^ð 68ç8>¹¸xÈÐU\Ó8]ó^Ð3ñ		^rO   r«  Tr¬  r®  FrS   rV   r¥   r¶   )r   r   r   r   r   )	rÂ  rx   rn   ro   rw   r»   r]   ÚexpressionsÚ
expressions	            rP   Ú*test_relational_simplification_numericallyrÅ  s  sd  € ò
^ô ˜¨Ô.�J€A€qˆ!ˆQÜ�5˜uÔ%�D€A€qä”r˜!˜Q“x  a¡¨¨Q©°°Q±¸¸A¹Ó>Ü”r˜!˜Q“x  a¡¨¨Q©°°Q±¸¸A¹Ó>Ü”b˜˜A“h  Q¡¨¨A©¨q°A©v°q¸1±uÓ=Ü�q˜A‘vœr ! Q›xÓ(Ü”cœ"˜Q ›( A¨¡F¨A°©E´2°a¸1±f¸aÀ!¹eÓ3DÓEÜœ"˜Q ›( A¨¡F¨A°©E°1¸±7¸AÀ¹EÓBóDä�q˜!“Hœr ! Q›xÑ'¨1°©6Ñ2°a¸1±fÑ=ð€Kð "ò Hˆ
Ù0°Ø1;×1DÑ1DÓ1Fõ	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 �
cg c]"  }
t        d	„ |
D «       «      st        |
«      rŒ!|
‘Œ$ }	}
|D ]�  \  }}|D ]w  } ||d   j                  Ž }|d
   }|	D ]Y  }t        t!        ||«      «      }|j#                  |«      }|j#                  |«      }||k(  rŒ@J dj%                  |d   ||«      «       ‚ Œy Œƒ y c c}
w )Nr   ©ÚWild)Ú_simplify_patterns_andÚ_simplify_patterns_orÚ_simplify_patterns_xorrZ   r[   r\   r=  r¡   c              3   ó&   K  — | ]	  }|d z  –— Œ y­w©rV   NrN   ©r  rx   s     rP   r  zFtest_relational_simplification_patterns_numerically.<locals>.<genexpr>Ÿ  ó   è ø€ Ò,>°q¨Q°­UÑ,>ùó   ‚rS   úGOriginal: {}
and simplified: {}
do not evaluate to the same value for{})Ú
sympy.corerÈ  Úsympy.logic.boolalgrÉ  rÊ  rË  r   r   r   ra  r’  rG   rw  ÚanyrJ  r¸  rô   Úxreplacer¹  )rÈ  rÉ  rÊ  rË  rZ   r[   r\   r¼  Úpatternlistsr½  rL  rI  ÚpatternlistÚpatternrº  r»  r¾  r¿  rÀ  rÁ  s                       rP   Ú3test_relational_simplification_patterns_numericallyrÙ  ’  sh  € Ý÷6ñ 6áˆS‹	€AÙˆS‹	€AÙˆS‹	€AØˆq�!ˆ9€DÜÑ0Ó2Ð3ÜÑ.Ó0Ð1ÜÑ0Ó2Ð3ð5€Lô ”Sœ¤d¬5°°Q«<Ó&8¸1Ñ&<¸aÓ@ÓAÓB€Ià%ÖM�q¬Ñ,>¸AÔ,>Ô)>ÄcÈ!Åf’ÐM€IÐMØ)ò 
fÑˆˆkØ"ò 		fˆGÙ˜W Q™ZŸ_™_Ð-ˆHØ  ™ˆJØ#ò f�Üœs 4¨Ó0Ó1�Ø (× 1Ñ 1°'Ó :�Ø",×"5Ñ"5°gÓ">�Ø$¨Ó7ð fð :>ç>D¹fÀWÈQÁZÐQ[Ð]dÓ>eófÐ7ñ	fñ		fñ
fùò Ns   Â"D<Â/D<c                  ó˜   — t        d«      } | dkD  | dk  z  | dkD  | dk  z  z  j                  «       | dkD  | dk  z  | dkD  | dk  z  z  k(  sJ ‚y )Nr{  r¡   r   )r   r   )r{  s    rP   Útest_issue_16803rÛ  ­  sg   € Ü�‹€Aà�‰U�q˜1‘uÑ ! a¡%¨A°©EÑ!2Ñ3×=Ñ=Ó?Ø�‰E�a˜!‘eÑ  Q¡¨1¨q©5Ñ 1Ñ2ò3ð 3ñ 3rO   c                  óˆ  ‡ — t         t        t        t        iŠ t        t         t        z   dkD  t         t        z
  dk  «      j	                  ‰ «      sJ ‚t        t         t        z   dk  t         t        z
  dk  «      j	                  ‰ «      rJ ‚t        t        ˆ fd„«       t        t        ˆ fd„«       t        t        ˆ fd„«       y )Nr   c                  ór   •— t        t        t        z   dk  t        t        z
  dk  «      j                  ‰ «      S ©Nr   )r   rn   ro   rÊ   ©r�  s   €rP   rW   z"test_issue_17530.<locals>.<lambda>¸  s)   ø€ œb¤¤Q¡¨¡¬A´©E°A©IÓ6×;Ñ;¸AÓ>€ rO   c                  ór   •— t        t        t        z   dkD  t        t        z
  dk  «      j                  ‰ «      S rÞ  ©r   rn   ro   rÊ   rß  s   €rP   rW   z"test_issue_17530.<locals>.<lambda>¹  ó)   ø€ œc¤!¤a¡%¨!¡)¬Q´©U°Q©YÓ7×<Ñ<¸QÓ?€ rO   c                  ór   •— t        t        t        z   dkD  t        t        z
  dk  «      j                  ‰ «      S rÞ  rá  rß  s   €rP   rW   z"test_issue_17530.<locals>.<lambda>º  râ  rO   )rn   r   ro   r   rÊ   r   rD   rX   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Ü
Œ9Ó>Ô?Ü
Œ9Ó?Ô@Ü
Œ9Ó?Õ@rO   c                  ó  — 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 ‚y )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Ó#¢|Ò3Ð3Ð3Ü’lÓ#¢|Ò3Ð3Ð3Ü’lÓ#¢|Ò3Ð3Ð3Ü’lÓ#¢|Ò3Ð3Ð3Ü’lÓ#¢|Ò3Ð3Ð3Ü’lÓ#¢|Ò3Ð3Ñ3rO   c                  ó  — 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 ‚y )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Ü�A�q�6š<Ó(Üˆt”S˜˜A“Y¨EÔ2ò3ð 3ñ 3rO   c                  óª   — t        d«      \  } }t        d| |g«      t        | |«      k(  sJ ‚t        ddg| |g«      t        t        |«      | «      k(  sJ ‚y )Nr  r¡   rS   r   )r   r;   r   r   r  s     rP   Útest_bool_mintermrë  Ð  sU   € Ü�5‹>�D€A€qÜ˜˜A˜q˜6Ó"¤c¨!¨Q£iÒ/Ð/Ð/Ü˜˜A˜  A Ó'¬3¬s°1«v°q«>Ò9Ð9Ñ9rO   c                  ó¼   — t        d«      \  } }t        d| |g«      t        t        | «      |«      k(  sJ ‚t        ddg| |g«      t        t        |«      | «      k(  sJ ‚y )Nr  rV   r   rS   )r   r<   r   r   r  s     rP   Útest_bool_maxtermrí  Ö  sY   € Ü�5‹>�D€A€qÜ˜˜A˜q˜6Ó"¤b¬¨Q«°£mÒ3Ð3Ð3Ü˜˜A˜  A Ó'¬2¬c°!«f°a«=Ò8Ð8Ñ8rO   c                  ó„   — t        d«      \  } }t        d| |g«      |k(  sJ ‚t        ddg| |g«      t        | |«      k(  sJ ‚y )Nr  rS   )r   r=   r   r  s     rP   Útest_bool_monomialrï  Ü  sK   € Ü�5‹>�D€A€qÜ˜˜Q ˜FÓ# qÒ(Ð(Ð(Ü˜!˜Q˜ ! Q Ó(¬C°°1«IÒ5Ð5Ñ5rO   c                  óX   — t        g d¢g d¢«      dk(  sJ ‚t        g d¢g d¢«      dk(  sJ ‚y )Nr˜   r–   rV   rš   r¶   )r>   rN   rO   rP   Útest_check_pairrñ  â  s,   € Ü’y¢)Ó,°Ò1Ð1Ð1Ü’y¢)Ó,°Ò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 ‚y rî   )rL   rM   rK   r,   )rr   Úres1Úresults      rP   Útest_issue_19114rõ  ç  sb   € Ü”‰E”aœ1˜"‘fÑ¤! ¤q b¡Ñ)€Dä”‰E”aœ1˜"‘fÑ¤! ¤q b¡Ñ)€DÜ�D 4Ô(€FØ�d˜D�\Ñ!Ð!Ñ!rO   c                  ó&  — 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 ‚y )N)rS   rV   r¡   r  r¥   é   é   é	   r£   é   é   r¤   )r   rZ   r[   r\   r»   )rô  Úexpecteds     rP   Útest_issue_20870rý  ï  sv   € Ü”aœœAœq�\Ò#KÓL€FÜ”a�R‘œA¤™E¤A™IÑ&¬!¬q¨b©&´A°2©+Ñ6Ü”a�R‘œ1˜"‘ñÜ!"¤a R¡¬1¨"¡ñ.€Hà�XÒÐÑrO   c                  ó  — 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 ‚y ©Nr˜   )r¡   rS   r   )r?   rn   ro   rw   r   r   rN   rO   rP   Útest_convert_to_varsSOPr   ö  sS   € Üšy¬1¬a´¨)Ó4¼¼CÄ»FÄAÄsÌ1ÃvÓ8NÒNÐNÐNÜšy¬1¬a´¨)Ó4¼¼A¼sÄ1»v»ÒFÐFÑFrO   c                  ó  — 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 ‚y rÿ  )r@   rn   ro   rw   r   r   rN   rO   rP   Útest_convert_to_varsPOSr  û  sO   € Üšy¬1¬a´¨)Ó4¼¼1¼cÄ!»fÄaÓ8HÒHÐHÐHÜšy¬1¬a´¨)Ó4¼¼3¼q»6Ä1»Ò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„«       y )Nza:erV   rù  Tr   c                  ó    •— t        ‰ ‰z  «      S rm   )rB   )rZ   r[   s   €€rP   rW   z%test_gateinputcount.<locals>.<lambda>  s   ø€ œn¨Q°©UÓ3€ rO   )r   rB   r   rD   rX   )r\   r»   r]   rZ   r[   s      @@rP   Útest_gateinputcountr     s|   ù€ Ü˜E“N�M€A€qˆ!ˆQ�Üœ#˜a ›)Ó$¨Ò)Ð)Ð)Ü˜!˜a !™e a™i¨1¨q©5Ñ1Ñ1Ó2°aÒ7Ð7Ð7Üœ#˜a ›,Ó'¨1Ò,Ð,Ð,Ü
Œ9Ô3Õ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        kD  «      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kD  t        dkD   «      rJ ‚t        t        dkD  t        dkD  «      sJ ‚t        t        dkD  dt        k  «      t        j                  u sJ ‚t        t        dkD  t        dkD  «      t        dkD  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kD  t        dkD  «      t        dkD  «      t        dkD  k(  sJ ‚t        t        t        dkD  t        dkD  «      t        dkD  t        dkD  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 ‚y rÞ  )r   rn   r	   r/   ro   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¡VÑ+Ð+Ð+Ü”!�a‘%œ!˜a™%Ó!¤a¨!¡eÒ,Ð,Ð,Ü”a˜1‘f¤ Q¡˜iÔ(Ð(Ð(Ü”!�q‘&œ1 ™6Ô#Ð#Ð#Ü”!�q‘&˜1¤™6Ó#¤q§v¡vÑ-Ð-Ð-Ü”!�q‘&œ1 ™6Ó#¬¨Q©Ò/Ð/Ð/Ü”a˜!‘eœq 1™u˜XÔ&Ð&Ð&Ü”!�a‘%œ!˜a™%Ô!Ð!Ð!Ü”!�a‘%˜!œa™%Ó!¤Q§V¡VÑ+Ð+Ð+Ü”!�a‘%œ!˜a™%Ó!¤a¨!¡eÒ,Ð,Ð,Ü”a˜1‘f¤ Q¡˜iÔ(Ð(Ð(Ü”!�q‘&œ1 ™6Ô#Ð#Ð#Ü”!�q‘&˜1¤™6Ó#¤q§v¡vÑ-Ð-Ð-Ü”!�q‘&œ1 ™6Ó#¬¨Q©Ò/Ð/Ð/Ü”bœ˜A“h¤"¤Q¨£( Ô,Ð,Ð,Ü”"”Q˜“(œR¤ 1›XÔ'Ð'Ð'Ü”"”Q˜“(œR ¤1›XÓ'¬1¯6©6Ñ1Ð1Ð1Ü”"”Q˜“(œR¤ 1›XÓ'¬2¬a°«8Ò3Ð3Ð3Ü”bœ˜A“h¤"¤Q¨£( Ô,Ð,Ð,Ü”"”Q˜“(œR ¤1›XÓ'¬1¯6©6Ñ1Ð1Ð1Ü”"”Q˜“(œR¤ 1›XÔ'Ð'Ð'Ü”"”Q˜“(œR¤ 1›XÓ'¬B¬q°!«HÒ5Ð5Ð5ô ”#”a˜!‘eœQ ™UÓ#¤a¨!¡eÓ-´!°a±%Ò8Ð8Ð8Ü”#”a˜!‘eœQ ™UÓ#¤a¨!¡e´°A±Ñ%6Ó7¼1¿6¹6ÑAÐAÐAô ”!—*‘*œQ“-¤§¡¬A£Ó/´1·6±6Ñ9Ð9Ð9Ü”!—*‘*œQ“-¤§¡¬A£Ó/´1·7±7Ñ:Ð:Ð:Ü”!—*‘*œQ“-¤§¡¬£Ó+¬q¯z©z¼!«}Ò<Ð<Ñ<rO   c                  óJ  — 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 �cg c]"  }t        d	„ |D «       «      st        |«      rŒ!|‘Œ$ }}|D ]�  \  }	}
|
D ]w  } |	|d   j                  Ž }|d
   }|D ]Y  }t        t        ||«      «      }|j                  |«      }|j                  |«      }||k(  rŒ@J dj                  |d   ||«      «       ‚ Œy Œƒ y c c}w )Nr   rÇ  )Ú_simplify_patterns_and3rZ   r[   r\   r=  r¡   c              3   ó&   K  — | ]	  }|d z  –— Œ y­wrÍ  rN   rÎ  s     rP   r  zPtest_relational_threeterm_simplification_patterns_numerically.<locals>.<genexpr>7  rÏ  rÐ  rS   rÑ  )rÒ  rÈ  rÓ  r	  r   ra  r’  rG   rw  rÔ  rJ  r¸  rô   rÕ  r¹  )rÈ  r	  rZ   r[   r\   r¼  rÖ  r½  rL  rI  r×  rØ  rº  r»  r¾  r¿  rÀ  rÁ  s                     rP   Ú=test_relational_threeterm_simplification_patterns_numericallyr  -  sE  € ÝÝ;ÙˆS‹	€AÙˆS‹	€AÙˆS‹	€AØˆq�!ˆ9€DÜÑ1Ó3Ð4Ð5€LÜ”Sœ¤d¬5°°Q«<Ó&8¸1Ñ&<¸aÓ@ÓAÓB€Ià%ÖM�q¬Ñ,>¸AÔ,>Ô)>ÄcÈ!Åf’ÐM€IÐMØ)ò 
fÑˆˆkØ"ò 		fˆGÙ˜W Q™ZŸ_™_Ð-ˆHØ  ™ˆJØ#ò f�Üœs 4¨Ó0Ó1�Ø (× 1Ñ 1°'Ó :�Ø",×"5Ñ"5°gÓ">�Ø$¨Ó7ð fð :>ç>D¹fÀWÈQÁZÐQ[Ð]dÓ>eófÐ7ñ	fñ		fñ
fùò Ns   Á0"D ÂD c                  ó  — t        t        t        t        «      t	        t        t
        «      «      } t        | t         «      sJ ‚t        | j                  «      t        t        t        «      t	        t        t
        «      hk(  sJ ‚y rm   )	r   r   rZ   r\   r   r[   ri   r’  rJ  r±  s    rP   Útest_issue_25451r  E  sQ   € Ü
Œ3Œq”!‹9”bœœA“hÓ€AÜ�aœÔÐÐÜˆq�v‰v‹;œ3œq¤!›9¤b¬¬A£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 ‚y r]  )r   r   r   r6   )rZ   r[   r\   r»   rn   ro   rô  Ú
result_anfs           rP   Útest_issue_26985r  K  s¦   € Ü˜Ó#�J€A€qˆ!ˆQô 	ˆAŒs�1�a‹yœ#˜a ›)Ó$€AÜˆAˆq”#�a˜“)Ó€Aô ”�Qœ˜A˜q›	Ó"¤C¨¨1£IÓ.€FÜœœF¤3 q¬#¨a°«)Ó#4Ó5´s¸1¸a³yÓAÓ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   rj   rZ   r[   r\   r»   r]   rx   rn   ro   rw   rQ   rc   rf   rk   rs   ru   ry   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,  r/  r1  r;  rC  rF  rM  rO  rR  rU  rW  r[  r^  rb  ry  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Ý "ß .Ý %ß =ß +Ý (Ý ,÷
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
÷ 
ñ 
õ &ç 4Ñ 4ç 9Ñ 9á�U‹^�
€€1€aˆÙ# IÓ.Ñ €€1€aˆˆAˆq�!�Q˜ò	òJò0)ò,9ò24ò
3ò
9ò
2ò
ò(ò(ò'ò$ò>ò(0ò?òq(òh@ò2	ò"ò$
4ðòò&ò*òò5ò'ò'òSò.ò.;ò8"ò 
6ò8ò>ò"ò/ò+ò	Lò)ò)ò+4ò\%òò&CAòLLð$ ñGó ðGòò$ò
!ò
3ò/ò
8ò
/òOòò&&ò#ò
1ò.ò"Hò#ò:(ò@9òF3ò9ð
 ñHó ðHò<fò63òAò4ò3ò:ò9ò6ò3ò
"òòGò
Fò
5ò"=òJfò00órO   