\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(\left({\ell}^{5} \cdot \frac{1}{60} + \left(2 + \left(\frac{1}{3} \cdot \ell\right) \cdot \ell\right) \cdot \ell\right) \cdot J\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r12217904 = J;
double r12217905 = l;
double r12217906 = exp(r12217905);
double r12217907 = -r12217905;
double r12217908 = exp(r12217907);
double r12217909 = r12217906 - r12217908;
double r12217910 = r12217904 * r12217909;
double r12217911 = K;
double r12217912 = 2.0;
double r12217913 = r12217911 / r12217912;
double r12217914 = cos(r12217913);
double r12217915 = r12217910 * r12217914;
double r12217916 = U;
double r12217917 = r12217915 + r12217916;
return r12217917;
}
double f(double J, double l, double K, double U) {
double r12217918 = l;
double r12217919 = 5.0;
double r12217920 = pow(r12217918, r12217919);
double r12217921 = 0.016666666666666666;
double r12217922 = r12217920 * r12217921;
double r12217923 = 2.0;
double r12217924 = 0.3333333333333333;
double r12217925 = r12217924 * r12217918;
double r12217926 = r12217925 * r12217918;
double r12217927 = r12217923 + r12217926;
double r12217928 = r12217927 * r12217918;
double r12217929 = r12217922 + r12217928;
double r12217930 = J;
double r12217931 = r12217929 * r12217930;
double r12217932 = K;
double r12217933 = r12217932 / r12217923;
double r12217934 = cos(r12217933);
double r12217935 = r12217931 * r12217934;
double r12217936 = U;
double r12217937 = r12217935 + r12217936;
return r12217937;
}



Bits error versus J



Bits error versus l



Bits error versus K



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