Average Error: 14.9 → 1.2
Time: 29.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)}\]
\[\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 r7903533 = K;
        double r7903534 = m;
        double r7903535 = n;
        double r7903536 = r7903534 + r7903535;
        double r7903537 = r7903533 * r7903536;
        double r7903538 = 2.0;
        double r7903539 = r7903537 / r7903538;
        double r7903540 = M;
        double r7903541 = r7903539 - r7903540;
        double r7903542 = cos(r7903541);
        double r7903543 = r7903536 / r7903538;
        double r7903544 = r7903543 - r7903540;
        double r7903545 = pow(r7903544, r7903538);
        double r7903546 = -r7903545;
        double r7903547 = l;
        double r7903548 = r7903534 - r7903535;
        double r7903549 = fabs(r7903548);
        double r7903550 = r7903547 - r7903549;
        double r7903551 = r7903546 - r7903550;
        double r7903552 = exp(r7903551);
        double r7903553 = r7903542 * r7903552;
        return r7903553;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r7903554 = 1.0;
        double r7903555 = m;
        double r7903556 = n;
        double r7903557 = r7903555 + r7903556;
        double r7903558 = 2.0;
        double r7903559 = r7903557 / r7903558;
        double r7903560 = M;
        double r7903561 = r7903559 - r7903560;
        double r7903562 = pow(r7903561, r7903558);
        double r7903563 = l;
        double r7903564 = r7903555 - r7903556;
        double r7903565 = fabs(r7903564);
        double r7903566 = r7903563 - r7903565;
        double r7903567 = r7903562 + r7903566;
        double r7903568 = exp(r7903567);
        double r7903569 = r7903554 / r7903568;
        return r7903569;
}

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 14.9

    \[\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. Simplified14.9

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

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

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

Reproduce

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