Average Error: 30.0 → 0.8
Time: 22.0s
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{e^{\sqrt[3]{\left(\varepsilon + -1\right) \cdot x} \cdot \left(\sqrt[3]{\left(\varepsilon + -1\right) \cdot x} \cdot \sqrt[3]{\left(\varepsilon + -1\right) \cdot x}\right)} + \left(\left(\frac{e^{\left(\varepsilon + -1\right) \cdot x}}{\varepsilon} - \frac{e^{\left(-1 - \varepsilon\right) \cdot x}}{\varepsilon}\right) + e^{\left(-1 - \varepsilon\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{e^{\sqrt[3]{\left(\varepsilon + -1\right) \cdot x} \cdot \left(\sqrt[3]{\left(\varepsilon + -1\right) \cdot x} \cdot \sqrt[3]{\left(\varepsilon + -1\right) \cdot x}\right)} + \left(\left(\frac{e^{\left(\varepsilon + -1\right) \cdot x}}{\varepsilon} - \frac{e^{\left(-1 - \varepsilon\right) \cdot x}}{\varepsilon}\right) + e^{\left(-1 - \varepsilon\right) \cdot x}\right)}{2}
double f(double x, double eps) {
        double r698854 = 1.0;
        double r698855 = eps;
        double r698856 = r698854 / r698855;
        double r698857 = r698854 + r698856;
        double r698858 = r698854 - r698855;
        double r698859 = x;
        double r698860 = r698858 * r698859;
        double r698861 = -r698860;
        double r698862 = exp(r698861);
        double r698863 = r698857 * r698862;
        double r698864 = r698856 - r698854;
        double r698865 = r698854 + r698855;
        double r698866 = r698865 * r698859;
        double r698867 = -r698866;
        double r698868 = exp(r698867);
        double r698869 = r698864 * r698868;
        double r698870 = r698863 - r698869;
        double r698871 = 2.0;
        double r698872 = r698870 / r698871;
        return r698872;
}

double f(double x, double eps) {
        double r698873 = eps;
        double r698874 = -1.0;
        double r698875 = r698873 + r698874;
        double r698876 = x;
        double r698877 = r698875 * r698876;
        double r698878 = cbrt(r698877);
        double r698879 = r698878 * r698878;
        double r698880 = r698878 * r698879;
        double r698881 = exp(r698880);
        double r698882 = exp(r698877);
        double r698883 = r698882 / r698873;
        double r698884 = r698874 - r698873;
        double r698885 = r698884 * r698876;
        double r698886 = exp(r698885);
        double r698887 = r698886 / r698873;
        double r698888 = r698883 - r698887;
        double r698889 = r698888 + r698886;
        double r698890 = r698881 + r698889;
        double r698891 = 2.0;
        double r698892 = r698890 / r698891;
        return r698892;
}

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 30.0

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

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

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

    \[\leadsto \frac{e^{x \cdot \left(\varepsilon + -1\right)} + \color{blue}{\left(\left(\frac{e^{x \cdot \left(\varepsilon + -1\right)}}{\varepsilon} - \frac{e^{x \cdot \left(-1 - \varepsilon\right)}}{\varepsilon}\right) + e^{x \cdot \left(-1 - \varepsilon\right)}\right)}}{2}\]
  7. Using strategy rm
  8. Applied add-cube-cbrt0.8

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

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

Reproduce

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