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 r180630 = x;
double r180631 = y;
double r180632 = r180631 - r180630;
double r180633 = 6.0;
double r180634 = r180632 * r180633;
double r180635 = 2.0;
double r180636 = 3.0;
double r180637 = r180635 / r180636;
double r180638 = z;
double r180639 = r180637 - r180638;
double r180640 = r180634 * r180639;
double r180641 = r180630 + r180640;
return r180641;
}
double f(double x, double y, double z) {
double r180642 = y;
double r180643 = x;
double r180644 = r180642 - r180643;
double r180645 = 6.0;
double r180646 = 2.0;
double r180647 = 3.0;
double r180648 = r180646 / r180647;
double r180649 = z;
double r180650 = r180648 - r180649;
double r180651 = r180645 * r180650;
double r180652 = fma(r180644, r180651, r180643);
return r180652;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.4
Simplified0.2
Final simplification0.2
herbie shell --seed 2019325 +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))))