\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U2 \cdot \left(J \cdot \left(\cos \left(0.5 \cdot K\right) \cdot \ell\right)\right) + U
double f(double J, double l, double K, double U) {
double r167820 = J;
double r167821 = l;
double r167822 = exp(r167821);
double r167823 = -r167821;
double r167824 = exp(r167823);
double r167825 = r167822 - r167824;
double r167826 = r167820 * r167825;
double r167827 = K;
double r167828 = 2.0;
double r167829 = r167827 / r167828;
double r167830 = cos(r167829);
double r167831 = r167826 * r167830;
double r167832 = U;
double r167833 = r167831 + r167832;
return r167833;
}
double f(double J, double l, double K, double U) {
double r167834 = 2.0;
double r167835 = J;
double r167836 = 0.5;
double r167837 = K;
double r167838 = r167836 * r167837;
double r167839 = cos(r167838);
double r167840 = l;
double r167841 = r167839 * r167840;
double r167842 = r167835 * r167841;
double r167843 = r167834 * r167842;
double r167844 = U;
double r167845 = r167843 + r167844;
return r167845;
}



Bits error versus J



Bits error versus l



Bits error versus K



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