\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + \left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \mathsf{fma}\left(\frac{1}{3}, {\ell}^{3}, \mathsf{fma}\left({\ell}^{5}, \frac{1}{60}, 2 \cdot \ell\right)\right)double f(double J, double l, double K, double U) {
double r61244 = J;
double r61245 = l;
double r61246 = exp(r61245);
double r61247 = -r61245;
double r61248 = exp(r61247);
double r61249 = r61246 - r61248;
double r61250 = r61244 * r61249;
double r61251 = K;
double r61252 = 2.0;
double r61253 = r61251 / r61252;
double r61254 = cos(r61253);
double r61255 = r61250 * r61254;
double r61256 = U;
double r61257 = r61255 + r61256;
return r61257;
}
double f(double J, double l, double K, double U) {
double r61258 = U;
double r61259 = K;
double r61260 = 2.0;
double r61261 = r61259 / r61260;
double r61262 = cos(r61261);
double r61263 = J;
double r61264 = r61262 * r61263;
double r61265 = 0.3333333333333333;
double r61266 = l;
double r61267 = 3.0;
double r61268 = pow(r61266, r61267);
double r61269 = 5.0;
double r61270 = pow(r61266, r61269);
double r61271 = 0.016666666666666666;
double r61272 = 2.0;
double r61273 = r61272 * r61266;
double r61274 = fma(r61270, r61271, r61273);
double r61275 = fma(r61265, r61268, r61274);
double r61276 = r61264 * r61275;
double r61277 = r61258 + r61276;
return r61277;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Initial program 17.7
Taylor expanded around 0 0.4
Simplified0.4
rmApplied associate-*l*0.4
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied associate-*l*0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019196 +o rules:numerics
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))