double f(double J, double l, double K, double U) {
double r11281244 = J;
double r11281245 = l;
double r11281246 = exp(r11281245);
double r11281247 = -r11281245;
double r11281248 = exp(r11281247);
double r11281249 = r11281246 - r11281248;
double r11281250 = r11281244 * r11281249;
double r11281251 = K;
double r11281252 = 2.0;
double r11281253 = r11281251 / r11281252;
double r11281254 = cos(r11281253);
double r11281255 = r11281250 * r11281254;
double r11281256 = U;
double r11281257 = r11281255 + r11281256;
return r11281257;
}
double f(double J, double l, double K, double U) {
double r11281258 = U;
double r11281259 = l;
double r11281260 = 2.0;
double r11281261 = 0.3333333333333333;
double r11281262 = r11281261 * r11281259;
double r11281263 = r11281259 * r11281262;
double r11281264 = r11281260 + r11281263;
double r11281265 = r11281259 * r11281264;
double r11281266 = 5.0;
double r11281267 = pow(r11281259, r11281266);
double r11281268 = 0.016666666666666666;
double r11281269 = r11281267 * r11281268;
double r11281270 = r11281265 + r11281269;
double r11281271 = K;
double r11281272 = r11281271 / r11281260;
double r11281273 = cos(r11281272);
double r11281274 = J;
double r11281275 = r11281273 * r11281274;
double r11281276 = r11281270 * r11281275;
double r11281277 = r11281258 + r11281276;
return r11281277;
}
\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + \left(\ell \cdot \left(2 + \ell \cdot \left(\frac{1}{3} \cdot \ell\right)\right) + {\ell}^{5} \cdot \frac{1}{60}\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot J\right)


Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Initial program 17.1
Taylor expanded around 0 0.4
Simplified0.4
rmApplied add-log-exp0.6
rmApplied pow10.6
Applied pow10.6
Applied pow-prod-down0.6
Simplified0.4
Final simplification0.4
herbie shell --seed 2019101
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))