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







Bits error versus x
Results
| Original | 0 |
|---|---|
| Target | 0.0 |
| Herbie | 0 |
| Alternative 1 | |
|---|---|
| Error | 0.0 |
| Cost | 320 |
| Alternative 2 | |
|---|---|
| Error | 39.3 |
| Cost | 13184 |
| Alternative 3 | |
|---|---|
| Error | 58.4 |
| Cost | 19456 |

Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2021043
(FPCore (x)
:name "Expression 2, p15"
:precision binary64
:pre (<= 0.0 x 2.0)
:herbie-target
(* (+ 1.0 x) x)
(+ x (* x x)))