Math FPCore C Julia Wolfram TeX \[\frac{x + y \cdot \left(z - x\right)}{z}
\]
↓
\[\begin{array}{l}
\mathbf{if}\;y \leq -5 \cdot 10^{-251}:\\
\;\;\;\;\frac{x}{z} + y \cdot \left(1 - \frac{x}{z}\right)\\
\mathbf{elif}\;y \leq 5200000000000:\\
\;\;\;\;\frac{\mathsf{fma}\left(y, z - x, x\right)}{z}\\
\mathbf{else}:\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\end{array}
\]
(FPCore (x y z) :precision binary64 (/ (+ x (* y (- z x))) z)) ↓
(FPCore (x y z)
:precision binary64
(if (<= y -5e-251)
(+ (/ x z) (* y (- 1.0 (/ x z))))
(if (<= y 5200000000000.0) (/ (fma y (- z x) x) z) (- y (* y (/ 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 <= -5e-251) {
tmp = (x / z) + (y * (1.0 - (x / z)));
} else if (y <= 5200000000000.0) {
tmp = fma(y, (z - x), x) / z;
} else {
tmp = y - (y * (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 <= -5e-251)
tmp = Float64(Float64(x / z) + Float64(y * Float64(1.0 - Float64(x / z))));
elseif (y <= 5200000000000.0)
tmp = Float64(fma(y, Float64(z - x), x) / z);
else
tmp = Float64(y - Float64(y * Float64(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[LessEqual[y, -5e-251], N[(N[(x / z), $MachinePrecision] + N[(y * N[(1.0 - N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[y, 5200000000000.0], N[(N[(y * N[(z - x), $MachinePrecision] + x), $MachinePrecision] / z), $MachinePrecision], N[(y - N[(y * N[(x / z), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\frac{x + y \cdot \left(z - x\right)}{z}
↓
\begin{array}{l}
\mathbf{if}\;y \leq -5 \cdot 10^{-251}:\\
\;\;\;\;\frac{x}{z} + y \cdot \left(1 - \frac{x}{z}\right)\\
\mathbf{elif}\;y \leq 5200000000000:\\
\;\;\;\;\frac{\mathsf{fma}\left(y, z - x, x\right)}{z}\\
\mathbf{else}:\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\end{array}
Alternatives Alternative 1 Accuracy 77.6% Cost 1045
\[\begin{array}{l}
t_0 := y + \frac{x}{z}\\
t_1 := \frac{-y}{\frac{z}{x}}\\
\mathbf{if}\;y \leq -1.55 \cdot 10^{+97}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;y \leq -3 \cdot 10^{+37}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 100:\\
\;\;\;\;t_0\\
\mathbf{elif}\;y \leq 2.8 \cdot 10^{+91} \lor \neg \left(y \leq 2.08 \cdot 10^{+158}\right):\\
\;\;\;\;t_1\\
\mathbf{else}:\\
\;\;\;\;z \cdot \frac{y}{z}\\
\end{array}
\]
Alternative 2 Accuracy 77.6% Cost 1044
\[\begin{array}{l}
t_0 := y + \frac{x}{z}\\
t_1 := \frac{x}{z} \cdot \left(-y\right)\\
\mathbf{if}\;y \leq -8 \cdot 10^{+95}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;y \leq -4.5 \cdot 10^{+34}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;y \leq 85:\\
\;\;\;\;t_0\\
\mathbf{elif}\;y \leq 3.8 \cdot 10^{+91}:\\
\;\;\;\;\frac{-y}{\frac{z}{x}}\\
\mathbf{elif}\;y \leq 10^{+154}:\\
\;\;\;\;z \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;t_1\\
\end{array}
\]
Alternative 3 Accuracy 53.8% Cost 984
\[\begin{array}{l}
\mathbf{if}\;x \leq -5.8 \cdot 10^{+18}:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{elif}\;x \leq -3.5 \cdot 10^{-38}:\\
\;\;\;\;y\\
\mathbf{elif}\;x \leq -2 \cdot 10^{-133}:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{elif}\;x \leq 1.5 \cdot 10^{-139}:\\
\;\;\;\;y\\
\mathbf{elif}\;x \leq 6.5 \cdot 10^{+74}:\\
\;\;\;\;\frac{x}{z}\\
\mathbf{elif}\;x \leq 1.6 \cdot 10^{+113}:\\
\;\;\;\;y\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{z}\\
\end{array}
\]
Alternative 4 Accuracy 99.8% Cost 840
\[\begin{array}{l}
\mathbf{if}\;y \leq -45000000000:\\
\;\;\;\;\frac{y}{\frac{z}{z - x}}\\
\mathbf{elif}\;y \leq 4100000000000:\\
\;\;\;\;\frac{x + y \cdot \left(z - x\right)}{z}\\
\mathbf{else}:\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\end{array}
\]
Alternative 5 Accuracy 99.9% Cost 840
\[\begin{array}{l}
\mathbf{if}\;y \leq -5 \cdot 10^{-251}:\\
\;\;\;\;\frac{x}{z} + y \cdot \left(1 - \frac{x}{z}\right)\\
\mathbf{elif}\;y \leq 4200000000000:\\
\;\;\;\;\frac{x + y \cdot \left(z - x\right)}{z}\\
\mathbf{else}:\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\end{array}
\]
Alternative 6 Accuracy 95.5% Cost 713
\[\begin{array}{l}
\mathbf{if}\;y \leq -63 \lor \neg \left(y \leq 1\right):\\
\;\;\;\;\left(z - x\right) \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;y + \frac{x}{z}\\
\end{array}
\]
Alternative 7 Accuracy 99.1% Cost 713
\[\begin{array}{l}
\mathbf{if}\;y \leq -63 \lor \neg \left(y \leq 1\right):\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;y + \frac{x}{z}\\
\end{array}
\]
Alternative 8 Accuracy 99.1% Cost 712
\[\begin{array}{l}
\mathbf{if}\;y \leq -63:\\
\;\;\;\;\frac{y}{\frac{z}{z - x}}\\
\mathbf{elif}\;y \leq 1:\\
\;\;\;\;y + \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;y - y \cdot \frac{x}{z}\\
\end{array}
\]
Alternative 9 Accuracy 62.4% Cost 585
\[\begin{array}{l}
\mathbf{if}\;y \leq -1.7 \cdot 10^{-33} \lor \neg \left(y \leq 1.55 \cdot 10^{-14}\right):\\
\;\;\;\;z \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{z}\\
\end{array}
\]
Alternative 10 Accuracy 78.9% Cost 452
\[\begin{array}{l}
\mathbf{if}\;y \leq 1:\\
\;\;\;\;y + \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;z \cdot \frac{y}{z}\\
\end{array}
\]
Alternative 11 Accuracy 40.2% Cost 64
\[y
\]