x + \left(\left(y - x\right) \cdot 6.0\right) \cdot \left(\frac{2.0}{3.0} - z\right)\left(\frac{2.0}{3.0} \cdot \left(\left(y - x\right) \cdot 6.0\right) + \left(\left(y - x\right) \cdot 6.0\right) \cdot \left(-z\right)\right) + xdouble f(double x, double y, double z) {
double r16652647 = x;
double r16652648 = y;
double r16652649 = r16652648 - r16652647;
double r16652650 = 6.0;
double r16652651 = r16652649 * r16652650;
double r16652652 = 2.0;
double r16652653 = 3.0;
double r16652654 = r16652652 / r16652653;
double r16652655 = z;
double r16652656 = r16652654 - r16652655;
double r16652657 = r16652651 * r16652656;
double r16652658 = r16652647 + r16652657;
return r16652658;
}
double f(double x, double y, double z) {
double r16652659 = 2.0;
double r16652660 = 3.0;
double r16652661 = r16652659 / r16652660;
double r16652662 = y;
double r16652663 = x;
double r16652664 = r16652662 - r16652663;
double r16652665 = 6.0;
double r16652666 = r16652664 * r16652665;
double r16652667 = r16652661 * r16652666;
double r16652668 = z;
double r16652669 = -r16652668;
double r16652670 = r16652666 * r16652669;
double r16652671 = r16652667 + r16652670;
double r16652672 = r16652671 + r16652663;
return r16652672;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.4
rmApplied sub-neg0.4
Applied distribute-rgt-in0.4
Final simplification0.4
herbie shell --seed 2019162
(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))))