\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} + \ell \cdot \left(\left(\frac{1}{3} \cdot \ell\right) \cdot \ell + 2\right)\right)\right) + Udouble f(double J, double l, double K, double U) {
double r3690625 = J;
double r3690626 = l;
double r3690627 = exp(r3690626);
double r3690628 = -r3690626;
double r3690629 = exp(r3690628);
double r3690630 = r3690627 - r3690629;
double r3690631 = r3690625 * r3690630;
double r3690632 = K;
double r3690633 = 2.0;
double r3690634 = r3690632 / r3690633;
double r3690635 = cos(r3690634);
double r3690636 = r3690631 * r3690635;
double r3690637 = U;
double r3690638 = r3690636 + r3690637;
return r3690638;
}
double f(double J, double l, double K, double U) {
double r3690639 = J;
double r3690640 = K;
double r3690641 = 2.0;
double r3690642 = r3690640 / r3690641;
double r3690643 = cos(r3690642);
double r3690644 = 0.016666666666666666;
double r3690645 = l;
double r3690646 = 5.0;
double r3690647 = pow(r3690645, r3690646);
double r3690648 = r3690644 * r3690647;
double r3690649 = 0.3333333333333333;
double r3690650 = r3690649 * r3690645;
double r3690651 = r3690650 * r3690645;
double r3690652 = r3690651 + r3690641;
double r3690653 = r3690645 * r3690652;
double r3690654 = r3690648 + r3690653;
double r3690655 = r3690643 * r3690654;
double r3690656 = r3690639 * r3690655;
double r3690657 = U;
double r3690658 = r3690656 + r3690657;
return r3690658;
}



Bits error versus J



Bits error versus l



Bits error versus K



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