\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 r242861 = J;
double r242862 = l;
double r242863 = exp(r242862);
double r242864 = -r242862;
double r242865 = exp(r242864);
double r242866 = r242863 - r242865;
double r242867 = r242861 * r242866;
double r242868 = K;
double r242869 = 2.0;
double r242870 = r242868 / r242869;
double r242871 = cos(r242870);
double r242872 = r242867 * r242871;
double r242873 = U;
double r242874 = r242872 + r242873;
return r242874;
}
double f(double J, double l, double K, double U) {
double r242875 = J;
double r242876 = 0.3333333333333333;
double r242877 = l;
double r242878 = 3.0;
double r242879 = pow(r242877, r242878);
double r242880 = r242876 * r242879;
double r242881 = 0.016666666666666666;
double r242882 = 5.0;
double r242883 = pow(r242877, r242882);
double r242884 = r242881 * r242883;
double r242885 = 2.0;
double r242886 = r242885 * r242877;
double r242887 = r242884 + r242886;
double r242888 = r242880 + r242887;
double r242889 = r242875 * r242888;
double r242890 = K;
double r242891 = 2.0;
double r242892 = r242890 / r242891;
double r242893 = cos(r242892);
double r242894 = r242889 * r242893;
double r242895 = U;
double r242896 = r242894 + r242895;
return r242896;
}



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))