\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UJ \cdot \left(\left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right) + Udouble f(double J, double l, double K, double U) {
double r88982 = J;
double r88983 = l;
double r88984 = exp(r88983);
double r88985 = -r88983;
double r88986 = exp(r88985);
double r88987 = r88984 - r88986;
double r88988 = r88982 * r88987;
double r88989 = K;
double r88990 = 2.0;
double r88991 = r88989 / r88990;
double r88992 = cos(r88991);
double r88993 = r88988 * r88992;
double r88994 = U;
double r88995 = r88993 + r88994;
return r88995;
}
double f(double J, double l, double K, double U) {
double r88996 = J;
double r88997 = 0.3333333333333333;
double r88998 = l;
double r88999 = 3.0;
double r89000 = pow(r88998, r88999);
double r89001 = r88997 * r89000;
double r89002 = 0.016666666666666666;
double r89003 = 5.0;
double r89004 = pow(r88998, r89003);
double r89005 = r89002 * r89004;
double r89006 = 2.0;
double r89007 = r89006 * r88998;
double r89008 = r89005 + r89007;
double r89009 = r89001 + r89008;
double r89010 = K;
double r89011 = 2.0;
double r89012 = r89010 / r89011;
double r89013 = cos(r89012);
double r89014 = r89009 * r89013;
double r89015 = r88996 * r89014;
double r89016 = U;
double r89017 = r89015 + r89016;
return r89017;
}



Bits error versus J



Bits error versus l



Bits error versus K



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