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








Bits error versus x








Bits error versus y








Bits error versus z
Results
| Alternative 1 | |
|---|---|
| Error | 0.9 |
| Cost | 648 |
| Alternative 2 | |
|---|---|
| Error | 12.5 |
| Cost | 648 |
| Alternative 3 | |
|---|---|
| Error | 23.6 |
| Cost | 1615 |
| Alternative 4 | |
|---|---|
| Error | 25.0 |
| Cost | 834 |
| Alternative 5 | |
|---|---|
| Error | 34.6 |
| Cost | 64 |


Initial program 0.0
rmApplied +-commutative_binary64_20540.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021040
(FPCore (x y z)
:name "Main:bigenough2 from A"
:precision binary64
(+ x (* y (+ z x))))