Average Error: 28.9 → 1.1
Time: 27.7s
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{\frac{1}{2}}{e^{x - \varepsilon \cdot x}} + \left(\left(\frac{\frac{\frac{1}{2}}{e^{x - \varepsilon \cdot x}}}{\varepsilon} - \frac{\frac{\frac{1}{2}}{e^{x + \varepsilon \cdot x}}}{\varepsilon}\right) + \frac{\frac{1}{2}}{e^{x + \varepsilon \cdot x}}\right)\]
\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{\frac{1}{2}}{e^{x - \varepsilon \cdot x}} + \left(\left(\frac{\frac{\frac{1}{2}}{e^{x - \varepsilon \cdot x}}}{\varepsilon} - \frac{\frac{\frac{1}{2}}{e^{x + \varepsilon \cdot x}}}{\varepsilon}\right) + \frac{\frac{1}{2}}{e^{x + \varepsilon \cdot x}}\right)
double f(double x, double eps) {
        double r1563485 = 1.0;
        double r1563486 = eps;
        double r1563487 = r1563485 / r1563486;
        double r1563488 = r1563485 + r1563487;
        double r1563489 = r1563485 - r1563486;
        double r1563490 = x;
        double r1563491 = r1563489 * r1563490;
        double r1563492 = -r1563491;
        double r1563493 = exp(r1563492);
        double r1563494 = r1563488 * r1563493;
        double r1563495 = r1563487 - r1563485;
        double r1563496 = r1563485 + r1563486;
        double r1563497 = r1563496 * r1563490;
        double r1563498 = -r1563497;
        double r1563499 = exp(r1563498);
        double r1563500 = r1563495 * r1563499;
        double r1563501 = r1563494 - r1563500;
        double r1563502 = 2.0;
        double r1563503 = r1563501 / r1563502;
        return r1563503;
}

double f(double x, double eps) {
        double r1563504 = 0.5;
        double r1563505 = x;
        double r1563506 = eps;
        double r1563507 = r1563506 * r1563505;
        double r1563508 = r1563505 - r1563507;
        double r1563509 = exp(r1563508);
        double r1563510 = r1563504 / r1563509;
        double r1563511 = r1563510 / r1563506;
        double r1563512 = r1563505 + r1563507;
        double r1563513 = exp(r1563512);
        double r1563514 = r1563504 / r1563513;
        double r1563515 = r1563514 / r1563506;
        double r1563516 = r1563511 - r1563515;
        double r1563517 = r1563516 + r1563514;
        double r1563518 = r1563510 + r1563517;
        return r1563518;
}

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 28.9

    \[\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. Simplified28.9

    \[\leadsto \color{blue}{\left(\frac{\frac{1}{2}}{e^{x - x \cdot \varepsilon}} + \frac{\frac{\frac{1}{2}}{e^{x - x \cdot \varepsilon}}}{\varepsilon}\right) - \left(\frac{\frac{\frac{1}{2}}{e^{x + x \cdot \varepsilon}}}{\varepsilon} - \frac{\frac{1}{2}}{e^{x + x \cdot \varepsilon}}\right)}\]
  3. Using strategy rm
  4. Applied associate--l+24.3

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

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

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

Reproduce

herbie shell --seed 2019129 
(FPCore (x eps)
  :name "NMSE Section 6.1 mentioned, A"
  (/ (- (* (+ 1 (/ 1 eps)) (exp (- (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (- (* (+ 1 eps) x))))) 2))