x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\left(4 \cdot y - 3 \cdot x\right) + \left(\left(y - x\right) \cdot 6\right) \cdot \left(-z\right)
double f(double x, double y, double z) {
double r167217 = x;
double r167218 = y;
double r167219 = r167218 - r167217;
double r167220 = 6.0;
double r167221 = r167219 * r167220;
double r167222 = 2.0;
double r167223 = 3.0;
double r167224 = r167222 / r167223;
double r167225 = z;
double r167226 = r167224 - r167225;
double r167227 = r167221 * r167226;
double r167228 = r167217 + r167227;
return r167228;
}
double f(double x, double y, double z) {
double r167229 = 4.0;
double r167230 = y;
double r167231 = r167229 * r167230;
double r167232 = 3.0;
double r167233 = x;
double r167234 = r167232 * r167233;
double r167235 = r167231 - r167234;
double r167236 = r167230 - r167233;
double r167237 = 6.0;
double r167238 = r167236 * r167237;
double r167239 = z;
double r167240 = -r167239;
double r167241 = r167238 * r167240;
double r167242 = r167235 + r167241;
return r167242;
}



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
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2019306 +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))))