\left(x \cdot 0.5\right) \cdot x
x \cdot \left(x \cdot 0.5\right)
(FPCore (x) :precision binary64 (* (* x 0.5) x))
(FPCore (x) :precision binary64 (* x (* x 0.5)))
double code(double x) {
return ((double) (((double) (x * 0.5)) * x));
}
double code(double x) {
return ((double) (x * ((double) (x * 0.5))));
}



Bits error versus x
Results
Initial program 0
Final simplification0
herbie shell --seed 2020219
(FPCore (x)
:name "System.Random.MWC.Distributions:blocks from mwc-random-0.13.3.2"
:precision binary64
(* (* x 0.5) x))