(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}



Bits error versus x
Results
Initial program 0.0
Applied egg-rr0.1
Applied egg-rr0.1
Final simplification0.1
herbie shell --seed 2022152
(FPCore (x)
:name "exp neg sub"
:precision binary64
(exp (- (- 1.0 (* x x)))))