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

\mathbf{else}:\\
\;\;\;\;\frac{\left(1 + \frac{1}{\varepsilon}\right) \cdot \left(\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}}\right) - \left(\frac{1}{\varepsilon} - 1\right) \cdot e^{-\left(1 + \varepsilon\right) \cdot x}}{2}\\

\end{array}
double f(double x, double eps) {
        double r33358 = 1.0;
        double r33359 = eps;
        double r33360 = r33358 / r33359;
        double r33361 = r33358 + r33360;
        double r33362 = r33358 - r33359;
        double r33363 = x;
        double r33364 = r33362 * r33363;
        double r33365 = -r33364;
        double r33366 = exp(r33365);
        double r33367 = r33361 * r33366;
        double r33368 = r33360 - r33358;
        double r33369 = r33358 + r33359;
        double r33370 = r33369 * r33363;
        double r33371 = -r33370;
        double r33372 = exp(r33371);
        double r33373 = r33368 * r33372;
        double r33374 = r33367 - r33373;
        double r33375 = 2.0;
        double r33376 = r33374 / r33375;
        return r33376;
}

double f(double x, double eps) {
        double r33377 = x;
        double r33378 = 95.54164031582988;
        bool r33379 = r33377 <= r33378;
        double r33380 = 0.6666666666666667;
        double r33381 = 3.0;
        double r33382 = pow(r33377, r33381);
        double r33383 = r33380 * r33382;
        double r33384 = cbrt(r33383);
        double r33385 = r33384 * r33384;
        double r33386 = r33385 * r33384;
        double r33387 = pow(r33386, r33381);
        double r33388 = 2.0;
        double r33389 = 1.0;
        double r33390 = 2.0;
        double r33391 = pow(r33377, r33390);
        double r33392 = r33389 * r33391;
        double r33393 = r33388 - r33392;
        double r33394 = pow(r33393, r33381);
        double r33395 = r33387 + r33394;
        double r33396 = r33393 * r33393;
        double r33397 = r33392 + r33383;
        double r33398 = r33388 - r33397;
        double r33399 = r33383 * r33398;
        double r33400 = -r33399;
        double r33401 = r33396 + r33400;
        double r33402 = r33395 / r33401;
        double r33403 = r33402 / r33388;
        double r33404 = eps;
        double r33405 = r33389 / r33404;
        double r33406 = r33389 + r33405;
        double r33407 = r33389 - r33404;
        double r33408 = r33407 * r33377;
        double r33409 = -r33408;
        double r33410 = exp(r33409);
        double r33411 = cbrt(r33410);
        double r33412 = r33411 * r33411;
        double r33413 = r33412 * r33411;
        double r33414 = r33406 * r33413;
        double r33415 = r33405 - r33389;
        double r33416 = r33389 + r33404;
        double r33417 = r33416 * r33377;
        double r33418 = -r33417;
        double r33419 = exp(r33418);
        double r33420 = r33415 * r33419;
        double r33421 = r33414 - r33420;
        double r33422 = r33421 / r33388;
        double r33423 = r33379 ? r33403 : r33422;
        return r33423;
}

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

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

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

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

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

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

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

    if 95.54164031582988 < x

    1. Initial program 0.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. Using strategy rm
    3. Applied add-cube-cbrt0.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le 95.541640315829881:\\ \;\;\;\;\frac{\frac{{\left(\left(\sqrt[3]{0.66666666666666674 \cdot {x}^{3}} \cdot \sqrt[3]{0.66666666666666674 \cdot {x}^{3}}\right) \cdot \sqrt[3]{0.66666666666666674 \cdot {x}^{3}}\right)}^{3} + {\left(2 - 1 \cdot {x}^{2}\right)}^{3}}{\left(2 - 1 \cdot {x}^{2}\right) \cdot \left(2 - 1 \cdot {x}^{2}\right) + \left(-\left(0.66666666666666674 \cdot {x}^{3}\right) \cdot \left(2 - \left(1 \cdot {x}^{2} + 0.66666666666666674 \cdot {x}^{3}\right)\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(1 + \frac{1}{\varepsilon}\right) \cdot \left(\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}}\right) - \left(\frac{1}{\varepsilon} - 1\right) \cdot e^{-\left(1 + \varepsilon\right) \cdot x}}{2}\\ \end{array}\]

Reproduce

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