x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\mathsf{fma}\left(y - x, 4 - 6 \cdot z, x\right)double f(double x, double y, double z) {
double r217189 = x;
double r217190 = y;
double r217191 = r217190 - r217189;
double r217192 = 6.0;
double r217193 = r217191 * r217192;
double r217194 = 2.0;
double r217195 = 3.0;
double r217196 = r217194 / r217195;
double r217197 = z;
double r217198 = r217196 - r217197;
double r217199 = r217193 * r217198;
double r217200 = r217189 + r217199;
return r217200;
}
double f(double x, double y, double z) {
double r217201 = y;
double r217202 = x;
double r217203 = r217201 - r217202;
double r217204 = 4.0;
double r217205 = 6.0;
double r217206 = z;
double r217207 = r217205 * r217206;
double r217208 = r217204 - r217207;
double r217209 = fma(r217203, r217208, r217202);
return r217209;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.4
Simplified0.2
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2020001 +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))))