\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \left({\ell}^{5} \cdot \frac{1}{60} + \left(2 + \left(\frac{1}{3} \cdot \ell\right) \cdot \ell\right) \cdot \ell\right)\right) + Udouble f(double J, double l, double K, double U) {
double r11573855 = J;
double r11573856 = l;
double r11573857 = exp(r11573856);
double r11573858 = -r11573856;
double r11573859 = exp(r11573858);
double r11573860 = r11573857 - r11573859;
double r11573861 = r11573855 * r11573860;
double r11573862 = K;
double r11573863 = 2.0;
double r11573864 = r11573862 / r11573863;
double r11573865 = cos(r11573864);
double r11573866 = r11573861 * r11573865;
double r11573867 = U;
double r11573868 = r11573866 + r11573867;
return r11573868;
}
double f(double J, double l, double K, double U) {
double r11573869 = J;
double r11573870 = K;
double r11573871 = 2.0;
double r11573872 = r11573870 / r11573871;
double r11573873 = cos(r11573872);
double r11573874 = l;
double r11573875 = 5.0;
double r11573876 = pow(r11573874, r11573875);
double r11573877 = 0.016666666666666666;
double r11573878 = r11573876 * r11573877;
double r11573879 = 0.3333333333333333;
double r11573880 = r11573879 * r11573874;
double r11573881 = r11573880 * r11573874;
double r11573882 = r11573871 + r11573881;
double r11573883 = r11573882 * r11573874;
double r11573884 = r11573878 + r11573883;
double r11573885 = r11573873 * r11573884;
double r11573886 = r11573869 * r11573885;
double r11573887 = U;
double r11573888 = r11573886 + r11573887;
return r11573888;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 17.1
Taylor expanded around 0 0.5
Simplified0.5
rmApplied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019124
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))