
Results
Herbie found 13 alternatives:
| Alternative | Accuracy | Speedup |
|---|
| Original | 93.2% |
|---|---|
| Target | 97.7% |
| Herbie | 96.6% |
if (+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t)) < -1.9999999999999999e305 or 1e308 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t)) Initial program 85.0%
Taylor expanded in t around 0 85.0%
*-commutative85.0%
associate-*l/95.1%
Applied egg-rr95.1%
if -1.9999999999999999e305 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) z) t)) < 1e308Initial program 99.8%
Final simplification98.2%
if y < -6.6000000000000003e66 or 5.80000000000000009e-37 < y < 13.4000000000000004 or 6.20000000000000032e131 < y Initial program 92.4%
Taylor expanded in t around 0 73.5%
Taylor expanded in y around inf 63.3%
associate-*r/67.6%
Simplified67.6%
if -6.6000000000000003e66 < y < 5.80000000000000009e-37 or 13.4000000000000004 < y < 6.20000000000000032e131Initial program 96.2%
Taylor expanded in z around 0 52.2%
Final simplification58.4%
if y < -1.25e51 or 5.6000000000000002e-36 < y < 14.199999999999999Initial program 94.3%
Taylor expanded in t around 0 73.0%
Taylor expanded in y around inf 60.2%
associate-*r/64.0%
Simplified64.0%
clear-num63.9%
un-div-inv64.0%
Applied egg-rr64.0%
if -1.25e51 < y < 5.6000000000000002e-36 or 14.199999999999999 < y < 4.4e134Initial program 96.7%
Taylor expanded in z around 0 52.3%
if 4.4e134 < y Initial program 87.3%
Taylor expanded in t around 0 71.0%
Taylor expanded in y around inf 65.7%
associate-*r/73.0%
Simplified73.0%
Final simplification58.4%
if t < -5.2e-42 or 7.4e-65 < t Initial program 90.5%
Taylor expanded in z around 0 60.5%
if -5.2e-42 < t < -4.9000000000000002e-198Initial program 99.8%
Taylor expanded in t around 0 81.3%
Taylor expanded in y around inf 56.4%
associate-*r/56.6%
Simplified56.6%
if -4.9000000000000002e-198 < t < 7.4e-65Initial program 99.8%
Taylor expanded in t around 0 90.0%
*-commutative90.0%
associate-*l/86.4%
Applied egg-rr86.4%
Taylor expanded in y around 0 63.5%
mul-1-neg63.5%
associate-*r/59.9%
distribute-rgt-neg-in59.9%
Simplified59.9%
Final simplification59.7%
if t < -1.1e-41 or 4.9999999999999999e-61 < t Initial program 90.5%
Taylor expanded in z around 0 60.5%
if -1.1e-41 < t < -8.50000000000000014e-200Initial program 99.8%
Taylor expanded in t around 0 81.3%
Taylor expanded in y around inf 56.4%
associate-*r/56.6%
Simplified56.6%
if -8.50000000000000014e-200 < t < 4.9999999999999999e-61Initial program 99.8%
Taylor expanded in t around 0 90.0%
Taylor expanded in y around 0 63.5%
mul-1-neg63.5%
distribute-neg-frac63.5%
distribute-rgt-neg-out63.5%
associate-*l/64.6%
Simplified64.6%
Final simplification61.1%
if t < -2.0000000000000001e-101 or 4.50000000000000015e-67 < t Initial program 91.4%
Taylor expanded in y around inf 84.3%
associate-*r/32.0%
Simplified87.9%
if -2.0000000000000001e-101 < t < 4.50000000000000015e-67Initial program 99.8%
Taylor expanded in t around 0 89.5%
*-commutative89.5%
associate-*l/85.8%
Applied egg-rr85.8%
Final simplification87.1%
if t < -7.50000000000000014e55 or 7.19999999999999955e163 < t Initial program 87.0%
Taylor expanded in z around 0 74.3%
if -7.50000000000000014e55 < t < 7.19999999999999955e163Initial program 98.3%
Taylor expanded in t around 0 76.2%
*-commutative76.2%
associate-*l/75.6%
Applied egg-rr75.6%
Final simplification75.2%
if t < -2.05000000000000013e-101Initial program 92.0%
Taylor expanded in y around inf 83.1%
associate-*r/29.5%
Simplified85.3%
if -2.05000000000000013e-101 < t < 4.9999999999999998e-70Initial program 99.8%
Taylor expanded in t around 0 89.5%
*-commutative89.5%
associate-*l/85.8%
Applied egg-rr85.8%
if 4.9999999999999998e-70 < t Initial program 90.7%
Taylor expanded in y around inf 85.7%
associate-*l/91.3%
*-commutative91.3%
Simplified91.3%
Final simplification87.2%
if t < -6.99999999999999973e-102Initial program 92.0%
+-commutative92.0%
*-commutative92.0%
associate-*l/99.9%
fma-def99.9%
Simplified99.9%
fma-udef99.9%
associate-*l/92.0%
*-commutative92.0%
associate-*r/99.9%
Applied egg-rr99.9%
associate-*r/92.0%
*-commutative92.0%
associate-/l*99.9%
Applied egg-rr99.9%
Taylor expanded in y around inf 85.4%
if -6.99999999999999973e-102 < t < 2.4e-67Initial program 99.8%
Taylor expanded in t around 0 89.5%
*-commutative89.5%
associate-*l/85.8%
Applied egg-rr85.8%
if 2.4e-67 < t Initial program 90.7%
Taylor expanded in y around inf 85.7%
associate-*l/91.3%
*-commutative91.3%
Simplified91.3%
Final simplification87.2%
if y < -1.5000000000000001e49Initial program 93.1%
Taylor expanded in y around inf 86.7%
associate-*r/67.0%
Simplified89.8%
clear-num66.9%
un-div-inv67.1%
Applied egg-rr89.8%
if -1.5000000000000001e49 < y < 2.1000000000000001e-16Initial program 97.9%
Taylor expanded in x around inf 89.3%
*-commutative89.3%
distribute-lft-in89.3%
*-rgt-identity89.3%
mul-1-neg89.3%
distribute-rgt-neg-in89.3%
unsub-neg89.3%
Simplified89.3%
if 2.1000000000000001e-16 < y Initial program 88.3%
Taylor expanded in y around inf 84.0%
associate-*r/58.6%
Simplified90.6%
Final simplification89.7%
Initial program 94.7%
+-commutative94.7%
*-commutative94.7%
associate-*l/98.0%
fma-def98.0%
Simplified98.0%
fma-udef98.0%
associate-*l/94.7%
*-commutative94.7%
associate-*r/98.0%
Applied egg-rr98.0%
Final simplification98.0%
Initial program 94.7%
associate-/l*98.0%
Simplified98.0%
Final simplification98.0%
Initial program 94.7%
Taylor expanded in z around 0 40.1%
Final simplification40.1%
herbie shell --seed 2023166
(FPCore (x y z t)
:name "Numeric.Histogram:binBounds from Chart-1.5.3"
:precision binary64
:herbie-target
(if (< x -9.025511195533005e-135) (- x (* (/ z t) (- x y))) (if (< x 4.275032163700715e-250) (+ x (* (/ (- y x) t) z)) (+ x (/ (- y x) (/ t z)))))
(+ x (/ (* (- y x) z) t)))