\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + J \cdot \left(\left(\left(\ell \cdot \frac{1}{3}\right) \cdot \left(\ell \cdot \ell\right) + \left(\left(\ell + \ell\right) + \frac{1}{60} \cdot {\ell}^{5}\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right)double f(double J, double l, double K, double U) {
double r4800722 = J;
double r4800723 = l;
double r4800724 = exp(r4800723);
double r4800725 = -r4800723;
double r4800726 = exp(r4800725);
double r4800727 = r4800724 - r4800726;
double r4800728 = r4800722 * r4800727;
double r4800729 = K;
double r4800730 = 2.0;
double r4800731 = r4800729 / r4800730;
double r4800732 = cos(r4800731);
double r4800733 = r4800728 * r4800732;
double r4800734 = U;
double r4800735 = r4800733 + r4800734;
return r4800735;
}
double f(double J, double l, double K, double U) {
double r4800736 = U;
double r4800737 = J;
double r4800738 = l;
double r4800739 = 0.3333333333333333;
double r4800740 = r4800738 * r4800739;
double r4800741 = r4800738 * r4800738;
double r4800742 = r4800740 * r4800741;
double r4800743 = r4800738 + r4800738;
double r4800744 = 0.016666666666666666;
double r4800745 = 5.0;
double r4800746 = pow(r4800738, r4800745);
double r4800747 = r4800744 * r4800746;
double r4800748 = r4800743 + r4800747;
double r4800749 = r4800742 + r4800748;
double r4800750 = K;
double r4800751 = 2.0;
double r4800752 = r4800750 / r4800751;
double r4800753 = cos(r4800752);
double r4800754 = r4800749 * r4800753;
double r4800755 = r4800737 * r4800754;
double r4800756 = r4800736 + r4800755;
return r4800756;
}



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.4
Simplified0.4
rmApplied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019174
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))