Average Error: 29.1 → 1.1
Time: 7.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 273.9633798024049156083492562174797058105:\\ \;\;\;\;\left(\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}} \cdot \frac{\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) \cdot \left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - \left(0.5 \cdot {x}^{2}\right) \cdot \left(0.5 \cdot {x}^{2}\right)}}{{1}^{\frac{1}{3}} \cdot \left(0.1666666666666666574148081281236954964697 \cdot {x}^{2} + \left(0.1111111111111111049432054187491303309798 \cdot {x}^{3} + 1\right)\right)}\right) \cdot \sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.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 273.9633798024049156083492562174797058105:\\
\;\;\;\;\left(\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}} \cdot \frac{\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) \cdot \left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - \left(0.5 \cdot {x}^{2}\right) \cdot \left(0.5 \cdot {x}^{2}\right)}}{{1}^{\frac{1}{3}} \cdot \left(0.1666666666666666574148081281236954964697 \cdot {x}^{2} + \left(0.1111111111111111049432054187491303309798 \cdot {x}^{3} + 1\right)\right)}\right) \cdot \sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.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 r41370 = 1.0;
        double r41371 = eps;
        double r41372 = r41370 / r41371;
        double r41373 = r41370 + r41372;
        double r41374 = r41370 - r41371;
        double r41375 = x;
        double r41376 = r41374 * r41375;
        double r41377 = -r41376;
        double r41378 = exp(r41377);
        double r41379 = r41373 * r41378;
        double r41380 = r41372 - r41370;
        double r41381 = r41370 + r41371;
        double r41382 = r41381 * r41375;
        double r41383 = -r41382;
        double r41384 = exp(r41383);
        double r41385 = r41380 * r41384;
        double r41386 = r41379 - r41385;
        double r41387 = 2.0;
        double r41388 = r41386 / r41387;
        return r41388;
}

double f(double x, double eps) {
        double r41389 = x;
        double r41390 = 273.9633798024049;
        bool r41391 = r41389 <= r41390;
        double r41392 = 0.33333333333333337;
        double r41393 = 3.0;
        double r41394 = pow(r41389, r41393);
        double r41395 = r41392 * r41394;
        double r41396 = 1.0;
        double r41397 = r41395 + r41396;
        double r41398 = 0.5;
        double r41399 = 2.0;
        double r41400 = pow(r41389, r41399);
        double r41401 = r41398 * r41400;
        double r41402 = r41397 - r41401;
        double r41403 = cbrt(r41402);
        double r41404 = r41397 * r41397;
        double r41405 = r41401 * r41401;
        double r41406 = r41404 - r41405;
        double r41407 = cbrt(r41406);
        double r41408 = 0.3333333333333333;
        double r41409 = pow(r41396, r41408);
        double r41410 = 0.16666666666666666;
        double r41411 = r41410 * r41400;
        double r41412 = 0.1111111111111111;
        double r41413 = r41412 * r41394;
        double r41414 = 1.0;
        double r41415 = r41413 + r41414;
        double r41416 = r41411 + r41415;
        double r41417 = r41409 * r41416;
        double r41418 = r41407 / r41417;
        double r41419 = r41403 * r41418;
        double r41420 = r41419 * r41403;
        double r41421 = eps;
        double r41422 = r41396 / r41421;
        double r41423 = r41396 + r41422;
        double r41424 = r41396 - r41421;
        double r41425 = r41424 * r41389;
        double r41426 = exp(r41425);
        double r41427 = r41423 / r41426;
        double r41428 = 2.0;
        double r41429 = r41427 / r41428;
        double r41430 = r41422 - r41396;
        double r41431 = r41421 + r41396;
        double r41432 = r41389 * r41431;
        double r41433 = exp(r41432);
        double r41434 = r41430 / r41433;
        double r41435 = r41434 / r41428;
        double r41436 = r41429 - r41435;
        double r41437 = r41391 ? r41420 : r41436;
        return r41437;
}

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

    1. Initial program 39.1

      \[\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.1

      \[\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.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt1.4

      \[\leadsto \color{blue}{\left(\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}} \cdot \sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}}\right) \cdot \sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}}}\]
    6. Using strategy rm
    7. Applied flip--1.4

      \[\leadsto \left(\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}} \cdot \sqrt[3]{\color{blue}{\frac{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) \cdot \left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - \left(0.5 \cdot {x}^{2}\right) \cdot \left(0.5 \cdot {x}^{2}\right)}{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) + 0.5 \cdot {x}^{2}}}}\right) \cdot \sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}}\]
    8. Applied cbrt-div1.4

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

      \[\leadsto \left(\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}} \cdot \frac{\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) \cdot \left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - \left(0.5 \cdot {x}^{2}\right) \cdot \left(0.5 \cdot {x}^{2}\right)}}{\color{blue}{0.1666666666666666574148081281236954964697 \cdot \left({x}^{2} \cdot {1}^{\frac{1}{3}}\right) + \left(0.1111111111111111049432054187491303309798 \cdot \left({x}^{3} \cdot {1}^{\frac{1}{3}}\right) + {1}^{\frac{1}{3}}\right)}}\right) \cdot \sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}}\]
    10. Simplified1.4

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

    if 273.9633798024049 < x

    1. Initial program 0.1

      \[\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.1

      \[\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.1

      \[\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.1

      \[\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 273.9633798024049156083492562174797058105:\\ \;\;\;\;\left(\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.5 \cdot {x}^{2}} \cdot \frac{\sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) \cdot \left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - \left(0.5 \cdot {x}^{2}\right) \cdot \left(0.5 \cdot {x}^{2}\right)}}{{1}^{\frac{1}{3}} \cdot \left(0.1666666666666666574148081281236954964697 \cdot {x}^{2} + \left(0.1111111111111111049432054187491303309798 \cdot {x}^{3} + 1\right)\right)}\right) \cdot \sqrt[3]{\left(0.3333333333333333703407674875052180141211 \cdot {x}^{3} + 1\right) - 0.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 2019353 
(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))