Average Error: 15.2 → 1.4
Time: 12.7s
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)}\]
\[\frac{1}{e^{{\left(\frac{m + n}{2} - M\right)}^{2} + \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)}
\frac{1}{e^{{\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)}}
double f(double K, double m, double n, double M, double l) {
        double r104042 = K;
        double r104043 = m;
        double r104044 = n;
        double r104045 = r104043 + r104044;
        double r104046 = r104042 * r104045;
        double r104047 = 2.0;
        double r104048 = r104046 / r104047;
        double r104049 = M;
        double r104050 = r104048 - r104049;
        double r104051 = cos(r104050);
        double r104052 = r104045 / r104047;
        double r104053 = r104052 - r104049;
        double r104054 = pow(r104053, r104047);
        double r104055 = -r104054;
        double r104056 = l;
        double r104057 = r104043 - r104044;
        double r104058 = fabs(r104057);
        double r104059 = r104056 - r104058;
        double r104060 = r104055 - r104059;
        double r104061 = exp(r104060);
        double r104062 = r104051 * r104061;
        return r104062;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r104063 = 1.0;
        double r104064 = m;
        double r104065 = n;
        double r104066 = r104064 + r104065;
        double r104067 = 2.0;
        double r104068 = r104066 / r104067;
        double r104069 = M;
        double r104070 = r104068 - r104069;
        double r104071 = pow(r104070, r104067);
        double r104072 = l;
        double r104073 = r104064 - r104065;
        double r104074 = fabs(r104073);
        double r104075 = r104072 - r104074;
        double r104076 = r104071 + r104075;
        double r104077 = exp(r104076);
        double r104078 = r104063 / r104077;
        return r104078;
}

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.2

    \[\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. Simplified15.2

    \[\leadsto \color{blue}{\frac{\cos \left(\frac{K \cdot \left(m + n\right)}{2} - M\right)}{e^{{\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)}}}\]
  3. Taylor expanded around 0 1.4

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

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

Reproduce

herbie shell --seed 2019308 
(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)))))))