\[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 := \left|x\right| \cdot 0.3275911\\
t_1 := 1 + \log \left(e^{t_0}\right)\\
t_2 := 1 + t_0\\
\mathbf{if}\;\left|x\right| \leq 10^{-12}:\\
\;\;\;\;10^{-9} + \sqrt{x \cdot \left(x \cdot 1.2732557730789702\right)}\\
\mathbf{else}:\\
\;\;\;\;1 + \frac{\frac{-0.254829592 + \frac{0.284496736 + \frac{-1.421413741 + \frac{1.453152027 + \frac{-1.061405429}{t_2}}{t_2}}{t_2}}{t_1}}{e^{x \cdot x}}}{t_1}\\
\end{array}
\]
(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 (* (fabs x) 0.3275911))
(t_1 (+ 1.0 (log (exp t_0))))
(t_2 (+ 1.0 t_0)))
(if (<= (fabs x) 1e-12)
(+ 1e-9 (sqrt (* x (* x 1.2732557730789702))))
(+
1.0
(/
(/
(+
-0.254829592
(/
(+
0.284496736
(/
(+ -1.421413741 (/ (+ 1.453152027 (/ -1.061405429 t_2)) t_2))
t_2))
t_1))
(exp (* x x)))
t_1)))))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 = fabs(x) * 0.3275911;
double t_1 = 1.0 + log(exp(t_0));
double t_2 = 1.0 + t_0;
double tmp;
if (fabs(x) <= 1e-12) {
tmp = 1e-9 + sqrt((x * (x * 1.2732557730789702)));
} else {
tmp = 1.0 + (((-0.254829592 + ((0.284496736 + ((-1.421413741 + ((1.453152027 + (-1.061405429 / t_2)) / t_2)) / t_2)) / t_1)) / exp((x * x))) / t_1);
}
return tmp;
}
real(8) function code(x)
real(8), intent (in) :: x
code = 1.0d0 - (((1.0d0 / (1.0d0 + (0.3275911d0 * abs(x)))) * (0.254829592d0 + ((1.0d0 / (1.0d0 + (0.3275911d0 * abs(x)))) * ((-0.284496736d0) + ((1.0d0 / (1.0d0 + (0.3275911d0 * abs(x)))) * (1.421413741d0 + ((1.0d0 / (1.0d0 + (0.3275911d0 * abs(x)))) * ((-1.453152027d0) + ((1.0d0 / (1.0d0 + (0.3275911d0 * abs(x)))) * 1.061405429d0))))))))) * exp(-(abs(x) * abs(x))))
end function
↓
real(8) function code(x)
real(8), intent (in) :: x
real(8) :: t_0
real(8) :: t_1
real(8) :: t_2
real(8) :: tmp
t_0 = abs(x) * 0.3275911d0
t_1 = 1.0d0 + log(exp(t_0))
t_2 = 1.0d0 + t_0
if (abs(x) <= 1d-12) then
tmp = 1d-9 + sqrt((x * (x * 1.2732557730789702d0)))
else
tmp = 1.0d0 + ((((-0.254829592d0) + ((0.284496736d0 + (((-1.421413741d0) + ((1.453152027d0 + ((-1.061405429d0) / t_2)) / t_2)) / t_2)) / t_1)) / exp((x * x))) / t_1)
end if
code = tmp
end function
public static double code(double x) {
return 1.0 - (((1.0 / (1.0 + (0.3275911 * Math.abs(x)))) * (0.254829592 + ((1.0 / (1.0 + (0.3275911 * Math.abs(x)))) * (-0.284496736 + ((1.0 / (1.0 + (0.3275911 * Math.abs(x)))) * (1.421413741 + ((1.0 / (1.0 + (0.3275911 * Math.abs(x)))) * (-1.453152027 + ((1.0 / (1.0 + (0.3275911 * Math.abs(x)))) * 1.061405429))))))))) * Math.exp(-(Math.abs(x) * Math.abs(x))));
}
↓
public static double code(double x) {
double t_0 = Math.abs(x) * 0.3275911;
double t_1 = 1.0 + Math.log(Math.exp(t_0));
double t_2 = 1.0 + t_0;
double tmp;
if (Math.abs(x) <= 1e-12) {
tmp = 1e-9 + Math.sqrt((x * (x * 1.2732557730789702)));
} else {
tmp = 1.0 + (((-0.254829592 + ((0.284496736 + ((-1.421413741 + ((1.453152027 + (-1.061405429 / t_2)) / t_2)) / t_2)) / t_1)) / Math.exp((x * x))) / t_1);
}
return tmp;
}
def code(x):
return 1.0 - (((1.0 / (1.0 + (0.3275911 * math.fabs(x)))) * (0.254829592 + ((1.0 / (1.0 + (0.3275911 * math.fabs(x)))) * (-0.284496736 + ((1.0 / (1.0 + (0.3275911 * math.fabs(x)))) * (1.421413741 + ((1.0 / (1.0 + (0.3275911 * math.fabs(x)))) * (-1.453152027 + ((1.0 / (1.0 + (0.3275911 * math.fabs(x)))) * 1.061405429))))))))) * math.exp(-(math.fabs(x) * math.fabs(x))))
↓
def code(x):
t_0 = math.fabs(x) * 0.3275911
t_1 = 1.0 + math.log(math.exp(t_0))
t_2 = 1.0 + t_0
tmp = 0
if math.fabs(x) <= 1e-12:
tmp = 1e-9 + math.sqrt((x * (x * 1.2732557730789702)))
else:
tmp = 1.0 + (((-0.254829592 + ((0.284496736 + ((-1.421413741 + ((1.453152027 + (-1.061405429 / t_2)) / t_2)) / t_2)) / t_1)) / math.exp((x * x))) / t_1)
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(abs(x) * 0.3275911)
t_1 = Float64(1.0 + log(exp(t_0)))
t_2 = Float64(1.0 + t_0)
tmp = 0.0
if (abs(x) <= 1e-12)
tmp = Float64(1e-9 + sqrt(Float64(x * Float64(x * 1.2732557730789702))));
else
tmp = Float64(1.0 + Float64(Float64(Float64(-0.254829592 + Float64(Float64(0.284496736 + Float64(Float64(-1.421413741 + Float64(Float64(1.453152027 + Float64(-1.061405429 / t_2)) / t_2)) / t_2)) / t_1)) / exp(Float64(x * x))) / t_1));
end
return tmp
end
function tmp = code(x)
tmp = 1.0 - (((1.0 / (1.0 + (0.3275911 * abs(x)))) * (0.254829592 + ((1.0 / (1.0 + (0.3275911 * abs(x)))) * (-0.284496736 + ((1.0 / (1.0 + (0.3275911 * abs(x)))) * (1.421413741 + ((1.0 / (1.0 + (0.3275911 * abs(x)))) * (-1.453152027 + ((1.0 / (1.0 + (0.3275911 * abs(x)))) * 1.061405429))))))))) * exp(-(abs(x) * abs(x))));
end
↓
function tmp_2 = code(x)
t_0 = abs(x) * 0.3275911;
t_1 = 1.0 + log(exp(t_0));
t_2 = 1.0 + t_0;
tmp = 0.0;
if (abs(x) <= 1e-12)
tmp = 1e-9 + sqrt((x * (x * 1.2732557730789702)));
else
tmp = 1.0 + (((-0.254829592 + ((0.284496736 + ((-1.421413741 + ((1.453152027 + (-1.061405429 / t_2)) / t_2)) / t_2)) / t_1)) / exp((x * x))) / t_1);
end
tmp_2 = 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[(N[Abs[x], $MachinePrecision] * 0.3275911), $MachinePrecision]}, Block[{t$95$1 = N[(1.0 + N[Log[N[Exp[t$95$0], $MachinePrecision]], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$2 = N[(1.0 + t$95$0), $MachinePrecision]}, If[LessEqual[N[Abs[x], $MachinePrecision], 1e-12], N[(1e-9 + N[Sqrt[N[(x * N[(x * 1.2732557730789702), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision], N[(1.0 + N[(N[(N[(-0.254829592 + N[(N[(0.284496736 + N[(N[(-1.421413741 + N[(N[(1.453152027 + N[(-1.061405429 / t$95$2), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision] / t$95$2), $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision] / N[Exp[N[(x * x), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / t$95$1), $MachinePrecision]), $MachinePrecision]]]]]
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 := \left|x\right| \cdot 0.3275911\\
t_1 := 1 + \log \left(e^{t_0}\right)\\
t_2 := 1 + t_0\\
\mathbf{if}\;\left|x\right| \leq 10^{-12}:\\
\;\;\;\;10^{-9} + \sqrt{x \cdot \left(x \cdot 1.2732557730789702\right)}\\
\mathbf{else}:\\
\;\;\;\;1 + \frac{\frac{-0.254829592 + \frac{0.284496736 + \frac{-1.421413741 + \frac{1.453152027 + \frac{-1.061405429}{t_2}}{t_2}}{t_2}}{t_1}}{e^{x \cdot x}}}{t_1}\\
\end{array}
Alternatives
| Alternative 1 |
|---|
| Error | 0.3 |
|---|
| Cost | 60612 |
|---|
\[\begin{array}{l}
t_0 := \left|x\right| \cdot 0.3275911\\
t_1 := 1 + t_0\\
\mathbf{if}\;\left|x\right| \leq 10^{-12}:\\
\;\;\;\;10^{-9} + \sqrt{x \cdot \left(x \cdot 1.2732557730789702\right)}\\
\mathbf{else}:\\
\;\;\;\;1 + \frac{\frac{-0.254829592 + \frac{0.284496736 + \frac{-1.421413741 + \frac{1.453152027 + \frac{-1.061405429}{t_1}}{t_1}}{t_1}}{t_1}}{e^{x \cdot x}}}{1 + \log \left(e^{t_0}\right)}\\
\end{array}
\]
| Alternative 2 |
|---|
| Error | 0.1 |
|---|
| Cost | 41412 |
|---|
\[\begin{array}{l}
t_0 := 1 + \left|x\right| \cdot 0.3275911\\
t_1 := e^{x \cdot x}\\
t_2 := 1 + x \cdot 0.3275911\\
\mathbf{if}\;x \leq -1.7 \cdot 10^{-6}:\\
\;\;\;\;1 + \frac{\frac{-0.254829592 + \frac{0.284496736 + \frac{-1.421413741 + \frac{1.453152027 + \frac{-1.061405429}{t_0}}{t_0}}{t_0}}{t_0}}{t_1}}{t_0}\\
\mathbf{elif}\;x \leq 1.35 \cdot 10^{-6}:\\
\;\;\;\;10^{-9} + \sqrt{x \cdot \left(x \cdot 1.2732557730789702\right)}\\
\mathbf{else}:\\
\;\;\;\;1 + \frac{-0.254829592 + \frac{0.284496736 + \frac{-1.421413741 + \frac{1.453152027 + \frac{-1.061405429}{t_2}}{t_2}}{t_2}}{t_2}}{t_1 \cdot t_2}\\
\end{array}
\]
| Alternative 3 |
|---|
| Error | 0.3 |
|---|
| Cost | 19848 |
|---|
\[\begin{array}{l}
t_0 := 1 + x \cdot 0.3275911\\
\mathbf{if}\;x \leq -0.9:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq 1.35 \cdot 10^{-6}:\\
\;\;\;\;10^{-9} + \sqrt{{\left(\sqrt[3]{x \cdot 1.128386358070218}\right)}^{6}}\\
\mathbf{else}:\\
\;\;\;\;1 + \frac{-0.254829592 + \frac{0.284496736 + \frac{-1.421413741 + \frac{1.453152027 + \frac{-1.061405429}{t_0}}{t_0}}{t_0}}{t_0}}{e^{x \cdot x} \cdot t_0}\\
\end{array}
\]
| Alternative 4 |
|---|
| Error | 0.3 |
|---|
| Cost | 9544 |
|---|
\[\begin{array}{l}
t_0 := 1 + x \cdot 0.3275911\\
\mathbf{if}\;x \leq -0.9:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq 1.35 \cdot 10^{-6}:\\
\;\;\;\;10^{-9} + \sqrt{x \cdot \left(x \cdot 1.2732557730789702\right)}\\
\mathbf{else}:\\
\;\;\;\;1 + \frac{-0.254829592 + \frac{0.284496736 + \frac{-1.421413741 + \frac{1.453152027 + \frac{-1.061405429}{t_0}}{t_0}}{t_0}}{t_0}}{e^{x \cdot x} \cdot t_0}\\
\end{array}
\]
| Alternative 5 |
|---|
| Error | 0.4 |
|---|
| Cost | 7112 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -0.9:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq 0.9:\\
\;\;\;\;10^{-9} + \sqrt{x \cdot \left(x \cdot 1.2732557730789702\right)}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 6 |
|---|
| Error | 1.0 |
|---|
| Cost | 6856 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -0.9:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq 8.8 \cdot 10^{-10}:\\
\;\;\;\;\mathsf{fma}\left(x, -1.128386358070218, 10^{-9}\right)\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 7 |
|---|
| Error | 0.8 |
|---|
| Cost | 584 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -8.8 \cdot 10^{-10}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq 0.9:\\
\;\;\;\;10^{-9} + x \cdot 1.128386358070218\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 8 |
|---|
| Error | 1.0 |
|---|
| Cost | 584 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -0.9:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq 8.8 \cdot 10^{-10}:\\
\;\;\;\;10^{-9} + x \cdot -1.128386358070218\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 9 |
|---|
| Error | 1.4 |
|---|
| Cost | 328 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -2.8 \cdot 10^{-5}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq 2.8 \cdot 10^{-5}:\\
\;\;\;\;10^{-9}\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 10 |
|---|
| Error | 30.0 |
|---|
| Cost | 64 |
|---|
\[10^{-9}
\]