Average Error: 15.3 → 1.1
Time: 7.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 r151119 = K;
        double r151120 = m;
        double r151121 = n;
        double r151122 = r151120 + r151121;
        double r151123 = r151119 * r151122;
        double r151124 = 2.0;
        double r151125 = r151123 / r151124;
        double r151126 = M;
        double r151127 = r151125 - r151126;
        double r151128 = cos(r151127);
        double r151129 = r151122 / r151124;
        double r151130 = r151129 - r151126;
        double r151131 = pow(r151130, r151124);
        double r151132 = -r151131;
        double r151133 = l;
        double r151134 = r151120 - r151121;
        double r151135 = fabs(r151134);
        double r151136 = r151133 - r151135;
        double r151137 = r151132 - r151136;
        double r151138 = exp(r151137);
        double r151139 = r151128 * r151138;
        return r151139;
}

double f(double __attribute__((unused)) K, double m, double n, double M, double l) {
        double r151140 = m;
        double r151141 = n;
        double r151142 = r151140 + r151141;
        double r151143 = 2.0;
        double r151144 = r151142 / r151143;
        double r151145 = M;
        double r151146 = r151144 - r151145;
        double r151147 = pow(r151146, r151143);
        double r151148 = -r151147;
        double r151149 = l;
        double r151150 = r151140 - r151141;
        double r151151 = fabs(r151150);
        double r151152 = r151149 - r151151;
        double r151153 = r151148 - r151152;
        double r151154 = exp(r151153);
        return r151154;
}

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

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

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

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

Reproduce

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