x \cdot \left(1 - y \cdot z\right)
x \cdot \left(1 - y \cdot z\right) + x \cdot \mathsf{fma}\left(-z, y, z \cdot y\right)double f(double x, double y, double z) {
double r276161 = x;
double r276162 = 1.0;
double r276163 = y;
double r276164 = z;
double r276165 = r276163 * r276164;
double r276166 = r276162 - r276165;
double r276167 = r276161 * r276166;
return r276167;
}
double f(double x, double y, double z) {
double r276168 = x;
double r276169 = 1.0;
double r276170 = y;
double r276171 = z;
double r276172 = r276170 * r276171;
double r276173 = r276169 - r276172;
double r276174 = r276168 * r276173;
double r276175 = -r276171;
double r276176 = r276171 * r276170;
double r276177 = fma(r276175, r276170, r276176);
double r276178 = r276168 * r276177;
double r276179 = r276174 + r276178;
return r276179;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 3.2
rmApplied add-cube-cbrt3.2
Applied prod-diff3.2
Applied distribute-lft-in3.1
Simplified3.1
Final simplification3.1
herbie shell --seed 2020064 +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))))