x \cdot \left(x \cdot x\right) + x \cdot x
\left(x \cdot x\right) \cdot x + x \cdot x
double f(double x) {
double r3881884 = x;
double r3881885 = r3881884 * r3881884;
double r3881886 = r3881884 * r3881885;
double r3881887 = r3881886 + r3881885;
return r3881887;
}
double f(double x) {
double r3881888 = x;
double r3881889 = r3881888 * r3881888;
double r3881890 = r3881889 * r3881888;
double r3881891 = r3881890 + r3881889;
return r3881891;
}




Bits error versus x
Results
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
Final simplification0.0
herbie shell --seed 2019200 +o rules:numerics
(FPCore (x)
:name "Expression 3, p15"
:pre (<= 0.0 x 2.0)
:herbie-target
(* (* (+ 1.0 x) x) x)
(+ (* x (* x x)) (* x x)))