\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 r103101 = J;
double r103102 = l;
double r103103 = exp(r103102);
double r103104 = -r103102;
double r103105 = exp(r103104);
double r103106 = r103103 - r103105;
double r103107 = r103101 * r103106;
double r103108 = K;
double r103109 = 2.0;
double r103110 = r103108 / r103109;
double r103111 = cos(r103110);
double r103112 = r103107 * r103111;
double r103113 = U;
double r103114 = r103112 + r103113;
return r103114;
}
double f(double J, double l, double K, double U) {
double r103115 = J;
double r103116 = 0.3333333333333333;
double r103117 = l;
double r103118 = 3.0;
double r103119 = pow(r103117, r103118);
double r103120 = r103116 * r103119;
double r103121 = 0.016666666666666666;
double r103122 = 5.0;
double r103123 = pow(r103117, r103122);
double r103124 = r103121 * r103123;
double r103125 = 2.0;
double r103126 = r103125 * r103117;
double r103127 = r103124 + r103126;
double r103128 = r103120 + r103127;
double r103129 = K;
double r103130 = 2.0;
double r103131 = r103129 / r103130;
double r103132 = cos(r103131);
double r103133 = r103128 * r103132;
double r103134 = r103115 * r103133;
double r103135 = U;
double r103136 = r103134 + r103135;
return r103136;
}



Bits error versus J



Bits error versus l



Bits error versus K



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