\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(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r126607 = J;
double r126608 = l;
double r126609 = exp(r126608);
double r126610 = -r126608;
double r126611 = exp(r126610);
double r126612 = r126609 - r126611;
double r126613 = r126607 * r126612;
double r126614 = K;
double r126615 = 2.0;
double r126616 = r126614 / r126615;
double r126617 = cos(r126616);
double r126618 = r126613 * r126617;
double r126619 = U;
double r126620 = r126618 + r126619;
return r126620;
}
double f(double J, double l, double K, double U) {
double r126621 = J;
double r126622 = 0.3333333333333333;
double r126623 = l;
double r126624 = 3.0;
double r126625 = pow(r126623, r126624);
double r126626 = r126622 * r126625;
double r126627 = 0.016666666666666666;
double r126628 = 5.0;
double r126629 = pow(r126623, r126628);
double r126630 = r126627 * r126629;
double r126631 = 2.0;
double r126632 = r126631 * r126623;
double r126633 = r126630 + r126632;
double r126634 = r126626 + r126633;
double r126635 = r126621 * r126634;
double r126636 = K;
double r126637 = 2.0;
double r126638 = r126636 / r126637;
double r126639 = cos(r126638);
double r126640 = r126635 * r126639;
double r126641 = U;
double r126642 = r126640 + r126641;
return r126642;
}



Bits error versus J



Bits error versus l



Bits error versus K



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