\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 r158201 = J;
double r158202 = l;
double r158203 = exp(r158202);
double r158204 = -r158202;
double r158205 = exp(r158204);
double r158206 = r158203 - r158205;
double r158207 = r158201 * r158206;
double r158208 = K;
double r158209 = 2.0;
double r158210 = r158208 / r158209;
double r158211 = cos(r158210);
double r158212 = r158207 * r158211;
double r158213 = U;
double r158214 = r158212 + r158213;
return r158214;
}
double f(double J, double l, double K, double U) {
double r158215 = J;
double r158216 = 0.3333333333333333;
double r158217 = l;
double r158218 = 3.0;
double r158219 = pow(r158217, r158218);
double r158220 = r158216 * r158219;
double r158221 = 0.016666666666666666;
double r158222 = 5.0;
double r158223 = pow(r158217, r158222);
double r158224 = r158221 * r158223;
double r158225 = 2.0;
double r158226 = r158225 * r158217;
double r158227 = r158224 + r158226;
double r158228 = r158220 + r158227;
double r158229 = K;
double r158230 = 2.0;
double r158231 = r158229 / r158230;
double r158232 = cos(r158231);
double r158233 = r158228 * r158232;
double r158234 = r158215 * r158233;
double r158235 = U;
double r158236 = r158234 + r158235;
return r158236;
}



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