\[\frac{x \cdot \left(\left(y - z\right) + 1\right)}{z}
\]
↓
\[\begin{array}{l}
\mathbf{if}\;z \leq -5000000000000 \lor \neg \left(z \leq 1.25 \cdot 10^{+24}\right):\\
\;\;\;\;\frac{y + \left(1 - z\right)}{z} \cdot x\\
\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 -5000000000000.0) (not (<= z 1.25e+24)))
(* (/ (+ y (- 1.0 z)) z) x)
(/ (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 <= -5000000000000.0) || !(z <= 1.25e+24)) {
tmp = ((y + (1.0 - z)) / z) * x;
} 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 <= -5000000000000.0) || !(z <= 1.25e+24))
tmp = Float64(Float64(Float64(y + Float64(1.0 - z)) / z) * x);
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, -5000000000000.0], N[Not[LessEqual[z, 1.25e+24]], $MachinePrecision]], N[(N[(N[(y + N[(1.0 - z), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision] * x), $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 -5000000000000 \lor \neg \left(z \leq 1.25 \cdot 10^{+24}\right):\\
\;\;\;\;\frac{y + \left(1 - z\right)}{z} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(x, y - z, x\right)}{z}\\
\end{array}
Alternatives
| Alternative 1 |
|---|
| Error | 22.6 |
|---|
| Cost | 852 |
|---|
\[\begin{array}{l}
t_0 := y \cdot \frac{x}{z}\\
\mathbf{if}\;z \leq -4 \cdot 10^{+89}:\\
\;\;\;\;-x\\
\mathbf{elif}\;z \leq -2.3 \cdot 10^{-169}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq -8 \cdot 10^{-276}:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{elif}\;z \leq 3.6 \cdot 10^{-223}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;z \leq 1:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;-x\\
\end{array}
\]
| Alternative 2 |
|---|
| Error | 12.3 |
|---|
| Cost | 848 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y \leq -6.5 \cdot 10^{+79}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{elif}\;y \leq -7 \cdot 10^{+55}:\\
\;\;\;\;-x\\
\mathbf{elif}\;y \leq -1.9 \cdot 10^{+36}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;y \leq 3.4 \cdot 10^{+59}:\\
\;\;\;\;\frac{x}{z} - x\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\end{array}
\]
| Alternative 3 |
|---|
| Error | 0.4 |
|---|
| Cost | 841 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -0.0032 \lor \neg \left(z \leq 2.5 \cdot 10^{-6}\right):\\
\;\;\;\;\frac{y + \left(1 - z\right)}{z} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{x + y \cdot x}{z}\\
\end{array}
\]
| Alternative 4 |
|---|
| Error | 0.1 |
|---|
| Cost | 841 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -540000000000 \lor \neg \left(z \leq 1.45 \cdot 10^{+24}\right):\\
\;\;\;\;\frac{y + \left(1 - z\right)}{z} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot \left(\left(y - z\right) + 1\right)}{z}\\
\end{array}
\]
| Alternative 5 |
|---|
| Error | 0.4 |
|---|
| Cost | 840 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -0.0032:\\
\;\;\;\;\frac{x}{\frac{z}{\left(y - z\right) + 1}}\\
\mathbf{elif}\;z \leq 2.5 \cdot 10^{-6}:\\
\;\;\;\;\frac{x + y \cdot x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{y + \left(1 - z\right)}{z} \cdot x\\
\end{array}
\]
| Alternative 6 |
|---|
| Error | 10.7 |
|---|
| Cost | 712 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -4 \cdot 10^{+89}:\\
\;\;\;\;-x\\
\mathbf{elif}\;z \leq 0.0055:\\
\;\;\;\;\frac{x + y \cdot x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{z} - x\\
\end{array}
\]
| Alternative 7 |
|---|
| Error | 20.7 |
|---|
| Cost | 588 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -3 \cdot 10^{+89}:\\
\;\;\;\;-x\\
\mathbf{elif}\;z \leq -3.6 \cdot 10^{-31}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;z \leq 1:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;-x\\
\end{array}
\]
| Alternative 8 |
|---|
| Error | 11.5 |
|---|
| Cost | 585 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y \leq -5.1 \cdot 10^{+36} \lor \neg \left(y \leq 4.8 \cdot 10^{+58}\right):\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{z} - x\\
\end{array}
\]
| Alternative 9 |
|---|
| Error | 11.7 |
|---|
| Cost | 584 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y \leq -1.1 \cdot 10^{+33}:\\
\;\;\;\;\frac{y \cdot x}{z}\\
\mathbf{elif}\;y \leq 3 \cdot 10^{+55}:\\
\;\;\;\;\frac{x}{z} - x\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\end{array}
\]
| Alternative 10 |
|---|
| Error | 11.7 |
|---|
| Cost | 584 |
|---|
\[\begin{array}{l}
\mathbf{if}\;y \leq -1.15 \cdot 10^{+33}:\\
\;\;\;\;\left(y \cdot x\right) \cdot \frac{1}{z}\\
\mathbf{elif}\;y \leq 2.2 \cdot 10^{+53}:\\
\;\;\;\;\frac{x}{z} - x\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\end{array}
\]
| Alternative 11 |
|---|
| Error | 19.5 |
|---|
| Cost | 456 |
|---|
\[\begin{array}{l}
\mathbf{if}\;z \leq -740000000:\\
\;\;\;\;-x\\
\mathbf{elif}\;z \leq 1:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;-x\\
\end{array}
\]
| Alternative 12 |
|---|
| Error | 33.3 |
|---|
| Cost | 128 |
|---|
\[-x
\]