
Herbie found 6 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Initial program 87.8%
sub-neg87.8%
+-commutative87.8%
neg-sub087.8%
associate-+l-87.8%
sub0-neg87.8%
neg-mul-187.8%
associate-/r*87.8%
metadata-eval87.8%
fma-neg99.5%
metadata-eval99.5%
Simplified99.5%
Final simplification99.5%
if (*.f64 x x) < 1Initial program 88.4%
sub-neg88.4%
+-commutative88.4%
neg-sub088.4%
associate-+l-88.4%
sub0-neg88.4%
neg-mul-188.4%
associate-/r*88.4%
metadata-eval88.4%
fma-neg99.5%
metadata-eval99.5%
Simplified99.5%
frac-2neg99.5%
metadata-eval99.5%
fma-udef88.4%
distribute-neg-in88.4%
metadata-eval88.4%
+-commutative88.4%
sub-neg88.4%
add-sqr-sqrt88.4%
sqrt-unprod88.4%
pow1/288.4%
pow288.4%
metadata-eval88.4%
sub-neg88.4%
+-commutative88.4%
metadata-eval88.4%
distribute-neg-in88.4%
fma-udef99.5%
frac-2neg99.5%
pow299.5%
frac-times99.4%
metadata-eval99.4%
pow299.4%
Applied egg-rr99.4%
unpow1/299.4%
Simplified99.4%
Taylor expanded in x around inf 13.5%
unpow213.5%
Simplified13.5%
if 1 < (*.f64 x x) Initial program 86.8%
sub-neg86.8%
+-commutative86.8%
neg-sub086.8%
associate-+l-86.8%
sub0-neg86.8%
neg-mul-186.8%
associate-/r*86.8%
metadata-eval86.8%
fma-neg99.6%
metadata-eval99.6%
Simplified99.6%
frac-2neg99.6%
metadata-eval99.6%
fma-udef86.8%
distribute-neg-in86.8%
metadata-eval86.8%
+-commutative86.8%
sub-neg86.8%
add-sqr-sqrt0.0%
sqrt-unprod1.5%
pow1/21.5%
pow21.5%
metadata-eval1.5%
sub-neg1.5%
+-commutative1.5%
metadata-eval1.5%
distribute-neg-in1.5%
fma-udef1.5%
frac-2neg1.5%
pow21.5%
frac-times1.5%
metadata-eval1.5%
pow21.5%
Applied egg-rr1.5%
unpow1/21.5%
Simplified1.5%
Taylor expanded in x around 0 13.5%
Final simplification13.5%
Initial program 87.8%
sub-neg87.8%
+-commutative87.8%
neg-sub087.8%
associate-+l-87.8%
sub0-neg87.8%
neg-mul-187.8%
associate-/r*87.8%
metadata-eval87.8%
fma-neg99.5%
metadata-eval99.5%
Simplified99.5%
frac-2neg99.5%
metadata-eval99.5%
fma-udef87.8%
distribute-neg-in87.8%
metadata-eval87.8%
+-commutative87.8%
sub-neg87.8%
div-inv87.8%
*-commutative87.8%
Applied egg-rr87.8%
Final simplification87.8%
Initial program 87.8%
Final simplification87.8%
if (*.f64 x x) < 1Initial program 88.4%
sub-neg88.4%
+-commutative88.4%
neg-sub088.4%
associate-+l-88.4%
sub0-neg88.4%
neg-mul-188.4%
associate-/r*88.4%
metadata-eval88.4%
fma-neg99.5%
metadata-eval99.5%
Simplified99.5%
Taylor expanded in x around 0 13.5%
if 1 < (*.f64 x x) Initial program 86.8%
sub-neg86.8%
+-commutative86.8%
neg-sub086.8%
associate-+l-86.8%
sub0-neg86.8%
neg-mul-186.8%
associate-/r*86.8%
metadata-eval86.8%
fma-neg99.6%
metadata-eval99.6%
Simplified99.6%
frac-2neg99.6%
metadata-eval99.6%
fma-udef86.8%
distribute-neg-in86.8%
metadata-eval86.8%
+-commutative86.8%
sub-neg86.8%
add-sqr-sqrt0.0%
sqrt-unprod1.5%
pow1/21.5%
pow21.5%
metadata-eval1.5%
sub-neg1.5%
+-commutative1.5%
metadata-eval1.5%
distribute-neg-in1.5%
fma-udef1.5%
frac-2neg1.5%
pow21.5%
frac-times1.5%
metadata-eval1.5%
pow21.5%
Applied egg-rr1.5%
unpow1/21.5%
Simplified1.5%
Taylor expanded in x around 0 13.5%
Final simplification13.5%
Initial program 87.8%
sub-neg87.8%
+-commutative87.8%
neg-sub087.8%
associate-+l-87.8%
sub0-neg87.8%
neg-mul-187.8%
associate-/r*87.8%
metadata-eval87.8%
fma-neg99.5%
metadata-eval99.5%
Simplified99.5%
frac-2neg99.5%
metadata-eval99.5%
fma-udef87.8%
distribute-neg-in87.8%
metadata-eval87.8%
+-commutative87.8%
sub-neg87.8%
add-sqr-sqrt54.9%
sqrt-unprod55.5%
pow1/255.5%
pow255.5%
metadata-eval55.5%
sub-neg55.5%
+-commutative55.5%
metadata-eval55.5%
distribute-neg-in55.5%
fma-udef62.4%
frac-2neg62.4%
pow262.4%
frac-times62.3%
metadata-eval62.3%
pow262.3%
Applied egg-rr62.3%
unpow1/262.3%
Simplified62.3%
Taylor expanded in x around 0 6.1%
Final simplification6.1%
herbie shell --seed 2023166
(FPCore (x)
:name "ENA, Section 1.4, Mentioned, B"
:precision binary64
:pre (and (<= 0.999 x) (<= x 1.001))
(/ 10.0 (- 1.0 (* x x))))