\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(J \cdot \left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r144309 = J;
double r144310 = l;
double r144311 = exp(r144310);
double r144312 = -r144310;
double r144313 = exp(r144312);
double r144314 = r144311 - r144313;
double r144315 = r144309 * r144314;
double r144316 = K;
double r144317 = 2.0;
double r144318 = r144316 / r144317;
double r144319 = cos(r144318);
double r144320 = r144315 * r144319;
double r144321 = U;
double r144322 = r144320 + r144321;
return r144322;
}
double f(double J, double l, double K, double U) {
double r144323 = J;
double r144324 = 0.3333333333333333;
double r144325 = l;
double r144326 = 3.0;
double r144327 = pow(r144325, r144326);
double r144328 = r144324 * r144327;
double r144329 = 0.016666666666666666;
double r144330 = 5.0;
double r144331 = pow(r144325, r144330);
double r144332 = r144329 * r144331;
double r144333 = 2.0;
double r144334 = r144333 * r144325;
double r144335 = r144332 + r144334;
double r144336 = r144328 + r144335;
double r144337 = r144323 * r144336;
double r144338 = K;
double r144339 = 2.0;
double r144340 = r144338 / r144339;
double r144341 = cos(r144340);
double r144342 = r144337 * r144341;
double r144343 = U;
double r144344 = r144342 + r144343;
return r144344;
}



Bits error versus J



Bits error versus l



Bits error versus K



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