Math FPCore C Julia Wolfram TeX \[\frac{x \cdot \left(y + z\right)}{z}
\]
↓
\[\begin{array}{l}
t_0 := \frac{x \cdot \left(y + z\right)}{z}\\
\mathbf{if}\;t_0 \leq 10^{+59}:\\
\;\;\;\;\mathsf{fma}\left(x, \frac{y}{z}, x\right)\\
\mathbf{elif}\;t_0 \leq 10^{+292}:\\
\;\;\;\;x + \frac{x \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + x \cdot \frac{y}{z}\\
\end{array}
\]
(FPCore (x y z) :precision binary64 (/ (* x (+ y z)) z)) ↓
(FPCore (x y z)
:precision binary64
(let* ((t_0 (/ (* x (+ y z)) z)))
(if (<= t_0 1e+59)
(fma x (/ y z) x)
(if (<= t_0 1e+292) (+ x (/ (* x y) z)) (+ x (* x (/ y z))))))) double code(double x, double y, double z) {
return (x * (y + z)) / z;
}
↓
double code(double x, double y, double z) {
double t_0 = (x * (y + z)) / z;
double tmp;
if (t_0 <= 1e+59) {
tmp = fma(x, (y / z), x);
} else if (t_0 <= 1e+292) {
tmp = x + ((x * y) / z);
} else {
tmp = x + (x * (y / z));
}
return tmp;
}
function code(x, y, z)
return Float64(Float64(x * Float64(y + z)) / z)
end
↓
function code(x, y, z)
t_0 = Float64(Float64(x * Float64(y + z)) / z)
tmp = 0.0
if (t_0 <= 1e+59)
tmp = fma(x, Float64(y / z), x);
elseif (t_0 <= 1e+292)
tmp = Float64(x + Float64(Float64(x * y) / z));
else
tmp = Float64(x + Float64(x * Float64(y / z)));
end
return tmp
end
code[x_, y_, z_] := N[(N[(x * N[(y + z), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]
↓
code[x_, y_, z_] := Block[{t$95$0 = N[(N[(x * N[(y + z), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]}, If[LessEqual[t$95$0, 1e+59], N[(x * N[(y / z), $MachinePrecision] + x), $MachinePrecision], If[LessEqual[t$95$0, 1e+292], N[(x + N[(N[(x * y), $MachinePrecision] / z), $MachinePrecision]), $MachinePrecision], N[(x + N[(x * N[(y / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]
\frac{x \cdot \left(y + z\right)}{z}
↓
\begin{array}{l}
t_0 := \frac{x \cdot \left(y + z\right)}{z}\\
\mathbf{if}\;t_0 \leq 10^{+59}:\\
\;\;\;\;\mathsf{fma}\left(x, \frac{y}{z}, x\right)\\
\mathbf{elif}\;t_0 \leq 10^{+292}:\\
\;\;\;\;x + \frac{x \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + x \cdot \frac{y}{z}\\
\end{array}