\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|m - n\right| - \mathsf{fma}\left(\left(\frac{n + m}{2} - M\right), \left(\frac{n + m}{2} - M\right), \ell\right)}double f(double K, double m, double n, double M, double l) {
double r14352969 = K;
double r14352970 = m;
double r14352971 = n;
double r14352972 = r14352970 + r14352971;
double r14352973 = r14352969 * r14352972;
double r14352974 = 2.0;
double r14352975 = r14352973 / r14352974;
double r14352976 = M;
double r14352977 = r14352975 - r14352976;
double r14352978 = cos(r14352977);
double r14352979 = r14352972 / r14352974;
double r14352980 = r14352979 - r14352976;
double r14352981 = pow(r14352980, r14352974);
double r14352982 = -r14352981;
double r14352983 = l;
double r14352984 = r14352970 - r14352971;
double r14352985 = fabs(r14352984);
double r14352986 = r14352983 - r14352985;
double r14352987 = r14352982 - r14352986;
double r14352988 = exp(r14352987);
double r14352989 = r14352978 * r14352988;
return r14352989;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r14352990 = m;
double r14352991 = n;
double r14352992 = r14352990 - r14352991;
double r14352993 = fabs(r14352992);
double r14352994 = r14352991 + r14352990;
double r14352995 = 2.0;
double r14352996 = r14352994 / r14352995;
double r14352997 = M;
double r14352998 = r14352996 - r14352997;
double r14352999 = l;
double r14353000 = fma(r14352998, r14352998, r14352999);
double r14353001 = r14352993 - r14353000;
double r14353002 = exp(r14353001);
return r14353002;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Initial program 15.4
Simplified15.4
Taylor expanded around 0 1.4
rmApplied add-exp-log1.4
Applied div-exp1.4
Simplified1.4
Final simplification1.4
herbie shell --seed 2019124 +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)))))))