\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)}\frac{\cos \left(-M\right)}{e^{\left(\ell - \left|m - n\right|\right) + {\left(\frac{n + m}{2} - M\right)}^{2}}}double f(double K, double m, double n, double M, double l) {
double r4688369 = K;
double r4688370 = m;
double r4688371 = n;
double r4688372 = r4688370 + r4688371;
double r4688373 = r4688369 * r4688372;
double r4688374 = 2.0;
double r4688375 = r4688373 / r4688374;
double r4688376 = M;
double r4688377 = r4688375 - r4688376;
double r4688378 = cos(r4688377);
double r4688379 = r4688372 / r4688374;
double r4688380 = r4688379 - r4688376;
double r4688381 = pow(r4688380, r4688374);
double r4688382 = -r4688381;
double r4688383 = l;
double r4688384 = r4688370 - r4688371;
double r4688385 = fabs(r4688384);
double r4688386 = r4688383 - r4688385;
double r4688387 = r4688382 - r4688386;
double r4688388 = exp(r4688387);
double r4688389 = r4688378 * r4688388;
return r4688389;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r4688390 = M;
double r4688391 = -r4688390;
double r4688392 = cos(r4688391);
double r4688393 = l;
double r4688394 = m;
double r4688395 = n;
double r4688396 = r4688394 - r4688395;
double r4688397 = fabs(r4688396);
double r4688398 = r4688393 - r4688397;
double r4688399 = r4688395 + r4688394;
double r4688400 = 2.0;
double r4688401 = r4688399 / r4688400;
double r4688402 = r4688401 - r4688390;
double r4688403 = pow(r4688402, r4688400);
double r4688404 = r4688398 + r4688403;
double r4688405 = exp(r4688404);
double r4688406 = r4688392 / r4688405;
return r4688406;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.1
Simplified15.1
Taylor expanded around 0 1.3
Final simplification1.3
herbie shell --seed 2019200 +o rules:numerics
(FPCore (K m n M l)
:name "Maksimov and Kolovsky, Equation (32)"
(* (cos (- (/ (* K (+ m n)) 2.0) M)) (exp (- (- (pow (- (/ (+ m n) 2.0) M) 2.0)) (- l (fabs (- m n)))))))