x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)x + \left(\left(y - x\right) \cdot \left(\frac{2}{3} \cdot 6\right) + \left(y - x\right) \cdot \left(\left(-z\right) \cdot 6\right)\right)double f(double x, double y, double z) {
double r230121 = x;
double r230122 = y;
double r230123 = r230122 - r230121;
double r230124 = 6.0;
double r230125 = r230123 * r230124;
double r230126 = 2.0;
double r230127 = 3.0;
double r230128 = r230126 / r230127;
double r230129 = z;
double r230130 = r230128 - r230129;
double r230131 = r230125 * r230130;
double r230132 = r230121 + r230131;
return r230132;
}
double f(double x, double y, double z) {
double r230133 = x;
double r230134 = y;
double r230135 = r230134 - r230133;
double r230136 = 2.0;
double r230137 = 3.0;
double r230138 = r230136 / r230137;
double r230139 = 6.0;
double r230140 = r230138 * r230139;
double r230141 = r230135 * r230140;
double r230142 = z;
double r230143 = -r230142;
double r230144 = r230143 * r230139;
double r230145 = r230135 * r230144;
double r230146 = r230141 + r230145;
double r230147 = r230133 + r230146;
return r230147;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
rmApplied associate-*l*0.2
rmApplied sub-neg0.2
Applied distribute-lft-in0.2
Applied distribute-lft-in0.2
Simplified0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020062
(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))))