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

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

\end{array}
double f(double x, double eps) {
        double r3202223 = 1.0;
        double r3202224 = eps;
        double r3202225 = r3202223 / r3202224;
        double r3202226 = r3202223 + r3202225;
        double r3202227 = r3202223 - r3202224;
        double r3202228 = x;
        double r3202229 = r3202227 * r3202228;
        double r3202230 = -r3202229;
        double r3202231 = exp(r3202230);
        double r3202232 = r3202226 * r3202231;
        double r3202233 = r3202225 - r3202223;
        double r3202234 = r3202223 + r3202224;
        double r3202235 = r3202234 * r3202228;
        double r3202236 = -r3202235;
        double r3202237 = exp(r3202236);
        double r3202238 = r3202233 * r3202237;
        double r3202239 = r3202232 - r3202238;
        double r3202240 = 2.0;
        double r3202241 = r3202239 / r3202240;
        return r3202241;
}

double f(double x, double eps) {
        double r3202242 = x;
        double r3202243 = 1.6169303695992086;
        bool r3202244 = r3202242 <= r3202243;
        double r3202245 = 2.0;
        double r3202246 = r3202242 * r3202242;
        double r3202247 = r3202246 * r3202242;
        double r3202248 = 0.6666666666666667;
        double r3202249 = r3202247 * r3202248;
        double r3202250 = r3202245 + r3202249;
        double r3202251 = 1.0;
        double r3202252 = r3202251 * r3202246;
        double r3202253 = r3202250 - r3202252;
        double r3202254 = r3202253 / r3202245;
        double r3202255 = cbrt(r3202254);
        double r3202256 = r3202255 * r3202255;
        double r3202257 = cbrt(r3202256);
        double r3202258 = cbrt(r3202255);
        double r3202259 = r3202257 * r3202258;
        double r3202260 = r3202259 * r3202255;
        double r3202261 = r3202260 * r3202255;
        double r3202262 = eps;
        double r3202263 = r3202262 - r3202251;
        double r3202264 = r3202242 * r3202263;
        double r3202265 = exp(r3202264);
        double r3202266 = r3202265 / r3202262;
        double r3202267 = r3202266 + r3202265;
        double r3202268 = r3202251 + r3202262;
        double r3202269 = -r3202268;
        double r3202270 = r3202242 * r3202269;
        double r3202271 = exp(r3202270);
        double r3202272 = r3202271 / r3202262;
        double r3202273 = r3202267 - r3202272;
        double r3202274 = r3202273 * r3202251;
        double r3202275 = r3202251 * r3202271;
        double r3202276 = r3202274 + r3202275;
        double r3202277 = r3202276 / r3202245;
        double r3202278 = r3202244 ? r3202261 : r3202277;
        return r3202278;
}

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

    1. Initial program 39.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 0 1.2

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

      \[\leadsto \frac{\color{blue}{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}}{2}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt1.2

      \[\leadsto \color{blue}{\left(\sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}} \cdot \sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}}\right) \cdot \sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}}}\]
    6. Using strategy rm
    7. Applied add-cube-cbrt1.2

      \[\leadsto \left(\sqrt[3]{\color{blue}{\left(\sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}} \cdot \sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}}\right) \cdot \sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}}}} \cdot \sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}}\right) \cdot \sqrt[3]{\frac{\left(2 + 0.6666666666666667406815349750104360282421 \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) - \left(x \cdot x\right) \cdot 1}{2}}\]
    8. Applied cbrt-prod1.2

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

    if 1.6169303695992086 < x

    1. Initial program 0.6

      \[\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 0.6

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

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

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

Reproduce

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