§
    OŠtjì=  ã                   óF  — d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZmZmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ d dlmZ d dlmZm Z m!Z!m"Z" d dl#m$Z$m%Z% d dl&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z< d dl=m>Z> d dl?m@Z@mAZA d dlBmCZC  ed¦  «        ZD ed¦  «        ZE ed¦  «        ZFd„ ZGd„ ZHd„ ZId„ ZJd„ ZKd„ ZLd„ ZMd.d!„ZNd"„ ZOd#„ ZPd$„ ZQd%„ ZRd&„ ZSd'„ ZTd(„ ZUd)„ ZVd*„ ZWd+„ ZXe;d,„ ¦   «         ZYeCd-„ ¦   «         ZZdS )/é    N)ÚpiÚRational)ÚPow)ÚS)ÚSymbol)ÚAbs)ÚexpÚlog)ÚcosÚsinÚsinc)ÚMatrixSymbol)ÚassumingÚQ)Úimport_module)Úccode)ÚMatrixSolve)Úlog2Úexp2Úexpm1Úlog1p)Ú	logaddexpÚ
logaddexp2)Úcosm1Úpowm1)ÚoptimizeÚ	cosm1_optÚlog2_optÚexp2_optÚ	expm1_optÚ	log1p_optÚ	powm1_optÚ
optims_c99Úcreate_expand_pow_optimizationÚ
matinv_optÚlogaddexp_optÚlogaddexp2_optÚoptims_numpyÚoptims_scipyÚ	sinc_optsÚFuncMinusOneOptim)ÚXFAILÚskip)Úlambdify)Úcompile_link_import_stringsÚhas_c)Ú	may_xfailÚcythonÚnumpyÚscipyc                  óh  — t          d¦  «        } dt          d| z  dz   ¦  «        z  t          d¦  «        z  }t          |t          g¦  «        }|dt	          d| z  dz   ¦  «        z  k    sJ ‚|                     t          ¦  «        |k    sJ ‚dt          d| z  dz   ¦  «        z  dt          d¦  «        z  z  }t          |t          g¦  «        }|dt	          d| z  dz   ¦  «        z  dz  k    sJ ‚|                     t          ¦  «        |k    sJ ‚t          | ¦  «        t          d¦  «        z  }t          |t          g¦  «        }|t	          | ¦  «        k    sJ ‚|                     t          ¦  «        |k    sJ ‚t          | ¦  «        t          d¦  «        z  t          | dz   ¦  «        z   }t          |t          g¦  «        }|t	          | ¦  «        t          d¦  «        t	          | dz   ¦  «        z  z   k    sJ ‚|                     t          ¦  «        |k    sJ ‚t          d¦  «        }	t          |	t          g¦  «        }
|
|	k    sJ ‚t          | dz   ¦  «        t          d¦  «        z  }t          |t          g¦  «        }t          |¦  «        d	k    sJ ‚|                     t          ¦  «        |k    sJ ‚d S )
NÚxé   é   é   é   é   é   é   zlog2(x + 3))r   r
   r   r   r   ÚrewriteÚstr)r6   Úexpr1Úopt1Úexpr2Úopt2Úexpr3Úopt3Úexpr4Úopt4Úexpr5Úopt5Úexpr6Úopt6s                ú`/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/codegen/tests/test_rewriting.pyÚtest_log2_optrM       sc  € Ýˆs‰Œ€AØ�c�!�A‘#˜‘'‰lŒl‰N�C ™FœFÑ#€EÝ�E�H˜:Ñ&Ô&€DØ�1•T˜!˜A™# ™'‘]”]‘?Ò"Ð"Ð"Ð"Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�c�!�A‘#˜‘'‰lŒl‰N˜B�s 1™vœv™IÑ&€EÝ�E�H˜:Ñ&Ô&€DØ�1•T˜!˜A™# ™'‘]”]‘? 2Ñ%Ò%Ð%Ð%Ð%Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%å�‰FŒF•3�q‘6”6‰M€EÝ�E�H˜:Ñ&Ô&€DØ•4˜‘7”7Š?ˆ?ˆ?ˆ?Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%å�‰FŒF•3�q‘6”6‰M�C  !¡™HœHÑ$€EÝ�E�H˜:Ñ&Ô&€DØ•4˜‘7”7�S ™VœV¥D¨¨1©¡I¤IÑ-Ñ-Ò-Ð-Ð-Ð-Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%å�‰GŒG€EÝ�E�H˜:Ñ&Ô&€DØ�5Š=ˆ=ˆ=ˆ=å��A‘‰JŒJ•s˜1‘v”vÑ€EÝ�E�H˜:Ñ&Ô&€DÝˆt‰9Œ9˜Ò%Ð%Ð%Ð%Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%Ð%Ð%ó    c                  ó  — t          d¦  «        } dd| z  z   }t          |t          g¦  «        }|dt          | ¦  «        z   k    sJ ‚|                     t
          ¦  «        |k    sJ ‚dd| z  z   }|t          |t          g¦  «        k    sJ ‚d S )Nr6   r<   r:   r8   )r   r   r   r   r>   r   )r6   r@   rA   rB   s       rL   Útest_exp2_optrP   @   s“   € Ýˆs‰Œ€AØ��1‘‰H€EÝ�E�H˜:Ñ&Ô&€DØ�1•t˜A‘w”w‘;ÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%à��1‘‰H€EØ•H˜U¥X JÑ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/rN   c                  óÊ
  ‡— t          d¦  «        Št          ‰¦  «        dz
  } t          | t          g¦  «        }t	          ‰¦  «        |z
  dk    sJ ‚|                     t          ¦  «        | k    sJ ‚dt          ‰¦  «        z  dz
  }t          |t          g¦  «        }dt	          ‰¦  «        z  |k    sJ ‚|                     t          ¦  «        |k    sJ ‚dt          ‰¦  «        z  dz
  }t          |t          g¦  «        }dt	          ‰¦  «        z  dz
  |k    sJ ‚|                     t          ¦  «        |k    sJ ‚t          t          t          d¬¦  «        }|t          ||g¦  «        k    sJ ‚|t          | |g¦  «        k    sJ ‚|t          ||g¦  «        k    sJ ‚dt          ‰¦  «        z  t          ‰¦  «        z   dz
  }t          |t          g¦  «        }dt	          ‰¦  «        z  t          ‰¦  «        z   |k    sJ ‚|                     t          ¦  «        |k    sJ ‚dt          d‰z  ¦  «        z  dz
  }	t          |	t          g¦  «        }
dt	          d‰z  ¦  «        z  |
k    sJ ‚|
                     t          ¦  «        |	k    sJ ‚dt          ‰¦  «        z  dz   t          ‰¦  «        dz   z  dz   }t          |t          g¦  «        }|                     ¦   «         |                     ¦   «         k    sJ ‚ˆfd	„}t           ||¦  «         ||¦  «        z
  ¦  «        d
k     sJ ‚t          d¦  «        }dt          ‰¦  «        z  dz
  dt          |¦  «        z
  z  ddt          |¦  «        z
  z  z
  }t          |t          g¦  «        }dt	          ‰¦  «        z  t	          |¦  «        z  |k    sJ ‚|                     t          ¦  «        |z
   
                    ¦   «         dk    sJ ‚dt          ‰¦  «        z   dz  dz
  }t          |t          g¦  «        }t          ‰¦  «        dz   t	          ‰¦  «        z  }dt	          ‰¦  «        z  t	          d‰z  ¦  «        z   }||z
                       t          ¦  «         
                    ¦   «         dk    sJ ‚|||fv sJ ‚|                     t          ¦  «        |z
   
                    ¦   «         dk    sJ ‚t          |¦  «        }t          |t          g¦  «        }t          |¦  «        }t          |¦  «        }|||fv sJ ‚|                     t          ¦  «        |                     t          ¦  «        z
   
                    ¦   «         j        sJ ‚d S )Nr6   r<   r   r8   r9   r:   F©Úopportunisticc                 óT   •— |                       ‰d¦  «                             ¦   «         S )Nr8   )ÚsubsÚevalf)Úer6   s    €rL   Úevztest_expm1_opt.<locals>.evo   s!   ø€ Ø�vŠv�a˜‰|Œ|×!Ò!Ñ#Ô#Ð#rN   gVçž¯Ò<Úyéþÿÿÿé   )r   r	   r   r    r   r>   r+   r
   Ú	count_opsÚabsÚfactorr   Úis_zero)r@   rA   rB   rC   rD   rE   Úexpm1_opt_non_opportunisticrF   rG   rH   rI   rJ   rK   rX   rY   Úexpr7Úopt7Úexpr8Úopt8Útgt8aÚtgt8bÚexpr9Úopt9Útgt9aÚtgt9br6   s                            @rL   Útest_expm1_optrk   K   s  ø€ Ýˆs‰Œ€Aå�‰FŒF�Q‰J€EÝ�E�I˜;Ñ'Ô'€DÝ�‰8Œ8�d‰?˜aÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�c�!‰fŒf‰H�q‰L€EÝ�E�I˜;Ñ'Ô'€DØ�U�1‰XŒX‰:˜ÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�c�!‰fŒf‰H�q‰L€EÝ�E�I˜;Ñ'Ô'€DØ�U�1‰XŒX‰:˜‰>˜TÒ!Ð!Ð!Ð!Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%Ý"3µC½ÈeÐ"TÑ"TÔ"TÐØ•H˜UÐ%@Ð$AÑBÔBÒBÐBÐBÐBØ•8˜EÐ$?Ð#@ÑAÔAÒAÐAÐAÐAØ•8˜EÐ$?Ð#@ÑAÔAÒAÐAÐAÐAà�c�!‰fŒf‰H•s˜1‘v”vÑ Ñ!€EÝ�E�I˜;Ñ'Ô'€DØ�U�1‰XŒX‰:�˜A™œÑ $Ò&Ð&Ð&Ð&Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�c�!�A‘#‰hŒh‰J˜‰N€EÝ�E�I˜;Ñ'Ô'€DØ�U�1�Q‘3‰ZŒZ‰<˜4ÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�s�1‰vŒv‰X˜‰\�C ™FœF Q™JÑ'¨!Ñ+€EÝ�E�I˜;Ñ'Ô'€DØ�>Š>ÑÔ˜uŸšÑ0Ô0Ò0Ð0Ð0Ð0ð$ð $ð $ð $ð $åˆrˆr�%‰yŒy˜2˜2˜d™8œ8Ñ#Ñ$Ô$ uÒ,Ð,Ð,Ð,åˆs‰Œ€AØ�s�1‰vŒv‰X˜‰\˜A¥ A¡¤™JÑ'¨!¨Q­s°1©v¬v©X©,Ñ6€EÝ�E�I˜;Ñ'Ô'€DØ�e�A‰hŒh‰;•u˜Q‘x”xÑ 4Ò'Ð'Ð'Ð'Ø�LŠL�ÑÔ Ñ%×-Ò-Ñ/Ô/°1Ò4Ð4Ð4Ð4à�s�1‰vŒv‰X˜‰M˜AÑ€EÝ�E�I˜;Ñ'Ô'€DÝ�‰VŒV�a‰Z�˜q™œÑ!€EØ�e�A‰hŒh‰J�˜q ™s™œÑ#€Eð
 �E‰M×"Ò"¥3Ñ'Ô'×.Ò.Ñ0Ô0°AÒ5Ð5Ð5Ð5Ø�E˜5�>Ð!Ð!Ð!Ð!Ø�LŠL�ÑÔ Ñ%×-Ò-Ñ/Ô/°1Ò4Ð4Ð4Ð4å�‰JŒJ€EÝ�E�I˜;Ñ'Ô'€DÝ�‰JŒJ€EÝ�‰JŒJ€EØ�E˜5�>Ð!Ð!Ð!Ð!Ø�LŠL�ÑÔ §¢­cÑ 2Ô 2Ñ2×:Ò:Ñ<Ô<ÔDÐDÐDÐDÐDÐDrN   c                  ó  — t          t          d                     ¦   «         ¦  «        \  } }t          | ¦  «        t          |¦  «        z   dz
  }t	          |t
          g¦  «        }|t          | ¦  «        t          |¦  «        z   k    sJ ‚d S ©Núx yr:   )Úmapr   Úsplitr	   r   r    r   ©r6   rY   r@   rA   s       rL   Útest_expm1_two_exp_termsrr   �   óp   € Ý�v�u—{’{‘}”}Ñ%Ô%�D€A€qÝ�‰FŒF•S˜‘V”V‰O˜aÑ€EÝ�E�I˜;Ñ'Ô'€DØ•5˜‘8”8�e A™hœhÑ&Ò&Ð&Ð&Ð&Ð&Ð&rN   c                  óÖ  — t          d¦  «        } t          | ¦  «        dz
  }t          |t          g¦  «        }t	          | ¦  «        |z
  dk    sJ ‚|                     t          ¦  «        |k    sJ ‚dt          | ¦  «        z  dz
  }t          |t          g¦  «        }dt	          | ¦  «        z  |k    sJ ‚|                     t          ¦  «        |k    sJ ‚dt          | ¦  «        z  dz
  }t          |t          g¦  «        }dt	          | ¦  «        z  dz
  |k    sJ ‚|                     t          ¦  «        |k    sJ ‚t          t          t          d¬¦  «        }|t          ||g¦  «        k    sJ ‚|t          ||g¦  «        k    sJ ‚|t          ||g¦  «        k    sJ ‚dt          | ¦  «        z  t          | ¦  «        z   dz
  }t          |t          g¦  «        }	dt	          | ¦  «        z  t          | ¦  «        z   |	k    sJ ‚|	                     t          ¦  «        |k    sJ ‚dt          d| z  ¦  «        z  dz
  }
t          |
t          g¦  «        }dt	          d| z  ¦  «        z  |k    sJ ‚|                     t          ¦  «        |
k    sJ ‚ddt          | ¦  «        z  z
  }t          |t          g¦  «        }d	t	          | ¦  «        z  |k    sJ ‚|                     t          ¦  «        |k    sJ ‚d S )
Nr6   r<   r   r8   r9   r:   FrR   rZ   )r   r   r   r   r   r>   r+   r
   )r6   r@   rA   rB   rC   rD   rE   Úcosm1_opt_non_opportunisticrF   rG   rH   rI   rJ   rK   s                 rL   Útest_cosm1_optrv   ”   sÌ  € Ýˆs‰Œ€Aå�‰FŒF�Q‰J€EÝ�E�I˜;Ñ'Ô'€DÝ�‰8Œ8�d‰?˜aÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�c�!‰fŒf‰H�q‰L€EÝ�E�I˜;Ñ'Ô'€DØ�U�1‰XŒX‰:˜ÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�c�!‰fŒf‰H�q‰L€EÝ�E�I˜;Ñ'Ô'€DØ�U�1‰XŒX‰:˜‰>˜TÒ!Ð!Ð!Ð!Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%Ý"3µC½ÈeÐ"TÑ"TÔ"TÐØ•H˜UÐ%@Ð$AÑBÔBÒBÐBÐBÐBØ•8˜EÐ$?Ð#@ÑAÔAÒAÐAÐAÐAØ•8˜EÐ$?Ð#@ÑAÔAÒAÐAÐAÐAà�c�!‰fŒf‰H•s˜1‘v”vÑ Ñ!€EÝ�E�I˜;Ñ'Ô'€DØ�U�1‰XŒX‰:�˜A™œÑ $Ò&Ð&Ð&Ð&Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�c�!�A‘#‰hŒh‰J˜‰N€EÝ�E�I˜;Ñ'Ô'€DØ�U�1�Q‘3‰ZŒZ‰<˜4ÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%à�•#�a‘&”&‘‰L€EÝ�E�I˜;Ñ'Ô'€DØ�e�A‰hŒh‰;˜$ÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%Ð%Ð%rN   c                  ó  — t          t          d                     ¦   «         ¦  «        \  } }t          | ¦  «        t          |¦  «        z   dz
  }t	          |t
          g¦  «        }|t          | ¦  «        t          |¦  «        z   k    sJ ‚d S rm   )ro   r   rp   r   r   r   r   rq   s       rL   Útest_cosm1_two_cos_termsrx   º   rs   rN   c                  óê   — t          d¦  «        } t          | ¦  «        t          | ¦  «        z   dz
  }t          |t          t
          g¦  «        }|t          | ¦  «        t          | ¦  «        z   k    sJ ‚d S )Nr6   r:   )r   r	   r   r   r    r   r   r   )r6   r@   rA   s      rL   Útest_expm1_cosm1_mixedrz   Á   sc   € Ýˆs‰Œ€AÝ�‰FŒF•S˜‘V”V‰O˜aÑ€EÝ�E�I¥yÐ1Ñ2Ô2€DØ•5˜‘8”8�e A™hœhÑ&Ò&Ð&Ð&Ð&Ð&Ð&rN   ç    _ Bc                 óº  — |                       |¦  «                             ¦   «         }t                               t          j        ¦  «        j        }t          ||z
  ¦  «        ||z  k     sJ ‚t          t          | 	                    ¦   «         ¦  «        |fi |pi ¤Ž}t          t          t          |                     ¦   «         ¦  «        ¦  «        }	t           ||	Ž |z
  ¦  «        }
|
t          ||z  ¦  «        k     sJ ‚t          t          | 	                    ¦   «         ¦  «        | fi |pi ¤Ž}t           ||	Ž |z
  ¦  «        }|t          ||z  |z  ¦  «        k    sJ ‚dS )zU poorness=1e10 signifies that `expr` loses precision of at least ten decimal digits. N)rU   rV   r3   ÚfinfoÚfloat64Úepsr]   r.   ÚlistÚkeysÚtuplero   ÚfloatÚvalues)ÚexprÚoptÚval_subsÚ
approx_refÚlambdify_kwÚpoornessÚnum_refr   Úf1Ú
args_floatÚnum_err1Úf2Únum_err2s                rL   Ú_check_num_lambdifyr‘   È   sE  € à�iŠi˜Ñ!Ô!×'Ò'Ñ)Ô)€GÝ
�+Š+•e”mÑ
$Ô
$Ô
(€CÝˆw˜Ñ#Ñ$Ô$ z°#¡~Ò5Ð5Ð5Ð5Ý	•$�x—}’}‘”Ñ'Ô'¨Ð	DÐ	D°Ð1BÀÐ	DÐ	D€BÝ•s�5 (§/¢/Ñ"3Ô"3Ñ4Ô4Ñ5Ô5€JÝ�2�2�z�? ZÑ/Ñ0Ô0€HØ•c˜' #™+Ñ&Ô&Ò&Ð&Ð&Ð&Ý	•$�x—}’}‘”Ñ'Ô'¨Ð	EÐ	E°+Ð2CÀÐ	EÐ	E€BÝ�2�2�z�? ZÑ/Ñ0Ô0€HØ•c˜' #™+ hÑ.Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/rN   c            	      ó�  — t          d¦  «        } dt          | ¦  «        z  dz
  }t          |t          g¦  «        }|t	          | ¦  «         t          | ¦  «        z  k    sJ ‚t
          r(t          ||| t          d¦  «        dz  idddi¬¦  «         d	t          | ¦  «        z  d	z
  }t          |t          ¦  «        }|d
t	          | ¦  «        z  t          | ¦  «        z  k    sJ ‚t
          r(t          ||| t          d¦  «        dz  idddi¬¦  «         t          t          d| z  ¦  «        z  t          z
  }t          |t          g¦  «        }|t           t	          d| z  ¦  «        z  t          d| z  ¦  «        z  k    sJ ‚t
          rBt          ||| t          d¦  «        dz  dz  it          dt          z  ¦  «        ddi¬¦  «         d S d S )Nr6   r<   é
   iâÿÿÿg&¦¬ª¶i3Úmodulesr4   )r‰   r:   rZ   g&¦¬ª¶y3r8   )r   r   r   r   r   r4   r‘   r   r)   r   rƒ   )r6   r@   rA   rB   rC   rD   rE   s          rL   Útest_cosm1_apartr•   Ö   sº  € Ýˆs‰Œ€Aà�c�!‰fŒf‰H�q‰L€EÝ�E�I˜;Ñ'Ô'€DØ•E˜!‘H”H�9�S ™VœVÑ#Ò#Ð#Ð#Ð#Ýð cÝ˜E 4¨!­Q¨r©U¬U°C©Z¨¸%ÈiÐY`ÐMaÐbÑbÔbÐbà�c�!‰fŒf‰H�q‰L€EÝ�E�<Ñ(Ô(€DØ�2•e˜A‘h”h‘;�s 1™vœvÑ%Ò%Ð%Ð%Ð%Ýð cÝ˜E 4¨!­Q¨r©U¬U°C©Z¨¸%ÈiÐY`ÐMaÐbÑbÔbÐbå�s�1�Q‘3‰xŒx‰K�"Ñ€EÝ�E�I˜;Ñ'Ô'€DØ•B�3•u˜Q˜q™S‘z”z‘>¥# a¨¡c¡(¤(Ñ*Ò*Ð*Ð*Ð*Ýð oÝ˜E 4¨!­Q¨r©U¬U°C©Z¸©\Ð):½EÀ%ÍÁ(¹O¼OÐZcÐelÐYmÐnÑnÔnÐnÐnÐnðoð orN   c                  ó²  — t          t          d¦  «        x} \  }}||z  dz
  }t          |t          g¦  «        }|t	          ||¦  «        k    sJ ‚| D ]0}|                     |¦  «        |                     |¦  «        k    sJ ‚Œ1t          rÌt          t          t          t          j	        j	         
                    d¦  «        d d…         ¦  «        ¦  «        dk    r~|t          d                     ¦   «         Ž |t          i}d}t          ||||dd	id
¬¦  «         |t          |t          d                     ¦   «         Ž i}d}	t          ||||	dd	id¬¦  «         d S d S d S )NÚxyr<   ú.r8   )r<   r“   r   gÂ    ð?g<îåÝV=r”   r4   l    hí] )r‰   rŠ   g»½×Ùß|Û=gh˜ùRwß=i Êš;)ro   r   r   r"   r   Údiffr4   r‚   ÚintÚversionrp   r   Úas_integer_ratior   r‘   )
Úargsr6   rY   r@   rA   ÚargÚsubs1_aÚ
ref1_f64_aÚsubs1_bÚ
ref1_f64_bs
             rL   Ú
test_powm1r£   ì   sm  € Ý•f˜dÑ#Ô#Ð#€D‰4ˆ1ˆaàˆq‰D�1‰H€EÝ�E�I˜;Ñ'Ô'€DØ•5˜˜A‘;”;ÒÐÐÐØð 1ð 1ˆØ�zŠz˜#‰Œ $§)¢)¨C¡.¤.Ò0Ð0Ð0Ð0Ð0Ýð p••s�3¥¤Ô 5× ;Ò ;¸CÑ @Ô @ÀÀ!ÀÔ DÑEÔEÑFÔFÈ*ÒTÐTØ•h × <Ò <Ñ >Ô >Ð?ÀÅBÐGˆØ*ˆ
Ý˜E 4¨°*È9ÐV]ÐJ^ÐioÐpÑpÔpÐpà•b˜!�X¨×'?Ò'?Ñ'AÔ'AÐBÐCˆØ+ˆ
Ý˜E 4¨°*È9ÐV]ÐJ^ÐinÐoÑoÔoÐoÐoÐoðpð pÐTÐTrN   c                  ó4  — t          d¦  «        } t          | dz   ¦  «        }t          |t          g¦  «        }t	          | ¦  «        |z
  dk    sJ ‚|                     t          ¦  «        |k    sJ ‚t          d| z  dz   ¦  «        }t          |t          g¦  «        }t	          | ¦  «        t          d¦  «        z   |k    sJ ‚|                     t          ¦  «        |z
                       ¦   «         dk    sJ ‚t          d| z  dz   ¦  «        }t          |t          g¦  «        }t	          d| z  ¦  «        |z
  dk    sJ ‚|                     t          ¦  «        |k    sJ ‚t          | dz   ¦  «        }t          |t          g¦  «        }t          |¦  «        dk    sJ ‚d S )Nr6   r<   r   r8   r:   z
log(x + 3))r   r
   r   r!   r   r>   Úsimplifyr?   )	r6   r@   rA   rB   rC   rD   rE   rF   rG   s	            rL   Útest_log1p_optr¦   þ   sw  € Ýˆs‰Œ€AÝ��A‘‰JŒJ€EÝ�E�I˜;Ñ'Ô'€DÝ�‰8Œ8�d‰?˜aÒÐÐÐØ�<Š<�ÑÔ Ò%Ð%Ð%Ð%å��!‘�a‘‰LŒL€EÝ�E�I˜;Ñ'Ô'€DÝ�‰8Œ8•c˜!‘f”fÑ Ò$Ð$Ð$Ð$Ø�LŠL�ÑÔ Ñ%×/Ò/Ñ1Ô1°QÒ6Ð6Ð6Ð6å��!‘�a‘‰LŒL€EÝ�E�I˜;Ñ'Ô'€DÝ��1‘‰:Œ:˜Ñ Ò!Ð!Ð!Ð!Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%å��!‘‰HŒH€EÝ�E�I˜;Ñ'Ô'€DÝˆt‰9Œ9˜Ò$Ð$Ð$Ð$Ð$Ð$rN   c                  ó:
  — t          d¦  «        } d| z  t          | ¦  «        t          d¦  «        z  z   t          | dz   ¦  «        z   t          | ¦  «        z   dz
  }t          |t          ¦  «                             ¦   «         }|t          | ¦  «        t          | ¦  «        z   t          | ¦  «        z   t          | ¦  «        z   k    sJ ‚| 
                    t          ¦  «         
                    t          ¦  «         
                    t          ¦  «        |k    sJ ‚t          | ¦  «        t          d¦  «        z  t          | dz   ¦  «        z   }t          |t          ¦  «        }|t          | ¦  «        t          | ¦  «        z   k    sJ ‚| 
                    t          ¦  «        |k    sJ ‚t          | ¦  «        t          d¦  «        z  t          d| z  dz   ¦  «        z   }t          |t          ¦  «        }|t          | ¦  «        t          d¦  «        z   t          | ¦  «        z   z
  }|dk    sJ ‚| 
                    t          ¦  «        |z
                       ¦   «         dk    sJ ‚d| z  dt          d| z  dz   ¦  «        z  d	t          d¦  «        z  z  z   d
t          | ¦  «        z  z   d
z
  t          d| z  dz   ¦  «        z   }t          |t          ¦  «                             ¦   «         }	|	t          | ¦  «        dt          d| z  dz   ¦  «        z  d	z  z   d
t          | ¦  «        z  z   t          d¦  «        z   t          | ¦  «        z   z
  }
|
dk    sJ ‚|	 
                    t          ¦  «         
                    t          ¦  «         
                    t          ¦  «        |z
                       ¦   «         dk    sJ ‚dt          d| z  ¦  «        z  dz
  }t          |t          ¦  «        }|dt          d| z  ¦  «        z  z
  }|dk    sJ ‚| 
                    t          ¦  «        |k    sJ ‚t          d| z  ¦  «        dz
  }t          |t          ¦  «        }|t          d| z  ¦  «        dz
  |fv sJ ‚t          d| z  dz   ¦  «        }t          |t          ¦  «        }|t          d¦  «        t          | ¦  «        z   z
  }|dk    sJ ‚| 
                    t          ¦  «        |z
                       ¦   «         dk    sJ ‚t          d| z  dz   ¦  «        }t          |t          ¦  «        }||k    sJ ‚d S )Nr6   r:   r<   r=   r   r8   r9   r7   r;   é   )r   r
   r	   r   r#   r¥   r   r   r   r   r>   r   )r6   r@   rA   rB   rC   rD   rE   Údelta3rF   rG   Údelta4rH   rI   Údelta5rJ   rK   ra   rb   Údelta7rc   rd   s                        rL   Útest_optims_c99r­     sS  € Ýˆs‰Œ€Aàˆq‰D•3�q‘6”6�#˜a™&œ&‘=Ñ ¥3 q¨1¡u¡:¤:Ñ-µ°A±´Ñ6¸Ñ:€EÝ�E�:Ñ&Ô&×/Ò/Ñ1Ô1€DØ•4˜‘7”7�T !™WœWÑ$¥u¨Q¡x¤xÑ/µ%¸±(´(Ñ:Ò:Ð:Ð:Ð:Ø�<Š<�ÑÔ×$Ò$¥SÑ)Ô)×1Ò1µ#Ñ6Ô6¸%Ò?Ð?Ð?Ð?å�‰FŒF•3�q‘6”6‰M�C  A¡™JœJÑ&€EÝ�E�:Ñ&Ô&€DØ•4˜‘7”7�U 1™XœXÑ%Ò%Ð%Ð%Ð%Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%å�‰FŒF•3�q‘6”6‰M�C  1¡ r¡	™NœNÑ*€EÝ�E�:Ñ&Ô&€DØ•T˜!‘W”W�s 2™wœwÑ&­¨q©¬Ñ1Ñ2€FØ�QŠ;ˆ;ˆ;ˆ;Ø�LŠL�ÑÔ Ñ%×/Ò/Ñ1Ô1°QÒ6Ð6Ð6Ð6àˆq‰D�1•S˜˜1™˜q™‘\”\‘> 2¥c¨!¡f¤f¡9Ñ-Ñ-°µ3°q±6´6±	Ñ9¸BÑ>ÅÀRÈÁTÈBÁYÁÄÑO€EÝ�E�:Ñ&Ô&×/Ò/Ñ1Ô1€DØ•T˜!‘W”W˜q¥ a¨¡c¨A¡g¡¤™¨rÑ1Ñ1°Bµu¸Q±x´x±KÑ?Å#ÀbÁ'Ä'ÑIÍEÐRSÉHÌHÑTÑU€FØ�QŠ;ˆ;ˆ;ˆ;Ø�LŠL�ÑÔ×%Ò%¥cÑ*Ô*×2Ò2µ3Ñ7Ô7¸%Ñ?×IÒIÑKÔKÈqÒPÐPÐPÐPà�c�!�A‘#‰hŒh‰J˜‰N€EÝ�E�:Ñ&Ô&€DØ�A•e˜A˜a™C‘j”j‘LÑ €FØ�QŠ;ˆ;ˆ;ˆ;Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%å��!‘‰HŒH�q‰L€EÝ�E�:Ñ&Ô&€DØ•E˜!˜A™#‘J”J ‘N EÐ*Ð*Ð*Ð*Ð*å��!‘�a‘‰LŒL€EÝ�E�:Ñ&Ô&€DØ•S˜‘V”V�e A™hœhÑ&Ñ'€FØ�QŠ;ˆ;ˆ;ˆ;Ø�LŠL�ÑÔ Ñ%×/Ò/Ñ1Ô1°QÒ6Ð6Ð6Ð6å��!‘�a‘‰LŒL€EÝ�E�:Ñ&Ô&€DØ�5Š=ˆ=ˆ=ˆ=ˆ=ˆ=rN   c                  óÒ  — d„ } t          d¦  «        } | |dz  ¦  «        dk    sJ ‚ | |dz  |dz  z   ¦  «        dk    sJ ‚ | |dz  |dz  z   ¦  «        dk    sJ ‚ | t          |¦  «        dz  ¦  «        d	k    sJ ‚ | |d
z  ¦  «        dk    sJ ‚ | |dz  ¦  «        dk    sJ ‚ | |dz   ¦  «        dk    sJ ‚ | |dz  |dz  z
  ¦  «        dk    sJ ‚t          dd¬¦  «        } | ||z  |dz  z
  ¦  «        dk    sJ ‚t          dd¬¦  «        } | t          t          |dz  ¦  «        ¦  «        ¦  «        dk    sJ ‚d„ } ||dz  t          |¦  «        dz  z   ¦  «        dk    sJ ‚d S )Nc                 óX   — t          t          | t          d¦  «        g¦  «        ¦  «        S )Nr[   ©r   r   r$   ©r6   s    rL   ú<lambda>z5test_create_expand_pow_optimization.<locals>.<lambda>C  s)   € •5Ý�Õ3°AÑ6Ô6Ð7Ñ8Ô8ñ:ô :€ rN   r6   r[   zx*x*x*xr:   zx*x + x*x*x*xr9   zpow(x, 5) + x*x*x*xzpow(sin(x), 4)éüÿÿÿz1.0/(x*x*x*x)éûÿÿÿz
pow(x, -5)z
-(x*x*x*x)z-(x*x) + x*x*x*xÚiT©Úintegerzpow(x, i) - (x*x)rY   )Úrealzexp(y*y*y*y)c           	      ó^   — t          t          | t          dd„ ¬¦  «        g¦  «        ¦  «        S )Nr[   c                 ó   — | j         S ©N)Úis_Function)Úbs    rL   r²   zGtest_create_expand_pow_optimization.<locals>.<lambda>.<locals>.<lambda>V  s   € ˜aœm€ rN   )Úbase_reqr°   r±   s    rL   r²   z5test_create_expand_pow_optimization.<locals>.<lambda>U  s>   € •E�( 1Õ'EØ	Ð+Ð+ð(-ñ (-ô (-ð '.ñ /ô /ñ 0ô 0€ rN   r8   z pow(x, 3) + sin(x)*sin(x)*sin(x))r   r   r   r	   )Úccr6   rµ   rY   Úcc2s        rL   Ú#test_create_expand_pow_optimizationrÁ   B  sÚ  € ð
:ð 
:€Båˆs‰Œ€AØˆ2ˆa�‰d‰8Œ8�yÒ Ð Ð Ð Øˆ2ˆa�‰d�Q˜‘T‰k‰?Œ?˜oÒ-Ð-Ð-Ð-Øˆ2ˆa�‰d�Q˜‘T‰k‰?Œ?Ð3Ò3Ð3Ð3Ð3Øˆ2�c�!‰fŒf�a‰i‰=Œ=Ð,Ò,Ð,Ð,Ð,àˆ2ˆa�"‰g‰;Œ;˜/Ò)Ð)Ð)Ð)Øˆ2ˆa�"‰g‰;Œ;˜,Ò&Ð&Ð&Ð&Øˆ2ˆq�!‰tˆe‰9Œ9˜Ò$Ð$Ð$Ð$Øˆ2ˆa�‰d�Q˜‘T‰k‰?Œ?Ð0Ò0Ð0Ð0Ð0Ýˆs˜DÐ!Ñ!Ô!€AØˆ2ˆa�‰d�Q˜‘T‰k‰?Œ?Ð1Ò1Ð1Ð1Ð1Ýˆs˜ÐÑÔ€AØˆ2�c•#�a˜‘d‘)”)‰nŒnÑÔ Ò/Ð/Ð/Ð/ð0ð 0€Càˆ3ˆq�!‰t•c˜!‘f”f˜a‘iÑÑ Ô Ð$FÒFÐFÐFÐFÐFÐFrN   c                  ó®  — t          dd¬¦  «        } t          d| | ¦  «        }t          d| d¦  «        }t          t          j        |¦  «        ¦  «        5  t          |dz  |z  t          g¦  «        t          ||¦  «        k    sJ ‚t          |dz  |z  |z   t          g¦  «        t          ||¦  «        |z   k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NÚnTr¶   ÚAr6   r<   éÿÿÿÿ)r   r   r   r   Úfullrankr   r%   r   )rÃ   rÄ   r6   s      rL   Útest_matsolverÇ   Z  s.  € Ýˆs˜DÐ!Ñ!Ô!€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€Aå	•!”*˜Q‘-”-Ñ	 Ô	 ð Pð PÝ˜˜B™ !™¥j \Ñ2Ô2µkÀ!ÀQÑ6GÔ6GÒGÐGÐGÐGÝ˜˜B™ !™ a™­*¨Ñ6Ô6½+ÀaÈÑ:KÔ:KÈaÑ:OÒOÐOÐOÐOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð Pð Ps   ÁA'C
Ã
CÃCc                  ó‚  — t          t          d                     ¦   «         ¦  «        \  } }t          t	          | ¦  «        t	          |¦  «        z   ¦  «        }t          |t          g¦  «        }t          | |¦  «        |z
  dk    sJ ‚t          || ¦  «        |z
  dk    sJ ‚|                     t          ¦  «        |k    sJ ‚d S )Nrn   r   )	ro   r   rp   r
   r	   r   r&   r   r>   rq   s       rL   Útest_logaddexp_optrÉ   d  sª   € Ý�v�u—{’{‘}”}Ñ%Ô%�D€A€qÝ•�A‘”�˜Q™œ‘Ñ Ô €EÝ�E�M˜?Ñ+Ô+€DÝ�Q˜‰?Œ?˜TÑ! QÒ&Ð&Ð&Ð&Ý�Q˜‰?Œ?˜TÑ! QÒ&Ð&Ð&Ð&Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%Ð%Ð%rN   c                  óz  — t          t          d                     ¦   «         ¦  «        \  } }t          d| z  d|z  z   ¦  «        t          d¦  «        z  }t	          |t
          g¦  «        }t          | |¦  «        |z
  dk    sJ ‚t          || ¦  «        |z
  dk    sJ ‚|                     t          ¦  «        |k    sJ ‚d S )Nrn   r:   r   )ro   r   rp   r
   r   r'   r   r>   rq   s       rL   Útest_logaddexp2_optrË   m  s¶   € Ý�v�u—{’{‘}”}Ñ%Ô%�D€A€qÝ��1‘�q˜!‘t‘ÑÔ�S ™VœVÑ#€EÝ�E�NÐ+Ñ,Ô,€DÝ�a˜ÑÔ˜dÑ" aÒ'Ð'Ð'Ð'Ý�a˜ÑÔ˜dÑ" aÒ'Ð'Ð'Ð'Ø�<Š<�ÑÔ Ò%Ð%Ð%Ð%Ð%Ð%rN   c                  ó¤  — d„ } t          d¦  «        } | t          |¦  «        |z  t          |¦  «        t          d|z  ¦  «        d|z  z  t          d|z  ¦  «        t          d|z  ¦  «        |z  dt          d|z  ¦  «        z  |t          |¦  «        z  |t          |¦  «        z  i¦  «         t          d¦  «        } | t          ||z  ¦  «        ||z  z  t          ||z  ¦  «        |t          ||z  ¦  «        z  |z  t          ||z  ¦  «        t          t          |¦  «        ¦  «        t          |¦  «        z  t          t          |¦  «        ¦  «        t          dt          |¦  «        z  ¦  «        t          |¦  «        z  dt          dt          |¦  «        z  ¦  «        z  t          |¦  «        |z  t          |¦  «        |z  i¦  «         d S )Nc                 óp   — |                       ¦   «         D ] \  }}t          |t          ¦  «        |k    sJ ‚Œ!d S r»   )Úitemsr   r*   ©ÚdÚkÚvs      rL   Úcheckztest_sinc_opts.<locals>.checkw  sE   € Ø—G’G‘I”Ið 	/ð 	/‰DˆAˆqÝ˜A�yÑ)Ô)¨QÒ.Ð.Ð.Ð.Ð.ð	/ð 	/rN   r6   r:   r8   rY   )r   r   r   ©rÓ   r6   rY   s      rL   Útest_sinc_optsrÕ   v  s�  € ð/ð /ð /õ 	ˆs‰Œ€AØ	€EÝˆA‰Œˆq‰�˜a™œÝˆAˆa‰C‰Œ�!�A‘#‰�˜a ™c™œÝˆAˆa‰C‰Œ�‰
˜�4  !¡™9œ9™Ø	�#ˆa‰&Œ&‰˜�3˜q™6œ6™ð	ñ ô ð õ 	ˆs‰Œ€AØ	€EÝˆAˆa‰C‰Œ�!�A‘#‰�t A a¡C™yœyØ	�#ˆa�‰c‰(Œ(‰
�1‰�t A a¡C™yœyÝ�C�‰FŒF‰Œ•C˜‘F”FÑ�t¥C¨¡F¤F™|œ|ÝˆA�c�!‰fŒf‰H‰Œ•c˜!‘f”fÑ˜q¥ a­¨A©¬¡h¡¤Ñ/ÝˆA‰Œˆq‰�s 1™vœv a™xðñ ô ð ð ð rN   c            
      ó˜  — d„ } t          d¦  «        } | t          d|z  ¦  «        d|z  z  t          d|z  ¦  «        z   dz
  t          d|z  ¦  «        t	          d|z  ¦  «        z   t          |dz   ¦  «        t          d¦  «        z  t          |dz  dz   ¦  «        z   t          |dz  ¦  «        t          |dz   ¦  «        z   i¦  «         d S )Nc                 óp   — |                       ¦   «         D ] \  }}t          |t          ¦  «        |k    sJ ‚Œ!d S r»   ©rÎ   r   r(   rÏ   s      rL   rÓ   z test_optims_numpy.<locals>.checkŽ  óE   € Ø—G’G‘I”Ið 	2ð 	2‰DˆAˆqÝ˜A�|Ñ,Ô,°Ò1Ð1Ð1Ð1Ð1ð	2ð 	2rN   r6   r:   r<   r8   )r   r   r	   r   r   r
   r   r   )rÓ   r6   s     rL   Útest_optims_numpyrÚ   �  sÊ   € ð2ð 2ð 2õ 	ˆs‰Œ€AØ	€EÝˆAˆa‰C‰Œ�!�A‘#‰�˜Q˜q™S™œÑ! AÑ%¥t¨A¨a©C¡y¤yµ5¸¸1¹±:´:Ñ'=ÝˆAˆa‰C‰Œ•�Q‘”‰�#˜a ™d Q™h™-œ-Ñ'­¨q°!©t©¬µt¸A¸a¹C±y´yÑ)@ðñ ô ð ð ð rN   c                  ó  — d„ } t          t          d                     ¦   «         ¦  «        \  }} | t          ||z  ¦  «        t	          ||z  ¦  «        z  t          ||z  dz   ¦  «        z  t          d¦  «        |z  |z  z  t          ||z  ¦  «        t          ||z  ¦  «        z  t          ||z  ¦  «        z  t          |t	          |¦  «        z  |z  ¦  «        dz
  t          |t          |¦  «        z  ¦  «        i¦  «         d S )Nc                 óp   — |                       ¦   «         D ] \  }}t          |t          ¦  «        |k    sJ ‚Œ!d S r»   rØ   rÏ   s      rL   rÓ   z%test_optims_numpy_TODO.<locals>.check›  rÙ   rN   rn   r<   r:   )
ro   r   rp   r
   r   r   r   r   r	   r   rÔ   s      rL   Útest_optims_numpy_TODOrÝ   ™  sí   € ð2ð 2ð 2õ �v�u—{’{‘}”}Ñ%Ô%�D€A€qØ	€EÝˆAˆa‰C‰Œ•�Q�q‘S‘”Ñ�#˜a ™c !™e™*œ*Ñ$¥c¨!¡f¤f¨Q¡h¨q¡jÑ1µ4¸¸!¹±9´9½TÀ!ÀAÁ#¹Y¼YÑ3FÅuÈQÈqÉSÁzÄzÑ3QÝˆA�c�!‰fŒf‰H�Q‰J‰Œ˜!Ñ�U 1¥T¨!¡W¤W¡9Ñ-Ô-ðñ ô ð ð ð rN   c                  ó^  — t           st          d¦  «         t          ¦   «         st          d¦  «         t          d¦  «        } ddt	          d¦  «        z  z  ddt	          d¦  «        z  z  z  d	d
t	          d¦  «        z  z  z  ddt	          d¦  «        z  z  z  t	          d¦  «        z  t
          z  }dt          | ¦  «        z  |z
  }t	          d¦  «        dz  }|                     | |¦  «                             d¦  «        }t          dt          | ¦  «        z  |z
  t          g¦  «        }d}dt          |                     |¦  «        ¦  «        t          |                     |¦  «        ¦  «        dœz  }d}t          j        ¦   «         5 }	t          d|fd|fg|	ddi¬¦  «        \  }
}t          |
                     d¦  «        |z
  ¦  «        }t          |
                     d¦  «        |z
  ¦  «        }d|cxk     rdk     sn J ‚d|cxk     rdk     sn J ‚	 d d d ¦  «         d S # 1 swxY w Y   d S ) Nzcython not installed.zNo C compiler found.r6   r:   é:   éu   r8   éa   r9   r[   é'   r7   é\   é   r“   iõÿÿÿé   é   z�
#include <math.h>

double func_unchanged(double x) {
    return %(unchanged)s;
}
double func_rewritten(double x) {
    return %(rewritten)s;
}
)Ú	unchangedÚ	rewrittenzÓ
#cython: language_level=3
cdef extern double func_unchanged(double)
cdef extern double func_rewritten(double)
def py_unchanged(x):
    return func_unchanged(x)
def py_rewritten(x):
    return func_rewritten(x)
zfunc.cz	_func.pyxÚstdÚc99)Ú	build_dirÚcompile_kwargsg•dyáý¥=g<ò6šÎS:gÙ}ÚõÐò¾:g¬Ò¶OÉƒý;g¼‰Ø—²Òœ<)r2   r-   r0   r   r   r   r	   rU   rÃ   r   r    r   ÚtempfileÚTemporaryDirectoryr/   r]   Úpy_rewrittenÚpy_unchanged)r6   Ú	about_tworç   ÚxvalÚrefrè   ÚNUMBER_OF_DIGITSÚfunc_cÚfunc_pyxÚfolderÚmodÚinfoÚerr_rewrittenÚerr_unchangeds                 rL   Ú"test_compiled_ccode_with_rewritingrü   ¦  s‹  € åð &ÝÐ$Ñ%Ô%Ð%Ý‰7Œ7ð %ÝÐ#Ñ$Ô$Ð$åˆs‰Œ€AØ�B•q˜‘v”v‘I‘˜q 2¥a¨¡f¤f¡9™~Ñ-¨a°!µA°b±E´E±'©lÑ:¸1¸rÅ!ÀCÁ&Ä&¹y¹>ÑIÍ!ÈBÉ%Ì%ÑOÕPRÑR€Ià•#�a‘&”&‘˜9Ñ$€IÝˆR‰5Œ5�#‰:€DØ
�.Š.˜˜DÑ
!Ô
!×
#Ò
# BÑ
'Ô
'€Cå˜�3˜q™6œ6™ IÑ-µ	¨{Ñ;Ô;€Ið Ðð	õ ˜)Ÿ+š+Ð&6Ñ7Ô7Ñ8Ô8Ý˜iŸkškÐ*:Ñ;Ô;Ñ<Ô<ð>ð >ñ
>€Fð€Hõ 
Ô	$Ñ	&Ô	&ð -¨&Ý/Ø˜Ð +¨xÐ!8Ð9Ø¨e°U¨^ð
ñ 
ô 
‰	ˆˆTõ ˜C×,Ò,¨UÑ3Ô3°cÑ9Ñ:Ô:ˆÝ˜C×,Ò,¨UÑ3Ô3°cÑ9Ñ:Ô:ˆØ�}Ð,Ð,Ò,Ð, uÒ,Ð,Ð,Ð,Ð,Ð,Ø�}Ð,Ð,Ò,Ð, uÒ,Ð,Ð,Ð,Ð,Ð,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -s   Æ
B
H"È"H&È)H&)Nr{   )[rí   Úsympy.core.numbersr   r   Úsympy.core.powerr   Úsympy.core.singletonr   Úsympy.core.symbolr   Ú$sympy.functions.elementary.complexesr   Ú&sympy.functions.elementary.exponentialr	   r
   Ú(sympy.functions.elementary.trigonometricr   r   r   Ú"sympy.matrices.expressions.matexprr   Úsympy.assumptionsr   r   Úsympy.externalr   Úsympy.printing.codeprinterr   Úsympy.codegen.matrix_nodesr   Úsympy.codegen.cfunctionsr   r   r   r   Úsympy.codegen.numpy_nodesr   r   Úsympy.codegen.scipy_nodesr   r   Úsympy.codegen.rewritingr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   Úsympy.testing.pytestr,   r-   Úsympy.utilitiesr.   Úsympy.utilities._compilationr/   r0   Ú!sympy.utilities._compilation.utilr1   r2   r3   r4   rM   rP   rk   rr   rv   rx   rz   r‘   r•   r£   r¦   r­   rÁ   rÇ   rÉ   rË   rÕ   rÚ   rÝ   rü   © rN   rL   ú<module>r     sõ  ðØ €€€Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø (Ð (Ð (Ð (Ð (Ð (Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 -Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø $Ð $Ð $Ð $Ð $Ð $Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KØ 7Ð 7Ð 7Ð 7Ð 7Ð 7à	ˆ�xÑ	 Ô	 €Øˆ�gÑÔ€Øˆ�gÑÔ€ð&ð &ð &ð@0ð 0ð 0ð?Eð ?Eð ?EðD'ð 'ð 'ð#&ð #&ð #&ðL'ð 'ð 'ð'ð 'ð 'ð0ð 0ð 0ð 0ðoð oð oð,pð pð pð$%ð %ð %ð,+ð +ð +ð\Gð Gð Gð0Pð Pð Pð&ð &ð &ð&ð &ð &ðð ð ð.	ð 	ð 	ð ð	ð 	ñ „ð	ð ð2-ð 2-ñ „ð2-ð 2-ð 2-rN   