\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + \left(\cos \left(\frac{K}{2}\right) \cdot J\right) \cdot \left(\left(2 \cdot \ell + \frac{1}{3} \cdot {\ell}^{3}\right) + {\ell}^{5} \cdot \frac{1}{60}\right)double f(double J, double l, double K, double U) {
double r72918 = J;
double r72919 = l;
double r72920 = exp(r72919);
double r72921 = -r72919;
double r72922 = exp(r72921);
double r72923 = r72920 - r72922;
double r72924 = r72918 * r72923;
double r72925 = K;
double r72926 = 2.0;
double r72927 = r72925 / r72926;
double r72928 = cos(r72927);
double r72929 = r72924 * r72928;
double r72930 = U;
double r72931 = r72929 + r72930;
return r72931;
}
double f(double J, double l, double K, double U) {
double r72932 = U;
double r72933 = K;
double r72934 = 2.0;
double r72935 = r72933 / r72934;
double r72936 = cos(r72935);
double r72937 = J;
double r72938 = r72936 * r72937;
double r72939 = 2.0;
double r72940 = l;
double r72941 = r72939 * r72940;
double r72942 = 0.3333333333333333;
double r72943 = 3.0;
double r72944 = pow(r72940, r72943);
double r72945 = r72942 * r72944;
double r72946 = r72941 + r72945;
double r72947 = 5.0;
double r72948 = pow(r72940, r72947);
double r72949 = 0.016666666666666666;
double r72950 = r72948 * r72949;
double r72951 = r72946 + r72950;
double r72952 = r72938 * r72951;
double r72953 = r72932 + r72952;
return r72953;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 17.7
Taylor expanded around 0 0.4
Simplified0.4
rmApplied pow10.4
Applied pow10.4
Applied pow10.4
Applied pow-prod-down0.4
Applied pow-prod-down0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019196
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))