\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\mathsf{fma}\left(\left(\ell \cdot J\right) \cdot 2, \cos \left(\frac{K}{2}\right), U\right)double f(double J, double l, double K, double U) {
double r3592275 = J;
double r3592276 = l;
double r3592277 = exp(r3592276);
double r3592278 = -r3592276;
double r3592279 = exp(r3592278);
double r3592280 = r3592277 - r3592279;
double r3592281 = r3592275 * r3592280;
double r3592282 = K;
double r3592283 = 2.0;
double r3592284 = r3592282 / r3592283;
double r3592285 = cos(r3592284);
double r3592286 = r3592281 * r3592285;
double r3592287 = U;
double r3592288 = r3592286 + r3592287;
return r3592288;
}
double f(double J, double l, double K, double U) {
double r3592289 = l;
double r3592290 = J;
double r3592291 = r3592289 * r3592290;
double r3592292 = 2.0;
double r3592293 = r3592291 * r3592292;
double r3592294 = K;
double r3592295 = 2.0;
double r3592296 = r3592294 / r3592295;
double r3592297 = cos(r3592296);
double r3592298 = U;
double r3592299 = fma(r3592293, r3592297, r3592298);
return r3592299;
}



Bits error versus J



Bits error versus l



Bits error versus K



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