\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(J \cdot \left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r163219 = J;
double r163220 = l;
double r163221 = exp(r163220);
double r163222 = -r163220;
double r163223 = exp(r163222);
double r163224 = r163221 - r163223;
double r163225 = r163219 * r163224;
double r163226 = K;
double r163227 = 2.0;
double r163228 = r163226 / r163227;
double r163229 = cos(r163228);
double r163230 = r163225 * r163229;
double r163231 = U;
double r163232 = r163230 + r163231;
return r163232;
}
double f(double J, double l, double K, double U) {
double r163233 = J;
double r163234 = 0.3333333333333333;
double r163235 = l;
double r163236 = 3.0;
double r163237 = pow(r163235, r163236);
double r163238 = r163234 * r163237;
double r163239 = 0.016666666666666666;
double r163240 = 5.0;
double r163241 = pow(r163235, r163240);
double r163242 = r163239 * r163241;
double r163243 = 2.0;
double r163244 = r163243 * r163235;
double r163245 = r163242 + r163244;
double r163246 = r163238 + r163245;
double r163247 = r163233 * r163246;
double r163248 = K;
double r163249 = 2.0;
double r163250 = r163248 / r163249;
double r163251 = cos(r163250);
double r163252 = r163247 * r163251;
double r163253 = U;
double r163254 = r163252 + r163253;
return r163254;
}



Bits error versus J



Bits error versus l



Bits error versus K



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