\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 r149516 = J;
double r149517 = l;
double r149518 = exp(r149517);
double r149519 = -r149517;
double r149520 = exp(r149519);
double r149521 = r149518 - r149520;
double r149522 = r149516 * r149521;
double r149523 = K;
double r149524 = 2.0;
double r149525 = r149523 / r149524;
double r149526 = cos(r149525);
double r149527 = r149522 * r149526;
double r149528 = U;
double r149529 = r149527 + r149528;
return r149529;
}
double f(double J, double l, double K, double U) {
double r149530 = J;
double r149531 = 0.3333333333333333;
double r149532 = l;
double r149533 = 3.0;
double r149534 = pow(r149532, r149533);
double r149535 = r149531 * r149534;
double r149536 = 0.016666666666666666;
double r149537 = 5.0;
double r149538 = pow(r149532, r149537);
double r149539 = r149536 * r149538;
double r149540 = 2.0;
double r149541 = r149540 * r149532;
double r149542 = r149539 + r149541;
double r149543 = r149535 + r149542;
double r149544 = K;
double r149545 = 2.0;
double r149546 = r149544 / r149545;
double r149547 = cos(r149546);
double r149548 = r149543 * r149547;
double r149549 = r149530 * r149548;
double r149550 = U;
double r149551 = r149549 + r149550;
return r149551;
}



Bits error versus J



Bits error versus l



Bits error versus K



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