\left(J \cdot \left(e^{\ell} - e^{-\ell}\right)\right) \cdot \cos \left(\frac{K}{2}\right) + U\left(J \cdot \left(\ell \cdot 2 + \left({\ell}^{5} \cdot \frac{1}{60} + {\ell}^{3} \cdot \frac{1}{3}\right)\right)\right) \cdot \cos \left(\frac{K}{2}\right) + Udouble f(double J, double l, double K, double U) {
double r83336 = J;
double r83337 = l;
double r83338 = exp(r83337);
double r83339 = -r83337;
double r83340 = exp(r83339);
double r83341 = r83338 - r83340;
double r83342 = r83336 * r83341;
double r83343 = K;
double r83344 = 2.0;
double r83345 = r83343 / r83344;
double r83346 = cos(r83345);
double r83347 = r83342 * r83346;
double r83348 = U;
double r83349 = r83347 + r83348;
return r83349;
}
double f(double J, double l, double K, double U) {
double r83350 = J;
double r83351 = l;
double r83352 = 2.0;
double r83353 = r83351 * r83352;
double r83354 = 5.0;
double r83355 = pow(r83351, r83354);
double r83356 = 0.016666666666666666;
double r83357 = r83355 * r83356;
double r83358 = 3.0;
double r83359 = pow(r83351, r83358);
double r83360 = 0.3333333333333333;
double r83361 = r83359 * r83360;
double r83362 = r83357 + r83361;
double r83363 = r83353 + r83362;
double r83364 = r83350 * r83363;
double r83365 = K;
double r83366 = 2.0;
double r83367 = r83365 / r83366;
double r83368 = cos(r83367);
double r83369 = r83364 * r83368;
double r83370 = U;
double r83371 = r83369 + r83370;
return r83371;
}



Bits error versus J



Bits error versus l



Bits error versus K



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