\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\mathsf{fma}\left(\cos \left(\frac{K}{2}\right), \left(J \cdot \ell\right) \cdot 2, U\right)double f(double J, double l, double K, double U) {
double r1154102 = J;
double r1154103 = l;
double r1154104 = exp(r1154103);
double r1154105 = -r1154103;
double r1154106 = exp(r1154105);
double r1154107 = r1154104 - r1154106;
double r1154108 = r1154102 * r1154107;
double r1154109 = K;
double r1154110 = 2.0;
double r1154111 = r1154109 / r1154110;
double r1154112 = cos(r1154111);
double r1154113 = r1154108 * r1154112;
double r1154114 = U;
double r1154115 = r1154113 + r1154114;
return r1154115;
}
double f(double J, double l, double K, double U) {
double r1154116 = K;
double r1154117 = 2.0;
double r1154118 = r1154116 / r1154117;
double r1154119 = cos(r1154118);
double r1154120 = J;
double r1154121 = l;
double r1154122 = r1154120 * r1154121;
double r1154123 = r1154122 * r1154117;
double r1154124 = U;
double r1154125 = fma(r1154119, r1154123, r1154124);
return r1154125;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Initial program 17.8
Simplified17.8
Taylor expanded around 0 0.6
Final simplification0.6
herbie shell --seed 2019149 +o rules:numerics
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))