\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(J \cdot \left(\frac{1}{3} \cdot {\ell}^{3} + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r121690 = J;
double r121691 = l;
double r121692 = exp(r121691);
double r121693 = -r121691;
double r121694 = exp(r121693);
double r121695 = r121692 - r121694;
double r121696 = r121690 * r121695;
double r121697 = K;
double r121698 = 2.0;
double r121699 = r121697 / r121698;
double r121700 = cos(r121699);
double r121701 = r121696 * r121700;
double r121702 = U;
double r121703 = r121701 + r121702;
return r121703;
}
double f(double J, double l, double K, double U) {
double r121704 = J;
double r121705 = 0.3333333333333333;
double r121706 = l;
double r121707 = 3.0;
double r121708 = pow(r121706, r121707);
double r121709 = r121705 * r121708;
double r121710 = 0.016666666666666666;
double r121711 = 5.0;
double r121712 = pow(r121706, r121711);
double r121713 = r121710 * r121712;
double r121714 = 2.0;
double r121715 = r121714 * r121706;
double r121716 = r121713 + r121715;
double r121717 = r121709 + r121716;
double r121718 = r121704 * r121717;
double r121719 = K;
double r121720 = 2.0;
double r121721 = r121719 / r121720;
double r121722 = cos(r121721);
double r121723 = r121718 * r121722;
double r121724 = U;
double r121725 = r121723 + r121724;
return r121725;
}



Bits error versus J



Bits error versus l



Bits error versus K



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