Math FPCore C Julia Wolfram TeX \[\frac{x + y \cdot \left(z - x\right)}{z}
\]
↓
\[\begin{array}{l}
\mathbf{if}\;y \leq -6.6 \cdot 10^{+47} \lor \neg \left(y \leq 5.5 \cdot 10^{+14}\right):\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(y, z - x, x\right)}{z}\\
\end{array}
\]
(FPCore (x y z) :precision binary64 (/ (+ x (* y (- z x))) z)) ↓
(FPCore (x y z)
:precision binary64
(if (or (<= y -6.6e+47) (not (<= y 5.5e+14)))
(- y (* y (/ x z)))
(/ (fma y (- z x) x) z))) double code(double x, double y, double z) {
return (x + (y * (z - x))) / z;
}
↓
double code(double x, double y, double z) {
double tmp;
if ((y <= -6.6e+47) || !(y <= 5.5e+14)) {
tmp = y - (y * (x / z));
} else {
tmp = fma(y, (z - x), x) / z;
}
return tmp;
}
function code(x, y, z)
return Float64(Float64(x + Float64(y * Float64(z - x))) / z)
end
↓
function code(x, y, z)
tmp = 0.0
if ((y <= -6.6e+47) || !(y <= 5.5e+14))
tmp = Float64(y - Float64(y * Float64(x / z)));
else
tmp = Float64(fma(y, Float64(z - x), x) / z);
end
return tmp
end
code[x_, y_, z_] := N[(N[(x + N[(y * N[(z - x), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / z), $MachinePrecision]
↓
code[x_, y_, z_] := If[Or[LessEqual[y, -6.6e+47], N[Not[LessEqual[y, 5.5e+14]], $MachinePrecision]], N[(y - N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(y * N[(z - x), $MachinePrecision] + x), $MachinePrecision] / z), $MachinePrecision]]
\frac{x + y \cdot \left(z - x\right)}{z}
↓
\begin{array}{l}
\mathbf{if}\;y \leq -6.6 \cdot 10^{+47} \lor \neg \left(y \leq 5.5 \cdot 10^{+14}\right):\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(y, z - x, x\right)}{z}\\
\end{array}
Alternatives Alternative 1 Accuracy 99.6% Cost 7113
\[\begin{array}{l}
\mathbf{if}\;y \leq -6.6 \cdot 10^{+47} \lor \neg \left(y \leq 5.5 \cdot 10^{+14}\right):\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(y, z - x, x\right)}{z}\\
\end{array}
\]
Alternative 2 Accuracy 77.7% Cost 912
\[\begin{array}{l}
t_0 := y + \frac{x}{z}\\
t_1 := y \cdot \frac{-x}{z}\\
\mathbf{if}\;y \leq 1.5 \cdot 10^{+35}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;y \leq 6.5 \cdot 10^{+140}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 2.25 \cdot 10^{+229}:\\
\;\;\;\;y\\
\mathbf{elif}\;y \leq 2 \cdot 10^{+272}:\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
Alternative 3 Accuracy 77.6% Cost 912
\[\begin{array}{l}
t_0 := y + \frac{x}{z}\\
\mathbf{if}\;y \leq 3.3 \cdot 10^{+35}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;y \leq 5.5 \cdot 10^{+140}:\\
\;\;\;\;y \cdot \frac{-x}{z}\\
\mathbf{elif}\;y \leq 1.9 \cdot 10^{+229}:\\
\;\;\;\;y\\
\mathbf{elif}\;y \leq 4.5 \cdot 10^{+272}:\\
\;\;\;\;\frac{y}{\frac{-z}{x}}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
Alternative 4 Accuracy 99.6% Cost 841
\[\begin{array}{l}
\mathbf{if}\;y \leq -6.6 \cdot 10^{+47} \lor \neg \left(y \leq 210000000000\right):\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x + y \cdot \left(z - x\right)}{z}\\
\end{array}
\]
Alternative 5 Accuracy 83.7% Cost 713
\[\begin{array}{l}
\mathbf{if}\;z \leq -1.26 \cdot 10^{-79} \lor \neg \left(z \leq 4.1 \cdot 10^{-50}\right):\\
\;\;\;\;y + \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{1 - y}{z}\\
\end{array}
\]
Alternative 6 Accuracy 98.2% Cost 713
\[\begin{array}{l}
\mathbf{if}\;y \leq -2.4 \cdot 10^{+40} \lor \neg \left(y \leq 1\right):\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;y + \frac{x}{z}\\
\end{array}
\]
Alternative 7 Accuracy 60.8% Cost 456
\[\begin{array}{l}
\mathbf{if}\;y \leq -1.65 \cdot 10^{-30}:\\
\;\;\;\;y\\
\mathbf{elif}\;y \leq 1.05 \cdot 10^{-50}:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}
\]
Alternative 8 Accuracy 77.7% Cost 320
\[y + \frac{x}{z}
\]
Alternative 9 Accuracy 40.5% Cost 64
\[y
\]