Average Error: 15.2 → 1.2
Time: 31.1s
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 r2068395 = K;
        double r2068396 = m;
        double r2068397 = n;
        double r2068398 = r2068396 + r2068397;
        double r2068399 = r2068395 * r2068398;
        double r2068400 = 2.0;
        double r2068401 = r2068399 / r2068400;
        double r2068402 = M;
        double r2068403 = r2068401 - r2068402;
        double r2068404 = cos(r2068403);
        double r2068405 = r2068398 / r2068400;
        double r2068406 = r2068405 - r2068402;
        double r2068407 = pow(r2068406, r2068400);
        double r2068408 = -r2068407;
        double r2068409 = l;
        double r2068410 = r2068396 - r2068397;
        double r2068411 = fabs(r2068410);
        double r2068412 = r2068409 - r2068411;
        double r2068413 = r2068408 - r2068412;
        double r2068414 = exp(r2068413);
        double r2068415 = r2068404 * r2068414;
        return r2068415;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r2068416 = m;
        double r2068417 = n;
        double r2068418 = r2068416 + r2068417;
        double r2068419 = 2.0;
        double r2068420 = r2068418 / r2068419;
        double r2068421 = M;
        double r2068422 = r2068420 - r2068421;
        double r2068423 = pow(r2068422, r2068419);
        double r2068424 = -r2068423;
        double r2068425 = l;
        double r2068426 = r2068416 - r2068417;
        double r2068427 = fabs(r2068426);
        double r2068428 = r2068425 - r2068427;
        double r2068429 = r2068424 - r2068428;
        double r2068430 = exp(r2068429);
        return r2068430;
}

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. Taylor expanded around 0 1.2

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

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

Reproduce

herbie shell --seed 2019151 +o rules:numerics
(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)))))))