Average Error: 29.3 → 0.9
Time: 28.6s
Precision: 64
\[\frac{\left(1 + \frac{1}{\varepsilon}\right) \cdot e^{-\left(1 - \varepsilon\right) \cdot x} - \left(\frac{1}{\varepsilon} - 1\right) \cdot e^{-\left(1 + \varepsilon\right) \cdot x}}{2}\]
\[\frac{\left(\left(\frac{e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}}{\varepsilon} - \frac{e^{\left(-x\right) \cdot \left(\varepsilon + 1\right)}}{\varepsilon}\right) + e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}\right) \cdot 1 + 1 \cdot e^{-\log \left(e^{\left(\varepsilon + 1\right) \cdot x}\right)}}{2}\]
\frac{\left(1 + \frac{1}{\varepsilon}\right) \cdot e^{-\left(1 - \varepsilon\right) \cdot x} - \left(\frac{1}{\varepsilon} - 1\right) \cdot e^{-\left(1 + \varepsilon\right) \cdot x}}{2}
\frac{\left(\left(\frac{e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}}{\varepsilon} - \frac{e^{\left(-x\right) \cdot \left(\varepsilon + 1\right)}}{\varepsilon}\right) + e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}\right) \cdot 1 + 1 \cdot e^{-\log \left(e^{\left(\varepsilon + 1\right) \cdot x}\right)}}{2}
double f(double x, double eps) {
        double r2351031 = 1.0;
        double r2351032 = eps;
        double r2351033 = r2351031 / r2351032;
        double r2351034 = r2351031 + r2351033;
        double r2351035 = r2351031 - r2351032;
        double r2351036 = x;
        double r2351037 = r2351035 * r2351036;
        double r2351038 = -r2351037;
        double r2351039 = exp(r2351038);
        double r2351040 = r2351034 * r2351039;
        double r2351041 = r2351033 - r2351031;
        double r2351042 = r2351031 + r2351032;
        double r2351043 = r2351042 * r2351036;
        double r2351044 = -r2351043;
        double r2351045 = exp(r2351044);
        double r2351046 = r2351041 * r2351045;
        double r2351047 = r2351040 - r2351046;
        double r2351048 = 2.0;
        double r2351049 = r2351047 / r2351048;
        return r2351049;
}

double f(double x, double eps) {
        double r2351050 = x;
        double r2351051 = -r2351050;
        double r2351052 = 1.0;
        double r2351053 = eps;
        double r2351054 = r2351052 - r2351053;
        double r2351055 = r2351051 * r2351054;
        double r2351056 = exp(r2351055);
        double r2351057 = r2351056 / r2351053;
        double r2351058 = r2351053 + r2351052;
        double r2351059 = r2351051 * r2351058;
        double r2351060 = exp(r2351059);
        double r2351061 = r2351060 / r2351053;
        double r2351062 = r2351057 - r2351061;
        double r2351063 = r2351062 + r2351056;
        double r2351064 = r2351063 * r2351052;
        double r2351065 = r2351058 * r2351050;
        double r2351066 = exp(r2351065);
        double r2351067 = log(r2351066);
        double r2351068 = -r2351067;
        double r2351069 = exp(r2351068);
        double r2351070 = r2351052 * r2351069;
        double r2351071 = r2351064 + r2351070;
        double r2351072 = 2.0;
        double r2351073 = r2351071 / r2351072;
        return r2351073;
}

Error

Bits error versus x

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 29.3

    \[\frac{\left(1 + \frac{1}{\varepsilon}\right) \cdot e^{-\left(1 - \varepsilon\right) \cdot x} - \left(\frac{1}{\varepsilon} - 1\right) \cdot e^{-\left(1 + \varepsilon\right) \cdot x}}{2}\]
  2. Taylor expanded around inf 29.3

    \[\leadsto \frac{\color{blue}{\left(1 \cdot e^{x \cdot \varepsilon - 1 \cdot x} + \left(1 \cdot e^{-\left(x \cdot \varepsilon + 1 \cdot x\right)} + 1 \cdot \frac{e^{x \cdot \varepsilon - 1 \cdot x}}{\varepsilon}\right)\right) - 1 \cdot \frac{e^{-\left(x \cdot \varepsilon + 1 \cdot x\right)}}{\varepsilon}}}{2}\]
  3. Simplified24.6

    \[\leadsto \frac{\color{blue}{1 \cdot \left(\left(\frac{e^{x \cdot \left(\varepsilon - 1\right)}}{\varepsilon} + e^{x \cdot \left(\varepsilon - 1\right)}\right) - \frac{e^{-x \cdot \left(1 + \varepsilon\right)}}{\varepsilon}\right) + e^{-x \cdot \left(1 + \varepsilon\right)} \cdot 1}}{2}\]
  4. Using strategy rm
  5. Applied add-log-exp24.6

    \[\leadsto \frac{1 \cdot \left(\left(\frac{e^{x \cdot \left(\varepsilon - 1\right)}}{\varepsilon} + e^{x \cdot \left(\varepsilon - 1\right)}\right) - \frac{e^{-x \cdot \left(1 + \varepsilon\right)}}{\varepsilon}\right) + e^{-\color{blue}{\log \left(e^{x \cdot \left(1 + \varepsilon\right)}\right)}} \cdot 1}{2}\]
  6. Taylor expanded around -inf 24.6

    \[\leadsto \frac{1 \cdot \color{blue}{\left(\left(e^{-1 \cdot \left(x \cdot \left(1 - \varepsilon\right)\right)} + \frac{e^{-1 \cdot \left(x \cdot \left(1 - \varepsilon\right)\right)}}{\varepsilon}\right) - \frac{e^{-\left(x \cdot \varepsilon + 1 \cdot x\right)}}{\varepsilon}\right)} + e^{-\log \left(e^{x \cdot \left(1 + \varepsilon\right)}\right)} \cdot 1}{2}\]
  7. Simplified0.9

    \[\leadsto \frac{1 \cdot \color{blue}{\left(\left(\frac{e^{\left(1 - \varepsilon\right) \cdot \left(-x\right)}}{\varepsilon} - \frac{e^{\left(1 + \varepsilon\right) \cdot \left(-x\right)}}{\varepsilon}\right) + e^{\left(1 - \varepsilon\right) \cdot \left(-x\right)}\right)} + e^{-\log \left(e^{x \cdot \left(1 + \varepsilon\right)}\right)} \cdot 1}{2}\]
  8. Final simplification0.9

    \[\leadsto \frac{\left(\left(\frac{e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}}{\varepsilon} - \frac{e^{\left(-x\right) \cdot \left(\varepsilon + 1\right)}}{\varepsilon}\right) + e^{\left(-x\right) \cdot \left(1 - \varepsilon\right)}\right) \cdot 1 + 1 \cdot e^{-\log \left(e^{\left(\varepsilon + 1\right) \cdot x}\right)}}{2}\]

Reproduce

herbie shell --seed 2019169 
(FPCore (x eps)
  :name "NMSE Section 6.1 mentioned, A"
  (/ (- (* (+ 1.0 (/ 1.0 eps)) (exp (- (* (- 1.0 eps) x)))) (* (- (/ 1.0 eps) 1.0) (exp (- (* (+ 1.0 eps) x))))) 2.0))