x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\mathsf{fma}\left(y - x, 6 \cdot \left(\frac{2}{3} - z\right), x\right)double f(double x, double y, double z) {
double r244657 = x;
double r244658 = y;
double r244659 = r244658 - r244657;
double r244660 = 6.0;
double r244661 = r244659 * r244660;
double r244662 = 2.0;
double r244663 = 3.0;
double r244664 = r244662 / r244663;
double r244665 = z;
double r244666 = r244664 - r244665;
double r244667 = r244661 * r244666;
double r244668 = r244657 + r244667;
return r244668;
}
double f(double x, double y, double z) {
double r244669 = y;
double r244670 = x;
double r244671 = r244669 - r244670;
double r244672 = 6.0;
double r244673 = 2.0;
double r244674 = 3.0;
double r244675 = r244673 / r244674;
double r244676 = z;
double r244677 = r244675 - r244676;
double r244678 = r244672 * r244677;
double r244679 = fma(r244671, r244678, r244670);
return r244679;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.4
Simplified0.3
Final simplification0.3
herbie shell --seed 2020046 +o rules:numerics
(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))))