\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(J \cdot \left(\frac{1}{3} \cdot {\ell}^{3} + \left(\left(\frac{1}{60} \cdot {\left(\sqrt[3]{\ell} \cdot \sqrt[3]{\ell}\right)}^{5}\right) \cdot \left(\left(\left(\sqrt[3]{\sqrt[3]{{\left(\sqrt[3]{\ell}\right)}^{5}} \cdot \sqrt[3]{{\left(\sqrt[3]{\ell}\right)}^{5}}} \cdot \sqrt[3]{\sqrt[3]{{\left(\sqrt[3]{\ell}\right)}^{5}}}\right) \cdot \sqrt[3]{{\left(\sqrt[3]{\ell}\right)}^{5}}\right) \cdot \sqrt[3]{{\left(\sqrt[3]{\ell}\right)}^{5}}\right) + 2 \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r157489 = J;
double r157490 = l;
double r157491 = exp(r157490);
double r157492 = -r157490;
double r157493 = exp(r157492);
double r157494 = r157491 - r157493;
double r157495 = r157489 * r157494;
double r157496 = K;
double r157497 = 2.0;
double r157498 = r157496 / r157497;
double r157499 = cos(r157498);
double r157500 = r157495 * r157499;
double r157501 = U;
double r157502 = r157500 + r157501;
return r157502;
}
double f(double J, double l, double K, double U) {
double r157503 = J;
double r157504 = 0.3333333333333333;
double r157505 = l;
double r157506 = 3.0;
double r157507 = pow(r157505, r157506);
double r157508 = r157504 * r157507;
double r157509 = 0.016666666666666666;
double r157510 = cbrt(r157505);
double r157511 = r157510 * r157510;
double r157512 = 5.0;
double r157513 = pow(r157511, r157512);
double r157514 = r157509 * r157513;
double r157515 = pow(r157510, r157512);
double r157516 = cbrt(r157515);
double r157517 = r157516 * r157516;
double r157518 = cbrt(r157517);
double r157519 = cbrt(r157516);
double r157520 = r157518 * r157519;
double r157521 = r157520 * r157516;
double r157522 = r157521 * r157516;
double r157523 = r157514 * r157522;
double r157524 = 2.0;
double r157525 = r157524 * r157505;
double r157526 = r157523 + r157525;
double r157527 = r157508 + r157526;
double r157528 = r157503 * r157527;
double r157529 = K;
double r157530 = 2.0;
double r157531 = r157529 / r157530;
double r157532 = cos(r157531);
double r157533 = r157528 * r157532;
double r157534 = U;
double r157535 = r157533 + r157534;
return r157535;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 17.1
Taylor expanded around 0 0.4
rmApplied add-cube-cbrt0.4
Applied unpow-prod-down0.4
Applied associate-*r*0.4
rmApplied add-cube-cbrt0.4
rmApplied add-cube-cbrt0.4
Applied cbrt-prod0.4
Final simplification0.4
herbie shell --seed 2020089
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
:precision binary64
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))