x + \left(\left(y - x\right) \cdot 6.0\right) \cdot \left(\frac{2.0}{3.0} - z\right)\mathsf{fma}\left(\sqrt[3]{x} \cdot \sqrt[3]{x}, \sqrt[3]{x}, \left(\frac{2.0}{3.0} - z\right) \cdot \left(\left(y - x\right) \cdot 6.0\right)\right)double f(double x, double y, double z) {
double r11253708 = x;
double r11253709 = y;
double r11253710 = r11253709 - r11253708;
double r11253711 = 6.0;
double r11253712 = r11253710 * r11253711;
double r11253713 = 2.0;
double r11253714 = 3.0;
double r11253715 = r11253713 / r11253714;
double r11253716 = z;
double r11253717 = r11253715 - r11253716;
double r11253718 = r11253712 * r11253717;
double r11253719 = r11253708 + r11253718;
return r11253719;
}
double f(double x, double y, double z) {
double r11253720 = x;
double r11253721 = cbrt(r11253720);
double r11253722 = r11253721 * r11253721;
double r11253723 = 2.0;
double r11253724 = 3.0;
double r11253725 = r11253723 / r11253724;
double r11253726 = z;
double r11253727 = r11253725 - r11253726;
double r11253728 = y;
double r11253729 = r11253728 - r11253720;
double r11253730 = 6.0;
double r11253731 = r11253729 * r11253730;
double r11253732 = r11253727 * r11253731;
double r11253733 = fma(r11253722, r11253721, r11253732);
return r11253733;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.4
rmApplied add-cube-cbrt0.5
Applied fma-def0.5
Final simplification0.5
herbie shell --seed 2019163 +o rules:numerics
(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))))