Average Error: 15.2 → 1.3
Time: 6.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 r154105 = K;
        double r154106 = m;
        double r154107 = n;
        double r154108 = r154106 + r154107;
        double r154109 = r154105 * r154108;
        double r154110 = 2.0;
        double r154111 = r154109 / r154110;
        double r154112 = M;
        double r154113 = r154111 - r154112;
        double r154114 = cos(r154113);
        double r154115 = r154108 / r154110;
        double r154116 = r154115 - r154112;
        double r154117 = pow(r154116, r154110);
        double r154118 = -r154117;
        double r154119 = l;
        double r154120 = r154106 - r154107;
        double r154121 = fabs(r154120);
        double r154122 = r154119 - r154121;
        double r154123 = r154118 - r154122;
        double r154124 = exp(r154123);
        double r154125 = r154114 * r154124;
        return r154125;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r154126 = m;
        double r154127 = n;
        double r154128 = r154126 + r154127;
        double r154129 = 2.0;
        double r154130 = r154128 / r154129;
        double r154131 = M;
        double r154132 = r154130 - r154131;
        double r154133 = pow(r154132, r154129);
        double r154134 = -r154133;
        double r154135 = l;
        double r154136 = r154126 - r154127;
        double r154137 = fabs(r154136);
        double r154138 = r154135 - r154137;
        double r154139 = r154134 - r154138;
        double r154140 = exp(r154139);
        return r154140;
}

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

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

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

Reproduce

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