\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(\frac{1}{60} \cdot {\ell}^{5} + \left(\ell \cdot \left(\frac{1}{3} \cdot \ell\right) + 2\right) \cdot \ell\right)\right) + Udouble f(double J, double l, double K, double U) {
double r3887574 = J;
double r3887575 = l;
double r3887576 = exp(r3887575);
double r3887577 = -r3887575;
double r3887578 = exp(r3887577);
double r3887579 = r3887576 - r3887578;
double r3887580 = r3887574 * r3887579;
double r3887581 = K;
double r3887582 = 2.0;
double r3887583 = r3887581 / r3887582;
double r3887584 = cos(r3887583);
double r3887585 = r3887580 * r3887584;
double r3887586 = U;
double r3887587 = r3887585 + r3887586;
return r3887587;
}
double f(double J, double l, double K, double U) {
double r3887588 = J;
double r3887589 = K;
double r3887590 = 2.0;
double r3887591 = r3887589 / r3887590;
double r3887592 = cos(r3887591);
double r3887593 = 0.016666666666666666;
double r3887594 = l;
double r3887595 = 5.0;
double r3887596 = pow(r3887594, r3887595);
double r3887597 = r3887593 * r3887596;
double r3887598 = 0.3333333333333333;
double r3887599 = r3887598 * r3887594;
double r3887600 = r3887594 * r3887599;
double r3887601 = r3887600 + r3887590;
double r3887602 = r3887601 * r3887594;
double r3887603 = r3887597 + r3887602;
double r3887604 = r3887592 * r3887603;
double r3887605 = r3887588 * r3887604;
double r3887606 = U;
double r3887607 = r3887605 + r3887606;
return r3887607;
}



Bits error versus J



Bits error versus l



Bits error versus K



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