\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + Udouble f(double J, double l, double K, double U) {
double r156342 = J;
double r156343 = l;
double r156344 = exp(r156343);
double r156345 = -r156343;
double r156346 = exp(r156345);
double r156347 = r156344 - r156346;
double r156348 = r156342 * r156347;
double r156349 = K;
double r156350 = 2.0;
double r156351 = r156349 / r156350;
double r156352 = cos(r156351);
double r156353 = r156348 * r156352;
double r156354 = U;
double r156355 = r156353 + r156354;
return r156355;
}
double f(double J, double l, double K, double U) {
double r156356 = J;
double r156357 = 0.3333333333333333;
double r156358 = l;
double r156359 = 3.0;
double r156360 = pow(r156358, r156359);
double r156361 = r156357 * r156360;
double r156362 = 0.016666666666666666;
double r156363 = 5.0;
double r156364 = pow(r156358, r156363);
double r156365 = r156362 * r156364;
double r156366 = 2.0;
double r156367 = r156366 * r156358;
double r156368 = r156365 + r156367;
double r156369 = r156361 + r156368;
double r156370 = K;
double r156371 = 2.0;
double r156372 = r156370 / r156371;
double r156373 = cos(r156372);
double r156374 = r156369 * r156373;
double r156375 = r156356 * r156374;
double r156376 = U;
double r156377 = r156375 + r156376;
return r156377;
}



Bits error versus J



Bits error versus l



Bits error versus K



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