x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\left(x + \frac{2}{3} \cdot \left(\left(y - x\right) \cdot 6\right)\right) + \left(\left(y - x\right) \cdot 6\right) \cdot \left(-z\right)double f(double x, double y, double z) {
double r284030 = x;
double r284031 = y;
double r284032 = r284031 - r284030;
double r284033 = 6.0;
double r284034 = r284032 * r284033;
double r284035 = 2.0;
double r284036 = 3.0;
double r284037 = r284035 / r284036;
double r284038 = z;
double r284039 = r284037 - r284038;
double r284040 = r284034 * r284039;
double r284041 = r284030 + r284040;
return r284041;
}
double f(double x, double y, double z) {
double r284042 = x;
double r284043 = 2.0;
double r284044 = 3.0;
double r284045 = r284043 / r284044;
double r284046 = y;
double r284047 = r284046 - r284042;
double r284048 = 6.0;
double r284049 = r284047 * r284048;
double r284050 = r284045 * r284049;
double r284051 = r284042 + r284050;
double r284052 = z;
double r284053 = -r284052;
double r284054 = r284049 * r284053;
double r284055 = r284051 + r284054;
return r284055;
}



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
Simplified0.4
Final simplification0.4
herbie shell --seed 2020018
(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))))