x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\mathsf{fma}\left(y - x, 6 \cdot \left(\frac{2}{3} - z\right), x\right)double f(double x, double y, double z) {
double r147203 = x;
double r147204 = y;
double r147205 = r147204 - r147203;
double r147206 = 6.0;
double r147207 = r147205 * r147206;
double r147208 = 2.0;
double r147209 = 3.0;
double r147210 = r147208 / r147209;
double r147211 = z;
double r147212 = r147210 - r147211;
double r147213 = r147207 * r147212;
double r147214 = r147203 + r147213;
return r147214;
}
double f(double x, double y, double z) {
double r147215 = y;
double r147216 = x;
double r147217 = r147215 - r147216;
double r147218 = 6.0;
double r147219 = 2.0;
double r147220 = 3.0;
double r147221 = r147219 / r147220;
double r147222 = z;
double r147223 = r147221 - r147222;
double r147224 = r147218 * r147223;
double r147225 = fma(r147217, r147224, r147216);
return r147225;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.4
Simplified0.2
Final simplification0.2
herbie shell --seed 2019325 +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))))