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









Bits error versus x









Bits error versus y









Bits error versus z
Results
| Alternative 1 | |
|---|---|
| Error | 1.9 |
| Cost | 1032 |
| Alternative 2 | |
|---|---|
| Error | 1.8 |
| Cost | 712 |
| Alternative 3 | |
|---|---|
| Error | 12.3 |
| Cost | 1925 |
| Alternative 4 | |
|---|---|
| Error | 12.2 |
| Cost | 648 |
| Alternative 5 | |
|---|---|
| Error | 23.3 |
| Cost | 192 |
| Alternative 6 | |
|---|---|
| Error | 61.9 |
| Cost | 64 |

Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2021044
(FPCore (x y z)
:name "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, H"
:precision binary64
(* (+ x y) (- 1.0 z)))