Average Error: 15.5 → 1.3
Time: 31.2s
Precision: 64
\[\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)}\]
\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 r123110 = K;
        double r123111 = m;
        double r123112 = n;
        double r123113 = r123111 + r123112;
        double r123114 = r123110 * r123113;
        double r123115 = 2.0;
        double r123116 = r123114 / r123115;
        double r123117 = M;
        double r123118 = r123116 - r123117;
        double r123119 = cos(r123118);
        double r123120 = r123113 / r123115;
        double r123121 = r123120 - r123117;
        double r123122 = pow(r123121, r123115);
        double r123123 = -r123122;
        double r123124 = l;
        double r123125 = r123111 - r123112;
        double r123126 = fabs(r123125);
        double r123127 = r123124 - r123126;
        double r123128 = r123123 - r123127;
        double r123129 = exp(r123128);
        double r123130 = r123119 * r123129;
        return r123130;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r123131 = m;
        double r123132 = n;
        double r123133 = r123131 + r123132;
        double r123134 = 2.0;
        double r123135 = r123133 / r123134;
        double r123136 = M;
        double r123137 = r123135 - r123136;
        double r123138 = pow(r123137, r123134);
        double r123139 = -r123138;
        double r123140 = l;
        double r123141 = r123131 - r123132;
        double r123142 = fabs(r123141);
        double r123143 = r123140 - r123142;
        double r123144 = r123139 - r123143;
        double r123145 = exp(r123144);
        return r123145;
}

Error

Bits error versus K

Bits error versus m

Bits error versus n

Bits error versus M

Bits error versus l

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.5

    \[\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)}\]
  2. Taylor expanded around 0 1.3

    \[\leadsto \color{blue}{1} \cdot e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]
  3. Final simplification1.3

    \[\leadsto e^{\left(-{\left(\frac{m + n}{2} - M\right)}^{2}\right) - \left(\ell - \left|m - n\right|\right)}\]

Reproduce

herbie shell --seed 2019303 
(FPCore (K m n M l)
  :name "Maksimov and Kolovsky, Equation (32)"
  :precision binary64
  (* (cos (- (/ (* K (+ m n)) 2) M)) (exp (- (- (pow (- (/ (+ m n) 2) M) 2)) (- l (fabs (- m n)))))))