\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + \cos \left(\frac{K}{2}\right) \cdot \left(\left(\left(\frac{1}{60} \cdot \left(\ell \cdot \ell\right) + \frac{1}{3}\right) \cdot \left(\ell \cdot \left(\ell \cdot \ell\right)\right) + 2 \cdot \ell\right) \cdot J\right)double f(double J, double l, double K, double U) {
double r2915865 = J;
double r2915866 = l;
double r2915867 = exp(r2915866);
double r2915868 = -r2915866;
double r2915869 = exp(r2915868);
double r2915870 = r2915867 - r2915869;
double r2915871 = r2915865 * r2915870;
double r2915872 = K;
double r2915873 = 2.0;
double r2915874 = r2915872 / r2915873;
double r2915875 = cos(r2915874);
double r2915876 = r2915871 * r2915875;
double r2915877 = U;
double r2915878 = r2915876 + r2915877;
return r2915878;
}
double f(double J, double l, double K, double U) {
double r2915879 = U;
double r2915880 = K;
double r2915881 = 2.0;
double r2915882 = r2915880 / r2915881;
double r2915883 = cos(r2915882);
double r2915884 = 0.016666666666666666;
double r2915885 = l;
double r2915886 = r2915885 * r2915885;
double r2915887 = r2915884 * r2915886;
double r2915888 = 0.3333333333333333;
double r2915889 = r2915887 + r2915888;
double r2915890 = r2915885 * r2915886;
double r2915891 = r2915889 * r2915890;
double r2915892 = r2915881 * r2915885;
double r2915893 = r2915891 + r2915892;
double r2915894 = J;
double r2915895 = r2915893 * r2915894;
double r2915896 = r2915883 * r2915895;
double r2915897 = r2915879 + r2915896;
return r2915897;
}



Bits error versus J



Bits error versus l



Bits error versus K



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