\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(2 \cdot \left(J \cdot \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r139185 = J;
double r139186 = l;
double r139187 = exp(r139186);
double r139188 = -r139186;
double r139189 = exp(r139188);
double r139190 = r139187 - r139189;
double r139191 = r139185 * r139190;
double r139192 = K;
double r139193 = 2.0;
double r139194 = r139192 / r139193;
double r139195 = cos(r139194);
double r139196 = r139191 * r139195;
double r139197 = U;
double r139198 = r139196 + r139197;
return r139198;
}
double f(double J, double l, double K, double U) {
double r139199 = 2.0;
double r139200 = J;
double r139201 = l;
double r139202 = r139200 * r139201;
double r139203 = r139199 * r139202;
double r139204 = K;
double r139205 = 2.0;
double r139206 = r139204 / r139205;
double r139207 = cos(r139206);
double r139208 = r139203 * r139207;
double r139209 = U;
double r139210 = r139208 + r139209;
return r139210;
}



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.6
Final simplification0.6
herbie shell --seed 2020033
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
:precision binary64
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))