x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)x + \left(\left(\left(y - x\right) \cdot 6\right) \cdot \frac{2}{3} + \left(\left(y - x\right) \cdot 6\right) \cdot \left(-z\right)\right)double f(double x, double y, double z) {
double r239945 = x;
double r239946 = y;
double r239947 = r239946 - r239945;
double r239948 = 6.0;
double r239949 = r239947 * r239948;
double r239950 = 2.0;
double r239951 = 3.0;
double r239952 = r239950 / r239951;
double r239953 = z;
double r239954 = r239952 - r239953;
double r239955 = r239949 * r239954;
double r239956 = r239945 + r239955;
return r239956;
}
double f(double x, double y, double z) {
double r239957 = x;
double r239958 = y;
double r239959 = r239958 - r239957;
double r239960 = 6.0;
double r239961 = r239959 * r239960;
double r239962 = 2.0;
double r239963 = 3.0;
double r239964 = r239962 / r239963;
double r239965 = r239961 * r239964;
double r239966 = z;
double r239967 = -r239966;
double r239968 = r239961 * r239967;
double r239969 = r239965 + r239968;
double r239970 = r239957 + r239969;
return r239970;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
rmApplied sub-neg0.4
Applied distribute-lft-in0.4
Final simplification0.4
herbie shell --seed 2020002 +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))))