\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right) \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}e^{\left|m - n\right| - \left(\ell + \left(\frac{n + m}{2} - M\right) \cdot \left(\frac{n + m}{2} - M\right)\right)}double f(double K, double m, double n, double M, double l) {
double r10125267 = K;
double r10125268 = m;
double r10125269 = n;
double r10125270 = r10125268 + r10125269;
double r10125271 = r10125267 * r10125270;
double r10125272 = 2.0;
double r10125273 = r10125271 / r10125272;
double r10125274 = M;
double r10125275 = r10125273 - r10125274;
double r10125276 = cos(r10125275);
double r10125277 = r10125270 / r10125272;
double r10125278 = r10125277 - r10125274;
double r10125279 = pow(r10125278, r10125272);
double r10125280 = -r10125279;
double r10125281 = l;
double r10125282 = r10125268 - r10125269;
double r10125283 = fabs(r10125282);
double r10125284 = r10125281 - r10125283;
double r10125285 = r10125280 - r10125284;
double r10125286 = exp(r10125285);
double r10125287 = r10125276 * r10125286;
return r10125287;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r10125288 = m;
double r10125289 = n;
double r10125290 = r10125288 - r10125289;
double r10125291 = fabs(r10125290);
double r10125292 = l;
double r10125293 = r10125289 + r10125288;
double r10125294 = 2.0;
double r10125295 = r10125293 / r10125294;
double r10125296 = M;
double r10125297 = r10125295 - r10125296;
double r10125298 = r10125297 * r10125297;
double r10125299 = r10125292 + r10125298;
double r10125300 = r10125291 - r10125299;
double r10125301 = exp(r10125300);
return r10125301;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.4
Simplified15.4
Taylor expanded around 0 1.4
rmApplied 1-exp1.4
Applied div-exp1.4
Simplified1.4
Final simplification1.4
herbie shell --seed 2019124
(FPCore (K m n M l)
:name "Maksimov and Kolovsky, Equation (32)"
(* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))