\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + \left(\left(\ell + \ell\right) \cdot J\right) \cdot \cos \left(\frac{K}{2}\right)double f(double J, double l, double K, double U) {
double r4302301 = J;
double r4302302 = l;
double r4302303 = exp(r4302302);
double r4302304 = -r4302302;
double r4302305 = exp(r4302304);
double r4302306 = r4302303 - r4302305;
double r4302307 = r4302301 * r4302306;
double r4302308 = K;
double r4302309 = 2.0;
double r4302310 = r4302308 / r4302309;
double r4302311 = cos(r4302310);
double r4302312 = r4302307 * r4302311;
double r4302313 = U;
double r4302314 = r4302312 + r4302313;
return r4302314;
}
double f(double J, double l, double K, double U) {
double r4302315 = U;
double r4302316 = l;
double r4302317 = r4302316 + r4302316;
double r4302318 = J;
double r4302319 = r4302317 * r4302318;
double r4302320 = K;
double r4302321 = 2.0;
double r4302322 = r4302320 / r4302321;
double r4302323 = cos(r4302322);
double r4302324 = r4302319 * r4302323;
double r4302325 = r4302315 + r4302324;
return r4302325;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 17.6
Simplified17.6
Taylor expanded around 0 0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019169
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))