x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\left(4 \cdot y - 3 \cdot x\right) + 6 \cdot \left(\left(x - y\right) \cdot z\right)
double f(double x, double y, double z) {
double r14027028 = x;
double r14027029 = y;
double r14027030 = r14027029 - r14027028;
double r14027031 = 6.0;
double r14027032 = r14027030 * r14027031;
double r14027033 = 2.0;
double r14027034 = 3.0;
double r14027035 = r14027033 / r14027034;
double r14027036 = z;
double r14027037 = r14027035 - r14027036;
double r14027038 = r14027032 * r14027037;
double r14027039 = r14027028 + r14027038;
return r14027039;
}
double f(double x, double y, double z) {
double r14027040 = 4.0;
double r14027041 = y;
double r14027042 = r14027040 * r14027041;
double r14027043 = 3.0;
double r14027044 = x;
double r14027045 = r14027043 * r14027044;
double r14027046 = r14027042 - r14027045;
double r14027047 = 6.0;
double r14027048 = r14027044 - r14027041;
double r14027049 = z;
double r14027050 = r14027048 * r14027049;
double r14027051 = r14027047 * r14027050;
double r14027052 = r14027046 + r14027051;
return r14027052;
}



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
Taylor expanded around inf 0.4
Simplified0.4
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2019192
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, D"
(+ x (* (* (- y x) 6.0) (- (/ 2.0 3.0) z))))