Math FPCore C Julia Wolfram TeX \[\frac{x}{y} \cdot \left(z - t\right) + t
\]
↓
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -2 \cdot 10^{-206} \lor \neg \left(\frac{x}{y} \leq 5 \cdot 10^{-124}\right):\\
\;\;\;\;t + \frac{x}{y} \cdot \left(z - t\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(x, \frac{z - t}{y}, t\right)\\
\end{array}
\]
(FPCore (x y z t) :precision binary64 (+ (* (/ x y) (- z t)) t)) ↓
(FPCore (x y z t)
:precision binary64
(if (or (<= (/ x y) -2e-206) (not (<= (/ x y) 5e-124)))
(+ t (* (/ x y) (- z t)))
(fma x (/ (- z t) y) t))) double code(double x, double y, double z, double t) {
return ((x / y) * (z - t)) + t;
}
↓
double code(double x, double y, double z, double t) {
double tmp;
if (((x / y) <= -2e-206) || !((x / y) <= 5e-124)) {
tmp = t + ((x / y) * (z - t));
} else {
tmp = fma(x, ((z - t) / y), t);
}
return tmp;
}
function code(x, y, z, t)
return Float64(Float64(Float64(x / y) * Float64(z - t)) + t)
end
↓
function code(x, y, z, t)
tmp = 0.0
if ((Float64(x / y) <= -2e-206) || !(Float64(x / y) <= 5e-124))
tmp = Float64(t + Float64(Float64(x / y) * Float64(z - t)));
else
tmp = fma(x, Float64(Float64(z - t) / y), t);
end
return tmp
end
code[x_, y_, z_, t_] := N[(N[(N[(x / y), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision] + t), $MachinePrecision]
↓
code[x_, y_, z_, t_] := If[Or[LessEqual[N[(x / y), $MachinePrecision], -2e-206], N[Not[LessEqual[N[(x / y), $MachinePrecision], 5e-124]], $MachinePrecision]], N[(t + N[(N[(x / y), $MachinePrecision] * N[(z - t), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(x * N[(N[(z - t), $MachinePrecision] / y), $MachinePrecision] + t), $MachinePrecision]]
\frac{x}{y} \cdot \left(z - t\right) + t
↓
\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -2 \cdot 10^{-206} \lor \neg \left(\frac{x}{y} \leq 5 \cdot 10^{-124}\right):\\
\;\;\;\;t + \frac{x}{y} \cdot \left(z - t\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(x, \frac{z - t}{y}, t\right)\\
\end{array}
Alternatives Alternative 1 Accuracy 65.4% Cost 1164
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -5 \cdot 10^{-70}:\\
\;\;\;\;\frac{z}{\frac{y}{x}}\\
\mathbf{elif}\;\frac{x}{y} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;t\\
\mathbf{elif}\;\frac{x}{y} \leq 4 \cdot 10^{+76}:\\
\;\;\;\;\frac{x}{y} \cdot z\\
\mathbf{else}:\\
\;\;\;\;\frac{-t}{\frac{y}{x}}\\
\end{array}
\]
Alternative 2 Accuracy 96.2% Cost 1097
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -1 \cdot 10^{-67} \lor \neg \left(\frac{x}{y} \leq 5 \cdot 10^{-124}\right):\\
\;\;\;\;t + \frac{x}{y} \cdot \left(z - t\right)\\
\mathbf{else}:\\
\;\;\;\;t + \frac{x}{\frac{y}{z}}\\
\end{array}
\]
Alternative 3 Accuracy 78.5% Cost 969
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -2 \cdot 10^{-18} \lor \neg \left(\frac{x}{y} \leq 10^{-6}\right):\\
\;\;\;\;x \cdot \frac{z - t}{y}\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\]
Alternative 4 Accuracy 80.4% Cost 969
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -5 \cdot 10^{-70} \lor \neg \left(\frac{x}{y} \leq 2 \cdot 10^{-7}\right):\\
\;\;\;\;\frac{x}{y} \cdot \left(z - t\right)\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\]
Alternative 5 Accuracy 93.2% Cost 969
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -2000 \lor \neg \left(\frac{x}{y} \leq 2 \cdot 10^{-7}\right):\\
\;\;\;\;\frac{x}{y} \cdot \left(z - t\right)\\
\mathbf{else}:\\
\;\;\;\;t + \frac{x}{\frac{y}{z}}\\
\end{array}
\]
Alternative 6 Accuracy 64.8% Cost 841
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -5 \cdot 10^{-70} \lor \neg \left(\frac{x}{y} \leq 2 \cdot 10^{-7}\right):\\
\;\;\;\;\frac{x}{y} \cdot z\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}
\]
Alternative 7 Accuracy 64.9% Cost 840
\[\begin{array}{l}
\mathbf{if}\;\frac{x}{y} \leq -5 \cdot 10^{-70}:\\
\;\;\;\;\frac{z}{\frac{y}{x}}\\
\mathbf{elif}\;\frac{x}{y} \leq 2 \cdot 10^{-7}:\\
\;\;\;\;t\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{y} \cdot z\\
\end{array}
\]
Alternative 8 Accuracy 50.0% Cost 64
\[t
\]