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 r133143 = x;
double r133144 = 1.0;
double r133145 = y;
double r133146 = z;
double r133147 = r133145 * r133146;
double r133148 = r133144 - r133147;
double r133149 = r133143 * r133148;
return r133149;
}
double f(double x, double y, double z) {
double r133150 = 1.0;
double r133151 = y;
double r133152 = z;
double r133153 = r133151 * r133152;
double r133154 = r133150 - r133153;
double r133155 = x;
double r133156 = r133154 * r133155;
return r133156;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (* y z) < -1.2845896501415564e+259 or 1.6091914695495064e+270 < (* y z) Initial program 44.7
rmApplied sub-neg44.7
Applied distribute-lft-in44.7
rmApplied distribute-lft-neg-in44.7
Applied associate-*r*0.3
if -1.2845896501415564e+259 < (* y z) < 1.6091914695495064e+270Initial program 0.1
rmApplied sub-neg0.1
Applied distribute-lft-in0.1
Final simplification3.2
herbie shell --seed 1978988140
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I"
:precision binary64
(* x (- 1 (* y z))))