| Alternative 1 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 48580 |

(FPCore (x)
:precision binary64
(-
1.0
(*
(*
(/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
(+
0.254829592
(*
(/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
(+
-0.284496736
(*
(/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
(+
1.421413741
(*
(/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
(+
-1.453152027
(* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))
(exp (- (* (fabs x) (fabs x)))))))(FPCore (x)
:precision binary64
(let* ((t_0 (+ 1.0 (* (fabs x) 0.3275911))) (t_1 (/ 1.0 t_0)))
(if (<= x -2.5e-17)
(+
1.0
(*
t_1
(*
(exp (* x (- x)))
(-
(*
t_1
(-
(*
t_1
(-
(-
(* 1.061405429 (/ -1.0 (pow t_0 2.0)))
(* 1.453152027 (/ -1.0 t_0)))
1.421413741))
-0.284496736))
0.254829592))))
(if (<= x 0.9)
(+ 1e-9 (fma -0.00011824294398844343 (* x x) (* x 1.128386358070218)))
1.0))))double code(double x) {
return 1.0 - (((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (0.254829592 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (-0.284496736 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (1.421413741 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (-1.453152027 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * 1.061405429))))))))) * exp(-(fabs(x) * fabs(x))));
}
double code(double x) {
double t_0 = 1.0 + (fabs(x) * 0.3275911);
double t_1 = 1.0 / t_0;
double tmp;
if (x <= -2.5e-17) {
tmp = 1.0 + (t_1 * (exp((x * -x)) * ((t_1 * ((t_1 * (((1.061405429 * (-1.0 / pow(t_0, 2.0))) - (1.453152027 * (-1.0 / t_0))) - 1.421413741)) - -0.284496736)) - 0.254829592)));
} else if (x <= 0.9) {
tmp = 1e-9 + fma(-0.00011824294398844343, (x * x), (x * 1.128386358070218));
} else {
tmp = 1.0;
}
return tmp;
}
function code(x) return Float64(1.0 - Float64(Float64(Float64(1.0 / Float64(1.0 + Float64(0.3275911 * abs(x)))) * Float64(0.254829592 + Float64(Float64(1.0 / Float64(1.0 + Float64(0.3275911 * abs(x)))) * Float64(-0.284496736 + Float64(Float64(1.0 / Float64(1.0 + Float64(0.3275911 * abs(x)))) * Float64(1.421413741 + Float64(Float64(1.0 / Float64(1.0 + Float64(0.3275911 * abs(x)))) * Float64(-1.453152027 + Float64(Float64(1.0 / Float64(1.0 + Float64(0.3275911 * abs(x)))) * 1.061405429))))))))) * exp(Float64(-Float64(abs(x) * abs(x)))))) end
function code(x) t_0 = Float64(1.0 + Float64(abs(x) * 0.3275911)) t_1 = Float64(1.0 / t_0) tmp = 0.0 if (x <= -2.5e-17) tmp = Float64(1.0 + Float64(t_1 * Float64(exp(Float64(x * Float64(-x))) * Float64(Float64(t_1 * Float64(Float64(t_1 * Float64(Float64(Float64(1.061405429 * Float64(-1.0 / (t_0 ^ 2.0))) - Float64(1.453152027 * Float64(-1.0 / t_0))) - 1.421413741)) - -0.284496736)) - 0.254829592)))); elseif (x <= 0.9) tmp = Float64(1e-9 + fma(-0.00011824294398844343, Float64(x * x), Float64(x * 1.128386358070218))); else tmp = 1.0; end return tmp end
code[x_] := N[(1.0 - N[(N[(N[(1.0 / N[(1.0 + N[(0.3275911 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(0.254829592 + N[(N[(1.0 / N[(1.0 + N[(0.3275911 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(-0.284496736 + N[(N[(1.0 / N[(1.0 + N[(0.3275911 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(1.421413741 + N[(N[(1.0 / N[(1.0 + N[(0.3275911 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(-1.453152027 + N[(N[(1.0 / N[(1.0 + N[(0.3275911 * N[Abs[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * 1.061405429), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[Exp[(-N[(N[Abs[x], $MachinePrecision] * N[Abs[x], $MachinePrecision]), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_] := Block[{t$95$0 = N[(1.0 + N[(N[Abs[x], $MachinePrecision] * 0.3275911), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(1.0 / t$95$0), $MachinePrecision]}, If[LessEqual[x, -2.5e-17], N[(1.0 + N[(t$95$1 * N[(N[Exp[N[(x * (-x)), $MachinePrecision]], $MachinePrecision] * N[(N[(t$95$1 * N[(N[(t$95$1 * N[(N[(N[(1.061405429 * N[(-1.0 / N[Power[t$95$0, 2.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(1.453152027 * N[(-1.0 / t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - 1.421413741), $MachinePrecision]), $MachinePrecision] - -0.284496736), $MachinePrecision]), $MachinePrecision] - 0.254829592), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[x, 0.9], N[(1e-9 + N[(-0.00011824294398844343 * N[(x * x), $MachinePrecision] + N[(x * 1.128386358070218), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1.0]]]]
1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
\begin{array}{l}
t_0 := 1 + \left|x\right| \cdot 0.3275911\\
t_1 := \frac{1}{t_0}\\
\mathbf{if}\;x \leq -2.5 \cdot 10^{-17}:\\
\;\;\;\;1 + t_1 \cdot \left(e^{x \cdot \left(-x\right)} \cdot \left(t_1 \cdot \left(t_1 \cdot \left(\left(1.061405429 \cdot \frac{-1}{{t_0}^{2}} - 1.453152027 \cdot \frac{-1}{t_0}\right) - 1.421413741\right) - -0.284496736\right) - 0.254829592\right)\right)\\
\mathbf{elif}\;x \leq 0.9:\\
\;\;\;\;10^{-9} + \mathsf{fma}\left(-0.00011824294398844343, x \cdot x, x \cdot 1.128386358070218\right)\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
Herbie found 15 alternatives:
| Alternative | Accuracy | Speedup |
|---|
if x < -2.4999999999999999e-17Initial program 98.1%
Simplified98.1%
[Start]98.1% | \[ 1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
\] |
|---|---|
associate-*l* [=>]98.1% | \[ 1 - \color{blue}{\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\right)}
\] |
Taylor expanded in x around 0 98.1%
Simplified98.1%
[Start]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(1.421413741 + 1.061405429 \cdot \frac{1}{{\left(0.3275911 \cdot \left|x\right| + 1\right)}^{2}}\right) - 1.453152027 \cdot \frac{1}{0.3275911 \cdot \left|x\right| + 1}\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
|---|---|
associate--l+ [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \color{blue}{\left(1.421413741 + \left(1.061405429 \cdot \frac{1}{{\left(0.3275911 \cdot \left|x\right| + 1\right)}^{2}} - 1.453152027 \cdot \frac{1}{0.3275911 \cdot \left|x\right| + 1}\right)\right)}\right)\right) \cdot e^{-x \cdot x}\right)
\] |
associate-*r/ [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\color{blue}{\frac{1.061405429 \cdot 1}{{\left(0.3275911 \cdot \left|x\right| + 1\right)}^{2}}} - 1.453152027 \cdot \frac{1}{0.3275911 \cdot \left|x\right| + 1}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
+-commutative [<=]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\frac{1.061405429 \cdot 1}{{\color{blue}{\left(1 + 0.3275911 \cdot \left|x\right|\right)}}^{2}} - 1.453152027 \cdot \frac{1}{0.3275911 \cdot \left|x\right| + 1}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
metadata-eval [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\frac{\color{blue}{1.061405429}}{{\left(1 + 0.3275911 \cdot \left|x\right|\right)}^{2}} - 1.453152027 \cdot \frac{1}{0.3275911 \cdot \left|x\right| + 1}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
+-commutative [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\frac{1.061405429}{{\color{blue}{\left(0.3275911 \cdot \left|x\right| + 1\right)}}^{2}} - 1.453152027 \cdot \frac{1}{0.3275911 \cdot \left|x\right| + 1}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
fma-def [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\frac{1.061405429}{{\color{blue}{\left(\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)\right)}}^{2}} - 1.453152027 \cdot \frac{1}{0.3275911 \cdot \left|x\right| + 1}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
associate-*r/ [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\frac{1.061405429}{{\left(\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)\right)}^{2}} - \color{blue}{\frac{1.453152027 \cdot 1}{0.3275911 \cdot \left|x\right| + 1}}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
metadata-eval [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\frac{1.061405429}{{\left(\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)\right)}^{2}} - \frac{\color{blue}{1.453152027}}{0.3275911 \cdot \left|x\right| + 1}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
fma-def [=>]98.1% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \left(\frac{1.061405429}{{\left(\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)\right)}^{2}} - \frac{1.453152027}{\color{blue}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
Taylor expanded in x around 0 98.1%
if -2.4999999999999999e-17 < x < 0.900000000000000022Initial program 57.7%
Simplified57.7%
[Start]57.7% | \[ 1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
\] |
|---|---|
associate-*l* [=>]57.7% | \[ 1 - \color{blue}{\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\right)}
\] |
Applied egg-rr57.8%
[Start]57.7% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1.061405429}{1 + 0.3275911 \cdot \left|x\right|}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
|---|---|
associate-*l/ [=>]57.7% | \[ 1 - \color{blue}{\frac{1 \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1.061405429}{1 + 0.3275911 \cdot \left|x\right|}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)}{1 + 0.3275911 \cdot \left|x\right|}}
\] |
Simplified57.8%
[Start]57.8% | \[ e^{\mathsf{log1p}\left(-\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot {\left(e^{x}\right)}^{x}}\right)}
\] |
|---|---|
distribute-neg-frac [=>]57.8% | \[ e^{\mathsf{log1p}\left(\color{blue}{\frac{-\left(0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}\right)}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot {\left(e^{x}\right)}^{x}}}\right)}
\] |
Taylor expanded in x around 0 100.0%
Simplified100.0%
[Start]100.0% | \[ 10^{-9} + \left(-0.00011824294398844343 \cdot {x}^{2} + 1.128386358070218 \cdot x\right)
\] |
|---|---|
fma-def [=>]100.0% | \[ 10^{-9} + \color{blue}{\mathsf{fma}\left(-0.00011824294398844343, {x}^{2}, 1.128386358070218 \cdot x\right)}
\] |
unpow2 [=>]100.0% | \[ 10^{-9} + \mathsf{fma}\left(-0.00011824294398844343, \color{blue}{x \cdot x}, 1.128386358070218 \cdot x\right)
\] |
*-commutative [=>]100.0% | \[ 10^{-9} + \mathsf{fma}\left(-0.00011824294398844343, x \cdot x, \color{blue}{x \cdot 1.128386358070218}\right)
\] |
if 0.900000000000000022 < x Initial program 100.0%
Simplified100.0%
[Start]100.0% | \[ 1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
\] |
|---|---|
associate-*l* [=>]100.0% | \[ 1 - \color{blue}{\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\right)}
\] |
Applied egg-rr100.0%
[Start]100.0% | \[ 1 - \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1.061405429}{1 + 0.3275911 \cdot \left|x\right|}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)
\] |
|---|---|
associate-*l/ [=>]100.0% | \[ 1 - \color{blue}{\frac{1 \cdot \left(\left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1.061405429}{1 + 0.3275911 \cdot \left|x\right|}\right)\right)\right)\right) \cdot e^{-x \cdot x}\right)}{1 + 0.3275911 \cdot \left|x\right|}}
\] |
Simplified100.0%
[Start]100.0% | \[ e^{\mathsf{log1p}\left(-\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot {\left(e^{x}\right)}^{x}}\right)}
\] |
|---|---|
distribute-neg-frac [=>]100.0% | \[ e^{\mathsf{log1p}\left(\color{blue}{\frac{-\left(0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}\right)}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot {\left(e^{x}\right)}^{x}}}\right)}
\] |
Taylor expanded in x around inf 100.0%
Final simplification99.5%
| Alternative 1 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 48580 |
| Alternative 2 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 519556 |
| Alternative 3 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 117636 |
| Alternative 4 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 98628 |
| Alternative 5 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 80004 |
| Alternative 6 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 61188 |
| Alternative 7 | |
|---|---|
| Accuracy | 99.1% |
| Cost | 41988 |
| Alternative 8 | |
|---|---|
| Accuracy | 98.5% |
| Cost | 34948 |
| Alternative 9 | |
|---|---|
| Accuracy | 98.5% |
| Cost | 29188 |
| Alternative 10 | |
|---|---|
| Accuracy | 98.5% |
| Cost | 28676 |
| Alternative 11 | |
|---|---|
| Accuracy | 98.4% |
| Cost | 7240 |
| Alternative 12 | |
|---|---|
| Accuracy | 98.3% |
| Cost | 1096 |
| Alternative 13 | |
|---|---|
| Accuracy | 98.3% |
| Cost | 584 |
| Alternative 14 | |
|---|---|
| Accuracy | 97.5% |
| Cost | 328 |
| Alternative 15 | |
|---|---|
| Accuracy | 52.5% |
| Cost | 64 |
herbie shell --seed 2023263
(FPCore (x)
:name "Jmat.Real.erf"
:precision binary64
(- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))