\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\mathsf{fma}\left(J \cdot \left(\cos \left(\frac{1}{2} \cdot K\right) \cdot \ell\right), 2, U\right)double f(double J, double l, double K, double U) {
double r3315459 = J;
double r3315460 = l;
double r3315461 = exp(r3315460);
double r3315462 = -r3315460;
double r3315463 = exp(r3315462);
double r3315464 = r3315461 - r3315463;
double r3315465 = r3315459 * r3315464;
double r3315466 = K;
double r3315467 = 2.0;
double r3315468 = r3315466 / r3315467;
double r3315469 = cos(r3315468);
double r3315470 = r3315465 * r3315469;
double r3315471 = U;
double r3315472 = r3315470 + r3315471;
return r3315472;
}
double f(double J, double l, double K, double U) {
double r3315473 = J;
double r3315474 = 0.5;
double r3315475 = K;
double r3315476 = r3315474 * r3315475;
double r3315477 = cos(r3315476);
double r3315478 = l;
double r3315479 = r3315477 * r3315478;
double r3315480 = r3315473 * r3315479;
double r3315481 = 2.0;
double r3315482 = U;
double r3315483 = fma(r3315480, r3315481, r3315482);
return r3315483;
}



Bits error versus J



Bits error versus l



Bits error versus K



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