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