Average Error: 14.8 → 1.4
Time: 8.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 r112686 = K;
        double r112687 = m;
        double r112688 = n;
        double r112689 = r112687 + r112688;
        double r112690 = r112686 * r112689;
        double r112691 = 2.0;
        double r112692 = r112690 / r112691;
        double r112693 = M;
        double r112694 = r112692 - r112693;
        double r112695 = cos(r112694);
        double r112696 = r112689 / r112691;
        double r112697 = r112696 - r112693;
        double r112698 = pow(r112697, r112691);
        double r112699 = -r112698;
        double r112700 = l;
        double r112701 = r112687 - r112688;
        double r112702 = fabs(r112701);
        double r112703 = r112700 - r112702;
        double r112704 = r112699 - r112703;
        double r112705 = exp(r112704);
        double r112706 = r112695 * r112705;
        return r112706;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r112707 = m;
        double r112708 = n;
        double r112709 = r112707 + r112708;
        double r112710 = 2.0;
        double r112711 = r112709 / r112710;
        double r112712 = M;
        double r112713 = r112711 - r112712;
        double r112714 = pow(r112713, r112710);
        double r112715 = -r112714;
        double r112716 = l;
        double r112717 = r112707 - r112708;
        double r112718 = fabs(r112717);
        double r112719 = r112716 - r112718;
        double r112720 = r112715 - r112719;
        double r112721 = exp(r112720);
        return r112721;
}

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

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

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

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

Reproduce

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