x \cdot \left(x \cdot x\right) + x \cdot x
x \cdot \left(x \cdot x + x\right)
double f(double x) {
double r61610 = x;
double r61611 = r61610 * r61610;
double r61612 = r61610 * r61611;
double r61613 = r61612 + r61611;
return r61613;
}
double f(double x) {
double r61614 = x;
double r61615 = r61614 * r61614;
double r61616 = r61615 + r61614;
double r61617 = r61614 * r61616;
return r61617;
}




Bits error versus x
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019291
(FPCore (x)
:name "Expression 3, p15"
:precision binary64
:pre (<= 0.0 x 2)
:herbie-target
(* (* (+ 1 x) x) x)
(+ (* x (* x x)) (* x x)))