Average Error: 0.0 → 0.1
Time: 4.5s
Precision: binary64
\[e^{-\left(1 - x \cdot x\right)} \]
\[\begin{array}{l} t_0 := \sqrt[3]{{\left(e^{1 - x \cdot x}\right)}^{2}}\\ \sqrt{{\left({t_0}^{2}\right)}^{-1} \cdot {t_0}^{-1}} \end{array} \]
(FPCore (x) :precision binary64 (exp (- (- 1.0 (* x x)))))
(FPCore (x)
 :precision binary64
 (let* ((t_0 (cbrt (pow (exp (- 1.0 (* x x))) 2.0))))
   (sqrt (* (pow (pow t_0 2.0) -1.0) (pow t_0 -1.0)))))
double code(double x) {
	return exp(-(1.0 - (x * x)));
}
double code(double x) {
	double t_0 = cbrt(pow(exp((1.0 - (x * x))), 2.0));
	return sqrt((pow(pow(t_0, 2.0), -1.0) * pow(t_0, -1.0)));
}
public static double code(double x) {
	return Math.exp(-(1.0 - (x * x)));
}
public static double code(double x) {
	double t_0 = Math.cbrt(Math.pow(Math.exp((1.0 - (x * x))), 2.0));
	return Math.sqrt((Math.pow(Math.pow(t_0, 2.0), -1.0) * Math.pow(t_0, -1.0)));
}
function code(x)
	return exp(Float64(-Float64(1.0 - Float64(x * x))))
end
function code(x)
	t_0 = cbrt((exp(Float64(1.0 - Float64(x * x))) ^ 2.0))
	return sqrt(Float64(((t_0 ^ 2.0) ^ -1.0) * (t_0 ^ -1.0)))
end
code[x_] := N[Exp[(-N[(1.0 - N[(x * x), $MachinePrecision]), $MachinePrecision])], $MachinePrecision]
code[x_] := Block[{t$95$0 = N[Power[N[Power[N[Exp[N[(1.0 - N[(x * x), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], 2.0], $MachinePrecision], 1/3], $MachinePrecision]}, N[Sqrt[N[(N[Power[N[Power[t$95$0, 2.0], $MachinePrecision], -1.0], $MachinePrecision] * N[Power[t$95$0, -1.0], $MachinePrecision]), $MachinePrecision]], $MachinePrecision]]
e^{-\left(1 - x \cdot x\right)}
\begin{array}{l}
t_0 := \sqrt[3]{{\left(e^{1 - x \cdot x}\right)}^{2}}\\
\sqrt{{\left({t_0}^{2}\right)}^{-1} \cdot {t_0}^{-1}}
\end{array}

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. Applied egg-rr0.1

    \[\leadsto \color{blue}{\sqrt{{\left(e^{1 - x \cdot x}\right)}^{-2}}} \]
  3. Applied egg-rr0.1

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

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

Reproduce

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