x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)x + \left(y - x\right) \cdot \left(6 \cdot \frac{2}{3} + 6 \cdot \left(-z\right)\right)double f(double x, double y, double z) {
double r288194 = x;
double r288195 = y;
double r288196 = r288195 - r288194;
double r288197 = 6.0;
double r288198 = r288196 * r288197;
double r288199 = 2.0;
double r288200 = 3.0;
double r288201 = r288199 / r288200;
double r288202 = z;
double r288203 = r288201 - r288202;
double r288204 = r288198 * r288203;
double r288205 = r288194 + r288204;
return r288205;
}
double f(double x, double y, double z) {
double r288206 = x;
double r288207 = y;
double r288208 = r288207 - r288206;
double r288209 = 6.0;
double r288210 = 2.0;
double r288211 = 3.0;
double r288212 = r288210 / r288211;
double r288213 = r288209 * r288212;
double r288214 = z;
double r288215 = -r288214;
double r288216 = r288209 * r288215;
double r288217 = r288213 + r288216;
double r288218 = r288208 * r288217;
double r288219 = r288206 + r288218;
return r288219;
}



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
Final simplification0.2
herbie shell --seed 2020020
(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))))