\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + Udouble f(double J, double l, double K, double U) {
double r159019 = J;
double r159020 = l;
double r159021 = exp(r159020);
double r159022 = -r159020;
double r159023 = exp(r159022);
double r159024 = r159021 - r159023;
double r159025 = r159019 * r159024;
double r159026 = K;
double r159027 = 2.0;
double r159028 = r159026 / r159027;
double r159029 = cos(r159028);
double r159030 = r159025 * r159029;
double r159031 = U;
double r159032 = r159030 + r159031;
return r159032;
}
double f(double J, double l, double K, double U) {
double r159033 = J;
double r159034 = 0.3333333333333333;
double r159035 = l;
double r159036 = 3.0;
double r159037 = pow(r159035, r159036);
double r159038 = r159034 * r159037;
double r159039 = 0.016666666666666666;
double r159040 = 5.0;
double r159041 = pow(r159035, r159040);
double r159042 = r159039 * r159041;
double r159043 = 2.0;
double r159044 = r159043 * r159035;
double r159045 = r159042 + r159044;
double r159046 = r159038 + r159045;
double r159047 = K;
double r159048 = 2.0;
double r159049 = r159047 / r159048;
double r159050 = cos(r159049);
double r159051 = r159046 * r159050;
double r159052 = r159033 * r159051;
double r159053 = U;
double r159054 = r159052 + r159053;
return r159054;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 17.5
Taylor expanded around 0 0.4
rmApplied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019353
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
:precision binary64
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))