\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^{\mathsf{fma}\left(\left(\sqrt{\left|m - n\right|}\right), \left(\sqrt{\left|m - n\right|}\right), \left(-\mathsf{fma}\left(\left(\frac{n + m}{2} - M\right), \left(\frac{n + m}{2} - M\right), \ell\right)\right)\right)}double f(double K, double m, double n, double M, double l) {
double r4841477 = K;
double r4841478 = m;
double r4841479 = n;
double r4841480 = r4841478 + r4841479;
double r4841481 = r4841477 * r4841480;
double r4841482 = 2.0;
double r4841483 = r4841481 / r4841482;
double r4841484 = M;
double r4841485 = r4841483 - r4841484;
double r4841486 = cos(r4841485);
double r4841487 = r4841480 / r4841482;
double r4841488 = r4841487 - r4841484;
double r4841489 = pow(r4841488, r4841482);
double r4841490 = -r4841489;
double r4841491 = l;
double r4841492 = r4841478 - r4841479;
double r4841493 = fabs(r4841492);
double r4841494 = r4841491 - r4841493;
double r4841495 = r4841490 - r4841494;
double r4841496 = exp(r4841495);
double r4841497 = r4841486 * r4841496;
return r4841497;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r4841498 = m;
double r4841499 = n;
double r4841500 = r4841498 - r4841499;
double r4841501 = fabs(r4841500);
double r4841502 = sqrt(r4841501);
double r4841503 = r4841499 + r4841498;
double r4841504 = 2.0;
double r4841505 = r4841503 / r4841504;
double r4841506 = M;
double r4841507 = r4841505 - r4841506;
double r4841508 = l;
double r4841509 = fma(r4841507, r4841507, r4841508);
double r4841510 = -r4841509;
double r4841511 = fma(r4841502, r4841502, r4841510);
double r4841512 = exp(r4841511);
return r4841512;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Initial program 15.5
Simplified15.4
Taylor expanded around 0 1.5
rmApplied add-sqr-sqrt1.5
Applied fma-neg1.5
Final simplification1.5
herbie shell --seed 2019130 +o rules:numerics
(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)))))))