Average Error: 30.1 → 1.1
Time: 22.2s
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}\]
\[\begin{array}{l} \mathbf{if}\;x \le 326.026577809399043:\\ \;\;\;\;\frac{\frac{\left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(0.66666666666666674 \cdot {x}^{3} + 2\right) + \left(1 \cdot {x}^{2}\right) \cdot \left(1 \cdot {x}^{2} + \left(0.66666666666666674 \cdot {x}^{3} + 2\right)\right)\right) \cdot \left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}\right)}{\left({x}^{4} \cdot 1\right) \cdot 1 + \left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(2 + \left(x \cdot x\right) \cdot \left(x \cdot 0.66666666666666674 + 1\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1 + \frac{1}{\varepsilon}}{e^{\left(1 - \varepsilon\right) \cdot x}} - \frac{1}{\sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}} \cdot \sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}} \cdot \frac{\frac{1}{\varepsilon} - 1}{\sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}}}{2}\\ \end{array}\]
\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}
\begin{array}{l}
\mathbf{if}\;x \le 326.026577809399043:\\
\;\;\;\;\frac{\frac{\left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(0.66666666666666674 \cdot {x}^{3} + 2\right) + \left(1 \cdot {x}^{2}\right) \cdot \left(1 \cdot {x}^{2} + \left(0.66666666666666674 \cdot {x}^{3} + 2\right)\right)\right) \cdot \left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}\right)}{\left({x}^{4} \cdot 1\right) \cdot 1 + \left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(2 + \left(x \cdot x\right) \cdot \left(x \cdot 0.66666666666666674 + 1\right)\right)}}{2}\\

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

\end{array}
double f(double x, double eps) {
        double r38912 = 1.0;
        double r38913 = eps;
        double r38914 = r38912 / r38913;
        double r38915 = r38912 + r38914;
        double r38916 = r38912 - r38913;
        double r38917 = x;
        double r38918 = r38916 * r38917;
        double r38919 = -r38918;
        double r38920 = exp(r38919);
        double r38921 = r38915 * r38920;
        double r38922 = r38914 - r38912;
        double r38923 = r38912 + r38913;
        double r38924 = r38923 * r38917;
        double r38925 = -r38924;
        double r38926 = exp(r38925);
        double r38927 = r38922 * r38926;
        double r38928 = r38921 - r38927;
        double r38929 = 2.0;
        double r38930 = r38928 / r38929;
        return r38930;
}

double f(double x, double eps) {
        double r38931 = x;
        double r38932 = 326.02657780939904;
        bool r38933 = r38931 <= r38932;
        double r38934 = 0.6666666666666667;
        double r38935 = 3.0;
        double r38936 = pow(r38931, r38935);
        double r38937 = r38934 * r38936;
        double r38938 = 2.0;
        double r38939 = r38937 + r38938;
        double r38940 = r38939 * r38939;
        double r38941 = 1.0;
        double r38942 = 2.0;
        double r38943 = pow(r38931, r38942);
        double r38944 = r38941 * r38943;
        double r38945 = r38944 + r38939;
        double r38946 = r38944 * r38945;
        double r38947 = r38940 + r38946;
        double r38948 = r38939 - r38944;
        double r38949 = r38947 * r38948;
        double r38950 = 4.0;
        double r38951 = pow(r38931, r38950);
        double r38952 = r38951 * r38941;
        double r38953 = r38952 * r38941;
        double r38954 = r38931 * r38931;
        double r38955 = r38931 * r38934;
        double r38956 = r38955 + r38941;
        double r38957 = r38954 * r38956;
        double r38958 = r38938 + r38957;
        double r38959 = r38939 * r38958;
        double r38960 = r38953 + r38959;
        double r38961 = r38949 / r38960;
        double r38962 = r38961 / r38938;
        double r38963 = eps;
        double r38964 = r38941 / r38963;
        double r38965 = r38941 + r38964;
        double r38966 = r38941 - r38963;
        double r38967 = r38966 * r38931;
        double r38968 = exp(r38967);
        double r38969 = r38965 / r38968;
        double r38970 = 1.0;
        double r38971 = r38941 + r38963;
        double r38972 = r38971 * r38931;
        double r38973 = exp(r38972);
        double r38974 = cbrt(r38973);
        double r38975 = r38974 * r38974;
        double r38976 = r38970 / r38975;
        double r38977 = r38964 - r38941;
        double r38978 = r38977 / r38974;
        double r38979 = r38976 * r38978;
        double r38980 = r38969 - r38979;
        double r38981 = r38980 / r38938;
        double r38982 = r38933 ? r38962 : r38981;
        return r38982;
}

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. Split input into 2 regimes
  2. if x < 326.02657780939904

    1. Initial program 39.5

      \[\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. Simplified39.5

      \[\leadsto \color{blue}{\frac{\frac{1 + \frac{1}{\varepsilon}}{e^{\left(1 - \varepsilon\right) \cdot x}} - \frac{\frac{1}{\varepsilon} - 1}{e^{\left(1 + \varepsilon\right) \cdot x}}}{2}}\]
    3. Taylor expanded around 0 1.3

      \[\leadsto \frac{\color{blue}{\left(0.66666666666666674 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}}}{2}\]
    4. Using strategy rm
    5. Applied flip3--1.3

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

      \[\leadsto \frac{\frac{{\left(0.66666666666666674 \cdot {x}^{3} + 2\right)}^{3} - {\left(1 \cdot {x}^{2}\right)}^{3}}{\color{blue}{\left({x}^{4} \cdot 1\right) \cdot 1 + \left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(2 + \left(x \cdot x\right) \cdot \left(x \cdot 0.66666666666666674 + 1\right)\right)}}}{2}\]
    7. Using strategy rm
    8. Applied difference-cubes1.3

      \[\leadsto \frac{\frac{\color{blue}{\left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(0.66666666666666674 \cdot {x}^{3} + 2\right) + \left(\left(1 \cdot {x}^{2}\right) \cdot \left(1 \cdot {x}^{2}\right) + \left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(1 \cdot {x}^{2}\right)\right)\right) \cdot \left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}\right)}}{\left({x}^{4} \cdot 1\right) \cdot 1 + \left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(2 + \left(x \cdot x\right) \cdot \left(x \cdot 0.66666666666666674 + 1\right)\right)}}{2}\]
    9. Simplified1.3

      \[\leadsto \frac{\frac{\color{blue}{\left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(0.66666666666666674 \cdot {x}^{3} + 2\right) + \left(1 \cdot {x}^{2}\right) \cdot \left(1 \cdot {x}^{2} + \left(0.66666666666666674 \cdot {x}^{3} + 2\right)\right)\right)} \cdot \left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}\right)}{\left({x}^{4} \cdot 1\right) \cdot 1 + \left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(2 + \left(x \cdot x\right) \cdot \left(x \cdot 0.66666666666666674 + 1\right)\right)}}{2}\]

    if 326.02657780939904 < x

    1. Initial program 0.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}\]
    2. Simplified0.2

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

      \[\leadsto \frac{\frac{1 + \frac{1}{\varepsilon}}{e^{\left(1 - \varepsilon\right) \cdot x}} - \frac{\frac{1}{\varepsilon} - 1}{\color{blue}{\left(\sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}} \cdot \sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}\right) \cdot \sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}}}}{2}\]
    5. Applied *-un-lft-identity0.2

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

      \[\leadsto \frac{\frac{1 + \frac{1}{\varepsilon}}{e^{\left(1 - \varepsilon\right) \cdot x}} - \color{blue}{\frac{1}{\sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}} \cdot \sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}} \cdot \frac{\frac{1}{\varepsilon} - 1}{\sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}}}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification1.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le 326.026577809399043:\\ \;\;\;\;\frac{\frac{\left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(0.66666666666666674 \cdot {x}^{3} + 2\right) + \left(1 \cdot {x}^{2}\right) \cdot \left(1 \cdot {x}^{2} + \left(0.66666666666666674 \cdot {x}^{3} + 2\right)\right)\right) \cdot \left(\left(0.66666666666666674 \cdot {x}^{3} + 2\right) - 1 \cdot {x}^{2}\right)}{\left({x}^{4} \cdot 1\right) \cdot 1 + \left(0.66666666666666674 \cdot {x}^{3} + 2\right) \cdot \left(2 + \left(x \cdot x\right) \cdot \left(x \cdot 0.66666666666666674 + 1\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1 + \frac{1}{\varepsilon}}{e^{\left(1 - \varepsilon\right) \cdot x}} - \frac{1}{\sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}} \cdot \sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}} \cdot \frac{\frac{1}{\varepsilon} - 1}{\sqrt[3]{e^{\left(1 + \varepsilon\right) \cdot x}}}}{2}\\ \end{array}\]

Reproduce

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