Average Error: 15.3 → 1.1
Time: 5.4s
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 r151513 = K;
        double r151514 = m;
        double r151515 = n;
        double r151516 = r151514 + r151515;
        double r151517 = r151513 * r151516;
        double r151518 = 2.0;
        double r151519 = r151517 / r151518;
        double r151520 = M;
        double r151521 = r151519 - r151520;
        double r151522 = cos(r151521);
        double r151523 = r151516 / r151518;
        double r151524 = r151523 - r151520;
        double r151525 = pow(r151524, r151518);
        double r151526 = -r151525;
        double r151527 = l;
        double r151528 = r151514 - r151515;
        double r151529 = fabs(r151528);
        double r151530 = r151527 - r151529;
        double r151531 = r151526 - r151530;
        double r151532 = exp(r151531);
        double r151533 = r151522 * r151532;
        return r151533;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r151534 = m;
        double r151535 = n;
        double r151536 = r151534 + r151535;
        double r151537 = 2.0;
        double r151538 = r151536 / r151537;
        double r151539 = M;
        double r151540 = r151538 - r151539;
        double r151541 = pow(r151540, r151537);
        double r151542 = -r151541;
        double r151543 = l;
        double r151544 = r151534 - r151535;
        double r151545 = fabs(r151544);
        double r151546 = r151543 - r151545;
        double r151547 = r151542 - r151546;
        double r151548 = exp(r151547);
        return r151548;
}

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

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

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

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

Reproduce

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