x \cdot \left(1 - y \cdot z\right)
x \cdot \left(1 - y \cdot z\right)
double f(double x, double y, double z) {
double r168496 = x;
double r168497 = 1.0;
double r168498 = y;
double r168499 = z;
double r168500 = r168498 * r168499;
double r168501 = r168497 - r168500;
double r168502 = r168496 * r168501;
return r168502;
}
double f(double x, double y, double z) {
double r168503 = x;
double r168504 = 1.0;
double r168505 = y;
double r168506 = z;
double r168507 = r168505 * r168506;
double r168508 = r168504 - r168507;
double r168509 = r168503 * r168508;
return r168509;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
if (* y z) < 3.075011168316586e+284Initial program 1.6
if 3.075011168316586e+284 < (* y z) Initial program 53.7
rmApplied sub-neg53.7
Applied distribute-lft-in53.7
Simplified0.2
Final simplification3.4
herbie shell --seed 2019291
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, I"
:precision binary64
(* x (- 1 (* y z))))