
Results
Herbie found 13 alternatives:
| Alternative | Accuracy | Speedup |
|---|
if (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) < -inf.0 or 0.0 < (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) Initial program 100.0%
if -inf.0 < (-.f64 (exp.f64 l) (exp.f64 (neg.f64 l))) < 0.0Initial program 71.0%
Taylor expanded in l around 0 99.9%
Taylor expanded in J around 0 99.9%
associate-*r*99.9%
*-commutative99.9%
fma-def99.9%
*-commutative99.9%
*-commutative99.9%
*-commutative99.9%
*-commutative99.9%
Simplified99.9%
fma-udef99.9%
Applied egg-rr99.9%
Final simplification100.0%
if l < -7.79999999999999967e121 or -1e16 < l < 0.048000000000000001 or 5.49999999999999981e102 < l Initial program 83.4%
Taylor expanded in l around 0 99.0%
Taylor expanded in J around 0 99.0%
associate-*r*99.0%
*-commutative99.0%
fma-def99.0%
*-commutative99.0%
*-commutative99.0%
*-commutative99.0%
*-commutative99.0%
Simplified99.0%
fma-udef99.0%
Applied egg-rr99.0%
if -7.79999999999999967e121 < l < -1e16 or 0.048000000000000001 < l < 5.49999999999999981e102Initial program 100.0%
Taylor expanded in K around 0 85.4%
Final simplification96.5%
if l < -2.94999999999999995e94 or -160 < l < 0.17499999999999999 or 5.60000000000000037e102 < l Initial program 83.5%
Taylor expanded in l around 0 99.9%
Taylor expanded in J around 0 99.9%
associate-*r*99.9%
*-commutative99.9%
fma-def99.9%
*-commutative99.9%
*-commutative99.9%
*-commutative99.9%
*-commutative99.9%
Simplified99.9%
fma-udef99.9%
Applied egg-rr99.9%
if -2.94999999999999995e94 < l < -160Initial program 100.0%
Taylor expanded in K around 0 0.0%
associate-*r*0.0%
distribute-rgt1-in70.8%
unpow270.8%
Simplified70.8%
if 0.17499999999999999 < l < 5.60000000000000037e102Initial program 100.0%
Taylor expanded in K around 0 95.7%
Final simplification96.8%
if (cos.f64 (/.f64 K 2)) < 0.110000000000000001Initial program 79.8%
Taylor expanded in l around 0 89.5%
Taylor expanded in J around 0 89.5%
associate-*r*89.5%
*-commutative89.5%
fma-def89.5%
*-commutative89.5%
*-commutative89.5%
*-commutative89.5%
*-commutative89.5%
Simplified89.5%
Taylor expanded in l around 0 68.7%
*-commutative68.7%
Simplified68.7%
if 0.110000000000000001 < (cos.f64 (/.f64 K 2)) Initial program 89.2%
Taylor expanded in K around 0 88.8%
Taylor expanded in l around 0 79.8%
Final simplification76.6%
if l < -1e16 or 0.0058 < l Initial program 100.0%
Taylor expanded in K around 0 79.3%
if -1e16 < l < 0.0058Initial program 71.5%
Taylor expanded in l around 0 98.3%
Taylor expanded in l around 0 98.0%
associate-*r*98.0%
*-commutative98.0%
associate-*r*98.0%
*-commutative98.0%
*-commutative98.0%
associate-*r*98.0%
*-commutative98.0%
*-commutative98.0%
*-commutative98.0%
*-commutative98.0%
*-commutative98.0%
Simplified98.0%
Final simplification88.1%
if l < -1.45e16 or 66000 < l Initial program 100.0%
Taylor expanded in K around 0 79.3%
Taylor expanded in l around 0 56.6%
Taylor expanded in l around inf 56.6%
if -1.45e16 < l < 66000Initial program 71.5%
Taylor expanded in l around 0 98.3%
Taylor expanded in J around 0 98.3%
associate-*r*98.3%
*-commutative98.3%
fma-def98.3%
*-commutative98.3%
*-commutative98.3%
*-commutative98.3%
*-commutative98.3%
Simplified98.3%
Taylor expanded in l around 0 98.0%
*-commutative98.0%
Simplified98.0%
Final simplification76.2%
if l < -1.4e16 or 1.2e5 < l Initial program 100.0%
Taylor expanded in K around 0 79.3%
Taylor expanded in l around 0 56.6%
Taylor expanded in l around inf 56.6%
if -1.4e16 < l < 1.2e5Initial program 71.5%
Taylor expanded in l around 0 98.3%
Taylor expanded in l around 0 98.0%
associate-*r*98.0%
*-commutative98.0%
associate-*r*98.0%
*-commutative98.0%
*-commutative98.0%
associate-*r*98.0%
*-commutative98.0%
*-commutative98.0%
*-commutative98.0%
*-commutative98.0%
*-commutative98.0%
Simplified98.0%
Final simplification76.2%
if l < -1.16e16 or 2.39999999999999991 < l Initial program 100.0%
Taylor expanded in K around 0 79.3%
Taylor expanded in l around 0 56.6%
Taylor expanded in l around inf 56.6%
if -1.16e16 < l < 2.39999999999999991Initial program 71.5%
Taylor expanded in K around 0 69.2%
Taylor expanded in l around 0 80.2%
*-commutative80.2%
Simplified80.2%
Final simplification67.8%
if l < -420 or 3.4e124 < l Initial program 100.0%
Taylor expanded in l around 0 29.9%
Taylor expanded in K around 0 13.8%
+-commutative13.8%
associate-*r*13.8%
distribute-rgt-out36.0%
*-commutative36.0%
unpow236.0%
Simplified36.0%
if -420 < l < 125000Initial program 71.2%
Taylor expanded in K around 0 70.6%
Taylor expanded in l around 0 80.8%
*-commutative80.8%
Simplified80.8%
if 125000 < l < 3.4e124Initial program 100.0%
Applied egg-rr1.6%
Applied egg-rr33.3%
Final simplification56.7%
if l < -3.79999999999999969e104 or 1.9e5 < l Initial program 100.0%
Applied egg-rr2.1%
Applied egg-rr19.4%
if -3.79999999999999969e104 < l < 1.9e5Initial program 76.2%
Applied egg-rr36.4%
Taylor expanded in J around 0 57.3%
Final simplification40.9%
if l < -4.2e20Initial program 100.0%
Applied egg-rr3.1%
Applied egg-rr17.3%
if -4.2e20 < l < 1.9e5Initial program 72.1%
Applied egg-rr42.0%
Taylor expanded in J around 0 66.6%
if 1.9e5 < l Initial program 100.0%
Applied egg-rr1.6%
Applied egg-rr20.5%
Final simplification42.0%
Initial program 86.5%
Taylor expanded in K around 0 74.5%
Taylor expanded in l around 0 49.7%
*-commutative49.7%
Simplified49.7%
Final simplification49.7%
Initial program 86.5%
Applied egg-rr21.5%
Taylor expanded in J around 0 33.3%
Final simplification33.3%
herbie shell --seed 2023166
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
:precision binary64
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))