+
    ‹°³jì=  ã                   ó*  € ^ RI t ^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHtHt ^ RIHtHtHt ^ R	IHt ^ R
IHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtH t H!t!H"t" ^ RI#H$t$H%t% ^ RI&H't'H(t( ^ RI)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9 ^ RI:H;t;H<t< ^ RI=H>t> ^ RI?H@t@HAtA ^ RIBHCtC ]! R4      tD]! R4      tE]! R4      tFR tGR tHR tIR tJR tKR tLR tMR-R  ltNR! tOR" tPR# tQR$ tRR% tSR& tTR' tUR( tVR) tWR* tX];R+ 4       tY]CR, 4       tZR# ).é    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                  ó6  € \        R 4      p ^\        ^V ,          ^,           4      ,          \        ^4      ,          p\        V\        .4      pV^\	        ^V ,          ^,           4      ,          8X  g   Q hVP                  \        4      V8X  g   Q h^\        ^V ,          ^,           4      ,          ^\        ^4      ,          ,          p\        V\        .4      pV^\	        ^V ,          ^,           4      ,          ^,          8X  g   Q hVP                  \        4      V8X  g   Q h\        V 4      \        ^4      ,          p\        V\        .4      pV\	        V 4      8X  g   Q hVP                  \        4      V8X  g   Q h\        V 4      \        ^4      ,          \        V ^,           4      ,           p\        V\        .4      pV\	        V 4      \        ^4      \	        V ^,           4      ,          ,           8X  g   Q hVP                  \        4      V8X  g   Q h\        ^4      p	\        V	\        .4      p
W©8X  g   Q h\        V ^,           4      \        ^4      ,          p\        V\        .4      p\        V4      R8X  g   Q hVP                  \        4      V8X  g   Q hR# )Úxzlog2(x + 3)N)r   r
   r   r   r   ÚrewriteÚstr)r6   Úexpr1Úopt1Úexpr2Úopt2Úexpr3Úopt3Úexpr4Úopt4Úexpr5Úopt5Úexpr6Úopt6s                Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/codegen/tests/test_rewriting.pyÚtest_log2_optrF       sõ  € Üˆs‹€AØŒc�!�A•#˜•'‹l�NœC ›FÕ#€EÜ�EœH˜:Ó&€DØ�1”T˜!˜A�# �'“]•?Ô"Ð"Ð"Ø�<‰<œÓ Ô%Ð%Ð%àŒc�!�A•#˜•'‹l�N˜Bœs 1›v�IÕ&€EÜ�EœH˜:Ó&€DØ�1”T˜!˜A�# �'“]•? 2Õ%Ô%Ð%Ð%Ø�<‰<œÓ Ô%Ð%Ð%ä�‹F”3�q“6�M€EÜ�EœH˜:Ó&€DØ”4˜“7Œ?Ðˆ?Ø�<‰<œÓ Ô%Ð%Ð%ä�‹F”3�q“6�MœC  !¥›HÕ$€EÜ�EœH˜:Ó&€DØ”4˜“7œS ›V¤D¨¨1­£IÕ-Õ-Ô-Ð-Ð-Ø�<‰<œÓ Ô%Ð%Ð%ä�‹G€EÜ�EœH˜:Ó&€DØŒ=Ðˆ=ä��A•‹J”s˜1“vÕ€EÜ�EœH˜:Ó&€DÜˆt‹9˜Ô%Ð%Ð%Ø�<‰<œÓ Ô%Ð%Ò%ó    c                  ó  € \        R 4      p ^^V ,          ,           p\        V\        .4      pV^\        V 4      ,           8X  g   Q hVP	                  \
        4      V8X  g   Q h^^V ,          ,           pV\        V\        .4      8X  g   Q hR# ©r6   N)r   r   r   r   r7   r   )r6   r9   r:   r;   s       rE   Útest_exp2_optrJ   @   sw   € Üˆs‹€AØ��1•�H€EÜ�EœH˜:Ó&€DØ�1”t˜A“w•;ÔÐÐØ�<‰<œÓ Ô%Ð%Ð%à��1•�H€EØ”H˜U¤X JÓ/Ô/Ð/Ò/rG   c                  óp
  a€ \        R 4      o\        S4      ^,
          p \        V \        .4      p\	        S4      V,
          ^ 8X  g   Q hVP                  \        4      V 8X  g   Q h^\        S4      ,          ^,
          p\        V\        .4      p^\	        S4      ,          V8X  g   Q hVP                  \        4      V8X  g   Q h^\        S4      ,          ^,
          p\        V\        .4      p^\	        S4      ,          ^,
          V8X  g   Q hVP                  \        4      V8X  g   Q h\        \        \        RR7      pV\        WF.4      8X  g   Q hV\        W.4      8X  g   Q hV\        W&.4      8X  g   Q h^\        S4      ,          \        S4      ,           ^,
          p\        V\        .4      p^\	        S4      ,          \        S4      ,           V8X  g   Q hVP                  \        4      V8X  g   Q h^\        ^S,          4      ,          ^,
          p	\        V	\        .4      p
^\	        ^S,          4      ,          V
8X  g   Q hV
P                  \        4      V	8X  g   Q h^\        S4      ,          ^,           \        S4      ^,           ,          ^,           p\        V\        .4      pVP                  4       VP                  4       8:  g   Q hV3R lp\        V! V4      V! V4      ,
          4      R8  g   Q h\        R4      p^\        S4      ,          ^,
          ^\        V4      ,
          ,          ^^\        V4      ,
          ,          ,
          p\        V\        .4      pR\	        S4      ,          \	        V4      ,          V8X  g   Q hVP                  \        4      V,
          P                  4       ^ 8X  g   Q h^\        S4      ,           ^,          ^,
          p\        V\        .4      p\        S4      ^,           \	        S4      ,          p^\	        S4      ,          \	        ^S,          4      ,           pVV,
          P                  \        4      P                  4       ^ 8X  g   Q hVVV39   g   Q hVP                  \        4      V,
          P                  4       ^ 8X  g   Q h\        V4      p\        V\        .4      p\        V4      p\        V4      pVVV39   g   Q hVP                  \        4      VP                  \        4      ,
          P                  4       P                  '       g   Q hR# )r6   F©Úopportunisticc                 óD   <€ V P                  S^4      P                  4       # )é   )ÚsubsÚevalf)Úer6   s   &€rE   ÚevÚtest_expm1_opt.<locals>.evo   s   ø€ Ø�v‰v�a˜‹|×!Ñ!Ó#Ð#rG   gVçž¯Ò<ÚyNéþÿÿÿ)r   r	   r   r    r   r7   r+   r
   Ú	count_opsÚabsÚfactorr   Úis_zero)r9   r:   r;   r<   r=   r>   Úexpm1_opt_non_opportunisticr?   r@   rA   rB   rC   rD   rS   rU   Úexpr7Úopt7Úexpr8Úopt8Útgt8aÚtgt8bÚexpr9Úopt9Útgt9aÚtgt9br6   s                            @rE   Útest_expm1_optrf   K   s  ø€ Üˆs‹€Aä�‹F�Q�J€EÜ�EœI˜;Ó'€DÜ�‹8�d�?˜aÔÐÐØ�<‰<œÓ Ô%Ð%Ð%àŒc�!‹f�H�q�L€EÜ�EœI˜;Ó'€DØŒU�1‹X�:˜ÔÐÐØ�<‰<œÓ Ô%Ð%Ð%àŒc�!‹f�H�q�L€EÜ�EœI˜;Ó'€DØŒU�1‹X�:˜�>˜TÔ!Ð!Ð!Ø�<‰<œÓ Ô%Ð%Ð%Ü"3´C¼ÈeÔ"TÐØ”H˜UÐ$AÓBÔBÐBÐBØ”8˜EÐ#@ÓAÔAÐAÐAØ”8˜EÐ#@ÓAÔAÐAÐAàŒc�!‹f�H”s˜1“vÕ Õ!€EÜ�EœI˜;Ó'€DØŒU�1‹X�:œ˜A›Õ $Ô&Ð&Ð&Ø�<‰<œÓ Ô%Ð%Ð%àŒc�!�A•#‹h�J˜�N€EÜ�EœI˜;Ó'€DØŒU�1�Q•3‹Z�<˜4ÔÐÐØ�<‰<œÓ Ô%Ð%Ð%àŒs�1‹v�X˜�\œC ›F Q�JÕ'¨!Õ+€EÜ�EœI˜;Ó'€DØ�>‰>Ó˜uŸ™Ó0Ô0Ð0Ð0õ$ä‰r�%‹y™2˜d›8Õ#Ó$ uÔ,Ð,Ð,äˆs‹€AØŒs�1‹v�X˜�\˜A¤ A£�JÕ'¨!¨Q¬s°1«v­X­,Õ6€EÜ�EœI˜;Ó'€DØŒe�A‹h�;”u˜Q“xÕ 4Ô'Ð'Ð'Ø�L‰LœÓ Õ%×-Ñ-Ó/°1Ô4Ð4Ð4àŒs�1‹v�X˜�M˜AÕ€EÜ�EœI˜;Ó'€DÜ�‹V�a�Zœ˜q›Õ!€EØŒe�A‹h�Jœ˜q �s›Õ#€Eð
 �E�M×"Ñ"¤3Ó'×.Ñ.Ó0°AÔ5Ð5Ð5Ø�E˜5�>Ô!Ð!Ð!Ø�L‰LœÓ Õ%×-Ñ-Ó/°1Ô4Ð4Ð4ä�‹J€EÜ�EœI˜;Ó'€DÜ�‹J€EÜ�‹J€EØ�E˜5�>Ô!Ð!Ð!Ø�L‰LœÓ §¡¬cÓ 2Õ2×:Ñ:Ó<×D×DÐDÐDÒDrG   c                  óð   € \        \        R P                  4       4      w  r\        V 4      \        V4      ,           ^,
          p\	        V\
        .4      pV\        V 4      \        V4      ,           8X  g   Q hR# ©úx yN)Úmapr   Úsplitr	   r   r    r   ©r6   rU   r9   r:   s       rE   Útest_expm1_two_exp_termsrm   �   óU   € ÜŒv�u—{‘{“}Ó%�D€AÜ�‹F”S˜“V�O˜aÕ€EÜ�EœI˜;Ó'€DØ”5˜“8œe A›hÕ&Ô&Ð&Ò&rG   c                  óŠ  € \        R 4      p \        V 4      ^,
          p\        V\        .4      p\	        V 4      V,
          ^ 8X  g   Q hVP                  \        4      V8X  g   Q h^\        V 4      ,          ^,
          p\        V\        .4      p^\	        V 4      ,          V8X  g   Q hVP                  \        4      V8X  g   Q h^\        V 4      ,          ^,
          p\        V\        .4      p^\	        V 4      ,          ^,
          V8X  g   Q hVP                  \        4      V8X  g   Q h\        \        \        RR7      pV\        WW.4      8X  g   Q hV\        W.4      8X  g   Q hV\        W7.4      8X  g   Q h^\        V 4      ,          \        V 4      ,           ^,
          p\        V\        .4      p	^\	        V 4      ,          \        V 4      ,           V	8X  g   Q hV	P                  \        4      V8X  g   Q h^\        ^V ,          4      ,          ^,
          p
\        V
\        .4      p^\	        ^V ,          4      ,          V8X  g   Q hVP                  \        4      V
8X  g   Q h^^\        V 4      ,          ,
          p\        V\        .4      pR\	        V 4      ,          V8X  g   Q hVP                  \        4      V8X  g   Q hR# )r6   FrL   NrV   )r   r   r   r   r   r7   r+   r
   )r6   r9   r:   r;   r<   r=   r>   Úcosm1_opt_non_opportunisticr?   r@   rA   rB   rC   rD   s                 rE   Útest_cosm1_optrq   ”   s?  € Üˆs‹€Aä�‹F�Q�J€EÜ�EœI˜;Ó'€DÜ�‹8�d�?˜aÔÐÐØ�<‰<œÓ Ô%Ð%Ð%àŒc�!‹f�H�q�L€EÜ�EœI˜;Ó'€DØŒU�1‹X�:˜ÔÐÐØ�<‰<œÓ Ô%Ð%Ð%àŒc�!‹f�H�q�L€EÜ�EœI˜;Ó'€DØŒU�1‹X�:˜�>˜TÔ!Ð!Ð!Ø�<‰<œÓ Ô%Ð%Ð%Ü"3´C¼ÈeÔ"TÐØ”H˜UÐ$AÓBÔBÐBÐBØ”8˜EÐ#@ÓAÔAÐAÐAØ”8˜EÐ#@ÓAÔAÐAÐAàŒc�!‹f�H”s˜1“vÕ Õ!€EÜ�EœI˜;Ó'€DØŒU�1‹X�:œ˜A›Õ $Ô&Ð&Ð&Ø�<‰<œÓ Ô%Ð%Ð%àŒc�!�A•#‹h�J˜�N€EÜ�EœI˜;Ó'€DØŒU�1�Q•3‹Z�<˜4ÔÐÐØ�<‰<œÓ Ô%Ð%Ð%à�”#�a“&•�L€EÜ�EœI˜;Ó'€DØŒe�A‹h�;˜$ÔÐÐØ�<‰<œÓ Ô%Ð%Ò%rG   c                  óð   € \        \        R P                  4       4      w  r\        V 4      \        V4      ,           ^,
          p\	        V\
        .4      pV\        V 4      \        V4      ,           8X  g   Q hR# rh   )rj   r   rk   r   r   r   r   rl   s       rE   Útest_cosm1_two_cos_termsrs   º   rn   rG   c                  óÐ   € \        R 4      p \        V 4      \        V 4      ,           ^,
          p\        V\        \
        .4      pV\        V 4      \        V 4      ,           8X  g   Q hR# rI   )r   r	   r   r   r    r   r   r   )r6   r9   r:   s      rE   Útest_expm1_cosm1_mixedru   Á   sM   € Üˆs‹€AÜ�‹F”S˜“V�O˜aÕ€EÜ�EœI¤yÐ1Ó2€DØ”5˜“8œe A›hÕ&Ô&Ð&Ò&rG   c                ó¦  € V P                  V4      P                  4       p\        P                  \        P                  4      P
                  p\        Wc,
          4      W7,          8  g   Q h\        \        VP                  4       4      V3/ T;'       g    / B p\        \        \        VP                  4       4      4      p	\        V! V	!  V,
          4      p
V
\        Wg,          4      8  g   Q h\        \        VP                  4       4      V 3/ T;'       g    / B p\        V! V	!  V,
          4      pV\        Wg,          V,          4      8”  g   Q hR# )zTpoorness=1e10 signifies that `expr` loses precision of at least ten decimal digits. N)rP   rQ   r3   ÚfinfoÚfloat64ÚepsrX   r.   ÚlistÚkeysÚtuplerj   ÚfloatÚvalues)ÚexprÚoptÚval_subsÚ
approx_refÚlambdify_kwÚpoornessÚnum_refry   Úf1Ú
args_floatÚnum_err1Úf2Únum_err2s   &&&&&&       rE   Ú_check_num_lambdifyr‹   È   sþ   € à�i‰i˜Ó!×'Ñ'Ó)€GÜ
�+‰+”e—m‘mÓ
$×
(Ñ
(€CÜˆwÕ#Ó$ z¥~Ô5Ð5Ð5Ü	”$�x—}‘}“Ó'¨Ñ	D°×1BÐ1BÀÑ	D€BÜ”sœ5 (§/¡/Ó"3Ó4Ó5€JÜ‘2�z‘? ZÕ/Ó0€HØ”c˜'�+Ó&Ô&Ð&Ð&Ü	”$�x—}‘}“Ó'¨Ñ	E°+×2CÐ2CÀÑ	E€BÜ‘2�z‘? ZÕ/Ó0€HØ”c˜'�+ hÕ.Ó/Ô/Ð/Ò/rG   c            	      ó˜  € \        R 4      p ^\        V 4      ,          ^,
          p\        V\        .4      pV\	        V 4      ) \        V 4      ,          8X  g   Q h\
        '       d$   \        WV \        ^
4      R,          /RRR/R7       ^\        V 4      ,          ^,
          p\        V\        4      pVR\	        V 4      ,          \        V 4      ,          8X  g   Q h\
        '       d$   \        W4V \        ^
4      R,          /RRR/R7       \        \        ^V ,          4      ,          \        ,
          p\        V\        .4      pV\        ) \	        ^V ,          4      ,          \        ^V ,          4      ,          8X  g   Q h\
        '       dA   \        WVV \        ^
4      R,          ^,          /\        R\        ,          4      RR/R7       R# R# )	r6   g&¦¬ª¶i3Úmodulesr4   )rƒ   g&¦¬ª¶y3NiâÿÿÿrV   )r   r   r   r   r   r4   r‹   r   r)   r   r}   )r6   r9   r:   r;   r<   r=   r>   s          rE   Útest_cosm1_apartrŽ   Ö   sR  € Üˆs‹€AàŒc�!‹f�H�q�L€EÜ�EœI˜;Ó'€DØ”E˜!“H�9œS ›VÕ#Ô#Ð#Ð#ßƒuÜ˜E¨!¬Q¨r«U°C­Z¨¸%ÈiÐY`ÐMaÕbàŒc�!‹f�H�q�L€EÜ�Eœ<Ó(€DØ�2”e˜A“h•;œs 1›vÕ%Ô%Ð%Ð%ßƒuÜ˜E¨!¬Q¨r«U°C­Z¨¸%ÈiÐY`ÐMaÕbäŒs�1�Q•3‹x�Kœ"Õ€EÜ�EœI˜;Ó'€DØ”B�3”u˜Q˜q�S“z•>¤# a¨¥c£(Õ*Ô*Ð*Ð*ßƒuÜ˜E¨!¬Q¨r«U°C­Z¸­\Ð):¼EÀ%ÌÅ(»OÐZcÐelÐYm×nñ rG   c            	      ór  € \        \        R 4      ;p w  rW,          ^,
          p\        V\        .4      pV\	        W4      8X  g   Q hV  F*  pVP                  V4      VP                  V4      8X  d   K*  Q h	  \        '       dµ   \        \        \        \        P                  P                  P                  R4      R,          4      4      R
8¼  dg   V\        RP                  4       !  V\        /pRp\        W4WgRR/RR7       V\        V\        RP                  4       !  /pRp	\        W4W‰RR/RR7       R	# R	# R	# )ÚxyÚ.:NrO   Ng<îåÝV=r�   r4   )rƒ   r„   g»½×Ùß|Û=gh˜ùRwß=N)é   é
   r   gÂ    ð?l    hí] i Êš;)rj   r   r   r"   r   Údiffr4   r|   ÚintÚversionrk   r   Úas_integer_ratior   r‹   )
Úargsr6   rU   r9   r:   ÚargÚsubs1_aÚ
ref1_f64_aÚsubs1_bÚ
ref1_f64_bs
             rE   Ú
test_powm1rž   ì   s  € Ü”f˜dÓ#Ð#€D‰4ˆ1à�D�1�H€EÜ�EœI˜;Ó'€DØ”5˜“;ÔÐÐÛˆØ�z‰z˜#‹ $§)¡)¨C£.Ö0Ð0Ð0ñ çƒu””sœ3¤§¡× 5Ñ 5× ;Ñ ;¸CÓ @ÀÕ DÓEÓFÈ*ÔTØ”h × <Ñ <Ó >Ñ?ÀÄBÐGˆØ*ˆ
Ü˜E¨È9ÐV]ÐJ^ÐioÕpà”b˜!œX¨×'?Ñ'?Ó'AÑBÐCˆØ+ˆ
Ü˜E¨È9ÐV]ÐJ^Ðin×oñ U�urG   c                  óü  € \        R 4      p \        V ^,           4      p\        V\        .4      p\	        V 4      V,
          ^ 8X  g   Q hVP                  \        4      V8X  g   Q h\        ^V ,          ^,           4      p\        V\        .4      p\	        V 4      \        ^4      ,           V8X  g   Q hVP                  \        4      V,
          P                  4       ^ 8X  g   Q h\        ^V ,          ^,           4      p\        V\        .4      p\	        ^V ,          4      V,
          ^ 8X  g   Q hVP                  \        4      V8X  g   Q h\        V ^,           4      p\        V\        .4      p\        V4      R8X  g   Q hR# )r6   z
log(x + 3)N)r   r
   r   r!   r   r7   Úsimplifyr8   )	r6   r9   r:   r;   r<   r=   r>   r?   r@   s	            rE   Útest_log1p_optr¡   þ   s0  € Üˆs‹€AÜ��A•‹J€EÜ�EœI˜;Ó'€DÜ�‹8�d�?˜aÔÐÐØ�<‰<œÓ Ô%Ð%Ð%ä��!•�a•‹L€EÜ�EœI˜;Ó'€DÜ�‹8”c˜!“fÕ Ô$Ð$Ð$Ø�L‰LœÓ Õ%×/Ñ/Ó1°QÔ6Ð6Ð6ä��!•�a•‹L€EÜ�EœI˜;Ó'€DÜ��1•‹:˜Õ Ô!Ð!Ð!Ø�<‰<œÓ Ô%Ð%Ð%ä��!•‹H€EÜ�EœI˜;Ó'€DÜˆt‹9˜Ô$Ð$Ò$rG   c                  óN
  € \        R 4      p ^V ,          \        V 4      \        ^4      ,          ,           \        V ^,           4      ,           \        V 4      ,           ^,
          p\        V\        4      P                  4       pV\        V 4      \        V 4      ,           \        V 4      ,           \        V 4      ,           8X  g   Q hVP                  \        4      P                  \        4      P                  \        4      V8X  g   Q h\        V 4      \        ^4      ,          \        V ^,           4      ,           p\        V\        4      pV\        V 4      \        V 4      ,           8X  g   Q hVP                  \        4      V8X  g   Q h\        V 4      \        ^4      ,          \        ^V ,          ^,           4      ,           p\        V\        4      pV\        V 4      \        ^4      ,           \        V 4      ,           ,
          pV^ 8X  g   Q hVP                  \        4      V,
          P                  4       ^ 8X  g   Q h^V ,          ^\        ^V ,          ^,           4      ,          ^\        ^4      ,          ,          ,           ^\        V 4      ,          ,           ^,
          \        ^V ,          ^,           4      ,           p\        V\        4      P                  4       p	V	\        V 4      ^\        ^V ,          ^,           4      ,          ^,          ,           ^\        V 4      ,          ,           \        ^4      ,           \        V 4      ,           ,
          p
V
^ 8X  g   Q hV	P                  \        4      P                  \        4      P                  \        4      V,
          P                  4       ^ 8X  g   Q h^\        ^V ,          4      ,          ^,
          p\        V\        4      pV^\        ^V ,          4      ,          ,
          pV^ 8X  g   Q hVP                  \        4      V8X  g   Q h\        ^V ,          4      ^,
          p\        V\        4      pV\        ^V ,          4      ^,
          V39   g   Q h\        ^V ,          ^,           4      p\        V\        4      pV\        ^4      \        V 4      ,           ,
          pV^ 8X  g   Q hVP                  \        4      V,
          P                  4       ^ 8X  g   Q h\        ^V ,          ^,           4      p\        V\        4      pVV8X  g   Q hR# rI   )r   r
   r	   r   r#   r    r   r   r   r   r7   r   )r6   r9   r:   r;   r<   r=   r>   Údelta3r?   r@   Údelta4rA   rB   Údelta5rC   rD   r\   r]   Údelta7r^   r_   s                        rE   Útest_optims_c99r§     s   € Üˆs‹€Aàˆq�D”3�q“6œ#˜a›&•=Õ ¤3 q¨1¥u£:Õ-´°A³Õ6¸Õ:€EÜ�Eœ:Ó&×/Ñ/Ó1€DØ”4˜“7œT !›WÕ$¤u¨Q£xÕ/´%¸³(Õ:Ô:Ð:Ð:Ø�<‰<œÓ×$Ñ$¤SÓ)×1Ñ1´#Ó6¸%Ô?Ð?Ð?ä�‹F”3�q“6�MœC  A¥›JÕ&€EÜ�Eœ:Ó&€DØ”4˜“7œU 1›XÕ%Ô%Ð%Ð%Ø�<‰<œÓ Ô%Ð%Ð%ä�‹F”3�q“6�MœC  1¥ r¥	›NÕ*€EÜ�Eœ:Ó&€DØ”T˜!“Wœs 2›wÕ&¬¨q«Õ1Õ2€FØ�QŒ;Ðˆ;Ø�L‰LœÓ Õ%×/Ñ/Ó1°QÔ6Ð6Ð6àˆq�D�1”S˜˜1�˜q�“\•> 2¤c¨!£f¥9Õ-Õ-°´3°q³6µ	Õ9¸BÕ>ÄÀRÈÅTÈBÅYÃÕO€EÜ�Eœ:Ó&×/Ñ/Ó1€DØ”T˜!“W˜q¤ a¨¥c¨A¥g£�¨rÕ1Õ1°B´u¸Q³xµKÕ?Ä#ÀbÃ'ÕIÌEÐRSËHÕTÕU€FØ�QŒ;Ðˆ;Ø�L‰LœÓ×%Ñ%¤cÓ*×2Ñ2´3Ó7¸%Õ?×IÑIÓKÈqÔPÐPÐPàŒc�!�A•#‹h�J˜�N€EÜ�Eœ:Ó&€DØ�A”e˜A˜a�C“j•LÕ €FØ�QŒ;Ðˆ;Ø�<‰<œÓ Ô%Ð%Ð%ä��!•‹H�q�L€EÜ�Eœ:Ó&€DØ”E˜!˜A�#“J •N EÐ*Ô*Ð*Ð*ä��!•�a•‹L€EÜ�Eœ:Ó&€DØ”S˜“Vœe A›hÕ&Õ'€FØ�QŒ;Ðˆ;Ø�L‰LœÓ Õ%×/Ñ/Ó1°QÔ6Ð6Ð6ä��!•�a•‹L€EÜ�Eœ:Ó&€DØ�5Œ=ÐŠ=rG   c                  ó  € R  p \        R4      pV ! V^,          4      R8X  g   Q hV ! V^,          V^,          ,           4      R8X  g   Q hV ! V^,          V^,          ,           4      R8X  g   Q hV ! \        V4      ^,          4      R8X  g   Q hV ! VR,          4      R8X  g   Q hV ! VR,          4      R8X  g   Q hV ! V^,          ) 4      R8X  g   Q hV ! V^,          V^,          ,
          4      R	8X  g   Q h\        R
RR7      pV ! W,          V^,          ,
          4      R8X  g   Q h\        RRR7      pV ! \        \        V^,          4      4      4      R8X  g   Q hR pV! V^,          \        V4      ^,          ,           4      R8X  g   Q hR# )c                 ó@   € \        \        V \        ^4      .4      4      # )é   ©r   r   r$   ©r6   s   &rE   Ú<lambda>Ú5test_create_expand_pow_optimization.<locals>.<lambda>C  s   € ”5Ü�Ô3°AÓ6Ð7Ó8ô:rG   r6   zx*x*x*xzx*x + x*x*x*xz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)rU   )Úrealzexp(y*y*y*y)c           
      óF   € \        \        V \        ^R R7      .4      4      # )rª   c                 ó   € V P                   # ©N)Úis_Function)Úbs   &rE   r­   ÚGtest_create_expand_pow_optimization.<locals>.<lambda>.<locals>.<lambda>V  s   € ˜aŸmšmrG   )Úbase_reqr«   r¬   s   &rE   r­   r®   U  s%   € ”Eœ( 1Ô'EØ	Ñ+ô(-ð '.ó /ô 0rG   z pow(x, 3) + sin(x)*sin(x)*sin(x)Néüÿÿÿéûÿÿÿ)r   r   r   r	   )Úccr6   r¯   rU   Úcc2s        rE   Ú#test_create_expand_pow_optimizationr¾   B  sc  € ñ
:€Bäˆs‹€AÙˆa��d‹8�yÔ Ð Ð Ùˆa��d�Q˜•T�k‹?˜oÔ-Ð-Ð-Ùˆa��d�Q˜•T�k‹?Ð3Ô3Ð3Ð3ÙŒc�!‹f�a�i‹=Ð,Ô,Ð,Ð,áˆa�"�g‹;˜/Ô)Ð)Ð)Ùˆa�"�g‹;˜,Ô&Ð&Ð&Ùˆq�!�tˆe‹9˜Ô$Ð$Ð$Ùˆa��d�Q˜•T�k‹?Ð0Ô0Ð0Ð0Üˆs˜DÔ!€AÙˆa�d�Q˜•T�k‹?Ð1Ô1Ð1Ð1Üˆs˜Ô€AÙŒc”#�a˜•d“)‹nÓ Ô/Ð/Ð/ñ0€Cáˆq�!�t”c˜!“f˜a•iÕÓ Ð$FÔFÐFÒFrG   c                  ó´  € \        R RR7      p \        RW 4      p\        RV ^4      p\        \        P                  ! V4      4      ;_uu_ 4        \        VR,          V,          \        .4      \        W4      8X  g   Q h\        VR,          V,          V,           \        .4      \        W4      V,           8X  g   Q h RRR4       R#   + '       g   i     R# ; i)ÚnTr°   ÚAr6   Néÿÿÿÿ)r   r   r   r   Úfullrankr   r%   r   )rÀ   rÁ   r6   s      rE   Útest_matsolverÄ   Z  s›   € Üˆs˜DÔ!€AÜ�S˜!Ó€AÜ�S˜!˜QÓ€Aä	”!—*’*˜Q“-×	 Õ	 Ü˜˜B� !�¤j \Ó2´kÀ!Ó6GÔGÐGÐGÜ˜˜B� !� a�¬*¨Ó6¼+ÀaÓ:KÈaÕ:OÔOÐOÑO÷ 
!×	 ×	 Ò	 ús   ÁA-CÃC	c                  óL  € \        \        R P                  4       4      w  r\        \	        V 4      \	        V4      ,           4      p\        V\        .4      p\        W4      V,
          ^ 8X  g   Q h\        W4      V,
          ^ 8X  g   Q hVP                  \        4      V8X  g   Q hR# rh   )	rj   r   rk   r
   r	   r   r&   r   r7   rl   s       rE   Útest_logaddexp_optrÆ   d  s   € ÜŒv�u—{‘{“}Ó%�D€AÜ”�A“œ˜Q›•Ó €EÜ�EœM˜?Ó+€DÜ�Q‹?˜TÕ! QÔ&Ð&Ð&Ü�Q‹?˜TÕ! QÔ&Ð&Ð&Ø�<‰<œÓ Ô%Ð%Ò%rG   c                  ód  € \        \        R P                  4       4      w  r\        ^V ,          ^V,          ,           4      \        ^4      ,          p\	        V\
        .4      p\        W4      V,
          ^ 8X  g   Q h\        W4      V,
          ^ 8X  g   Q hVP                  \        4      V8X  g   Q hR# rh   )rj   r   rk   r
   r   r'   r   r7   rl   s       rE   Útest_logaddexp2_optrÈ   m  s‹   € ÜŒv�u—{‘{“}Ó%�D€AÜ��1•�q˜!•t•ÓœS ›VÕ#€EÜ�EœNÐ+Ó,€DÜ�aÓ˜dÕ" aÔ'Ð'Ð'Ü�aÓ˜dÕ" aÔ'Ð'Ð'Ø�<‰<œÓ Ô%Ð%Ò%rG   c                  óŽ  € R  p \        R4      pV ! \        V4      V,          \        V4      \        ^V,          4      ^V,          ,          \        ^V,          4      \        ^V,          4      V,          ^\        ^V,          4      ,          V\        V4      ,          V\        V4      ,          /4       \        R4      pV ! \        W,          4      W,          ,          \        W,          4      V\        W,          4      ,          V,          \        W,          4      \        \        V4      4      \        V4      ,          \        \        V4      4      \        ^\        V4      ,          4      \        V4      ,          ^\        ^\        V4      ,          4      ,          \        V4      V,          \        V4      V,          /4       R# )c                 óf   € V P                  4        F  w  r\        V\        4      V8X  d   K  Q h	  R # rµ   )Úitemsr   r*   ©ÚdÚkÚvs   &  rE   ÚcheckÚtest_sinc_opts.<locals>.checkw  s)   € Ø—G‘G–I‰DˆAÜ˜AœyÓ)¨QÖ.Ð.Ð.ó rG   r6   rU   N)r   r   r   ©rÐ   r6   rU   s      rE   Útest_sinc_optsrÓ   v  s%  € ò/ô 	ˆs‹€AÙ	ÜˆA‹ˆq�œ˜a›ÜˆAˆa�C‹�!�A•#�œ˜a �c›ÜˆAˆa�C‹��
˜œ4  !¥›9�Ø	Œ#ˆa‹&�˜œ3˜q›6�ð	ô ô 	ˆs‹€AÙ	ÜˆA�C‹�!•#�œt A¥C›yØ	Œ#ˆa�c‹(�
�1�œt A¥C›yÜŒC�‹F‹”C˜“FÕœt¤C¨£F›|ÜˆAŒc�!‹f�H‹”c˜!“fÕ˜q¤ a¬¨A«¥h£Õ/ÜˆA‹ˆq�œs 1›v a�xðö rG   c            
      óÊ  € R  p \        R4      pV ! \        ^V,          4      ^V,          ,          \        ^V,          4      ,           ^,
          \        ^V,          4      \	        ^V,          4      ,           \        V^,           4      \        ^4      ,          \        V^,          ^,           4      ,           \        V^,          4      \        V^,           4      ,           /4       R# )c                 óf   € V P                  4        F  w  r\        V\        4      V8X  d   K  Q h	  R # rµ   ©rË   r   r(   rÌ   s   &  rE   rÐ   Ú test_optims_numpy.<locals>.checkŽ  ó)   € Ø—G‘G–I‰DˆAÜ˜Aœ|Ó,°Ö1Ð1Ð1ó rG   r6   N)r   r   r	   r   r   r
   r   r   )rÐ   r6   s     rE   Útest_optims_numpyrÙ   �  s–   € ò2ô 	ˆs‹€AÙ	ÜˆAˆa�C‹�!�A•#�œ˜Q˜q�S›Õ! AÕ%¤t¨A¨a­C£y´5¸¸1½³:Õ'=ÜˆAˆa�C‹”�Q“�œ#˜a �d Q�h›-Õ'¬¨q°!­t«´t¸A¸a½C³yÕ)@ðö rG   c                  ó  € R  p \        \        RP                  4       4      w  rV ! \        W,          4      \	        W,          4      ,          \        W,          ^,           4      ,          \        ^4      V,          V,          ,          \        W,          4      \        W,          4      ,          \        W,          4      ,          \        V\	        V4      ,          V,          4      ^,
          \        V\        V4      ,          4      /4       R# )c                 óf   € V P                  4        F  w  r\        V\        4      V8X  d   K  Q h	  R # rµ   rÖ   rÌ   s   &  rE   rÐ   Ú%test_optims_numpy_TODO.<locals>.check›  rØ   rG   ri   N)
rj   r   rk   r
   r   r   r   r   r	   r   rÒ   s      rE   Útest_optims_numpy_TODOrÝ   ™  s£   € ò2ô Œv�u—{‘{“}Ó%�D€AÙ	ÜˆA�C‹”�Q•S“Õœ#˜a�c !�e›*Õ$¤c¨!£f¨Q¥h¨q¥jÕ1´4¸½³9¼TÀ!Å#»YÕ3FÄuÈQÍSÃzÕ3QÜˆAŒc�!‹f�H�Q�J‹˜!ÕœU 1¤T¨!£W¥9Ó-ðö rG   c            	      ó~  € \         '       g   \        R 4       \        4       '       g   \        R4       \        R4      p ^^:\	        ^u4      ,          ,          ^^a\	        ^u4      ,          ,          ,          ^^\	        ^'4      ,          ,          ,          ^^\\	        ^u4      ,          ,          ,          \	        ^4      ,          \
        ,          p^\        V 4      ,          V,
          p\	        ^
4      R,          pVP                  W4      P                  ^4      p\        ^\        V 4      ,          V,
          \        .4      p^pRR\        VP                  V4      4      R\        VP                  V4      4      /,          pRp\        P                  ! 4       ;_uu_ 4       p	\        RV3RV3.V	R	R
/R7      w  r«\        V
P!                  R4      V,
          4      p\        V
P#                  R4      V,
          4      pRTu;8  d	   R8  g   Q h Q hRTu;8  d	   R8  g   Q h Q h RRR4       R#   + '       g   i     R# ; i)zcython not installed.zNo C compiler found.r6   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¼‰Ø—²Òœ<Niõÿÿÿ)r2   r-   r0   r   r   r   r	   rP   rÀ   r   r    r   ÚtempfileÚTemporaryDirectoryr/   rX   Úpy_rewrittenÚpy_unchanged)r6   Ú	about_tworß   ÚxvalÚrefrà   ÚNUMBER_OF_DIGITSÚfunc_cÚfunc_pyxÚfolderÚmodÚinfoÚerr_rewrittenÚerr_unchangeds                 rE   Ú"test_compiled_ccode_with_rewritingrô   ¦  sÊ  € ç‹6ÜÐ$Ô%Ü�7Š7ÜÐ#Ô$äˆs‹€AØ�B”q˜“v•I•˜q 2¤a¨£f¥9�~Õ-¨a°!´A°b³Eµ'­lÕ:¸1¸rÄ!ÀCÃ&½y½>ÕIÌ!ÈBË%ÕOÔPRÕR€Ià”#�a“&•˜9Õ$€IÜˆR‹5�#�:€DØ
�.‰.˜Ó
!×
#Ñ
# BÓ
'€Cä˜œ3˜q›6� IÕ-´	¨{Ó;€Ið Ðð	ð ”E˜)Ÿ+™+Ð&6Ó7Ó8Øœ˜iŸk™kÐ*:Ó;Ó<ð>õ
>€Fð€Hô 
×	$Ò	$×	&Ô	&¨&Ü/Ø˜Ð +¨xÐ!8Ð9Ø¨e°U¨^ô
‰	ˆô ˜C×,Ñ,¨UÓ3°cÕ9Ó:ˆÜ˜C×,Ñ,¨UÓ3°cÕ9Ó:ˆØ�}Ö, uÔ,Ð,Ñ,Ð,Ð,Ø�}Ö, uÔ,Ð,Ñ,Ð,Ñ,÷ 
'×	&×	&Ò	&ús   ÆBH+È+H<	)Ng    _ B)[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   rF   rJ   rf   rm   rq   rs   ru   r‹   rŽ   rž   r¡   r§   r¾   rÄ   rÆ   rÈ   rÓ   rÙ   rÝ   rô   © rG   rE   Ú<module>r
     s  ðÛ ß +Ý  Ý "Ý $Ý 4ß =ß EÑ EÝ ;ß )Ý (Ý ,Ý 2ß =Ó =ß ;ß 2÷÷ ÷ ÷ ó ÷
 -Ý $ß KÝ 7á	�xÓ	 €Ù�gÓ€Ù�gÓ€ò&ò@0ò?EòD'ò#&òL'ò'ô0òoò,pò$%ò,+ò\Gò0Pò&ò&òò.	ð ñ	ó ð	ð ñ2-ó ò2-rG   