\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(\sqrt[3]{{e}^{\left(\left(-{\left(\frac{n + m}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)\right)}} \cdot \sqrt[3]{{e}^{\left(\left(-{\left(\frac{n + m}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)\right)}}\right) \cdot \sqrt[3]{e^{\left(-{\left(\frac{n + m}{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 r4196495 = K;
double r4196496 = m;
double r4196497 = n;
double r4196498 = r4196496 + r4196497;
double r4196499 = r4196495 * r4196498;
double r4196500 = 2.0;
double r4196501 = r4196499 / r4196500;
double r4196502 = M;
double r4196503 = r4196501 - r4196502;
double r4196504 = cos(r4196503);
double r4196505 = r4196498 / r4196500;
double r4196506 = r4196505 - r4196502;
double r4196507 = pow(r4196506, r4196500);
double r4196508 = -r4196507;
double r4196509 = l;
double r4196510 = r4196496 - r4196497;
double r4196511 = fabs(r4196510);
double r4196512 = r4196509 - r4196511;
double r4196513 = r4196508 - r4196512;
double r4196514 = exp(r4196513);
double r4196515 = r4196504 * r4196514;
return r4196515;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r4196516 = exp(1.0);
double r4196517 = n;
double r4196518 = m;
double r4196519 = r4196517 + r4196518;
double r4196520 = 2.0;
double r4196521 = r4196519 / r4196520;
double r4196522 = M;
double r4196523 = r4196521 - r4196522;
double r4196524 = pow(r4196523, r4196520);
double r4196525 = -r4196524;
double r4196526 = l;
double r4196527 = r4196518 - r4196517;
double r4196528 = fabs(r4196527);
double r4196529 = r4196526 - r4196528;
double r4196530 = r4196525 - r4196529;
double r4196531 = pow(r4196516, r4196530);
double r4196532 = cbrt(r4196531);
double r4196533 = r4196532 * r4196532;
double r4196534 = exp(r4196530);
double r4196535 = cbrt(r4196534);
double r4196536 = r4196533 * r4196535;
return r4196536;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 15.6
Taylor expanded around 0 1.4
rmApplied *-un-lft-identity1.4
Applied exp-prod1.4
Simplified1.4
rmApplied add-cube-cbrt1.4
rmApplied e-exp-11.4
Applied pow-exp1.4
Final simplification1.4
herbie shell --seed 2019172 +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)))))))