\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)}{\left(e^{1}\right)}^{\left(0 - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)\right)\right)}double f(double K, double m, double n, double M, double l) {
double r115418 = K;
double r115419 = m;
double r115420 = n;
double r115421 = r115419 + r115420;
double r115422 = r115418 * r115421;
double r115423 = 2.0;
double r115424 = r115422 / r115423;
double r115425 = M;
double r115426 = r115424 - r115425;
double r115427 = cos(r115426);
double r115428 = r115421 / r115423;
double r115429 = r115428 - r115425;
double r115430 = pow(r115429, r115423);
double r115431 = -r115430;
double r115432 = l;
double r115433 = r115419 - r115420;
double r115434 = fabs(r115433);
double r115435 = r115432 - r115434;
double r115436 = r115431 - r115435;
double r115437 = exp(r115436);
double r115438 = r115427 * r115437;
return r115438;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r115439 = 1.0;
double r115440 = exp(r115439);
double r115441 = 0.0;
double r115442 = m;
double r115443 = n;
double r115444 = r115442 + r115443;
double r115445 = 2.0;
double r115446 = r115444 / r115445;
double r115447 = M;
double r115448 = r115446 - r115447;
double r115449 = pow(r115448, r115445);
double r115450 = l;
double r115451 = r115442 - r115443;
double r115452 = fabs(r115451);
double r115453 = r115450 - r115452;
double r115454 = r115449 + r115453;
double r115455 = r115441 - r115454;
double r115456 = pow(r115440, r115455);
return r115456;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.0
Simplified15.0
Taylor expanded around 0 1.4
rmApplied *-un-lft-identity1.4
Applied exp-prod1.4
Applied pow-flip1.4
Simplified1.4
Final simplification1.4
herbie shell --seed 2019354
(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)))))))