x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)\left(\sqrt[3]{x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)} \cdot \sqrt[3]{x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)}\right) \cdot \sqrt[3]{x + \left(\left(y - x\right) \cdot 6\right) \cdot \left(\frac{2}{3} - z\right)}double f(double x, double y, double z) {
double r435933 = x;
double r435934 = y;
double r435935 = r435934 - r435933;
double r435936 = 6.0;
double r435937 = r435935 * r435936;
double r435938 = 2.0;
double r435939 = 3.0;
double r435940 = r435938 / r435939;
double r435941 = z;
double r435942 = r435940 - r435941;
double r435943 = r435937 * r435942;
double r435944 = r435933 + r435943;
return r435944;
}
double f(double x, double y, double z) {
double r435945 = x;
double r435946 = y;
double r435947 = r435946 - r435945;
double r435948 = 6.0;
double r435949 = r435947 * r435948;
double r435950 = 2.0;
double r435951 = 3.0;
double r435952 = r435950 / r435951;
double r435953 = z;
double r435954 = r435952 - r435953;
double r435955 = r435949 * r435954;
double r435956 = r435945 + r435955;
double r435957 = cbrt(r435956);
double r435958 = r435957 * r435957;
double r435959 = r435958 * r435957;
return r435959;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
rmApplied add-cube-cbrt1.4
Final simplification1.4
herbie shell --seed 2019209
(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))))