x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\mathsf{fma}\left(\frac{2}{3} \cdot \left(y - x\right), 6, x\right) + \left(-z\right) \cdot \left(\left(y - x\right) \cdot 6\right)double f(double x, double y, double z) {
double r215747 = x;
double r215748 = y;
double r215749 = r215748 - r215747;
double r215750 = 6.0;
double r215751 = r215749 * r215750;
double r215752 = 2.0;
double r215753 = 3.0;
double r215754 = r215752 / r215753;
double r215755 = z;
double r215756 = r215754 - r215755;
double r215757 = r215751 * r215756;
double r215758 = r215747 + r215757;
return r215758;
}
double f(double x, double y, double z) {
double r215759 = 2.0;
double r215760 = 3.0;
double r215761 = r215759 / r215760;
double r215762 = y;
double r215763 = x;
double r215764 = r215762 - r215763;
double r215765 = r215761 * r215764;
double r215766 = 6.0;
double r215767 = fma(r215765, r215766, r215763);
double r215768 = z;
double r215769 = -r215768;
double r215770 = r215764 * r215766;
double r215771 = r215769 * r215770;
double r215772 = r215767 + r215771;
return r215772;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.4
rmApplied sub-neg0.4
Applied distribute-rgt-in0.4
Applied associate-+r+0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019353 +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))))