x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\left(x + \left(y - x\right) \cdot \frac{6}{\frac{3}{2}}\right) + \left(\left(y - x\right) \cdot 6\right) \cdot \left(-z\right)double f(double x, double y, double z) {
double r138950 = x;
double r138951 = y;
double r138952 = r138951 - r138950;
double r138953 = 6.0;
double r138954 = r138952 * r138953;
double r138955 = 2.0;
double r138956 = 3.0;
double r138957 = r138955 / r138956;
double r138958 = z;
double r138959 = r138957 - r138958;
double r138960 = r138954 * r138959;
double r138961 = r138950 + r138960;
return r138961;
}
double f(double x, double y, double z) {
double r138962 = x;
double r138963 = y;
double r138964 = r138963 - r138962;
double r138965 = 6.0;
double r138966 = 3.0;
double r138967 = 2.0;
double r138968 = r138966 / r138967;
double r138969 = r138965 / r138968;
double r138970 = r138964 * r138969;
double r138971 = r138962 + r138970;
double r138972 = r138964 * r138965;
double r138973 = z;
double r138974 = -r138973;
double r138975 = r138972 * r138974;
double r138976 = r138971 + r138975;
return r138976;
}



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
Applied associate-+r+0.4
rmApplied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019326
(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))))