\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + \left(2 \cdot J\right) \cdot \left(\cos \left(\frac{K}{2}\right) \cdot \ell\right)double f(double J, double l, double K, double U) {
double r1582540 = J;
double r1582541 = l;
double r1582542 = exp(r1582541);
double r1582543 = -r1582541;
double r1582544 = exp(r1582543);
double r1582545 = r1582542 - r1582544;
double r1582546 = r1582540 * r1582545;
double r1582547 = K;
double r1582548 = 2.0;
double r1582549 = r1582547 / r1582548;
double r1582550 = cos(r1582549);
double r1582551 = r1582546 * r1582550;
double r1582552 = U;
double r1582553 = r1582551 + r1582552;
return r1582553;
}
double f(double J, double l, double K, double U) {
double r1582554 = U;
double r1582555 = 2.0;
double r1582556 = J;
double r1582557 = r1582555 * r1582556;
double r1582558 = K;
double r1582559 = r1582558 / r1582555;
double r1582560 = cos(r1582559);
double r1582561 = l;
double r1582562 = r1582560 * r1582561;
double r1582563 = r1582557 * r1582562;
double r1582564 = r1582554 + r1582563;
return r1582564;
}



Bits error versus J



Bits error versus l



Bits error versus K



Bits error versus U
Results
Initial program 17.0
Simplified17.0
Taylor expanded around 0 0.6
rmApplied add-sqr-sqrt0.9
Applied associate-*l*0.8
rmApplied *-un-lft-identity0.8
Applied associate-*l*0.8
Simplified0.6
Final simplification0.6
herbie shell --seed 2019156
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2))) U))