Average Error: 14.9 → 1.2
Time: 24.3s
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|m - n\right| - \left(\ell + \left(\frac{m + n}{2} - M\right) \cdot \left(\frac{m + n}{2} - M\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|m - n\right| - \left(\ell + \left(\frac{m + n}{2} - M\right) \cdot \left(\frac{m + n}{2} - M\right)\right)}
double f(double K, double m, double n, double M, double l) {
        double r4364680 = K;
        double r4364681 = m;
        double r4364682 = n;
        double r4364683 = r4364681 + r4364682;
        double r4364684 = r4364680 * r4364683;
        double r4364685 = 2.0;
        double r4364686 = r4364684 / r4364685;
        double r4364687 = M;
        double r4364688 = r4364686 - r4364687;
        double r4364689 = cos(r4364688);
        double r4364690 = r4364683 / r4364685;
        double r4364691 = r4364690 - r4364687;
        double r4364692 = pow(r4364691, r4364685);
        double r4364693 = -r4364692;
        double r4364694 = l;
        double r4364695 = r4364681 - r4364682;
        double r4364696 = fabs(r4364695);
        double r4364697 = r4364694 - r4364696;
        double r4364698 = r4364693 - r4364697;
        double r4364699 = exp(r4364698);
        double r4364700 = r4364689 * r4364699;
        return r4364700;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r4364701 = m;
        double r4364702 = n;
        double r4364703 = r4364701 - r4364702;
        double r4364704 = fabs(r4364703);
        double r4364705 = l;
        double r4364706 = r4364701 + r4364702;
        double r4364707 = 2.0;
        double r4364708 = r4364706 / r4364707;
        double r4364709 = M;
        double r4364710 = r4364708 - r4364709;
        double r4364711 = r4364710 * r4364710;
        double r4364712 = r4364705 + r4364711;
        double r4364713 = r4364704 - r4364712;
        double r4364714 = exp(r4364713);
        return r4364714;
}

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}{\cos \left(\frac{\left(m + n\right) \cdot K}{2} - M\right) \cdot e^{\left|m - n\right| - \left(\ell + \left(\frac{m + n}{2} - M\right) \cdot \left(\frac{m + n}{2} - M\right)\right)}}\]
  3. Taylor expanded around 0 1.2

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

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

Reproduce

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