
Results
Herbie found 7 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Final simplification100.0%
if t < -0.599999999999999978Initial program 100.0%
associate-/l*99.9%
associate-*r/99.9%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*99.9%
Simplified100.0%
Taylor expanded in t around inf 99.5%
associate--l+99.5%
associate-*r/99.5%
metadata-eval99.5%
unpow299.5%
associate-*r/99.5%
metadata-eval99.5%
Simplified99.5%
if -0.599999999999999978 < t < 1Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around 0 99.6%
Taylor expanded in t around 0 99.6%
Taylor expanded in t around 0 99.7%
*-commutative99.7%
unpow299.7%
associate-*r*99.7%
Simplified99.7%
if 1 < t Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around inf 100.0%
Final simplification99.7%
if t < -0.819999999999999951Initial program 100.0%
associate-/l*99.9%
associate-*r/99.9%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*99.9%
Simplified100.0%
Taylor expanded in t around inf 99.5%
associate--l+99.5%
associate-*r/99.5%
metadata-eval99.5%
unpow299.5%
associate-*r/99.5%
metadata-eval99.5%
Simplified99.5%
if -0.819999999999999951 < t < 0.56000000000000005Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around 0 99.6%
+-commutative99.6%
unpow299.6%
Simplified99.6%
if 0.56000000000000005 < t Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around inf 100.0%
Final simplification99.7%
if t < -0.419999999999999984 or 0.56000000000000005 < t Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around inf 98.8%
if -0.419999999999999984 < t < 0.56000000000000005Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around 0 99.6%
+-commutative99.6%
unpow299.6%
Simplified99.6%
Final simplification99.2%
if t < -0.78000000000000003Initial program 100.0%
associate-/l*99.9%
associate-*r/99.9%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*99.9%
Simplified100.0%
Taylor expanded in t around inf 99.2%
associate-*r/99.2%
metadata-eval99.2%
Simplified99.2%
if -0.78000000000000003 < t < 0.56000000000000005Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around 0 99.6%
+-commutative99.6%
unpow299.6%
Simplified99.6%
if 0.56000000000000005 < t Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around inf 100.0%
Final simplification99.6%
if t < -0.330000000000000016 or 1 < t Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around inf 98.8%
if -0.330000000000000016 < t < 1Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around 0 99.4%
Final simplification99.1%
Initial program 100.0%
associate-/l*100.0%
associate-*r/100.0%
associate-/r/100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*r/100.0%
*-commutative100.0%
associate-*l/100.0%
*-commutative100.0%
associate-*l*100.0%
metadata-eval100.0%
associate-/l*100.0%
Simplified100.0%
Taylor expanded in t around 0 56.1%
Final simplification56.1%
herbie shell --seed 2023167
(FPCore (t)
:name "Kahan p13 Example 1"
:precision binary64
(/ (+ 1.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t)))) (+ 2.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t))))))