\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(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}double f(double K, double m, double n, double M, double l) {
double r151513 = K;
double r151514 = m;
double r151515 = n;
double r151516 = r151514 + r151515;
double r151517 = r151513 * r151516;
double r151518 = 2.0;
double r151519 = r151517 / r151518;
double r151520 = M;
double r151521 = r151519 - r151520;
double r151522 = cos(r151521);
double r151523 = r151516 / r151518;
double r151524 = r151523 - r151520;
double r151525 = pow(r151524, r151518);
double r151526 = -r151525;
double r151527 = l;
double r151528 = r151514 - r151515;
double r151529 = fabs(r151528);
double r151530 = r151527 - r151529;
double r151531 = r151526 - r151530;
double r151532 = exp(r151531);
double r151533 = r151522 * r151532;
return r151533;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r151534 = m;
double r151535 = n;
double r151536 = r151534 + r151535;
double r151537 = 2.0;
double r151538 = r151536 / r151537;
double r151539 = M;
double r151540 = r151538 - r151539;
double r151541 = pow(r151540, r151537);
double r151542 = -r151541;
double r151543 = l;
double r151544 = r151534 - r151535;
double r151545 = fabs(r151544);
double r151546 = r151543 - r151545;
double r151547 = r151542 - r151546;
double r151548 = exp(r151547);
return r151548;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.3
Taylor expanded around 0 1.1
Final simplification1.1
herbie shell --seed 2020056
(FPCore (K m n M l)
:name "Maksimov and Kolovsky, Equation (32)"
:precision binary64
(* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))