\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\left(2 \cdot \ell + \left(\frac{1}{3} \cdot {\ell}^{3} + \frac{1}{60} \cdot {\ell}^{5}\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + Udouble f(double J, double l, double K, double U) {
double r61396 = J;
double r61397 = l;
double r61398 = exp(r61397);
double r61399 = -r61397;
double r61400 = exp(r61399);
double r61401 = r61398 - r61400;
double r61402 = r61396 * r61401;
double r61403 = K;
double r61404 = 2.0;
double r61405 = r61403 / r61404;
double r61406 = cos(r61405);
double r61407 = r61402 * r61406;
double r61408 = U;
double r61409 = r61407 + r61408;
return r61409;
}
double f(double J, double l, double K, double U) {
double r61410 = J;
double r61411 = 2.0;
double r61412 = l;
double r61413 = r61411 * r61412;
double r61414 = 0.3333333333333333;
double r61415 = 3.0;
double r61416 = pow(r61412, r61415);
double r61417 = r61414 * r61416;
double r61418 = 0.016666666666666666;
double r61419 = 5.0;
double r61420 = pow(r61412, r61419);
double r61421 = r61418 * r61420;
double r61422 = r61417 + r61421;
double r61423 = r61413 + r61422;
double r61424 = K;
double r61425 = 2.0;
double r61426 = r61424 / r61425;
double r61427 = cos(r61426);
double r61428 = r61423 * r61427;
double r61429 = r61410 * r61428;
double r61430 = U;
double r61431 = r61429 + r61430;
return r61431;
}



Bits error versus J



Bits error versus l



Bits error versus K



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