\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 r9182879 = K;
double r9182880 = m;
double r9182881 = n;
double r9182882 = r9182880 + r9182881;
double r9182883 = r9182879 * r9182882;
double r9182884 = 2.0;
double r9182885 = r9182883 / r9182884;
double r9182886 = M;
double r9182887 = r9182885 - r9182886;
double r9182888 = cos(r9182887);
double r9182889 = r9182882 / r9182884;
double r9182890 = r9182889 - r9182886;
double r9182891 = pow(r9182890, r9182884);
double r9182892 = -r9182891;
double r9182893 = l;
double r9182894 = r9182880 - r9182881;
double r9182895 = fabs(r9182894);
double r9182896 = r9182893 - r9182895;
double r9182897 = r9182892 - r9182896;
double r9182898 = exp(r9182897);
double r9182899 = r9182888 * r9182898;
return r9182899;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r9182900 = m;
double r9182901 = n;
double r9182902 = r9182900 + r9182901;
double r9182903 = 2.0;
double r9182904 = r9182902 / r9182903;
double r9182905 = M;
double r9182906 = r9182904 - r9182905;
double r9182907 = pow(r9182906, r9182903);
double r9182908 = -r9182907;
double r9182909 = l;
double r9182910 = r9182900 - r9182901;
double r9182911 = fabs(r9182910);
double r9182912 = r9182909 - r9182911;
double r9182913 = r9182908 - r9182912;
double r9182914 = exp(r9182913);
return r9182914;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 14.8
Taylor expanded around 0 1.5
Final simplification1.5
herbie shell --seed 2019107
(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)))))))