x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)x + \left(y - x\right) \cdot \left(\left(\frac{2}{3} - z\right) \cdot 6\right)double f(double x, double y, double z) {
double r191665 = x;
double r191666 = y;
double r191667 = r191666 - r191665;
double r191668 = 6.0;
double r191669 = r191667 * r191668;
double r191670 = 2.0;
double r191671 = 3.0;
double r191672 = r191670 / r191671;
double r191673 = z;
double r191674 = r191672 - r191673;
double r191675 = r191669 * r191674;
double r191676 = r191665 + r191675;
return r191676;
}
double f(double x, double y, double z) {
double r191677 = x;
double r191678 = y;
double r191679 = r191678 - r191677;
double r191680 = 2.0;
double r191681 = 3.0;
double r191682 = r191680 / r191681;
double r191683 = z;
double r191684 = r191682 - r191683;
double r191685 = 6.0;
double r191686 = r191684 * r191685;
double r191687 = r191679 * r191686;
double r191688 = r191677 + r191687;
return r191688;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
rmApplied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019323
(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))))