\[\frac{x \cdot \left(\left(y - z\right) + 1\right)}{z}
\]
↓
\[\begin{array}{l}
\mathbf{if}\;z \leq -2 \cdot 10^{-38} \lor \neg \left(z \leq 5.6 \cdot 10^{+54}\right):\\
\;\;\;\;\frac{x}{\frac{z}{\left(y - z\right) + 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(x, y - z, x\right)}{z}\\
\end{array}
\]
(FPCore (x y z) :precision binary64 (/ (* x (+ (- y z) 1.0)) z))
↓
(FPCore (x y z)
:precision binary64
(if (or (<= z -2e-38) (not (<= z 5.6e+54)))
(/ x (/ z (+ (- y z) 1.0)))
(/ (fma x (- y z) x) z)))
double code(double x, double y, double z) {
return (x * ((y - z) + 1.0)) / z;
}
↓
double code(double x, double y, double z) {
double tmp;
if ((z <= -2e-38) || !(z <= 5.6e+54)) {
tmp = x / (z / ((y - z) + 1.0));
} else {
tmp = fma(x, (y - z), x) / z;
}
return tmp;
}
function code(x, y, z)
return Float64(Float64(x * Float64(Float64(y - z) + 1.0)) / z)
end
↓
function code(x, y, z)
tmp = 0.0
if ((z <= -2e-38) || !(z <= 5.6e+54))
tmp = Float64(x / Float64(z / Float64(Float64(y - z) + 1.0)));
else
tmp = Float64(fma(x, Float64(y - z), x) / z);
end
return tmp
end
code[x_, y_, z_] := N[(N[(x * N[(N[(y - z), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]
↓
code[x_, y_, z_] := If[Or[LessEqual[z, -2e-38], N[Not[LessEqual[z, 5.6e+54]], $MachinePrecision]], N[(x / N[(z / N[(N[(y - z), $MachinePrecision] + 1.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(x * N[(y - z), $MachinePrecision] + x), $MachinePrecision] / z), $MachinePrecision]]
\frac{x \cdot \left(\left(y - z\right) + 1\right)}{z}
↓
\begin{array}{l}
\mathbf{if}\;z \leq -2 \cdot 10^{-38} \lor \neg \left(z \leq 5.6 \cdot 10^{+54}\right):\\
\;\;\;\;\frac{x}{\frac{z}{\left(y - z\right) + 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(x, y - z, x\right)}{z}\\
\end{array}
Alternatives
| Alternative 1 |
|---|
| Error | 0.1 |
|---|
| Cost | 841 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -2 \cdot 10^{-38} \lor \neg \left(z \leq 1.4 \cdot 10^{-27}\right):\\
\;\;\;\;\frac{x}{\frac{z}{\left(y - z\right) + 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x + x \cdot y}{z}\\
\end{array}
\]
| Alternative 2 |
|---|
| Error | 0.3 |
|---|
| Cost | 841 |
|---|
\[\begin{array}{l}
t_0 := \left(y - z\right) + 1\\
\mathbf{if}\;z \leq -2 \cdot 10^{-39} \lor \neg \left(z \leq 10^{+55}\right):\\
\;\;\;\;\frac{x}{\frac{z}{t_0}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot t_0}{z}\\
\end{array}
\]
| Alternative 3 |
|---|
| Error | 12.0 |
|---|
| Cost | 585 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y \leq -4.4 \cdot 10^{+154} \lor \neg \left(y \leq 5.8 \cdot 10^{+98}\right):\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{z} - x\\
\end{array}
\]
| Alternative 4 |
|---|
| Error | 12.2 |
|---|
| Cost | 584 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y \leq -4 \cdot 10^{+154}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;y \leq 6.2 \cdot 10^{+97}:\\
\;\;\;\;\frac{x}{z} - x\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\end{array}
\]
| Alternative 5 |
|---|
| Error | 19.2 |
|---|
| Cost | 456 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -250000000000:\\
\;\;\;\;-x\\
\mathbf{elif}\;z \leq 1:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;-x\\
\end{array}
\]
| Alternative 6 |
|---|
| Error | 32.9 |
|---|
| Cost | 128 |
|---|
\[-x
\]
| Alternative 7 |
|---|
| Error | 62.1 |
|---|
| Cost | 64 |
|---|
\[x
\]