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





Bits error versus x





Bits error versus y
Results
| Alternative 1 | |
|---|---|
| Error | 41.1 |
| Cost | 64 |
| Alternative 2 | |
|---|---|
| Error | 61.8 |
| Cost | 64 |

Initial program 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2021044
(FPCore (x y)
:name "Data.HyperLogLog.Config:hll from hyperloglog-0.3.4"
:precision binary64
(* (* x y) y))