
Results
Herbie found 14 alternatives:
| Alternative | Accuracy | Speedup |
|---|
if (/.f64 t l) < -3.99999999999999985e135Initial program 55.7%
Taylor expanded in t around -inf 89.5%
mul-1-neg89.5%
*-commutative89.5%
distribute-rgt-neg-in89.5%
unpow289.5%
unpow289.5%
times-frac99.5%
unpow299.5%
associate-/l*97.4%
associate-/r/99.5%
Simplified99.5%
expm1-log1p-u99.5%
expm1-udef43.8%
Applied egg-rr43.8%
expm1-def97.4%
expm1-log1p97.4%
associate-/r/99.5%
unpow1/299.5%
*-commutative99.5%
Simplified99.5%
if -3.99999999999999985e135 < (/.f64 t l) < 2.00000000000000012e63Initial program 99.5%
unpow299.5%
clear-num99.5%
frac-times99.5%
*-un-lft-identity99.5%
Applied egg-rr99.5%
unpow299.5%
clear-num99.5%
un-div-inv99.5%
Applied egg-rr99.5%
if 2.00000000000000012e63 < (/.f64 t l) Initial program 64.1%
Taylor expanded in t around inf 91.9%
*-commutative91.9%
unpow291.9%
unpow291.9%
times-frac99.4%
unpow299.4%
associate-/l*98.7%
Simplified98.7%
div-inv98.8%
clear-num99.6%
Applied egg-rr99.6%
Final simplification99.5%
Initial program 87.1%
sqrt-div87.0%
add-sqr-sqrt87.0%
hypot-1-def87.0%
*-commutative87.0%
sqrt-prod87.0%
unpow287.0%
sqrt-prod53.4%
add-sqr-sqrt99.0%
Applied egg-rr99.0%
Final simplification99.0%
if (/.f64 t l) < -3.99999999999999985e135Initial program 55.7%
sqrt-div55.5%
add-sqr-sqrt55.5%
hypot-1-def55.5%
*-commutative55.5%
sqrt-prod55.5%
unpow255.5%
sqrt-prod0.0%
add-sqr-sqrt97.6%
Applied egg-rr97.6%
Taylor expanded in Om around 0 43.8%
+-commutative43.8%
*-commutative43.8%
unpow243.8%
rem-square-sqrt43.8%
associate-*l/43.8%
*-commutative43.8%
fma-def43.8%
unpow243.8%
unpow243.8%
times-frac55.7%
Simplified55.7%
Taylor expanded in t around -inf 99.5%
if -3.99999999999999985e135 < (/.f64 t l) < 1e21Initial program 99.4%
unpow299.4%
clear-num99.5%
frac-times99.5%
*-un-lft-identity99.5%
Applied egg-rr99.5%
unpow299.5%
clear-num99.5%
un-div-inv99.5%
Applied egg-rr99.5%
if 1e21 < (/.f64 t l) Initial program 70.1%
Taylor expanded in t around inf 93.2%
*-commutative93.2%
unpow293.2%
unpow293.2%
times-frac99.4%
unpow299.4%
associate-/l*98.8%
Simplified98.8%
expm1-log1p-u98.8%
expm1-udef34.2%
associate-*r/34.2%
pow1/234.2%
pow1/234.2%
pow-prod-down34.2%
Applied egg-rr34.2%
expm1-def98.8%
expm1-log1p98.8%
associate-/r/99.4%
unpow1/299.4%
*-commutative99.4%
Simplified99.4%
Final simplification99.5%
if (/.f64 t l) < -3.99999999999999985e135Initial program 55.7%
Taylor expanded in t around -inf 89.5%
mul-1-neg89.5%
*-commutative89.5%
distribute-rgt-neg-in89.5%
unpow289.5%
unpow289.5%
times-frac99.5%
unpow299.5%
associate-/l*97.4%
associate-/r/99.5%
Simplified99.5%
expm1-log1p-u99.5%
expm1-udef43.8%
Applied egg-rr43.8%
expm1-def97.4%
expm1-log1p97.4%
associate-/r/99.5%
unpow1/299.5%
*-commutative99.5%
Simplified99.5%
if -3.99999999999999985e135 < (/.f64 t l) < 1e21Initial program 99.4%
unpow299.4%
clear-num99.5%
frac-times99.5%
*-un-lft-identity99.5%
Applied egg-rr99.5%
unpow299.5%
clear-num99.5%
un-div-inv99.5%
Applied egg-rr99.5%
if 1e21 < (/.f64 t l) Initial program 70.1%
Taylor expanded in t around inf 93.2%
*-commutative93.2%
unpow293.2%
unpow293.2%
times-frac99.4%
unpow299.4%
associate-/l*98.8%
Simplified98.8%
expm1-log1p-u98.8%
expm1-udef34.2%
associate-*r/34.2%
pow1/234.2%
pow1/234.2%
pow-prod-down34.2%
Applied egg-rr34.2%
expm1-def98.8%
expm1-log1p98.8%
associate-/r/99.4%
unpow1/299.4%
*-commutative99.4%
Simplified99.4%
Final simplification99.5%
if (/.f64 t l) < -4.9999999999999999e155Initial program 49.4%
sqrt-div49.4%
add-sqr-sqrt49.4%
hypot-1-def49.4%
*-commutative49.4%
sqrt-prod49.4%
unpow249.4%
sqrt-prod0.0%
add-sqr-sqrt97.4%
Applied egg-rr97.4%
Taylor expanded in Om around 0 49.4%
+-commutative49.4%
*-commutative49.4%
unpow249.4%
rem-square-sqrt49.4%
associate-*l/49.4%
*-commutative49.4%
fma-def49.4%
unpow249.4%
unpow249.4%
times-frac49.4%
Simplified49.4%
Taylor expanded in t around -inf 99.6%
if -4.9999999999999999e155 < (/.f64 t l) < 1.99999999999999989e72Initial program 99.5%
unpow299.5%
clear-num99.5%
frac-times96.9%
*-un-lft-identity96.9%
Applied egg-rr96.9%
unpow296.9%
clear-num96.9%
un-div-inv96.9%
Applied egg-rr96.9%
Taylor expanded in t around 0 79.4%
unpow279.4%
unpow279.4%
times-frac99.5%
Simplified99.5%
if 1.99999999999999989e72 < (/.f64 t l) Initial program 62.2%
sqrt-div62.2%
add-sqr-sqrt62.2%
hypot-1-def62.2%
*-commutative62.2%
sqrt-prod62.2%
unpow262.2%
sqrt-prod98.5%
add-sqr-sqrt98.8%
Applied egg-rr98.8%
Taylor expanded in Om around 0 44.6%
+-commutative44.6%
*-commutative44.6%
unpow244.6%
rem-square-sqrt44.6%
associate-*l/44.6%
*-commutative44.6%
fma-def44.6%
unpow244.6%
unpow244.6%
times-frac62.2%
Simplified62.2%
Taylor expanded in t around inf 99.4%
Final simplification99.5%
if (/.f64 t l) < -3.99999999999999985e135Initial program 55.7%
sqrt-div55.5%
add-sqr-sqrt55.5%
hypot-1-def55.5%
*-commutative55.5%
sqrt-prod55.5%
unpow255.5%
sqrt-prod0.0%
add-sqr-sqrt97.6%
Applied egg-rr97.6%
Taylor expanded in Om around 0 43.8%
+-commutative43.8%
*-commutative43.8%
unpow243.8%
rem-square-sqrt43.8%
associate-*l/43.8%
*-commutative43.8%
fma-def43.8%
unpow243.8%
unpow243.8%
times-frac55.7%
Simplified55.7%
Taylor expanded in t around -inf 99.5%
if -3.99999999999999985e135 < (/.f64 t l) < 2.00000000000000008e36Initial program 99.5%
unpow299.5%
clear-num99.5%
frac-times99.5%
*-un-lft-identity99.5%
Applied egg-rr99.5%
unpow299.5%
clear-num99.5%
un-div-inv99.5%
Applied egg-rr99.5%
if 2.00000000000000008e36 < (/.f64 t l) Initial program 68.1%
sqrt-div68.0%
add-sqr-sqrt68.0%
hypot-1-def68.0%
*-commutative68.0%
sqrt-prod67.9%
unpow267.9%
sqrt-prod98.6%
add-sqr-sqrt98.9%
Applied egg-rr98.9%
Taylor expanded in Om around 0 46.4%
+-commutative46.4%
*-commutative46.4%
unpow246.4%
rem-square-sqrt46.5%
associate-*l/46.5%
*-commutative46.5%
fma-def46.5%
unpow246.5%
unpow246.5%
times-frac68.1%
Simplified68.1%
Taylor expanded in t around inf 99.4%
Final simplification99.5%
if (/.f64 t l) < -2e9Initial program 73.0%
sqrt-div72.9%
add-sqr-sqrt72.9%
hypot-1-def72.9%
*-commutative72.9%
sqrt-prod72.8%
unpow272.8%
sqrt-prod0.0%
add-sqr-sqrt98.3%
Applied egg-rr98.3%
Taylor expanded in Om around 0 45.0%
+-commutative45.0%
*-commutative45.0%
unpow245.0%
rem-square-sqrt45.1%
associate-*l/45.1%
*-commutative45.1%
fma-def45.1%
unpow245.1%
unpow245.1%
times-frac73.0%
Simplified73.0%
Taylor expanded in t around -inf 99.4%
if -2e9 < (/.f64 t l) < 0.0400000000000000008Initial program 99.4%
Taylor expanded in t around 0 85.9%
unpow285.9%
unpow285.9%
times-frac98.9%
unpow298.9%
Simplified98.9%
unpow298.9%
clear-num98.9%
clear-num98.9%
frac-times98.9%
metadata-eval98.9%
Applied egg-rr98.9%
if 0.0400000000000000008 < (/.f64 t l) Initial program 73.3%
sqrt-div73.2%
add-sqr-sqrt73.2%
hypot-1-def73.2%
*-commutative73.2%
sqrt-prod73.1%
unpow273.1%
sqrt-prod98.6%
add-sqr-sqrt98.9%
Applied egg-rr98.9%
Taylor expanded in Om around 0 48.6%
+-commutative48.6%
*-commutative48.6%
unpow248.6%
rem-square-sqrt48.8%
associate-*l/48.8%
*-commutative48.8%
fma-def48.8%
unpow248.8%
unpow248.8%
times-frac73.3%
Simplified73.3%
Taylor expanded in t around inf 98.8%
Final simplification99.0%
if (/.f64 t l) < -2e9Initial program 73.0%
sqrt-div72.9%
add-sqr-sqrt72.9%
hypot-1-def72.9%
*-commutative72.9%
sqrt-prod72.8%
unpow272.8%
sqrt-prod0.0%
add-sqr-sqrt98.3%
Applied egg-rr98.3%
Taylor expanded in Om around 0 45.0%
+-commutative45.0%
*-commutative45.0%
unpow245.0%
rem-square-sqrt45.1%
associate-*l/45.1%
*-commutative45.1%
fma-def45.1%
unpow245.1%
unpow245.1%
times-frac73.0%
Simplified73.0%
Taylor expanded in t around -inf 99.4%
if -2e9 < (/.f64 t l) < 0.0400000000000000008Initial program 99.4%
Taylor expanded in t around 0 85.9%
unpow285.9%
unpow285.9%
times-frac98.9%
unpow298.9%
Simplified98.9%
unpow299.4%
clear-num99.4%
un-div-inv99.4%
Applied egg-rr98.9%
if 0.0400000000000000008 < (/.f64 t l) Initial program 73.3%
sqrt-div73.2%
add-sqr-sqrt73.2%
hypot-1-def73.2%
*-commutative73.2%
sqrt-prod73.1%
unpow273.1%
sqrt-prod98.6%
add-sqr-sqrt98.9%
Applied egg-rr98.9%
Taylor expanded in Om around 0 48.6%
+-commutative48.6%
*-commutative48.6%
unpow248.6%
rem-square-sqrt48.8%
associate-*l/48.8%
*-commutative48.8%
fma-def48.8%
unpow248.8%
unpow248.8%
times-frac73.3%
Simplified73.3%
Taylor expanded in t around inf 98.8%
Final simplification99.0%
if (/.f64 t l) < -2e9Initial program 73.0%
sqrt-div72.9%
add-sqr-sqrt72.9%
hypot-1-def72.9%
*-commutative72.9%
sqrt-prod72.8%
unpow272.8%
sqrt-prod0.0%
add-sqr-sqrt98.3%
Applied egg-rr98.3%
Taylor expanded in Om around 0 45.0%
+-commutative45.0%
*-commutative45.0%
unpow245.0%
rem-square-sqrt45.1%
associate-*l/45.1%
*-commutative45.1%
fma-def45.1%
unpow245.1%
unpow245.1%
times-frac73.0%
Simplified73.0%
Taylor expanded in t around -inf 99.4%
mul-1-neg99.4%
associate-/l*98.2%
Simplified98.2%
if -2e9 < (/.f64 t l) < 0.0400000000000000008Initial program 99.4%
sqrt-div99.4%
add-sqr-sqrt99.4%
hypot-1-def99.4%
*-commutative99.4%
sqrt-prod99.4%
unpow299.4%
sqrt-prod61.5%
add-sqr-sqrt99.4%
Applied egg-rr99.4%
Taylor expanded in Om around 0 90.1%
+-commutative90.1%
*-commutative90.1%
unpow290.1%
rem-square-sqrt90.1%
associate-*l/90.1%
*-commutative90.1%
fma-def90.1%
unpow290.1%
unpow290.1%
times-frac98.5%
Simplified98.5%
Taylor expanded in t around 0 89.7%
mul-1-neg89.7%
unsub-neg89.7%
unpow289.7%
unpow289.7%
times-frac98.1%
unpow298.1%
Simplified98.1%
if 0.0400000000000000008 < (/.f64 t l) Initial program 73.3%
sqrt-div73.2%
add-sqr-sqrt73.2%
hypot-1-def73.2%
*-commutative73.2%
sqrt-prod73.1%
unpow273.1%
sqrt-prod98.6%
add-sqr-sqrt98.9%
Applied egg-rr98.9%
Taylor expanded in Om around 0 48.6%
+-commutative48.6%
*-commutative48.6%
unpow248.6%
rem-square-sqrt48.8%
associate-*l/48.8%
*-commutative48.8%
fma-def48.8%
unpow248.8%
unpow248.8%
times-frac73.3%
Simplified73.3%
Taylor expanded in t around inf 98.8%
Final simplification98.3%
if (/.f64 t l) < -2e9Initial program 73.0%
sqrt-div72.9%
add-sqr-sqrt72.9%
hypot-1-def72.9%
*-commutative72.9%
sqrt-prod72.8%
unpow272.8%
sqrt-prod0.0%
add-sqr-sqrt98.3%
Applied egg-rr98.3%
Taylor expanded in Om around 0 45.0%
+-commutative45.0%
*-commutative45.0%
unpow245.0%
rem-square-sqrt45.1%
associate-*l/45.1%
*-commutative45.1%
fma-def45.1%
unpow245.1%
unpow245.1%
times-frac73.0%
Simplified73.0%
Taylor expanded in t around -inf 99.4%
if -2e9 < (/.f64 t l) < 0.0400000000000000008Initial program 99.4%
sqrt-div99.4%
add-sqr-sqrt99.4%
hypot-1-def99.4%
*-commutative99.4%
sqrt-prod99.4%
unpow299.4%
sqrt-prod61.5%
add-sqr-sqrt99.4%
Applied egg-rr99.4%
Taylor expanded in Om around 0 90.1%
+-commutative90.1%
*-commutative90.1%
unpow290.1%
rem-square-sqrt90.1%
associate-*l/90.1%
*-commutative90.1%
fma-def90.1%
unpow290.1%
unpow290.1%
times-frac98.5%
Simplified98.5%
Taylor expanded in t around 0 89.7%
mul-1-neg89.7%
unsub-neg89.7%
unpow289.7%
unpow289.7%
times-frac98.1%
unpow298.1%
Simplified98.1%
if 0.0400000000000000008 < (/.f64 t l) Initial program 73.3%
sqrt-div73.2%
add-sqr-sqrt73.2%
hypot-1-def73.2%
*-commutative73.2%
sqrt-prod73.1%
unpow273.1%
sqrt-prod98.6%
add-sqr-sqrt98.9%
Applied egg-rr98.9%
Taylor expanded in Om around 0 48.6%
+-commutative48.6%
*-commutative48.6%
unpow248.6%
rem-square-sqrt48.8%
associate-*l/48.8%
*-commutative48.8%
fma-def48.8%
unpow248.8%
unpow248.8%
times-frac73.3%
Simplified73.3%
Taylor expanded in t around inf 98.8%
Final simplification98.6%
if (/.f64 t l) < -1.19999999999999993e205 or 0.71999999999999997 < (/.f64 t l) Initial program 71.3%
sqrt-div71.3%
add-sqr-sqrt71.3%
hypot-1-def71.3%
*-commutative71.3%
sqrt-prod71.2%
unpow271.2%
sqrt-prod67.4%
add-sqr-sqrt98.1%
Applied egg-rr98.1%
Taylor expanded in Om around 0 54.5%
+-commutative54.5%
*-commutative54.5%
unpow254.5%
rem-square-sqrt54.6%
associate-*l/54.6%
*-commutative54.6%
fma-def54.6%
unpow254.6%
unpow254.6%
times-frac71.3%
Simplified71.3%
Taylor expanded in t around inf 88.6%
associate-/l*88.3%
Simplified88.3%
if -1.19999999999999993e205 < (/.f64 t l) < 0.71999999999999997Initial program 94.1%
sqrt-div94.1%
add-sqr-sqrt94.1%
hypot-1-def94.1%
*-commutative94.1%
sqrt-prod94.0%
unpow294.0%
sqrt-prod47.2%
add-sqr-sqrt99.4%
Applied egg-rr99.4%
Taylor expanded in Om around 0 76.5%
+-commutative76.5%
*-commutative76.5%
unpow276.5%
rem-square-sqrt76.5%
associate-*l/76.5%
*-commutative76.5%
fma-def76.5%
unpow276.5%
unpow276.5%
times-frac93.4%
Simplified93.4%
Taylor expanded in t around 0 76.7%
Final simplification80.3%
if (/.f64 t l) < -1.9999999999999999e214Initial program 67.1%
sqrt-div67.1%
add-sqr-sqrt67.1%
hypot-1-def67.1%
*-commutative67.1%
sqrt-prod67.1%
unpow267.1%
sqrt-prod0.0%
add-sqr-sqrt96.5%
Applied egg-rr96.5%
Taylor expanded in Om around 0 67.1%
+-commutative67.1%
*-commutative67.1%
unpow267.1%
rem-square-sqrt67.1%
associate-*l/67.1%
*-commutative67.1%
fma-def67.1%
unpow267.1%
unpow267.1%
times-frac67.1%
Simplified67.1%
Taylor expanded in t around inf 66.5%
associate-/l*66.6%
Simplified66.6%
if -1.9999999999999999e214 < (/.f64 t l) < 0.0400000000000000008Initial program 94.1%
sqrt-div94.1%
add-sqr-sqrt94.1%
hypot-1-def94.1%
*-commutative94.1%
sqrt-prod94.0%
unpow294.0%
sqrt-prod47.2%
add-sqr-sqrt99.4%
Applied egg-rr99.4%
Taylor expanded in Om around 0 76.5%
+-commutative76.5%
*-commutative76.5%
unpow276.5%
rem-square-sqrt76.5%
associate-*l/76.5%
*-commutative76.5%
fma-def76.5%
unpow276.5%
unpow276.5%
times-frac93.4%
Simplified93.4%
Taylor expanded in t around 0 76.7%
if 0.0400000000000000008 < (/.f64 t l) Initial program 73.3%
sqrt-div73.2%
add-sqr-sqrt73.2%
hypot-1-def73.2%
*-commutative73.2%
sqrt-prod73.1%
unpow273.1%
sqrt-prod98.6%
add-sqr-sqrt98.9%
Applied egg-rr98.9%
Taylor expanded in Om around 0 48.6%
+-commutative48.6%
*-commutative48.6%
unpow248.6%
rem-square-sqrt48.8%
associate-*l/48.8%
*-commutative48.8%
fma-def48.8%
unpow248.8%
unpow248.8%
times-frac73.3%
Simplified73.3%
Taylor expanded in t around inf 98.8%
Final simplification80.4%
if (/.f64 t l) < -2e9Initial program 73.0%
sqrt-div72.9%
add-sqr-sqrt72.9%
hypot-1-def72.9%
*-commutative72.9%
sqrt-prod72.8%
unpow272.8%
sqrt-prod0.0%
add-sqr-sqrt98.3%
Applied egg-rr98.3%
Taylor expanded in Om around 0 45.0%
+-commutative45.0%
*-commutative45.0%
unpow245.0%
rem-square-sqrt45.1%
associate-*l/45.1%
*-commutative45.1%
fma-def45.1%
unpow245.1%
unpow245.1%
times-frac73.0%
Simplified73.0%
Taylor expanded in t around -inf 99.4%
mul-1-neg99.4%
associate-/l*98.2%
Simplified98.2%
if -2e9 < (/.f64 t l) < 0.0400000000000000008Initial program 99.4%
sqrt-div99.4%
add-sqr-sqrt99.4%
hypot-1-def99.4%
*-commutative99.4%
sqrt-prod99.4%
unpow299.4%
sqrt-prod61.5%
add-sqr-sqrt99.4%
Applied egg-rr99.4%
Taylor expanded in Om around 0 90.1%
+-commutative90.1%
*-commutative90.1%
unpow290.1%
rem-square-sqrt90.1%
associate-*l/90.1%
*-commutative90.1%
fma-def90.1%
unpow290.1%
unpow290.1%
times-frac98.5%
Simplified98.5%
Taylor expanded in t around 0 98.0%
if 0.0400000000000000008 < (/.f64 t l) Initial program 73.3%
sqrt-div73.2%
add-sqr-sqrt73.2%
hypot-1-def73.2%
*-commutative73.2%
sqrt-prod73.1%
unpow273.1%
sqrt-prod98.6%
add-sqr-sqrt98.9%
Applied egg-rr98.9%
Taylor expanded in Om around 0 48.6%
+-commutative48.6%
*-commutative48.6%
unpow248.6%
rem-square-sqrt48.8%
associate-*l/48.8%
*-commutative48.8%
fma-def48.8%
unpow248.8%
unpow248.8%
times-frac73.3%
Simplified73.3%
Taylor expanded in t around inf 98.8%
Final simplification98.2%
Initial program 87.1%
sqrt-div87.0%
add-sqr-sqrt87.0%
hypot-1-def87.0%
*-commutative87.0%
sqrt-prod87.0%
unpow287.0%
sqrt-prod53.4%
add-sqr-sqrt99.0%
Applied egg-rr99.0%
Taylor expanded in Om around 0 69.7%
+-commutative69.7%
*-commutative69.7%
unpow269.7%
rem-square-sqrt69.8%
associate-*l/69.8%
*-commutative69.8%
fma-def69.8%
unpow269.8%
unpow269.8%
times-frac86.6%
Simplified86.6%
Taylor expanded in t around 0 54.4%
Final simplification54.4%
herbie shell --seed 2023166
(FPCore (t l Om Omc)
:name "Toniolo and Linder, Equation (2)"
:precision binary64
(asin (sqrt (/ (- 1.0 (pow (/ Om Omc) 2.0)) (+ 1.0 (* 2.0 (pow (/ t l) 2.0)))))))