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










Bits error versus x










Bits error versus y










Bits error versus z










Bits error versus t
Results
| Alternative 1 | |
|---|---|
| Error | 11.1 |
| Cost | 1229 |
| Alternative 2 | |
|---|---|
| Error | 4.9 |
| Cost | 776 |
| Alternative 3 | |
|---|---|
| Error | 12.6 |
| Cost | 641 |
| Alternative 4 | |
|---|---|
| Error | 25.1 |
| Cost | 973 |
| Alternative 5 | |
|---|---|
| Error | 30.0 |
| Cost | 64 |
| Alternative 6 | |
|---|---|
| Error | 61.9 |
| Cost | 64 |
| Alternative 7 | |
|---|---|
| Error | 61.9 |
| Cost | 64 |

Initial program 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2021044
(FPCore (x y z t)
:name "Language.Haskell.HsColour.ColourHighlight:unbase from hscolour-1.23"
:precision binary64
(+ (* (+ (* x y) z) y) t))