\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 r9362865 = J;
double r9362866 = l;
double r9362867 = exp(r9362866);
double r9362868 = -r9362866;
double r9362869 = exp(r9362868);
double r9362870 = r9362867 - r9362869;
double r9362871 = r9362865 * r9362870;
double r9362872 = K;
double r9362873 = 2.0;
double r9362874 = r9362872 / r9362873;
double r9362875 = cos(r9362874);
double r9362876 = r9362871 * r9362875;
double r9362877 = U;
double r9362878 = r9362876 + r9362877;
return r9362878;
}
double f(double J, double l, double K, double U) {
double r9362879 = J;
double r9362880 = 0.016666666666666666;
double r9362881 = l;
double r9362882 = 5.0;
double r9362883 = pow(r9362881, r9362882);
double r9362884 = 0.3333333333333333;
double r9362885 = r9362881 * r9362881;
double r9362886 = 2.0;
double r9362887 = fma(r9362884, r9362885, r9362886);
double r9362888 = r9362881 * r9362887;
double r9362889 = fma(r9362880, r9362883, r9362888);
double r9362890 = K;
double r9362891 = r9362890 / r9362886;
double r9362892 = cos(r9362891);
double r9362893 = r9362889 * r9362892;
double r9362894 = r9362879 * r9362893;
double r9362895 = U;
double r9362896 = r9362894 + r9362895;
return r9362896;
}



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.5
Simplified0.5
rmApplied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019124 +o rules:numerics
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))