\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|m - n\right| - \ell\right) - \left(\frac{n + m}{2} - M\right) \cdot \left(\frac{n + m}{2} - M\right)} \cdot \cos \left(-M\right)double f(double K, double m, double n, double M, double l) {
double r3358972 = K;
double r3358973 = m;
double r3358974 = n;
double r3358975 = r3358973 + r3358974;
double r3358976 = r3358972 * r3358975;
double r3358977 = 2.0;
double r3358978 = r3358976 / r3358977;
double r3358979 = M;
double r3358980 = r3358978 - r3358979;
double r3358981 = cos(r3358980);
double r3358982 = r3358975 / r3358977;
double r3358983 = r3358982 - r3358979;
double r3358984 = pow(r3358983, r3358977);
double r3358985 = -r3358984;
double r3358986 = l;
double r3358987 = r3358973 - r3358974;
double r3358988 = fabs(r3358987);
double r3358989 = r3358986 - r3358988;
double r3358990 = r3358985 - r3358989;
double r3358991 = exp(r3358990);
double r3358992 = r3358981 * r3358991;
return r3358992;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r3358993 = m;
double r3358994 = n;
double r3358995 = r3358993 - r3358994;
double r3358996 = fabs(r3358995);
double r3358997 = l;
double r3358998 = r3358996 - r3358997;
double r3358999 = r3358994 + r3358993;
double r3359000 = 2.0;
double r3359001 = r3358999 / r3359000;
double r3359002 = M;
double r3359003 = r3359001 - r3359002;
double r3359004 = r3359003 * r3359003;
double r3359005 = r3358998 - r3359004;
double r3359006 = exp(r3359005);
double r3359007 = -r3359002;
double r3359008 = cos(r3359007);
double r3359009 = r3359006 * r3359008;
return r3359009;
}



Bits error versus K



Bits error versus m



Bits error versus n



Bits error versus M



Bits error versus l
Results
Initial program 14.6
Simplified14.6
Taylor expanded around 0 1.2
Final simplification1.2
herbie shell --seed 2019134
(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)))))))