\[1 - \sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}
\]
↓
\[\begin{array}{l}
\mathbf{if}\;\mathsf{hypot}\left(1, x\right) \leq 1.01:\\
\;\;\;\;0.125 \cdot {x}^{2} + -0.0859375 \cdot {x}^{4}\\
\mathbf{else}:\\
\;\;\;\;1 - \sqrt{0.5 \cdot \left(1 + \frac{\mathsf{hypot}\left(1, x\right)}{\mathsf{hypot}\left(1, x\right) \cdot \mathsf{hypot}\left(1, x\right)}\right)}\\
\end{array}
\]
(FPCore (x)
:precision binary64
(- 1.0 (sqrt (* 0.5 (+ 1.0 (/ 1.0 (hypot 1.0 x)))))))
↓
(FPCore (x)
:precision binary64
(if (<= (hypot 1.0 x) 1.01)
(+ (* 0.125 (pow x 2.0)) (* -0.0859375 (pow x 4.0)))
(-
1.0
(sqrt (* 0.5 (+ 1.0 (/ (hypot 1.0 x) (* (hypot 1.0 x) (hypot 1.0 x)))))))))double code(double x) {
return 1.0 - sqrt((0.5 * (1.0 + (1.0 / hypot(1.0, x)))));
}
↓
double code(double x) {
double tmp;
if (hypot(1.0, x) <= 1.01) {
tmp = (0.125 * pow(x, 2.0)) + (-0.0859375 * pow(x, 4.0));
} else {
tmp = 1.0 - sqrt((0.5 * (1.0 + (hypot(1.0, x) / (hypot(1.0, x) * hypot(1.0, x))))));
}
return tmp;
}
public static double code(double x) {
return 1.0 - Math.sqrt((0.5 * (1.0 + (1.0 / Math.hypot(1.0, x)))));
}
↓
public static double code(double x) {
double tmp;
if (Math.hypot(1.0, x) <= 1.01) {
tmp = (0.125 * Math.pow(x, 2.0)) + (-0.0859375 * Math.pow(x, 4.0));
} else {
tmp = 1.0 - Math.sqrt((0.5 * (1.0 + (Math.hypot(1.0, x) / (Math.hypot(1.0, x) * Math.hypot(1.0, x))))));
}
return tmp;
}
def code(x):
return 1.0 - math.sqrt((0.5 * (1.0 + (1.0 / math.hypot(1.0, x)))))
↓
def code(x):
tmp = 0
if math.hypot(1.0, x) <= 1.01:
tmp = (0.125 * math.pow(x, 2.0)) + (-0.0859375 * math.pow(x, 4.0))
else:
tmp = 1.0 - math.sqrt((0.5 * (1.0 + (math.hypot(1.0, x) / (math.hypot(1.0, x) * math.hypot(1.0, x))))))
return tmp
function code(x)
return Float64(1.0 - sqrt(Float64(0.5 * Float64(1.0 + Float64(1.0 / hypot(1.0, x))))))
end
↓
function code(x)
tmp = 0.0
if (hypot(1.0, x) <= 1.01)
tmp = Float64(Float64(0.125 * (x ^ 2.0)) + Float64(-0.0859375 * (x ^ 4.0)));
else
tmp = Float64(1.0 - sqrt(Float64(0.5 * Float64(1.0 + Float64(hypot(1.0, x) / Float64(hypot(1.0, x) * hypot(1.0, x)))))));
end
return tmp
end
function tmp = code(x)
tmp = 1.0 - sqrt((0.5 * (1.0 + (1.0 / hypot(1.0, x)))));
end
↓
function tmp_2 = code(x)
tmp = 0.0;
if (hypot(1.0, x) <= 1.01)
tmp = (0.125 * (x ^ 2.0)) + (-0.0859375 * (x ^ 4.0));
else
tmp = 1.0 - sqrt((0.5 * (1.0 + (hypot(1.0, x) / (hypot(1.0, x) * hypot(1.0, x))))));
end
tmp_2 = tmp;
end
code[x_] := N[(1.0 - N[Sqrt[N[(0.5 * N[(1.0 + N[(1.0 / N[Sqrt[1.0 ^ 2 + x ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
↓
code[x_] := If[LessEqual[N[Sqrt[1.0 ^ 2 + x ^ 2], $MachinePrecision], 1.01], N[(N[(0.125 * N[Power[x, 2.0], $MachinePrecision]), $MachinePrecision] + N[(-0.0859375 * N[Power[x, 4.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(1.0 - N[Sqrt[N[(0.5 * N[(1.0 + N[(N[Sqrt[1.0 ^ 2 + x ^ 2], $MachinePrecision] / N[(N[Sqrt[1.0 ^ 2 + x ^ 2], $MachinePrecision] * N[Sqrt[1.0 ^ 2 + x ^ 2], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]
1 - \sqrt{0.5 \cdot \left(1 + \frac{1}{\mathsf{hypot}\left(1, x\right)}\right)}
↓
\begin{array}{l}
\mathbf{if}\;\mathsf{hypot}\left(1, x\right) \leq 1.01:\\
\;\;\;\;0.125 \cdot {x}^{2} + -0.0859375 \cdot {x}^{4}\\
\mathbf{else}:\\
\;\;\;\;1 - \sqrt{0.5 \cdot \left(1 + \frac{\mathsf{hypot}\left(1, x\right)}{\mathsf{hypot}\left(1, x\right) \cdot \mathsf{hypot}\left(1, x\right)}\right)}\\
\end{array}
Alternatives
| Alternative 1 |
|---|
| Error | 0.6 |
|---|
| Cost | 19972 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\mathsf{hypot}\left(1, x\right) \leq 1.01:\\
\;\;\;\;0.125 \cdot {x}^{2} + -0.0859375 \cdot {x}^{4}\\
\mathbf{else}:\\
\;\;\;\;1 - \sqrt{0.5 + \frac{0.5}{\mathsf{hypot}\left(1, x\right)}}\\
\end{array}
\]
| Alternative 2 |
|---|
| Error | 0.8 |
|---|
| Cost | 19908 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\mathsf{hypot}\left(1, x\right) \leq 1.01:\\
\;\;\;\;0.125 \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;1 - \sqrt{0.5 + \frac{0.5}{\mathsf{hypot}\left(1, x\right)}}\\
\end{array}
\]
| Alternative 3 |
|---|
| Error | 1.1 |
|---|
| Cost | 7368 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -1.2:\\
\;\;\;\;1 - \sqrt{0.5 + \frac{-0.5}{x}}\\
\mathbf{elif}\;x \leq 1.25:\\
\;\;\;\;0.125 \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;1 - \sqrt{0.5 \cdot \frac{1}{\frac{x}{1 + x}}}\\
\end{array}
\]
| Alternative 4 |
|---|
| Error | 1.1 |
|---|
| Cost | 7112 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -1.2:\\
\;\;\;\;1 - \sqrt{0.5 + \frac{-0.5}{x}}\\
\mathbf{elif}\;x \leq 1.25:\\
\;\;\;\;0.125 \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;1 - \sqrt{0.5 + \frac{0.5}{x}}\\
\end{array}
\]
| Alternative 5 |
|---|
| Error | 1.3 |
|---|
| Cost | 6980 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -1.2:\\
\;\;\;\;1 - \sqrt{0.5 + \frac{-0.5}{x}}\\
\mathbf{elif}\;x \leq 1.55:\\
\;\;\;\;0.125 \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;1 - \sqrt{0.5}\\
\end{array}
\]
| Alternative 6 |
|---|
| Error | 1.6 |
|---|
| Cost | 6920 |
|---|
\[\begin{array}{l}
t_0 := 1 - \sqrt{0.5}\\
\mathbf{if}\;x \leq -1.55:\\
\;\;\;\;t_0\\
\mathbf{elif}\;x \leq 1.55:\\
\;\;\;\;0.125 \cdot {x}^{2}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
| Alternative 7 |
|---|
| Error | 15.8 |
|---|
| Cost | 6856 |
|---|
\[\begin{array}{l}
t_0 := 1 - \sqrt{0.5}\\
\mathbf{if}\;x \leq -2.15 \cdot 10^{-77}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;x \leq 2.15 \cdot 10^{-77}:\\
\;\;\;\;0\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
| Alternative 8 |
|---|
| Error | 46.2 |
|---|
| Cost | 64 |
|---|
\[0
\]