x + \left(\left(y - x\right) \cdot 6\right) \cdot z
x + \left(y - x\right) \cdot \left(6 \cdot z\right)
double f(double x, double y, double z) {
double r873183 = x;
double r873184 = y;
double r873185 = r873184 - r873183;
double r873186 = 6.0;
double r873187 = r873185 * r873186;
double r873188 = z;
double r873189 = r873187 * r873188;
double r873190 = r873183 + r873189;
return r873190;
}
double f(double x, double y, double z) {
double r873191 = x;
double r873192 = y;
double r873193 = r873192 - r873191;
double r873194 = 6.0;
double r873195 = z;
double r873196 = r873194 * r873195;
double r873197 = r873193 * r873196;
double r873198 = r873191 + r873197;
return r873198;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.3 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.3
rmApplied associate-*l*0.2
Final simplification0.2
herbie shell --seed 2020001
(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)))