\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 r96674 = J;
double r96675 = l;
double r96676 = exp(r96675);
double r96677 = -r96675;
double r96678 = exp(r96677);
double r96679 = r96676 - r96678;
double r96680 = r96674 * r96679;
double r96681 = K;
double r96682 = 2.0;
double r96683 = r96681 / r96682;
double r96684 = cos(r96683);
double r96685 = r96680 * r96684;
double r96686 = U;
double r96687 = r96685 + r96686;
return r96687;
}
double f(double J, double l, double K, double U) {
double r96688 = J;
double r96689 = 0.3333333333333333;
double r96690 = l;
double r96691 = 3.0;
double r96692 = pow(r96690, r96691);
double r96693 = r96689 * r96692;
double r96694 = 0.016666666666666666;
double r96695 = 5.0;
double r96696 = pow(r96690, r96695);
double r96697 = r96694 * r96696;
double r96698 = 2.0;
double r96699 = r96698 * r96690;
double r96700 = r96697 + r96699;
double r96701 = r96693 + r96700;
double r96702 = K;
double r96703 = 2.0;
double r96704 = r96702 / r96703;
double r96705 = cos(r96704);
double r96706 = r96701 * r96705;
double r96707 = r96688 * r96706;
double r96708 = U;
double r96709 = r96707 + r96708;
return r96709;
}



Bits error versus J



Bits error versus l



Bits error versus K



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