x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(0.6666666666666666296592325124947819858789 - z\right)
double f(double x, double y, double z) {
double r14520779 = x;
double r14520780 = y;
double r14520781 = r14520780 - r14520779;
double r14520782 = 6.0;
double r14520783 = r14520781 * r14520782;
double r14520784 = 2.0;
double r14520785 = 3.0;
double r14520786 = r14520784 / r14520785;
double r14520787 = z;
double r14520788 = r14520786 - r14520787;
double r14520789 = r14520783 * r14520788;
double r14520790 = r14520779 + r14520789;
return r14520790;
}
double f(double x, double y, double z) {
double r14520791 = x;
double r14520792 = y;
double r14520793 = r14520792 - r14520791;
double r14520794 = 6.0;
double r14520795 = r14520793 * r14520794;
double r14520796 = 0.6666666666666666;
double r14520797 = z;
double r14520798 = r14520796 - r14520797;
double r14520799 = r14520795 * r14520798;
double r14520800 = r14520791 + r14520799;
return r14520800;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
Taylor expanded around 0 0.4
Final simplification0.4
herbie shell --seed 2019200
(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))))