\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left({\ell}^{5} \cdot \frac{1}{60} + \left(2 + \frac{1}{3} \cdot \left(\ell \cdot \ell\right)\right) \cdot \ell\right)\right) + Udouble f(double J, double l, double K, double U) {
double r3688936 = J;
double r3688937 = l;
double r3688938 = exp(r3688937);
double r3688939 = -r3688937;
double r3688940 = exp(r3688939);
double r3688941 = r3688938 - r3688940;
double r3688942 = r3688936 * r3688941;
double r3688943 = K;
double r3688944 = 2.0;
double r3688945 = r3688943 / r3688944;
double r3688946 = cos(r3688945);
double r3688947 = r3688942 * r3688946;
double r3688948 = U;
double r3688949 = r3688947 + r3688948;
return r3688949;
}
double f(double J, double l, double K, double U) {
double r3688950 = J;
double r3688951 = K;
double r3688952 = 2.0;
double r3688953 = r3688951 / r3688952;
double r3688954 = cos(r3688953);
double r3688955 = l;
double r3688956 = 5.0;
double r3688957 = pow(r3688955, r3688956);
double r3688958 = 0.016666666666666666;
double r3688959 = r3688957 * r3688958;
double r3688960 = 0.3333333333333333;
double r3688961 = r3688955 * r3688955;
double r3688962 = r3688960 * r3688961;
double r3688963 = r3688952 + r3688962;
double r3688964 = r3688963 * r3688955;
double r3688965 = r3688959 + r3688964;
double r3688966 = r3688954 * r3688965;
double r3688967 = r3688950 * r3688966;
double r3688968 = U;
double r3688969 = r3688967 + r3688968;
return r3688969;
}



Bits error versus J



Bits error versus l



Bits error versus K



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