\[\frac{x \cdot x - \left(y \cdot 4\right) \cdot y}{x \cdot x + \left(y \cdot 4\right) \cdot y}
\]
↓
\[\begin{array}{l}
t_0 := \frac{x \cdot x + y \cdot \left(y \cdot -4\right)}{x \cdot x + y \cdot \left(y \cdot 4\right)}\\
t_1 := \mathsf{fma}\left(0.5, \frac{x}{y} \cdot \frac{x}{y}, -1\right)\\
\mathbf{if}\;x \leq -9.2 \cdot 10^{+142}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq -7.8 \cdot 10^{+109}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq -2.2 \cdot 10^{+51}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;x \leq -8 \cdot 10^{+41}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq -1.1 \cdot 10^{-129}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;x \leq 3.7 \cdot 10^{-45}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 2.45 \cdot 10^{+117}:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
(FPCore (x y)
:precision binary64
(/ (- (* x x) (* (* y 4.0) y)) (+ (* x x) (* (* y 4.0) y))))
↓
(FPCore (x y)
:precision binary64
(let* ((t_0 (/ (+ (* x x) (* y (* y -4.0))) (+ (* x x) (* y (* y 4.0)))))
(t_1 (fma 0.5 (* (/ x y) (/ x y)) -1.0)))
(if (<= x -9.2e+142)
1.0
(if (<= x -7.8e+109)
t_1
(if (<= x -2.2e+51)
t_0
(if (<= x -8e+41)
t_1
(if (<= x -1.1e-129)
t_0
(if (<= x 3.7e-45) t_1 (if (<= x 2.45e+117) t_0 1.0)))))))))double code(double x, double y) {
return ((x * x) - ((y * 4.0) * y)) / ((x * x) + ((y * 4.0) * y));
}
↓
double code(double x, double y) {
double t_0 = ((x * x) + (y * (y * -4.0))) / ((x * x) + (y * (y * 4.0)));
double t_1 = fma(0.5, ((x / y) * (x / y)), -1.0);
double tmp;
if (x <= -9.2e+142) {
tmp = 1.0;
} else if (x <= -7.8e+109) {
tmp = t_1;
} else if (x <= -2.2e+51) {
tmp = t_0;
} else if (x <= -8e+41) {
tmp = t_1;
} else if (x <= -1.1e-129) {
tmp = t_0;
} else if (x <= 3.7e-45) {
tmp = t_1;
} else if (x <= 2.45e+117) {
tmp = t_0;
} else {
tmp = 1.0;
}
return tmp;
}
function code(x, y)
return Float64(Float64(Float64(x * x) - Float64(Float64(y * 4.0) * y)) / Float64(Float64(x * x) + Float64(Float64(y * 4.0) * y)))
end
↓
function code(x, y)
t_0 = Float64(Float64(Float64(x * x) + Float64(y * Float64(y * -4.0))) / Float64(Float64(x * x) + Float64(y * Float64(y * 4.0))))
t_1 = fma(0.5, Float64(Float64(x / y) * Float64(x / y)), -1.0)
tmp = 0.0
if (x <= -9.2e+142)
tmp = 1.0;
elseif (x <= -7.8e+109)
tmp = t_1;
elseif (x <= -2.2e+51)
tmp = t_0;
elseif (x <= -8e+41)
tmp = t_1;
elseif (x <= -1.1e-129)
tmp = t_0;
elseif (x <= 3.7e-45)
tmp = t_1;
elseif (x <= 2.45e+117)
tmp = t_0;
else
tmp = 1.0;
end
return tmp
end
code[x_, y_] := N[(N[(N[(x * x), $MachinePrecision] - N[(N[(y * 4.0), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision] / N[(N[(x * x), $MachinePrecision] + N[(N[(y * 4.0), $MachinePrecision] * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[x_, y_] := Block[{t$95$0 = N[(N[(N[(x * x), $MachinePrecision] + N[(y * N[(y * -4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(N[(x * x), $MachinePrecision] + N[(y * N[(y * 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(0.5 * N[(N[(x / y), $MachinePrecision] * N[(x / y), $MachinePrecision]), $MachinePrecision] + -1.0), $MachinePrecision]}, If[LessEqual[x, -9.2e+142], 1.0, If[LessEqual[x, -7.8e+109], t$95$1, If[LessEqual[x, -2.2e+51], t$95$0, If[LessEqual[x, -8e+41], t$95$1, If[LessEqual[x, -1.1e-129], t$95$0, If[LessEqual[x, 3.7e-45], t$95$1, If[LessEqual[x, 2.45e+117], t$95$0, 1.0]]]]]]]]]
\frac{x \cdot x - \left(y \cdot 4\right) \cdot y}{x \cdot x + \left(y \cdot 4\right) \cdot y}
↓
\begin{array}{l}
t_0 := \frac{x \cdot x + y \cdot \left(y \cdot -4\right)}{x \cdot x + y \cdot \left(y \cdot 4\right)}\\
t_1 := \mathsf{fma}\left(0.5, \frac{x}{y} \cdot \frac{x}{y}, -1\right)\\
\mathbf{if}\;x \leq -9.2 \cdot 10^{+142}:\\
\;\;\;\;1\\
\mathbf{elif}\;x \leq -7.8 \cdot 10^{+109}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq -2.2 \cdot 10^{+51}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;x \leq -8 \cdot 10^{+41}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq -1.1 \cdot 10^{-129}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;x \leq 3.7 \cdot 10^{-45}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;x \leq 2.45 \cdot 10^{+117}:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}