Average Error: 0.0 → 0.1
Time: 17.2s
Precision: 64
\[e^{-\left(1 - x \cdot x\right)}\]
\[\sqrt[3]{{\left(e^{x \cdot x - 1}\right)}^{3}}\]
e^{-\left(1 - x \cdot x\right)}
\sqrt[3]{{\left(e^{x \cdot x - 1}\right)}^{3}}
double f(double x) {
        double r28278 = 1.0;
        double r28279 = x;
        double r28280 = r28279 * r28279;
        double r28281 = r28278 - r28280;
        double r28282 = -r28281;
        double r28283 = exp(r28282);
        return r28283;
}

double f(double x) {
        double r28284 = x;
        double r28285 = r28284 * r28284;
        double r28286 = 1.0;
        double r28287 = r28285 - r28286;
        double r28288 = exp(r28287);
        double r28289 = 3.0;
        double r28290 = pow(r28288, r28289);
        double r28291 = cbrt(r28290);
        return r28291;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[e^{-\left(1 - x \cdot x\right)}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{e^{x \cdot x - 1}}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube0.1

    \[\leadsto \color{blue}{\sqrt[3]{\left(e^{x \cdot x - 1} \cdot e^{x \cdot x - 1}\right) \cdot e^{x \cdot x - 1}}}\]
  5. Simplified0.1

    \[\leadsto \sqrt[3]{\color{blue}{{\left(e^{x \cdot x - 1}\right)}^{3}}}\]
  6. Final simplification0.1

    \[\leadsto \sqrt[3]{{\left(e^{x \cdot x - 1}\right)}^{3}}\]

Reproduce

herbie shell --seed 2019303 
(FPCore (x)
  :name "exp neg sub"
  :precision binary64
  (exp (- (- 1 (* x x)))))