x + \left(\left(y - x\right) \cdot 6.0\right) \cdot \left(\frac{2.0}{3.0} - z\right)x + \left(y - x\right) \cdot \left(\left(\frac{2.0}{3.0} - z\right) \cdot 6.0\right)double f(double x, double y, double z) {
double r15835379 = x;
double r15835380 = y;
double r15835381 = r15835380 - r15835379;
double r15835382 = 6.0;
double r15835383 = r15835381 * r15835382;
double r15835384 = 2.0;
double r15835385 = 3.0;
double r15835386 = r15835384 / r15835385;
double r15835387 = z;
double r15835388 = r15835386 - r15835387;
double r15835389 = r15835383 * r15835388;
double r15835390 = r15835379 + r15835389;
return r15835390;
}
double f(double x, double y, double z) {
double r15835391 = x;
double r15835392 = y;
double r15835393 = r15835392 - r15835391;
double r15835394 = 2.0;
double r15835395 = 3.0;
double r15835396 = r15835394 / r15835395;
double r15835397 = z;
double r15835398 = r15835396 - r15835397;
double r15835399 = 6.0;
double r15835400 = r15835398 * r15835399;
double r15835401 = r15835393 * r15835400;
double r15835402 = r15835391 + r15835401;
return r15835402;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
rmApplied associate-*l*0.2
Final simplification0.2
herbie shell --seed 2019163
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D"
(+ x (* (* (- y x) 6.0) (- (/ 2.0 3.0) z))))