Average Error: 15.7 → 1.6
Time: 5.9s
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 r155249 = K;
        double r155250 = m;
        double r155251 = n;
        double r155252 = r155250 + r155251;
        double r155253 = r155249 * r155252;
        double r155254 = 2.0;
        double r155255 = r155253 / r155254;
        double r155256 = M;
        double r155257 = r155255 - r155256;
        double r155258 = cos(r155257);
        double r155259 = r155252 / r155254;
        double r155260 = r155259 - r155256;
        double r155261 = pow(r155260, r155254);
        double r155262 = -r155261;
        double r155263 = l;
        double r155264 = r155250 - r155251;
        double r155265 = fabs(r155264);
        double r155266 = r155263 - r155265;
        double r155267 = r155262 - r155266;
        double r155268 = exp(r155267);
        double r155269 = r155258 * r155268;
        return r155269;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r155270 = m;
        double r155271 = n;
        double r155272 = r155270 + r155271;
        double r155273 = 2.0;
        double r155274 = r155272 / r155273;
        double r155275 = M;
        double r155276 = r155274 - r155275;
        double r155277 = pow(r155276, r155273);
        double r155278 = -r155277;
        double r155279 = l;
        double r155280 = r155270 - r155271;
        double r155281 = fabs(r155280);
        double r155282 = r155279 - r155281;
        double r155283 = r155278 - r155282;
        double r155284 = exp(r155283);
        return r155284;
}

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

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

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

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

Reproduce

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