Average Error: 0.0 → 0.0
Time: 12.9s
Precision: 64
\[e^{-\left(1 - x \cdot x\right)}\]
\[e^{\frac{{x}^{4} - 1 \cdot 1}{1 + x \cdot x}}\]
e^{-\left(1 - x \cdot x\right)}
e^{\frac{{x}^{4} - 1 \cdot 1}{1 + x \cdot x}}
double f(double x) {
        double r38098 = 1.0;
        double r38099 = x;
        double r38100 = r38099 * r38099;
        double r38101 = r38098 - r38100;
        double r38102 = -r38101;
        double r38103 = exp(r38102);
        return r38103;
}

double f(double x) {
        double r38104 = x;
        double r38105 = 4.0;
        double r38106 = pow(r38104, r38105);
        double r38107 = 1.0;
        double r38108 = r38107 * r38107;
        double r38109 = r38106 - r38108;
        double r38110 = r38104 * r38104;
        double r38111 = r38107 + r38110;
        double r38112 = r38109 / r38111;
        double r38113 = exp(r38112);
        return r38113;
}

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 flip--0.0

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

    \[\leadsto e^{\frac{\color{blue}{{x}^{4} - 1 \cdot 1}}{x \cdot x + 1}}\]
  6. Simplified0.0

    \[\leadsto e^{\frac{{x}^{4} - 1 \cdot 1}{\color{blue}{1 + x \cdot x}}}\]
  7. Final simplification0.0

    \[\leadsto e^{\frac{{x}^{4} - 1 \cdot 1}{1 + x \cdot x}}\]

Reproduce

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