\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + Udouble f(double J, double l, double K, double U) {
double r85224 = J;
double r85225 = l;
double r85226 = exp(r85225);
double r85227 = -r85225;
double r85228 = exp(r85227);
double r85229 = r85226 - r85228;
double r85230 = r85224 * r85229;
double r85231 = K;
double r85232 = 2.0;
double r85233 = r85231 / r85232;
double r85234 = cos(r85233);
double r85235 = r85230 * r85234;
double r85236 = U;
double r85237 = r85235 + r85236;
return r85237;
}
double f(double J, double l, double K, double U) {
double r85238 = J;
double r85239 = 0.3333333333333333;
double r85240 = l;
double r85241 = 3.0;
double r85242 = pow(r85240, r85241);
double r85243 = r85239 * r85242;
double r85244 = 0.016666666666666666;
double r85245 = 5.0;
double r85246 = pow(r85240, r85245);
double r85247 = r85244 * r85246;
double r85248 = 2.0;
double r85249 = r85248 * r85240;
double r85250 = r85247 + r85249;
double r85251 = r85243 + r85250;
double r85252 = K;
double r85253 = 2.0;
double r85254 = r85252 / r85253;
double r85255 = cos(r85254);
double r85256 = r85251 * r85255;
double r85257 = r85238 * r85256;
double r85258 = U;
double r85259 = r85257 + r85258;
return r85259;
}



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