\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + J \cdot \left(\left(\frac{1}{3} \cdot \left(\ell \cdot \left(\ell \cdot \ell\right)\right) + \left(\ell \cdot 2 + \left(\left(\ell \cdot \ell\right) \cdot \left(\ell \cdot \left(\ell \cdot \ell\right)\right)\right) \cdot \frac{1}{60}\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right)double f(double J, double l, double K, double U) {
double r3115188 = J;
double r3115189 = l;
double r3115190 = exp(r3115189);
double r3115191 = -r3115189;
double r3115192 = exp(r3115191);
double r3115193 = r3115190 - r3115192;
double r3115194 = r3115188 * r3115193;
double r3115195 = K;
double r3115196 = 2.0;
double r3115197 = r3115195 / r3115196;
double r3115198 = cos(r3115197);
double r3115199 = r3115194 * r3115198;
double r3115200 = U;
double r3115201 = r3115199 + r3115200;
return r3115201;
}
double f(double J, double l, double K, double U) {
double r3115202 = U;
double r3115203 = J;
double r3115204 = 0.3333333333333333;
double r3115205 = l;
double r3115206 = r3115205 * r3115205;
double r3115207 = r3115205 * r3115206;
double r3115208 = r3115204 * r3115207;
double r3115209 = 2.0;
double r3115210 = r3115205 * r3115209;
double r3115211 = r3115206 * r3115207;
double r3115212 = 0.016666666666666666;
double r3115213 = r3115211 * r3115212;
double r3115214 = r3115210 + r3115213;
double r3115215 = r3115208 + r3115214;
double r3115216 = K;
double r3115217 = r3115216 / r3115209;
double r3115218 = cos(r3115217);
double r3115219 = r3115215 * r3115218;
double r3115220 = r3115203 * r3115219;
double r3115221 = r3115202 + r3115220;
return r3115221;
}



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