x + \left(\left(y - x\right) \cdot 6\right) \cdot z
x + \left(\left(y - x\right) \cdot 6\right) \cdot z
double f(double x, double y, double z) {
double r794744 = x;
double r794745 = y;
double r794746 = r794745 - r794744;
double r794747 = 6.0;
double r794748 = r794746 * r794747;
double r794749 = z;
double r794750 = r794748 * r794749;
double r794751 = r794744 + r794750;
return r794751;
}
double f(double x, double y, double z) {
double r794752 = x;
double r794753 = y;
double r794754 = r794753 - r794752;
double r794755 = 6.0;
double r794756 = r794754 * r794755;
double r794757 = z;
double r794758 = r794756 * r794757;
double r794759 = r794752 + r794758;
return r794759;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.4 |
|---|---|
| Target | 0.2 |
| Herbie | 0.4 |
Initial program 0.4
Final simplification0.4
herbie shell --seed 2020081
(FPCore (x y z)
:name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, E"
:precision binary64
:herbie-target
(- x (* (* 6 z) (- x y)))
(+ x (* (* (- y x) 6) z)))