\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(\left({\ell}^{5} \cdot \frac{1}{60} + \left(2 + \left(\frac{1}{3} \cdot \ell\right) \cdot \ell\right) \cdot \ell\right) \cdot J\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r9046284 = J;
double r9046285 = l;
double r9046286 = exp(r9046285);
double r9046287 = -r9046285;
double r9046288 = exp(r9046287);
double r9046289 = r9046286 - r9046288;
double r9046290 = r9046284 * r9046289;
double r9046291 = K;
double r9046292 = 2.0;
double r9046293 = r9046291 / r9046292;
double r9046294 = cos(r9046293);
double r9046295 = r9046290 * r9046294;
double r9046296 = U;
double r9046297 = r9046295 + r9046296;
return r9046297;
}
double f(double J, double l, double K, double U) {
double r9046298 = l;
double r9046299 = 5.0;
double r9046300 = pow(r9046298, r9046299);
double r9046301 = 0.016666666666666666;
double r9046302 = r9046300 * r9046301;
double r9046303 = 2.0;
double r9046304 = 0.3333333333333333;
double r9046305 = r9046304 * r9046298;
double r9046306 = r9046305 * r9046298;
double r9046307 = r9046303 + r9046306;
double r9046308 = r9046307 * r9046298;
double r9046309 = r9046302 + r9046308;
double r9046310 = J;
double r9046311 = r9046309 * r9046310;
double r9046312 = K;
double r9046313 = r9046312 / r9046303;
double r9046314 = cos(r9046313);
double r9046315 = r9046311 * r9046314;
double r9046316 = U;
double r9046317 = r9046315 + r9046316;
return r9046317;
}



Bits error versus J



Bits error versus l



Bits error versus K



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