\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\left(\left(\frac{1}{3} \cdot \left(\left(\ell \cdot \ell\right) \cdot \ell\right) + \frac{1}{60} \cdot {\ell}^{5}\right) + \left(\ell + \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + Udouble f(double J, double l, double K, double U) {
double r6642901 = J;
double r6642902 = l;
double r6642903 = exp(r6642902);
double r6642904 = -r6642902;
double r6642905 = exp(r6642904);
double r6642906 = r6642903 - r6642905;
double r6642907 = r6642901 * r6642906;
double r6642908 = K;
double r6642909 = 2.0;
double r6642910 = r6642908 / r6642909;
double r6642911 = cos(r6642910);
double r6642912 = r6642907 * r6642911;
double r6642913 = U;
double r6642914 = r6642912 + r6642913;
return r6642914;
}
double f(double J, double l, double K, double U) {
double r6642915 = J;
double r6642916 = 0.3333333333333333;
double r6642917 = l;
double r6642918 = r6642917 * r6642917;
double r6642919 = r6642918 * r6642917;
double r6642920 = r6642916 * r6642919;
double r6642921 = 0.016666666666666666;
double r6642922 = 5.0;
double r6642923 = pow(r6642917, r6642922);
double r6642924 = r6642921 * r6642923;
double r6642925 = r6642920 + r6642924;
double r6642926 = r6642917 + r6642917;
double r6642927 = r6642925 + r6642926;
double r6642928 = K;
double r6642929 = 2.0;
double r6642930 = r6642928 / r6642929;
double r6642931 = cos(r6642930);
double r6642932 = r6642927 * r6642931;
double r6642933 = r6642915 * r6642932;
double r6642934 = U;
double r6642935 = r6642933 + r6642934;
return r6642935;
}



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