
Results
Herbie found 14 alternatives:
| Alternative | Accuracy | Speedup |
|---|
| Original | 92.8% |
|---|---|
| Target | 99.1% |
| Herbie | 95.8% |
if y < -1.4e68Initial program 79.2%
associate-*r/97.8%
Simplified97.8%
if -1.4e68 < y Initial program 99.0%
Final simplification98.8%
if a < -6.3999999999999997e34 or -1.6e5 < a < -5.6000000000000001e-14 or 2.59999999999999997e34 < a Initial program 90.4%
associate-*r/98.9%
Simplified98.9%
Taylor expanded in z around inf 74.4%
associate-*l/78.0%
*-commutative78.0%
Simplified78.0%
Taylor expanded in x around inf 63.5%
if -6.3999999999999997e34 < a < -1.6e5Initial program 74.7%
associate-*r/100.0%
Simplified100.0%
Taylor expanded in z around inf 74.7%
associate-*l/99.6%
*-commutative99.6%
Simplified99.6%
Taylor expanded in x around 0 60.6%
associate-*l/85.5%
*-commutative85.5%
neg-mul-185.5%
distribute-rgt-neg-in85.5%
distribute-frac-neg85.5%
Simplified85.5%
if -5.6000000000000001e-14 < a < -6.60000000000000037e-190Initial program 99.8%
associate-*r/80.5%
Simplified80.5%
Taylor expanded in z around 0 63.9%
neg-mul-163.9%
distribute-neg-frac63.9%
Simplified63.9%
Taylor expanded in x around 0 48.8%
*-commutative48.8%
associate-*r/48.8%
Simplified48.8%
clear-num48.9%
un-div-inv50.7%
Applied egg-rr50.7%
if -6.60000000000000037e-190 < a < 7.2000000000000003e-304 or 7.50000000000000005e-202 < a < 2.59999999999999997e34Initial program 99.8%
associate-*r/91.0%
Simplified91.0%
Taylor expanded in z around inf 75.8%
associate-*l/74.7%
*-commutative74.7%
Simplified74.7%
Taylor expanded in x around 0 63.2%
mul-1-neg63.2%
Simplified63.2%
if 7.2000000000000003e-304 < a < 7.50000000000000005e-202Initial program 99.9%
associate-*r/81.8%
Simplified81.8%
Taylor expanded in z around 0 70.3%
neg-mul-170.3%
distribute-neg-frac70.3%
Simplified70.3%
Taylor expanded in x around 0 63.0%
Final simplification62.0%
if a < -2.55000000000000009e35 or -3.2e6 < a < -1.84999999999999994e-13 or 1.6e28 < a Initial program 90.4%
associate-*r/98.9%
Simplified98.9%
Taylor expanded in z around inf 74.4%
associate-*l/78.0%
*-commutative78.0%
Simplified78.0%
Taylor expanded in x around inf 63.5%
if -2.55000000000000009e35 < a < -3.2e6Initial program 74.7%
associate-*r/100.0%
Simplified100.0%
Taylor expanded in z around inf 74.7%
associate-*l/99.6%
*-commutative99.6%
Simplified99.6%
Taylor expanded in x around 0 60.6%
associate-*l/85.5%
*-commutative85.5%
neg-mul-185.5%
distribute-rgt-neg-in85.5%
distribute-frac-neg85.5%
Simplified85.5%
*-commutative85.5%
distribute-frac-neg85.5%
distribute-lft-neg-in85.5%
associate-/r/85.5%
frac-2neg85.5%
distribute-neg-frac85.5%
remove-double-neg85.5%
distribute-neg-frac85.5%
Applied egg-rr85.5%
Taylor expanded in y around 0 60.6%
associate-*r/85.9%
neg-mul-185.9%
distribute-lft-neg-in85.9%
Simplified85.9%
if -1.84999999999999994e-13 < a < -1.1000000000000001e-189Initial program 99.8%
associate-*r/80.5%
Simplified80.5%
Taylor expanded in z around 0 63.9%
neg-mul-163.9%
distribute-neg-frac63.9%
Simplified63.9%
Taylor expanded in x around 0 48.8%
*-commutative48.8%
associate-*r/48.8%
Simplified48.8%
clear-num48.9%
un-div-inv50.7%
Applied egg-rr50.7%
if -1.1000000000000001e-189 < a < 9.00000000000000009e-306 or 1.45e-200 < a < 1.6e28Initial program 99.8%
associate-*r/91.0%
Simplified91.0%
Taylor expanded in z around inf 75.8%
associate-*l/74.7%
*-commutative74.7%
Simplified74.7%
Taylor expanded in x around 0 63.2%
mul-1-neg63.2%
Simplified63.2%
if 9.00000000000000009e-306 < a < 1.45e-200Initial program 99.9%
associate-*r/81.8%
Simplified81.8%
Taylor expanded in z around 0 70.3%
neg-mul-170.3%
distribute-neg-frac70.3%
Simplified70.3%
Taylor expanded in x around 0 63.0%
Final simplification62.0%
if a < -3.10000000000000005e-9 or 2.09999999999999989e28 < a Initial program 89.4%
associate-*r/99.0%
Simplified99.0%
Taylor expanded in z around inf 74.4%
associate-*l/79.4%
*-commutative79.4%
Simplified79.4%
Taylor expanded in x around inf 60.4%
if -3.10000000000000005e-9 < a < -1.05000000000000008e-189Initial program 99.8%
associate-*r/80.5%
Simplified80.5%
Taylor expanded in z around 0 63.9%
neg-mul-163.9%
distribute-neg-frac63.9%
Simplified63.9%
Taylor expanded in x around 0 48.8%
*-commutative48.8%
associate-*r/48.8%
Simplified48.8%
clear-num48.9%
un-div-inv50.7%
Applied egg-rr50.7%
if -1.05000000000000008e-189 < a < 1.01999999999999992e-304 or 2.9499999999999999e-201 < a < 2.09999999999999989e28Initial program 99.8%
associate-*r/91.0%
Simplified91.0%
Taylor expanded in z around inf 75.8%
associate-*l/74.7%
*-commutative74.7%
Simplified74.7%
Taylor expanded in x around 0 63.2%
mul-1-neg63.2%
Simplified63.2%
if 1.01999999999999992e-304 < a < 2.9499999999999999e-201Initial program 99.9%
associate-*r/81.8%
Simplified81.8%
Taylor expanded in z around 0 70.3%
neg-mul-170.3%
distribute-neg-frac70.3%
Simplified70.3%
Taylor expanded in x around 0 63.0%
Final simplification60.1%
if z < -6.5999999999999998e109 or 2.5500000000000001e92 < z Initial program 92.5%
associate-*r/86.2%
Simplified86.2%
Taylor expanded in z around inf 86.1%
associate-*l/91.2%
*-commutative91.2%
Simplified91.2%
Taylor expanded in x around 0 63.3%
associate-*l/67.2%
*-commutative67.2%
neg-mul-167.2%
distribute-rgt-neg-in67.2%
distribute-frac-neg67.2%
Simplified67.2%
if -6.5999999999999998e109 < z < 2.5500000000000001e92Initial program 97.4%
associate-*r/95.6%
Simplified95.6%
Taylor expanded in z around 0 81.7%
neg-mul-181.7%
distribute-neg-frac81.7%
Simplified81.7%
*-commutative81.7%
distribute-frac-neg81.7%
cancel-sign-sub81.7%
add-sqr-sqrt42.6%
sqrt-unprod53.1%
sqr-neg53.1%
sqrt-unprod18.7%
add-sqr-sqrt41.5%
*-commutative41.5%
associate-*r/40.5%
associate-*l/42.7%
+-commutative42.7%
associate-*l/40.5%
associate-*r/41.5%
add-sqr-sqrt18.7%
sqrt-unprod53.1%
sqr-neg53.1%
sqrt-unprod42.6%
add-sqr-sqrt81.7%
Applied egg-rr81.7%
Final simplification75.9%
if z < -6.00000000000000031e109 or 1.2500000000000001e91 < z Initial program 92.5%
associate-*r/86.2%
Simplified86.2%
Taylor expanded in z around inf 86.1%
associate-*l/91.2%
*-commutative91.2%
Simplified91.2%
Taylor expanded in x around 0 63.3%
associate-*l/67.2%
*-commutative67.2%
neg-mul-167.2%
distribute-rgt-neg-in67.2%
distribute-frac-neg67.2%
Simplified67.2%
if -6.00000000000000031e109 < z < 1.2500000000000001e91Initial program 97.4%
associate-*r/95.6%
Simplified95.6%
Taylor expanded in z around 0 81.7%
neg-mul-181.7%
distribute-neg-frac81.7%
Simplified81.7%
Taylor expanded in x around 0 82.3%
associate-*l/81.8%
Applied egg-rr81.8%
Final simplification76.0%
if z < -6.00000000000000031e109 or 5.09999999999999988e87 < z Initial program 92.5%
associate-*r/86.2%
Simplified86.2%
Taylor expanded in z around inf 86.1%
associate-*l/91.2%
*-commutative91.2%
Simplified91.2%
Taylor expanded in x around 0 63.3%
associate-*l/67.2%
*-commutative67.2%
neg-mul-167.2%
distribute-rgt-neg-in67.2%
distribute-frac-neg67.2%
Simplified67.2%
if -6.00000000000000031e109 < z < 5.09999999999999988e87Initial program 97.4%
associate-*r/95.6%
Simplified95.6%
Taylor expanded in z around 0 81.7%
neg-mul-181.7%
distribute-neg-frac81.7%
Simplified81.7%
Taylor expanded in x around 0 82.3%
Final simplification76.3%
if z < -1.05e-32 or 2.05e83 < z Initial program 93.0%
associate-*r/87.8%
Simplified87.8%
Taylor expanded in z around inf 80.1%
if -1.05e-32 < z < 2.05e83Initial program 97.8%
associate-*r/95.6%
Simplified95.6%
Taylor expanded in z around 0 84.5%
neg-mul-184.5%
distribute-neg-frac84.5%
Simplified84.5%
Taylor expanded in x around 0 85.9%
Final simplification83.1%
if z < -1.59999999999999988e-33 or 2.05e83 < z Initial program 93.0%
associate-*r/87.8%
Simplified87.8%
Taylor expanded in z around inf 85.4%
associate-*l/89.7%
*-commutative89.7%
Simplified89.7%
if -1.59999999999999988e-33 < z < 2.05e83Initial program 97.8%
associate-*r/95.6%
Simplified95.6%
Taylor expanded in z around 0 84.5%
neg-mul-184.5%
distribute-neg-frac84.5%
Simplified84.5%
Taylor expanded in x around 0 85.9%
Final simplification87.7%
if z < 2.5999999999999998e212Initial program 96.2%
associate-*r/93.7%
Simplified93.7%
if 2.5999999999999998e212 < z Initial program 90.2%
associate-*r/77.4%
Simplified77.4%
Taylor expanded in z around inf 86.8%
associate-*l/96.3%
*-commutative96.3%
Simplified96.3%
Final simplification94.0%
if a < -3.8000000000000002e-15 or 3.89999999999999985e-8 < a Initial program 90.1%
associate-*r/99.0%
Simplified99.0%
Taylor expanded in z around inf 75.4%
associate-*l/80.0%
*-commutative80.0%
Simplified80.0%
Taylor expanded in x around inf 58.2%
if -3.8000000000000002e-15 < a < 3.89999999999999985e-8Initial program 99.9%
associate-*r/86.0%
Simplified86.0%
Taylor expanded in z around 0 56.5%
neg-mul-156.5%
distribute-neg-frac56.5%
Simplified56.5%
Taylor expanded in x around 0 44.7%
*-commutative44.7%
associate-*r/45.4%
Simplified45.4%
Final simplification51.2%
if a < -4.3999999999999997e-9 or 3.8499999999999998e-4 < a Initial program 90.1%
associate-*r/99.0%
Simplified99.0%
Taylor expanded in z around inf 75.4%
associate-*l/80.0%
*-commutative80.0%
Simplified80.0%
Taylor expanded in x around inf 58.2%
if -4.3999999999999997e-9 < a < 3.8499999999999998e-4Initial program 99.9%
associate-*r/86.0%
Simplified86.0%
Taylor expanded in z around 0 56.5%
neg-mul-156.5%
distribute-neg-frac56.5%
Simplified56.5%
Taylor expanded in x around 0 44.7%
*-commutative44.7%
associate-*r/45.4%
Simplified45.4%
clear-num45.4%
un-div-inv45.9%
Applied egg-rr45.9%
Final simplification51.4%
Initial program 95.5%
associate-*l/95.9%
Simplified95.9%
Final simplification95.9%
Initial program 95.5%
associate-*r/91.8%
Simplified91.8%
Taylor expanded in z around inf 68.8%
associate-*l/71.3%
*-commutative71.3%
Simplified71.3%
Taylor expanded in x around inf 35.6%
Final simplification35.6%
herbie shell --seed 2023166
(FPCore (x y z t a)
:name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, F"
:precision binary64
:herbie-target
(if (< y -1.0761266216389975e-10) (- x (/ 1.0 (/ (/ a (- z t)) y))) (if (< y 2.894426862792089e-49) (- x (/ (* y (- z t)) a)) (- x (/ y (/ a (- z t))))))
(- x (/ (* y (- z t)) a)))