Average Error: 15.0 → 1.4
Time: 8.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)}\]
\[{\left(e^{1}\right)}^{\left(0 - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)\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)}
{\left(e^{1}\right)}^{\left(0 - \left({\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)\right)\right)}
double f(double K, double m, double n, double M, double l) {
        double r115418 = K;
        double r115419 = m;
        double r115420 = n;
        double r115421 = r115419 + r115420;
        double r115422 = r115418 * r115421;
        double r115423 = 2.0;
        double r115424 = r115422 / r115423;
        double r115425 = M;
        double r115426 = r115424 - r115425;
        double r115427 = cos(r115426);
        double r115428 = r115421 / r115423;
        double r115429 = r115428 - r115425;
        double r115430 = pow(r115429, r115423);
        double r115431 = -r115430;
        double r115432 = l;
        double r115433 = r115419 - r115420;
        double r115434 = fabs(r115433);
        double r115435 = r115432 - r115434;
        double r115436 = r115431 - r115435;
        double r115437 = exp(r115436);
        double r115438 = r115427 * r115437;
        return r115438;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r115439 = 1.0;
        double r115440 = exp(r115439);
        double r115441 = 0.0;
        double r115442 = m;
        double r115443 = n;
        double r115444 = r115442 + r115443;
        double r115445 = 2.0;
        double r115446 = r115444 / r115445;
        double r115447 = M;
        double r115448 = r115446 - r115447;
        double r115449 = pow(r115448, r115445);
        double r115450 = l;
        double r115451 = r115442 - r115443;
        double r115452 = fabs(r115451);
        double r115453 = r115450 - r115452;
        double r115454 = r115449 + r115453;
        double r115455 = r115441 - r115454;
        double r115456 = pow(r115440, r115455);
        return r115456;
}

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

    \[\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. Simplified15.0

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

    \[\leadsto \frac{\color{blue}{1}}{e^{{\left(\frac{m + n}{2} - M\right)}^{2} + \left(\ell - \left|m - n\right|\right)}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity1.4

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

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

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

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

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

Reproduce

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