x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)x + \left(\left(y - x\right) \cdot \left(\frac{2}{3} \cdot 6\right) + \left(y - x\right) \cdot \left(\left(-z\right) \cdot 6\right)\right)double f(double x, double y, double z) {
double r251991 = x;
double r251992 = y;
double r251993 = r251992 - r251991;
double r251994 = 6.0;
double r251995 = r251993 * r251994;
double r251996 = 2.0;
double r251997 = 3.0;
double r251998 = r251996 / r251997;
double r251999 = z;
double r252000 = r251998 - r251999;
double r252001 = r251995 * r252000;
double r252002 = r251991 + r252001;
return r252002;
}
double f(double x, double y, double z) {
double r252003 = x;
double r252004 = y;
double r252005 = r252004 - r252003;
double r252006 = 2.0;
double r252007 = 3.0;
double r252008 = r252006 / r252007;
double r252009 = 6.0;
double r252010 = r252008 * r252009;
double r252011 = r252005 * r252010;
double r252012 = z;
double r252013 = -r252012;
double r252014 = r252013 * r252009;
double r252015 = r252005 * r252014;
double r252016 = r252011 + r252015;
double r252017 = r252003 + r252016;
return r252017;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
rmApplied associate-*l*0.2
rmApplied sub-neg0.2
Applied distribute-lft-in0.2
Applied distribute-lft-in0.2
Simplified0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020062
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D"
:precision binary64
(+ x (* (* (- y x) 6) (- (/ 2 3) z))))