\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + \cos \left(\frac{K}{2}\right) \cdot \left(\mathsf{fma}\left({\ell}^{5}, \frac{1}{60}, \ell \cdot \left(2 + \left(\ell \cdot \ell\right) \cdot \frac{1}{3}\right)\right) \cdot J\right)double f(double J, double l, double K, double U) {
double r2139594 = J;
double r2139595 = l;
double r2139596 = exp(r2139595);
double r2139597 = -r2139595;
double r2139598 = exp(r2139597);
double r2139599 = r2139596 - r2139598;
double r2139600 = r2139594 * r2139599;
double r2139601 = K;
double r2139602 = 2.0;
double r2139603 = r2139601 / r2139602;
double r2139604 = cos(r2139603);
double r2139605 = r2139600 * r2139604;
double r2139606 = U;
double r2139607 = r2139605 + r2139606;
return r2139607;
}
double f(double J, double l, double K, double U) {
double r2139608 = U;
double r2139609 = K;
double r2139610 = 2.0;
double r2139611 = r2139609 / r2139610;
double r2139612 = cos(r2139611);
double r2139613 = l;
double r2139614 = 5.0;
double r2139615 = pow(r2139613, r2139614);
double r2139616 = 0.016666666666666666;
double r2139617 = r2139613 * r2139613;
double r2139618 = 0.3333333333333333;
double r2139619 = r2139617 * r2139618;
double r2139620 = r2139610 + r2139619;
double r2139621 = r2139613 * r2139620;
double r2139622 = fma(r2139615, r2139616, r2139621);
double r2139623 = J;
double r2139624 = r2139622 * r2139623;
double r2139625 = r2139612 * r2139624;
double r2139626 = r2139608 + r2139625;
return r2139626;
}



Bits error versus J



Bits error versus l



Bits error versus K



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