
Herbie found 10 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Initial program 86.2%
sub-neg86.2%
+-commutative86.2%
associate--l+86.2%
associate-/l*88.7%
distribute-neg-frac88.7%
associate-/r/88.7%
fma-def88.7%
sub-neg88.7%
Simplified86.1%
fma-udef86.1%
unswap-sqr99.8%
pow299.8%
div-inv99.8%
fma-def99.8%
pow299.8%
pow-flip99.9%
metadata-eval99.9%
Applied egg-rr99.9%
Final simplification99.9%
Initial program 86.2%
sub-neg86.2%
associate-/l*88.7%
cancel-sign-sub-inv88.7%
metadata-eval88.7%
*-commutative88.7%
*-commutative88.7%
metadata-eval88.7%
Simplified88.7%
div-inv88.7%
associate-*r*86.1%
unswap-sqr99.7%
pow299.7%
Applied egg-rr99.7%
Final simplification99.7%
if (*.f64 w w) < 0.0 or 1.0000000000000001e276 < (*.f64 w w) Initial program 77.0%
sub-neg77.0%
associate-/l*77.7%
cancel-sign-sub-inv77.7%
metadata-eval77.7%
*-commutative77.7%
*-commutative77.7%
metadata-eval77.7%
Simplified77.7%
Taylor expanded in v around inf 74.6%
*-commutative74.6%
*-commutative74.6%
unpow274.6%
unpow274.6%
swap-sqr95.2%
unpow295.2%
*-commutative95.2%
Simplified95.2%
unpow295.2%
Applied egg-rr95.2%
if 0.0 < (*.f64 w w) < 1.0000000000000001e276Initial program 95.4%
associate--l-95.4%
+-commutative95.4%
associate--l+95.4%
+-commutative95.4%
associate--r+95.4%
metadata-eval95.4%
associate-*l/99.8%
*-commutative99.8%
*-commutative99.8%
*-commutative99.8%
Simplified99.8%
Final simplification97.5%
if (*.f64 w w) < 1.0000000000000001e276Initial program 92.7%
associate--l-92.7%
+-commutative92.7%
associate--l+92.7%
+-commutative92.7%
associate--r+92.7%
metadata-eval92.7%
associate-*l/95.6%
*-commutative95.6%
*-commutative95.6%
*-commutative95.6%
Simplified95.6%
Taylor expanded in r around 0 95.6%
*-commutative95.6%
unpow295.6%
associate-*r*99.8%
*-commutative99.8%
Simplified99.8%
if 1.0000000000000001e276 < (*.f64 w w) Initial program 66.1%
sub-neg66.1%
associate-/l*67.6%
cancel-sign-sub-inv67.6%
metadata-eval67.6%
*-commutative67.6%
*-commutative67.6%
metadata-eval67.6%
Simplified67.6%
Taylor expanded in v around inf 66.0%
*-commutative66.0%
*-commutative66.0%
unpow266.0%
unpow266.0%
swap-sqr95.8%
unpow295.8%
*-commutative95.8%
Simplified95.8%
unpow295.8%
Applied egg-rr95.8%
Final simplification98.8%
if r < -4.4999999999999999e-89 or 4.99999999999999967e-125 < r Initial program 89.4%
sub-neg89.4%
+-commutative89.4%
associate--l+89.4%
associate-/l*93.4%
distribute-neg-frac93.4%
associate-/r/93.4%
fma-def93.4%
sub-neg93.4%
Simplified89.3%
Taylor expanded in v around 0 83.0%
associate--l+83.0%
associate-*r/83.0%
metadata-eval83.0%
unpow283.0%
*-commutative83.0%
unpow283.0%
unpow283.0%
Simplified83.0%
if -4.4999999999999999e-89 < r < 4.99999999999999967e-125Initial program 80.0%
sub-neg80.0%
+-commutative80.0%
associate--l+80.0%
associate-/l*80.0%
distribute-neg-frac80.0%
associate-/r/80.0%
fma-def80.0%
sub-neg80.0%
Simplified80.0%
Taylor expanded in r around 0 96.5%
sub-neg96.5%
associate-*r/96.5%
metadata-eval96.5%
unpow296.5%
metadata-eval96.5%
Simplified96.5%
Final simplification87.7%
if r < -1.38000000000000005e-89 or 4.00000000000000005e-125 < r Initial program 89.4%
sub-neg89.4%
+-commutative89.4%
associate--l+89.4%
associate-/l*93.4%
distribute-neg-frac93.4%
associate-/r/93.4%
fma-def93.4%
sub-neg93.4%
Simplified89.3%
Taylor expanded in v around inf 84.1%
associate--l+84.1%
associate-*r/84.1%
metadata-eval84.1%
unpow284.1%
*-commutative84.1%
unpow284.1%
unpow284.1%
Simplified84.1%
if -1.38000000000000005e-89 < r < 4.00000000000000005e-125Initial program 80.0%
sub-neg80.0%
+-commutative80.0%
associate--l+80.0%
associate-/l*80.0%
distribute-neg-frac80.0%
associate-/r/80.0%
fma-def80.0%
sub-neg80.0%
Simplified80.0%
Taylor expanded in r around 0 96.5%
sub-neg96.5%
associate-*r/96.5%
metadata-eval96.5%
unpow296.5%
metadata-eval96.5%
Simplified96.5%
Final simplification88.4%
Initial program 86.2%
sub-neg86.2%
associate-/l*88.7%
cancel-sign-sub-inv88.7%
metadata-eval88.7%
*-commutative88.7%
*-commutative88.7%
metadata-eval88.7%
Simplified88.7%
Taylor expanded in v around inf 82.7%
*-commutative82.7%
*-commutative82.7%
unpow282.7%
unpow282.7%
swap-sqr93.8%
unpow293.8%
*-commutative93.8%
Simplified93.8%
unpow293.8%
Applied egg-rr93.8%
Final simplification93.8%
if r < -4.89999999999999982e200 or 1.25000000000000002e99 < r Initial program 87.3%
sub-neg87.3%
+-commutative87.3%
associate--l+87.3%
associate-/l*88.6%
distribute-neg-frac88.6%
associate-/r/88.6%
fma-def88.6%
sub-neg88.6%
Simplified80.4%
Taylor expanded in r around inf 76.4%
Taylor expanded in v around 0 58.1%
unpow258.1%
*-commutative58.1%
associate-*l*58.1%
Simplified58.1%
Taylor expanded in w around 0 58.0%
*-commutative58.0%
associate-/r/58.0%
unpow258.0%
*-commutative58.0%
unpow258.0%
swap-sqr64.9%
unpow264.9%
associate-/l*64.9%
unpow264.9%
swap-sqr58.0%
unpow258.0%
*-commutative58.0%
unpow258.0%
unpow258.0%
*-commutative58.0%
unpow258.0%
Simplified58.0%
if -4.89999999999999982e200 < r < 1.25000000000000002e99Initial program 85.7%
sub-neg85.7%
+-commutative85.7%
associate--l+85.7%
associate-/l*88.8%
distribute-neg-frac88.8%
associate-/r/88.8%
fma-def88.8%
sub-neg88.8%
Simplified88.3%
Taylor expanded in r around 0 77.3%
sub-neg77.3%
associate-*r/77.3%
metadata-eval77.3%
unpow277.3%
metadata-eval77.3%
Simplified77.3%
Final simplification71.9%
if r < -7.00000000000000013e200 or 1.36e125 < r Initial program 86.2%
sub-neg86.2%
+-commutative86.2%
associate--l+86.2%
associate-/l*87.6%
distribute-neg-frac87.6%
associate-/r/87.6%
fma-def87.6%
sub-neg87.6%
Simplified78.6%
Taylor expanded in r around inf 77.2%
Taylor expanded in v around 0 58.6%
unpow258.6%
*-commutative58.6%
associate-*l*58.6%
Simplified58.6%
Taylor expanded in v around inf 34.1%
unpow234.1%
*-commutative34.1%
unpow234.1%
Simplified34.1%
if -7.00000000000000013e200 < r < 1.36e125Initial program 86.1%
sub-neg86.1%
+-commutative86.1%
associate--l+86.1%
associate-/l*89.1%
distribute-neg-frac89.1%
associate-/r/89.1%
fma-def89.1%
sub-neg89.1%
Simplified88.6%
Taylor expanded in r around 0 76.0%
sub-neg76.0%
associate-*r/76.0%
metadata-eval76.0%
unpow276.0%
metadata-eval76.0%
Simplified76.0%
Final simplification65.3%
Initial program 86.2%
sub-neg86.2%
+-commutative86.2%
associate--l+86.2%
associate-/l*88.7%
distribute-neg-frac88.7%
associate-/r/88.7%
fma-def88.7%
sub-neg88.7%
Simplified86.1%
Taylor expanded in r around 0 58.6%
sub-neg58.6%
associate-*r/58.6%
metadata-eval58.6%
unpow258.6%
metadata-eval58.6%
Simplified58.6%
Final simplification58.6%
herbie shell --seed 2023166
(FPCore (v w r)
:name "Rosa's TurbineBenchmark"
:precision binary64
(- (- (+ 3.0 (/ 2.0 (* r r))) (/ (* (* 0.125 (- 3.0 (* 2.0 v))) (* (* (* w w) r) r)) (- 1.0 v))) 4.5))