x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)4 \cdot y + \left(6 \cdot \left(x \cdot z - z \cdot y\right) - 3 \cdot x\right)
double f(double x, double y, double z) {
double r264770 = x;
double r264771 = y;
double r264772 = r264771 - r264770;
double r264773 = 6.0;
double r264774 = r264772 * r264773;
double r264775 = 2.0;
double r264776 = 3.0;
double r264777 = r264775 / r264776;
double r264778 = z;
double r264779 = r264777 - r264778;
double r264780 = r264774 * r264779;
double r264781 = r264770 + r264780;
return r264781;
}
double f(double x, double y, double z) {
double r264782 = 4.0;
double r264783 = y;
double r264784 = r264782 * r264783;
double r264785 = 6.0;
double r264786 = x;
double r264787 = z;
double r264788 = r264786 * r264787;
double r264789 = r264787 * r264783;
double r264790 = r264788 - r264789;
double r264791 = r264785 * r264790;
double r264792 = 3.0;
double r264793 = r264792 * r264786;
double r264794 = r264791 - r264793;
double r264795 = r264784 + r264794;
return r264795;
}



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
rmApplied sub-neg0.2
Applied associate-+l+0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020100
(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))))