\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(\ell \cdot \frac{1}{3}\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 r3262287 = J;
double r3262288 = l;
double r3262289 = exp(r3262288);
double r3262290 = -r3262288;
double r3262291 = exp(r3262290);
double r3262292 = r3262289 - r3262291;
double r3262293 = r3262287 * r3262292;
double r3262294 = K;
double r3262295 = 2.0;
double r3262296 = r3262294 / r3262295;
double r3262297 = cos(r3262296);
double r3262298 = r3262293 * r3262297;
double r3262299 = U;
double r3262300 = r3262298 + r3262299;
return r3262300;
}
double f(double J, double l, double K, double U) {
double r3262301 = l;
double r3262302 = 5.0;
double r3262303 = pow(r3262301, r3262302);
double r3262304 = 0.016666666666666666;
double r3262305 = r3262303 * r3262304;
double r3262306 = 2.0;
double r3262307 = 0.3333333333333333;
double r3262308 = r3262301 * r3262307;
double r3262309 = r3262308 * r3262301;
double r3262310 = r3262306 + r3262309;
double r3262311 = r3262310 * r3262301;
double r3262312 = r3262305 + r3262311;
double r3262313 = J;
double r3262314 = r3262312 * r3262313;
double r3262315 = K;
double r3262316 = r3262315 / r3262306;
double r3262317 = cos(r3262316);
double r3262318 = r3262314 * r3262317;
double r3262319 = U;
double r3262320 = r3262318 + r3262319;
return r3262320;
}



Bits error versus J



Bits error versus l



Bits error versus K



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