x \cdot \left(1 - y \cdot z\right)
\left(1 - y \cdot z\right) \cdot x
double f(double x, double y, double z) {
double r201982 = x;
double r201983 = 1.0;
double r201984 = y;
double r201985 = z;
double r201986 = r201984 * r201985;
double r201987 = r201983 - r201986;
double r201988 = r201982 * r201987;
return r201988;
}
double f(double x, double y, double z) {
double r201989 = 1.0;
double r201990 = y;
double r201991 = z;
double r201992 = r201990 * r201991;
double r201993 = r201989 - r201992;
double r201994 = x;
double r201995 = r201993 * r201994;
return r201995;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (* y z) < -inf.0 or 6.519152385092011e+168 < (* y z) Initial program 32.7
rmApplied sub-neg32.7
Applied distribute-lft-in32.7
rmApplied add-cube-cbrt33.3
Applied associate-*l*33.3
rmApplied distribute-lft-neg-in33.3
Applied associate-*r*18.9
rmApplied associate-*r*2.6
Simplified1.4
if -inf.0 < (* y z) < 6.519152385092011e+168Initial program 0.1
rmApplied sub-neg0.1
Applied distribute-lft-in0.1
Final simplification3.5
herbie shell --seed 2019308
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I"
:precision binary64
(* x (- 1 (* y z))))