Average Error: 29.3 → 1.1
Time: 5.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}\]
\[\begin{array}{l} \mathbf{if}\;x \le 46.924791671462984:\\ \;\;\;\;\sqrt[3]{\sqrt{\left(1 \cdot {x}^{3} + 1\right) - 1.5 \cdot {x}^{2}} \cdot \sqrt{\left(1 \cdot {x}^{3} + 1\right) - 1.5 \cdot {x}^{2}}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1 + \frac{1}{\varepsilon}}{e^{\left(1 - \varepsilon\right) \cdot x}}}{2} - \frac{\frac{\frac{1}{\varepsilon} - 1}{e^{x \cdot \left(\varepsilon + 1\right)}}}{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 46.924791671462984:\\
\;\;\;\;\sqrt[3]{\sqrt{\left(1 \cdot {x}^{3} + 1\right) - 1.5 \cdot {x}^{2}} \cdot \sqrt{\left(1 \cdot {x}^{3} + 1\right) - 1.5 \cdot {x}^{2}}}\\

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

\end{array}
double f(double x, double eps) {
        double r34128 = 1.0;
        double r34129 = eps;
        double r34130 = r34128 / r34129;
        double r34131 = r34128 + r34130;
        double r34132 = r34128 - r34129;
        double r34133 = x;
        double r34134 = r34132 * r34133;
        double r34135 = -r34134;
        double r34136 = exp(r34135);
        double r34137 = r34131 * r34136;
        double r34138 = r34130 - r34128;
        double r34139 = r34128 + r34129;
        double r34140 = r34139 * r34133;
        double r34141 = -r34140;
        double r34142 = exp(r34141);
        double r34143 = r34138 * r34142;
        double r34144 = r34137 - r34143;
        double r34145 = 2.0;
        double r34146 = r34144 / r34145;
        return r34146;
}

double f(double x, double eps) {
        double r34147 = x;
        double r34148 = 46.924791671462984;
        bool r34149 = r34147 <= r34148;
        double r34150 = 1.0;
        double r34151 = 3.0;
        double r34152 = pow(r34147, r34151);
        double r34153 = r34150 * r34152;
        double r34154 = r34153 + r34150;
        double r34155 = 1.5;
        double r34156 = 2.0;
        double r34157 = pow(r34147, r34156);
        double r34158 = r34155 * r34157;
        double r34159 = r34154 - r34158;
        double r34160 = sqrt(r34159);
        double r34161 = r34160 * r34160;
        double r34162 = cbrt(r34161);
        double r34163 = eps;
        double r34164 = r34150 / r34163;
        double r34165 = r34150 + r34164;
        double r34166 = r34150 - r34163;
        double r34167 = r34166 * r34147;
        double r34168 = exp(r34167);
        double r34169 = r34165 / r34168;
        double r34170 = 2.0;
        double r34171 = r34169 / r34170;
        double r34172 = r34164 - r34150;
        double r34173 = r34163 + r34150;
        double r34174 = r34147 * r34173;
        double r34175 = exp(r34174);
        double r34176 = r34172 / r34175;
        double r34177 = r34176 / r34170;
        double r34178 = r34171 - r34177;
        double r34179 = r34149 ? r34162 : r34178;
        return r34179;
}

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 < 46.924791671462984

    1. Initial program 38.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. Simplified38.9

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

      \[\leadsto \color{blue}{\left(0.33333333333333337 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}}\]
    4. Using strategy rm
    5. Applied add-cbrt-cube1.4

      \[\leadsto \color{blue}{\sqrt[3]{\left(\left(\left(0.33333333333333337 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}\right) \cdot \left(\left(0.33333333333333337 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}\right)\right) \cdot \left(\left(0.33333333333333337 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}\right)}}\]
    6. Simplified1.4

      \[\leadsto \sqrt[3]{\color{blue}{{\left(\left(0.33333333333333337 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}\right)}^{3}}}\]
    7. Taylor expanded around 0 1.4

      \[\leadsto \sqrt[3]{\color{blue}{\left(1 \cdot {x}^{3} + 1\right) - 1.5 \cdot {x}^{2}}}\]
    8. Using strategy rm
    9. Applied add-sqr-sqrt1.4

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

    if 46.924791671462984 < 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}}}{2} - \frac{\frac{\frac{1}{\varepsilon} - 1}{e^{\left(1 + \varepsilon\right) \cdot x}}}{2}}\]
    3. Taylor expanded around 0 0.2

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

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

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

Reproduce

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