
Results
Herbie found 11 alternatives:
| Alternative | Accuracy | Speedup |
|---|
if a < -1.3000000000000001e155 or 2.34999999999999986e58 < a Initial program 60.2%
times-frac60.1%
*-commutative60.1%
times-frac60.1%
difference-of-squares80.6%
associate-/r*82.9%
metadata-eval82.9%
sub-neg82.9%
distribute-neg-frac82.9%
metadata-eval82.9%
Simplified82.9%
distribute-lft-in82.9%
associate-/l/82.9%
associate-/l/80.6%
Applied egg-rr80.6%
distribute-lft-out80.6%
associate-*r*80.6%
associate-*l/80.7%
*-commutative80.7%
difference-of-squares60.2%
associate-*l/60.1%
distribute-lft-in60.1%
associate-*r/60.1%
metadata-eval60.1%
associate-*r/60.1%
metadata-eval60.1%
Simplified60.1%
Taylor expanded in b around 0 80.8%
*-commutative80.8%
associate-/r/80.8%
associate-/l*80.7%
associate-/l*80.7%
*-commutative80.7%
unpow280.7%
times-frac99.8%
Simplified99.8%
if -1.3000000000000001e155 < a < -1.59999999999999988e-206 or 1.95000000000000007e-144 < a < 2.34999999999999986e58Initial program 93.3%
times-frac93.4%
*-commutative93.4%
times-frac93.4%
difference-of-squares96.2%
associate-/r*97.4%
metadata-eval97.4%
sub-neg97.4%
distribute-neg-frac97.4%
metadata-eval97.4%
Simplified97.4%
if -1.59999999999999988e-206 < a < 1.95000000000000007e-144Initial program 73.8%
times-frac73.8%
*-commutative73.8%
times-frac73.8%
difference-of-squares76.5%
associate-/r*76.4%
metadata-eval76.4%
sub-neg76.4%
distribute-neg-frac76.4%
metadata-eval76.4%
Simplified76.4%
frac-add76.5%
*-un-lft-identity76.5%
Applied egg-rr76.5%
*-commutative76.5%
neg-mul-176.5%
sub-neg76.5%
Simplified76.5%
associate-*r/76.4%
*-commutative76.4%
Applied egg-rr76.4%
associate-*l*76.4%
associate-/l/76.3%
Simplified76.3%
Taylor expanded in b around inf 98.1%
expm1-log1p-u71.1%
expm1-udef42.8%
times-frac42.8%
Applied egg-rr42.8%
expm1-def71.0%
expm1-log1p98.3%
associate-*l/98.3%
associate-*r/98.3%
*-commutative98.3%
associate-/l*98.3%
Simplified98.3%
Final simplification98.4%
if a < -4.9999999999999999e146 or 2.34999999999999986e58 < a Initial program 59.4%
times-frac59.4%
*-commutative59.4%
times-frac59.4%
difference-of-squares80.9%
associate-/r*83.1%
metadata-eval83.1%
sub-neg83.1%
distribute-neg-frac83.1%
metadata-eval83.1%
Simplified83.1%
distribute-lft-in83.1%
associate-/l/83.1%
associate-/l/80.9%
Applied egg-rr80.9%
distribute-lft-out80.9%
associate-*r*80.9%
associate-*l/81.0%
*-commutative81.0%
difference-of-squares59.4%
associate-*l/59.4%
distribute-lft-in59.4%
associate-*r/59.4%
metadata-eval59.4%
associate-*r/59.4%
metadata-eval59.4%
Simplified59.4%
Taylor expanded in b around 0 81.0%
*-commutative81.0%
associate-/r/81.0%
associate-/l*80.9%
associate-/l*81.0%
*-commutative81.0%
unpow281.0%
times-frac99.8%
Simplified99.8%
if -4.9999999999999999e146 < a < -1.7999999999999999e-100 or 6.3999999999999997e-143 < a < 2.34999999999999986e58Initial program 96.3%
times-frac96.4%
*-commutative96.4%
times-frac96.4%
difference-of-squares96.4%
associate-/r*97.9%
metadata-eval97.9%
sub-neg97.9%
distribute-neg-frac97.9%
metadata-eval97.9%
Simplified97.9%
distribute-lft-in97.9%
associate-/l/96.4%
associate-/l/96.4%
Applied egg-rr96.4%
distribute-lft-out96.4%
associate-*r*96.4%
associate-*l/96.4%
*-commutative96.4%
difference-of-squares96.4%
associate-*l/96.4%
distribute-lft-in96.4%
associate-*r/96.4%
metadata-eval96.4%
associate-*r/96.4%
metadata-eval96.4%
Simplified96.4%
if -1.7999999999999999e-100 < a < 6.3999999999999997e-143Initial program 76.4%
times-frac76.4%
*-commutative76.4%
times-frac76.4%
difference-of-squares80.7%
associate-/r*80.6%
metadata-eval80.6%
sub-neg80.6%
distribute-neg-frac80.6%
metadata-eval80.6%
Simplified80.6%
frac-add80.6%
*-un-lft-identity80.6%
Applied egg-rr80.6%
*-commutative80.6%
neg-mul-180.6%
sub-neg80.6%
Simplified80.6%
associate-*r/80.6%
*-commutative80.6%
Applied egg-rr80.6%
associate-*l*80.6%
associate-/l/80.5%
Simplified80.5%
Taylor expanded in b around inf 96.4%
expm1-log1p-u64.7%
expm1-udef37.7%
times-frac37.7%
Applied egg-rr37.7%
expm1-def64.7%
expm1-log1p96.4%
associate-*l/96.5%
associate-*r/96.5%
*-commutative96.5%
associate-/l*96.5%
Simplified96.5%
Final simplification97.5%
if a < -1.3000000000000001e155 or 3.6499999999999998e-10 < a Initial program 67.2%
times-frac67.2%
*-commutative67.2%
times-frac67.2%
difference-of-squares84.0%
associate-/r*85.8%
metadata-eval85.8%
sub-neg85.8%
distribute-neg-frac85.8%
metadata-eval85.8%
Simplified85.8%
distribute-lft-in85.8%
associate-/l/85.8%
associate-/l/84.0%
Applied egg-rr84.0%
distribute-lft-out84.0%
associate-*r*84.0%
associate-*l/84.1%
*-commutative84.1%
difference-of-squares67.2%
associate-*l/67.2%
distribute-lft-in67.2%
associate-*r/67.2%
metadata-eval67.2%
associate-*r/67.2%
metadata-eval67.2%
Simplified67.2%
Taylor expanded in b around 0 80.2%
*-commutative80.2%
associate-/r/80.2%
associate-/l*80.1%
associate-/l*80.1%
*-commutative80.1%
unpow280.1%
times-frac95.8%
Simplified95.8%
if -1.3000000000000001e155 < a < -5.50000000000000011e-100Initial program 93.8%
times-frac93.9%
*-commutative93.9%
times-frac93.9%
difference-of-squares96.0%
associate-/r*97.4%
metadata-eval97.4%
sub-neg97.4%
distribute-neg-frac97.4%
metadata-eval97.4%
Simplified97.4%
Taylor expanded in a around inf 90.5%
if -5.50000000000000011e-100 < a < 3.6499999999999998e-10Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
expm1-log1p-u63.6%
expm1-udef38.1%
times-frac38.1%
Applied egg-rr38.1%
expm1-def63.6%
expm1-log1p90.0%
associate-*l/90.1%
associate-*r/90.1%
*-commutative90.1%
associate-/l*90.1%
Simplified90.1%
Final simplification92.3%
if a < -6.7000000000000004e58 or 1.06e-7 < a Initial program 71.2%
times-frac71.2%
*-commutative71.2%
times-frac71.2%
difference-of-squares86.4%
associate-/r*87.9%
metadata-eval87.9%
sub-neg87.9%
distribute-neg-frac87.9%
metadata-eval87.9%
Simplified87.9%
distribute-lft-in87.9%
associate-/l/88.0%
associate-/l/86.4%
Applied egg-rr86.4%
distribute-lft-out86.4%
associate-*r*86.4%
associate-*l/86.4%
*-commutative86.4%
difference-of-squares71.3%
associate-*l/71.2%
distribute-lft-in71.2%
associate-*r/71.2%
metadata-eval71.2%
associate-*r/71.2%
metadata-eval71.2%
Simplified71.2%
Taylor expanded in b around 0 83.1%
*-commutative83.1%
associate-/r/83.1%
associate-/l*83.1%
associate-/l*83.1%
*-commutative83.1%
unpow283.1%
times-frac96.4%
Simplified96.4%
if -6.7000000000000004e58 < a < -1.3499999999999999e-98Initial program 93.7%
associate-*r/93.9%
*-rgt-identity93.9%
sub-neg93.9%
distribute-neg-frac93.9%
metadata-eval93.9%
Simplified93.9%
associate-*l/94.0%
div-inv94.0%
metadata-eval94.0%
Applied egg-rr94.0%
Taylor expanded in a around inf 85.3%
expm1-log1p-u62.2%
expm1-udef56.3%
associate-/l*56.3%
Applied egg-rr56.3%
expm1-def62.2%
expm1-log1p85.2%
associate-/r/85.2%
Simplified85.2%
if -1.3499999999999999e-98 < a < 1.06e-7Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
expm1-log1p-u63.6%
expm1-udef38.1%
times-frac38.1%
Applied egg-rr38.1%
expm1-def63.6%
expm1-log1p90.0%
associate-*l/90.1%
associate-*r/90.1%
*-commutative90.1%
associate-/l*90.1%
Simplified90.1%
Final simplification92.3%
if a < -1.00000000000000004e121 or 7.09999999999999988e-9 < a Initial program 67.8%
times-frac67.8%
*-commutative67.8%
times-frac67.8%
difference-of-squares84.8%
associate-/r*86.5%
metadata-eval86.5%
sub-neg86.5%
distribute-neg-frac86.5%
metadata-eval86.5%
Simplified86.5%
distribute-lft-in86.5%
associate-/l/86.5%
associate-/l/84.8%
Applied egg-rr84.8%
distribute-lft-out84.8%
associate-*r*84.8%
associate-*l/84.8%
*-commutative84.8%
difference-of-squares67.8%
associate-*l/67.8%
distribute-lft-in67.8%
associate-*r/67.8%
metadata-eval67.8%
associate-*r/67.8%
metadata-eval67.8%
Simplified67.8%
Taylor expanded in b around 0 81.2%
*-commutative81.2%
associate-/r/81.2%
associate-/l*81.1%
associate-/l*81.1%
*-commutative81.1%
unpow281.1%
times-frac96.0%
Simplified96.0%
if -1.00000000000000004e121 < a < -5.79999999999999951e-100Initial program 95.5%
associate-*r/95.5%
*-rgt-identity95.5%
sub-neg95.5%
distribute-neg-frac95.5%
metadata-eval95.5%
Simplified95.5%
associate-*l/95.6%
div-inv95.6%
metadata-eval95.6%
Applied egg-rr95.6%
Taylor expanded in a around inf 89.4%
if -5.79999999999999951e-100 < a < 7.09999999999999988e-9Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
expm1-log1p-u63.6%
expm1-udef38.1%
times-frac38.1%
Applied egg-rr38.1%
expm1-def63.6%
expm1-log1p90.0%
associate-*l/90.1%
associate-*r/90.1%
*-commutative90.1%
associate-/l*90.1%
Simplified90.1%
Final simplification92.3%
if a < -1.6e148 or 0.0037000000000000002 < a Initial program 66.5%
times-frac66.5%
*-commutative66.5%
times-frac66.5%
difference-of-squares84.2%
associate-/r*85.9%
metadata-eval85.9%
sub-neg85.9%
distribute-neg-frac85.9%
metadata-eval85.9%
Simplified85.9%
distribute-lft-in86.0%
associate-/l/86.0%
associate-/l/84.2%
Applied egg-rr84.2%
distribute-lft-out84.2%
associate-*r*84.2%
associate-*l/84.2%
*-commutative84.2%
difference-of-squares66.5%
associate-*l/66.5%
distribute-lft-in66.5%
associate-*r/66.5%
metadata-eval66.5%
associate-*r/66.5%
metadata-eval66.5%
Simplified66.5%
Taylor expanded in b around 0 80.4%
*-commutative80.4%
associate-/r/80.4%
associate-/l*80.3%
associate-/l*80.3%
*-commutative80.3%
unpow280.3%
times-frac95.9%
Simplified95.9%
if -1.6e148 < a < -5.79999999999999951e-100Initial program 95.8%
associate-*r/95.9%
*-rgt-identity95.9%
sub-neg95.9%
distribute-neg-frac95.9%
metadata-eval95.9%
Simplified95.9%
associate-*l/96.0%
div-inv96.0%
metadata-eval96.0%
Applied egg-rr96.0%
Taylor expanded in a around inf 90.2%
associate-*r/90.2%
*-commutative90.2%
metadata-eval90.2%
associate-*l*90.2%
associate-*r/90.3%
metadata-eval90.3%
distribute-neg-frac90.3%
associate-*l*90.3%
distribute-neg-frac90.3%
metadata-eval90.3%
associate-*r/90.3%
metadata-eval90.3%
Simplified90.3%
if -5.79999999999999951e-100 < a < 0.0037000000000000002Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
expm1-log1p-u63.6%
expm1-udef38.1%
times-frac38.1%
Applied egg-rr38.1%
expm1-def63.6%
expm1-log1p90.0%
associate-*l/90.1%
associate-*r/90.1%
*-commutative90.1%
associate-/l*90.1%
Simplified90.1%
Final simplification92.3%
if a < -6.1999999999999997e-99 or 1.55e-6 < a Initial program 76.0%
times-frac76.0%
*-commutative76.0%
times-frac76.0%
difference-of-squares88.0%
associate-/r*89.6%
metadata-eval89.6%
sub-neg89.6%
distribute-neg-frac89.6%
metadata-eval89.6%
Simplified89.6%
distribute-lft-in89.6%
associate-/l/89.2%
associate-/l/88.0%
Applied egg-rr88.0%
distribute-lft-out88.0%
associate-*r*88.0%
associate-*l/88.0%
*-commutative88.0%
difference-of-squares76.1%
associate-*l/76.0%
distribute-lft-in76.0%
associate-*r/76.0%
metadata-eval76.0%
associate-*r/76.0%
metadata-eval76.0%
Simplified76.0%
Taylor expanded in b around 0 79.5%
associate-*r/79.5%
times-frac79.3%
unpow279.3%
associate-/r*80.5%
Simplified80.5%
if -6.1999999999999997e-99 < a < 1.55e-6Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
times-frac90.0%
Applied egg-rr90.0%
Final simplification84.7%
if a < -1.3499999999999999e-98 or 1.3499999999999999e-5 < a Initial program 76.0%
times-frac76.0%
*-commutative76.0%
times-frac76.0%
difference-of-squares88.0%
associate-/r*89.6%
metadata-eval89.6%
sub-neg89.6%
distribute-neg-frac89.6%
metadata-eval89.6%
Simplified89.6%
distribute-lft-in89.6%
associate-/l/89.2%
associate-/l/88.0%
Applied egg-rr88.0%
distribute-lft-out88.0%
associate-*r*88.0%
associate-*l/88.0%
*-commutative88.0%
difference-of-squares76.1%
associate-*l/76.0%
distribute-lft-in76.0%
associate-*r/76.0%
metadata-eval76.0%
associate-*r/76.0%
metadata-eval76.0%
Simplified76.0%
Taylor expanded in b around 0 79.5%
*-commutative79.5%
associate-/r/79.5%
associate-/l*79.5%
associate-/l*79.4%
*-commutative79.4%
unpow279.4%
times-frac89.9%
Simplified89.9%
if -1.3499999999999999e-98 < a < 1.3499999999999999e-5Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
times-frac90.0%
Applied egg-rr90.0%
Final simplification90.0%
if a < -1.3499999999999999e-98 or 1.12000000000000006e-9 < a Initial program 76.0%
times-frac76.0%
*-commutative76.0%
times-frac76.0%
difference-of-squares88.0%
associate-/r*89.6%
metadata-eval89.6%
sub-neg89.6%
distribute-neg-frac89.6%
metadata-eval89.6%
Simplified89.6%
distribute-lft-in89.6%
associate-/l/89.2%
associate-/l/88.0%
Applied egg-rr88.0%
distribute-lft-out88.0%
associate-*r*88.0%
associate-*l/88.0%
*-commutative88.0%
difference-of-squares76.1%
associate-*l/76.0%
distribute-lft-in76.0%
associate-*r/76.0%
metadata-eval76.0%
associate-*r/76.0%
metadata-eval76.0%
Simplified76.0%
Taylor expanded in b around 0 79.5%
*-commutative79.5%
associate-/r/79.5%
associate-/l*79.5%
associate-/l*79.4%
*-commutative79.4%
unpow279.4%
times-frac89.9%
Simplified89.9%
if -1.3499999999999999e-98 < a < 1.12000000000000006e-9Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
expm1-log1p-u63.6%
expm1-udef38.1%
times-frac38.1%
Applied egg-rr38.1%
expm1-def63.6%
expm1-log1p90.0%
associate-*l/90.1%
associate-*r/90.1%
*-commutative90.1%
associate-/l*90.1%
Simplified90.1%
Final simplification90.0%
if a < -1.3499999999999999e-98Initial program 75.5%
inv-pow75.5%
difference-of-squares87.6%
unpow-prod-down89.8%
inv-pow89.8%
inv-pow89.8%
Applied egg-rr89.8%
Taylor expanded in b around 0 77.5%
associate-*r/77.5%
*-commutative77.5%
times-frac77.3%
unpow277.3%
Simplified77.3%
if -1.3499999999999999e-98 < a < 1.34999999999999999e-6Initial program 79.7%
times-frac79.7%
*-commutative79.7%
times-frac79.7%
difference-of-squares83.2%
associate-/r*83.7%
metadata-eval83.7%
sub-neg83.7%
distribute-neg-frac83.7%
metadata-eval83.7%
Simplified83.7%
frac-add83.7%
*-un-lft-identity83.7%
Applied egg-rr83.7%
*-commutative83.7%
neg-mul-183.7%
sub-neg83.7%
Simplified83.7%
associate-*r/83.6%
*-commutative83.6%
Applied egg-rr83.6%
associate-*l*83.7%
associate-/l/83.0%
Simplified83.0%
Taylor expanded in b around inf 89.9%
times-frac90.0%
Applied egg-rr90.0%
if 1.34999999999999999e-6 < a Initial program 76.6%
times-frac76.6%
*-commutative76.6%
times-frac76.6%
difference-of-squares88.5%
associate-/r*89.3%
metadata-eval89.3%
sub-neg89.3%
distribute-neg-frac89.3%
metadata-eval89.3%
Simplified89.3%
frac-add89.2%
*-un-lft-identity89.2%
Applied egg-rr89.2%
*-commutative89.2%
neg-mul-189.2%
sub-neg89.2%
Simplified89.2%
Taylor expanded in b around 0 82.4%
unpow282.4%
*-commutative82.4%
associate-/r*82.3%
Simplified82.3%
Final simplification84.1%
Initial program 77.6%
times-frac77.6%
*-commutative77.6%
times-frac77.6%
difference-of-squares85.8%
associate-/r*87.0%
metadata-eval87.0%
sub-neg87.0%
distribute-neg-frac87.0%
metadata-eval87.0%
Simplified87.0%
frac-add87.0%
*-un-lft-identity87.0%
Applied egg-rr87.0%
*-commutative87.0%
neg-mul-187.0%
sub-neg87.0%
Simplified87.0%
Taylor expanded in b around 0 55.2%
unpow255.2%
*-commutative55.2%
associate-/r*55.1%
Simplified55.1%
Final simplification55.1%
herbie shell --seed 2023167
(FPCore (a b)
:name "NMSE Section 6.1 mentioned, B"
:precision binary64
(* (* (/ PI 2.0) (/ 1.0 (- (* b b) (* a a)))) (- (/ 1.0 a) (/ 1.0 b))))