\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 r82153 = J;
double r82154 = l;
double r82155 = exp(r82154);
double r82156 = -r82154;
double r82157 = exp(r82156);
double r82158 = r82155 - r82157;
double r82159 = r82153 * r82158;
double r82160 = K;
double r82161 = 2.0;
double r82162 = r82160 / r82161;
double r82163 = cos(r82162);
double r82164 = r82159 * r82163;
double r82165 = U;
double r82166 = r82164 + r82165;
return r82166;
}
double f(double J, double l, double K, double U) {
double r82167 = J;
double r82168 = 0.3333333333333333;
double r82169 = l;
double r82170 = 3.0;
double r82171 = pow(r82169, r82170);
double r82172 = r82168 * r82171;
double r82173 = 0.016666666666666666;
double r82174 = 5.0;
double r82175 = pow(r82169, r82174);
double r82176 = r82173 * r82175;
double r82177 = 2.0;
double r82178 = r82177 * r82169;
double r82179 = r82176 + r82178;
double r82180 = r82172 + r82179;
double r82181 = r82167 * r82180;
double r82182 = K;
double r82183 = 2.0;
double r82184 = r82182 / r82183;
double r82185 = cos(r82184);
double r82186 = r82181 * r82185;
double r82187 = U;
double r82188 = r82186 + r82187;
return r82188;
}



Bits error versus J



Bits error versus l



Bits error versus K



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