x \cdot \left(1 - y \cdot z\right)
\begin{array}{l}
\mathbf{if}\;y \cdot z \le -1.45051130796349123 \cdot 10^{202} \lor \neg \left(y \cdot z \le 2.38331320579974366 \cdot 10^{216}\right):\\
\;\;\;\;x \cdot 1 + \left(-z\right) \cdot \left(x \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(1 - y \cdot z\right)\\
\end{array}double code(double x, double y, double z) {
return (x * (1.0 - (y * z)));
}
double code(double x, double y, double z) {
double VAR;
if ((((y * z) <= -1.4505113079634912e+202) || !((y * z) <= 2.3833132057997437e+216))) {
VAR = ((x * 1.0) + (-z * (x * y)));
} else {
VAR = (x * (1.0 - (y * z)));
}
return VAR;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (* y z) < -1.4505113079634912e+202 or 2.3833132057997437e+216 < (* y z) Initial program 27.9
rmApplied sub-neg27.9
Applied distribute-lft-in27.9
rmApplied *-commutative27.9
Applied distribute-lft-neg-in27.9
Applied associate-*r*0.9
rmApplied *-commutative0.9
Applied associate-*l*1.2
if -1.4505113079634912e+202 < (* y z) < 2.3833132057997437e+216Initial program 0.1
Final simplification0.2
herbie shell --seed 2020071 +o rules:numerics
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I"
:precision binary64
(* x (- 1 (* y z))))