\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\mathsf{fma}\left(\frac{1}{60}, \left({\ell}^{5}\right), \left(\ell \cdot \mathsf{fma}\left(\frac{1}{3}, \left(\ell \cdot \ell\right), 2\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + Udouble f(double J, double l, double K, double U) {
double r17164441 = J;
double r17164442 = l;
double r17164443 = exp(r17164442);
double r17164444 = -r17164442;
double r17164445 = exp(r17164444);
double r17164446 = r17164443 - r17164445;
double r17164447 = r17164441 * r17164446;
double r17164448 = K;
double r17164449 = 2.0;
double r17164450 = r17164448 / r17164449;
double r17164451 = cos(r17164450);
double r17164452 = r17164447 * r17164451;
double r17164453 = U;
double r17164454 = r17164452 + r17164453;
return r17164454;
}
double f(double J, double l, double K, double U) {
double r17164455 = J;
double r17164456 = 0.016666666666666666;
double r17164457 = l;
double r17164458 = 5.0;
double r17164459 = pow(r17164457, r17164458);
double r17164460 = 0.3333333333333333;
double r17164461 = r17164457 * r17164457;
double r17164462 = 2.0;
double r17164463 = fma(r17164460, r17164461, r17164462);
double r17164464 = r17164457 * r17164463;
double r17164465 = fma(r17164456, r17164459, r17164464);
double r17164466 = K;
double r17164467 = r17164466 / r17164462;
double r17164468 = cos(r17164467);
double r17164469 = r17164465 * r17164468;
double r17164470 = r17164455 * r17164469;
double r17164471 = U;
double r17164472 = r17164470 + r17164471;
return r17164472;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Initial program 16.6
Taylor expanded around 0 0.3
Simplified0.4
rmApplied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019121 +o rules:numerics
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))