\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + UU + J \cdot \left(\left(\frac{1}{3} \cdot \left(\ell \cdot \left(\ell \cdot \ell\right)\right) + \left(\ell \cdot 2 + \left(\left(\ell \cdot \ell\right) \cdot \left(\ell \cdot \left(\ell \cdot \ell\right)\right)\right) \cdot \frac{1}{60}\right)\right) \cdot \cos \left(\frac{K}{2}\right)\right)double f(double J, double l, double K, double U) {
double r3199682 = J;
double r3199683 = l;
double r3199684 = exp(r3199683);
double r3199685 = -r3199683;
double r3199686 = exp(r3199685);
double r3199687 = r3199684 - r3199686;
double r3199688 = r3199682 * r3199687;
double r3199689 = K;
double r3199690 = 2.0;
double r3199691 = r3199689 / r3199690;
double r3199692 = cos(r3199691);
double r3199693 = r3199688 * r3199692;
double r3199694 = U;
double r3199695 = r3199693 + r3199694;
return r3199695;
}
double f(double J, double l, double K, double U) {
double r3199696 = U;
double r3199697 = J;
double r3199698 = 0.3333333333333333;
double r3199699 = l;
double r3199700 = r3199699 * r3199699;
double r3199701 = r3199699 * r3199700;
double r3199702 = r3199698 * r3199701;
double r3199703 = 2.0;
double r3199704 = r3199699 * r3199703;
double r3199705 = r3199700 * r3199701;
double r3199706 = 0.016666666666666666;
double r3199707 = r3199705 * r3199706;
double r3199708 = r3199704 + r3199707;
double r3199709 = r3199702 + r3199708;
double r3199710 = K;
double r3199711 = r3199710 / r3199703;
double r3199712 = cos(r3199711);
double r3199713 = r3199709 * r3199712;
double r3199714 = r3199697 * r3199713;
double r3199715 = r3199696 + r3199714;
return r3199715;
}



Bits error versus J



Bits error versus l



Bits error versus K



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