Average Error: 0.0 → 0.1
Time: 16.4s
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 r27327 = 1.0;
        double r27328 = x;
        double r27329 = r27328 * r27328;
        double r27330 = r27327 - r27329;
        double r27331 = -r27330;
        double r27332 = exp(r27331);
        return r27332;
}

double f(double x) {
        double r27333 = x;
        double r27334 = r27333 * r27333;
        double r27335 = 1.0;
        double r27336 = r27334 - r27335;
        double r27337 = exp(r27336);
        double r27338 = 3.0;
        double r27339 = pow(r27337, r27338);
        double r27340 = cbrt(r27339);
        return r27340;
}

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