y + \left(y \cdot 0.5\right) \cdot \left(1 - \left(x \cdot y\right) \cdot y\right)
y + \left(y \cdot 0.5\right) \cdot \left(1 - \left(x \cdot y\right) \cdot y\right)
double code(double y, double x) {
return ((double) (y + ((double) (((double) (y * 0.5)) * ((double) (1.0 - ((double) (((double) (x * y)) * y))))))));
}
double code(double y, double x) {
return ((double) (y + ((double) (((double) (y * 0.5)) * ((double) (1.0 - ((double) (((double) (x * y)) * y))))))));
}



Bits error versus y



Bits error versus x
Results
Initial program 0.2
Final simplification0.2
herbie shell --seed 2020152
(FPCore (y x)
:name "(+ y (* (* y 0.5) (- 1 (* (* x y) y))))"
:precision binary64
(+ y (* (* y 0.5) (- 1.0 (* (* x y) y)))))