\[x + \left(y - z\right) \cdot \frac{t - x}{a - z}
\]
↓
\[\begin{array}{l}
t_1 := \mathsf{fma}\left(y - z, \frac{t - x}{a - z}, x\right)\\
t_2 := t + \frac{x - t}{\frac{z}{y - a}}\\
\mathbf{if}\;z \leq -7.2 \cdot 10^{+113}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq 1.65 \cdot 10^{-285}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 7.8 \cdot 10^{-146}:\\
\;\;\;\;x + \frac{\left(t - x\right) \cdot \left(y - z\right)}{a - z}\\
\mathbf{elif}\;z \leq 1.16 \cdot 10^{+92}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}
\]
(FPCore (x y z t a) :precision binary64 (+ x (* (- y z) (/ (- t x) (- a z)))))
↓
(FPCore (x y z t a)
:precision binary64
(let* ((t_1 (fma (- y z) (/ (- t x) (- a z)) x))
(t_2 (+ t (/ (- x t) (/ z (- y a))))))
(if (<= z -7.2e+113)
t_2
(if (<= z 1.65e-285)
t_1
(if (<= z 7.8e-146)
(+ x (/ (* (- t x) (- y z)) (- a z)))
(if (<= z 1.16e+92) t_1 t_2))))))double code(double x, double y, double z, double t, double a) {
return x + ((y - z) * ((t - x) / (a - z)));
}
↓
double code(double x, double y, double z, double t, double a) {
double t_1 = fma((y - z), ((t - x) / (a - z)), x);
double t_2 = t + ((x - t) / (z / (y - a)));
double tmp;
if (z <= -7.2e+113) {
tmp = t_2;
} else if (z <= 1.65e-285) {
tmp = t_1;
} else if (z <= 7.8e-146) {
tmp = x + (((t - x) * (y - z)) / (a - z));
} else if (z <= 1.16e+92) {
tmp = t_1;
} else {
tmp = t_2;
}
return tmp;
}
function code(x, y, z, t, a)
return Float64(x + Float64(Float64(y - z) * Float64(Float64(t - x) / Float64(a - z))))
end
↓
function code(x, y, z, t, a)
t_1 = fma(Float64(y - z), Float64(Float64(t - x) / Float64(a - z)), x)
t_2 = Float64(t + Float64(Float64(x - t) / Float64(z / Float64(y - a))))
tmp = 0.0
if (z <= -7.2e+113)
tmp = t_2;
elseif (z <= 1.65e-285)
tmp = t_1;
elseif (z <= 7.8e-146)
tmp = Float64(x + Float64(Float64(Float64(t - x) * Float64(y - z)) / Float64(a - z)));
elseif (z <= 1.16e+92)
tmp = t_1;
else
tmp = t_2;
end
return tmp
end
code[x_, y_, z_, t_, a_] := N[(x + N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[x_, y_, z_, t_, a_] := Block[{t$95$1 = N[(N[(y - z), $MachinePrecision] * N[(N[(t - x), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision] + x), $MachinePrecision]}, Block[{t$95$2 = N[(t + N[(N[(x - t), $MachinePrecision] / N[(z / N[(y - a), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]}, If[LessEqual[z, -7.2e+113], t$95$2, If[LessEqual[z, 1.65e-285], t$95$1, If[LessEqual[z, 7.8e-146], N[(x + N[(N[(N[(t - x), $MachinePrecision] * N[(y - z), $MachinePrecision]), $MachinePrecision] / N[(a - z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[z, 1.16e+92], t$95$1, t$95$2]]]]]]
x + \left(y - z\right) \cdot \frac{t - x}{a - z}
↓
\begin{array}{l}
t_1 := \mathsf{fma}\left(y - z, \frac{t - x}{a - z}, x\right)\\
t_2 := t + \frac{x - t}{\frac{z}{y - a}}\\
\mathbf{if}\;z \leq -7.2 \cdot 10^{+113}:\\
\;\;\;\;t_2\\
\mathbf{elif}\;z \leq 1.65 \cdot 10^{-285}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;z \leq 7.8 \cdot 10^{-146}:\\
\;\;\;\;x + \frac{\left(t - x\right) \cdot \left(y - z\right)}{a - z}\\
\mathbf{elif}\;z \leq 1.16 \cdot 10^{+92}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_2\\
\end{array}