\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(J \cdot \left(\log \left(\sqrt[3]{e^{{\ell}^{3}}}\right) + \left(\frac{1}{60} \cdot {\ell}^{5} + 2 \cdot \ell\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r79157 = J;
double r79158 = l;
double r79159 = exp(r79158);
double r79160 = -r79158;
double r79161 = exp(r79160);
double r79162 = r79159 - r79161;
double r79163 = r79157 * r79162;
double r79164 = K;
double r79165 = 2.0;
double r79166 = r79164 / r79165;
double r79167 = cos(r79166);
double r79168 = r79163 * r79167;
double r79169 = U;
double r79170 = r79168 + r79169;
return r79170;
}
double f(double J, double l, double K, double U) {
double r79171 = J;
double r79172 = l;
double r79173 = 3.0;
double r79174 = pow(r79172, r79173);
double r79175 = exp(r79174);
double r79176 = cbrt(r79175);
double r79177 = log(r79176);
double r79178 = 0.016666666666666666;
double r79179 = 5.0;
double r79180 = pow(r79172, r79179);
double r79181 = r79178 * r79180;
double r79182 = 2.0;
double r79183 = r79182 * r79172;
double r79184 = r79181 + r79183;
double r79185 = r79177 + r79184;
double r79186 = r79171 * r79185;
double r79187 = K;
double r79188 = 2.0;
double r79189 = r79187 / r79188;
double r79190 = cos(r79189);
double r79191 = r79186 * r79190;
double r79192 = U;
double r79193 = r79191 + r79192;
return r79193;
}



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.3
rmApplied add-log-exp0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019199
(FPCore (J l K U)
:name "Maksimov and Kolovsky, Equation (4)"
(+ (* (* J (- (exp l) (exp (- l)))) (cos (/ K 2.0))) U))