
Results
Herbie found 12 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Initial program 99.9%
Final simplification99.9%
Initial program 99.9%
*-rgt-identity99.9%
Simplified99.9%
Final simplification99.9%
Initial program 99.9%
associate-*l/99.4%
Simplified99.4%
expm1-log1p-u98.9%
expm1-udef39.0%
add-sqr-sqrt2.9%
fabs-sqr2.9%
add-sqr-sqrt5.1%
Applied egg-rr5.1%
expm1-def65.0%
expm1-log1p99.1%
Simplified99.4%
Taylor expanded in x around 0 99.4%
Final simplification99.4%
Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.4%
Taylor expanded in x around inf 99.2%
Final simplification99.2%
Initial program 99.9%
associate-*l/99.4%
Simplified99.4%
Taylor expanded in x around inf 99.2%
Taylor expanded in x around 0 99.1%
associate-*l/99.1%
clear-num99.2%
add-sqr-sqrt35.5%
fabs-sqr35.5%
add-sqr-sqrt99.2%
+-commutative99.2%
fma-def99.2%
Applied egg-rr99.2%
Final simplification99.2%
Initial program 99.9%
associate-*l/99.4%
Simplified99.4%
Taylor expanded in x around inf 99.2%
Taylor expanded in x around 0 99.1%
expm1-log1p-u98.9%
expm1-udef39.0%
add-sqr-sqrt2.9%
fabs-sqr2.9%
add-sqr-sqrt5.1%
Applied egg-rr5.1%
expm1-def65.0%
expm1-log1p99.1%
Simplified99.1%
distribute-lft-in99.1%
Applied egg-rr99.1%
distribute-lft-out99.1%
+-commutative99.1%
fma-udef99.1%
associate-/r/99.1%
Simplified99.1%
Final simplification99.1%
Initial program 99.9%
associate-*l/99.4%
Simplified99.4%
Taylor expanded in x around inf 99.2%
Taylor expanded in x around 0 99.1%
expm1-log1p-u98.9%
expm1-udef39.0%
add-sqr-sqrt2.9%
fabs-sqr2.9%
add-sqr-sqrt5.1%
Applied egg-rr5.1%
expm1-def65.0%
expm1-log1p99.1%
Simplified99.1%
Final simplification99.1%
if x < -2.14999999999999991Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.9%
Taylor expanded in x around inf 99.1%
associate-*r*99.1%
Simplified99.1%
add-sqr-sqrt0.0%
sqrt-unprod92.8%
*-commutative92.8%
*-commutative92.8%
swap-sqr92.8%
add-sqr-sqrt92.8%
*-commutative92.8%
*-commutative92.8%
swap-sqr92.8%
pow-prod-up92.8%
metadata-eval92.8%
metadata-eval92.9%
Applied egg-rr92.9%
associate-*l/92.9%
*-lft-identity92.9%
Simplified92.9%
if -2.14999999999999991 < x Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.2%
Taylor expanded in x around 0 99.9%
+-commutative99.9%
associate-*r*99.9%
associate-*r*99.9%
distribute-rgt-out99.9%
*-commutative99.9%
Simplified99.9%
unpow399.9%
Applied egg-rr99.9%
Final simplification97.5%
if x < -2.14999999999999991Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.9%
Taylor expanded in x around inf 99.1%
associate-*r*99.1%
Simplified99.1%
expm1-log1p-u0.0%
expm1-udef0.0%
sqrt-div0.0%
metadata-eval0.0%
un-div-inv0.0%
Applied egg-rr0.0%
expm1-def0.0%
expm1-log1p99.2%
associate-/l*99.2%
Simplified99.2%
expm1-log1p-u0.0%
expm1-udef0.0%
associate-/r/0.0%
Applied egg-rr0.0%
expm1-def0.0%
expm1-log1p99.2%
associate-*l/99.2%
associate-*r/99.2%
Simplified99.2%
if -2.14999999999999991 < x Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.2%
Taylor expanded in x around 0 99.9%
+-commutative99.9%
associate-*r*99.9%
associate-*r*99.9%
distribute-rgt-out99.9%
*-commutative99.9%
Simplified99.9%
unpow399.9%
Applied egg-rr99.9%
Final simplification99.6%
Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.4%
Taylor expanded in x around 0 88.2%
+-commutative88.2%
associate-*r*88.2%
associate-*r*88.2%
distribute-rgt-out88.2%
*-commutative88.2%
Simplified88.2%
unpow388.2%
Applied egg-rr88.2%
Final simplification88.2%
if x < -1e14Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified100.0%
Taylor expanded in x around 0 5.4%
*-commutative5.4%
associate-*l*5.4%
Simplified5.4%
add-sqr-sqrt0.0%
sqrt-unprod53.1%
associate-*r*53.1%
sqrt-div53.1%
metadata-eval53.1%
div-inv53.1%
associate-*r*53.1%
sqrt-div53.1%
metadata-eval53.1%
div-inv53.1%
swap-sqr53.1%
frac-times53.1%
add-sqr-sqrt53.1%
metadata-eval53.1%
Applied egg-rr53.1%
if -1e14 < x Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.2%
Taylor expanded in x around 0 98.8%
*-commutative98.8%
associate-*l*98.8%
Simplified98.8%
expm1-log1p-u98.7%
expm1-udef7.8%
associate-*r*7.8%
sqrt-div7.8%
metadata-eval7.8%
div-inv7.8%
Applied egg-rr7.8%
expm1-def98.0%
expm1-log1p98.1%
associate-*l/98.1%
Simplified98.1%
expm1-log1p-u98.0%
expm1-udef7.8%
Applied egg-rr7.8%
expm1-def98.0%
expm1-log1p98.1%
associate-*r/98.8%
Simplified98.8%
Final simplification83.4%
Initial program 99.9%
associate-+l+99.9%
+-commutative99.9%
Simplified99.4%
Taylor expanded in x around 0 67.4%
*-commutative67.4%
associate-*l*67.4%
Simplified67.4%
expm1-log1p-u65.5%
expm1-udef5.1%
associate-*r*5.1%
sqrt-div5.1%
metadata-eval5.1%
div-inv5.1%
Applied egg-rr5.1%
expm1-def65.0%
expm1-log1p66.9%
associate-*l/66.9%
Simplified66.9%
expm1-log1p-u65.0%
expm1-udef5.1%
Applied egg-rr5.1%
expm1-def65.0%
expm1-log1p66.9%
associate-*r/67.4%
Simplified67.4%
Final simplification67.4%
herbie shell --seed 2023166
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
:precision binary64
:pre (<= x 0.5)
(fabs (* (/ 1.0 (sqrt PI)) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))