\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|m - n\right| - {\left(\frac{m + n}{2} - M\right)}^{2}\right) - \ell\right)}} \cdot \sqrt[3]{{e}^{\left(\left(\left|m - n\right| - {\left(\frac{m + n}{2} - M\right)}^{2}\right) - \ell\right)}}\right) \cdot \sqrt[3]{e^{\left(\left|m - n\right| - {\left(\frac{m + n}{2} - M\right)}^{2}\right) - \ell}}double f(double K, double m, double n, double M, double l) {
double r6272892 = K;
double r6272893 = m;
double r6272894 = n;
double r6272895 = r6272893 + r6272894;
double r6272896 = r6272892 * r6272895;
double r6272897 = 2.0;
double r6272898 = r6272896 / r6272897;
double r6272899 = M;
double r6272900 = r6272898 - r6272899;
double r6272901 = cos(r6272900);
double r6272902 = r6272895 / r6272897;
double r6272903 = r6272902 - r6272899;
double r6272904 = pow(r6272903, r6272897);
double r6272905 = -r6272904;
double r6272906 = l;
double r6272907 = r6272893 - r6272894;
double r6272908 = fabs(r6272907);
double r6272909 = r6272906 - r6272908;
double r6272910 = r6272905 - r6272909;
double r6272911 = exp(r6272910);
double r6272912 = r6272901 * r6272911;
return r6272912;
}
double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
double r6272913 = exp(1.0);
double r6272914 = m;
double r6272915 = n;
double r6272916 = r6272914 - r6272915;
double r6272917 = fabs(r6272916);
double r6272918 = r6272914 + r6272915;
double r6272919 = 2.0;
double r6272920 = r6272918 / r6272919;
double r6272921 = M;
double r6272922 = r6272920 - r6272921;
double r6272923 = pow(r6272922, r6272919);
double r6272924 = r6272917 - r6272923;
double r6272925 = l;
double r6272926 = r6272924 - r6272925;
double r6272927 = pow(r6272913, r6272926);
double r6272928 = cbrt(r6272927);
double r6272929 = r6272928 * r6272928;
double r6272930 = exp(r6272926);
double r6272931 = cbrt(r6272930);
double r6272932 = r6272929 * r6272931;
return r6272932;
}



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
Simplified15.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
(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)))))))