x + x \cdot x
\mathsf{fma}\left(x, x, x\right)double f(double x) {
double r105026 = x;
double r105027 = r105026 * r105026;
double r105028 = r105026 + r105027;
return r105028;
}
double f(double x) {
double r105029 = x;
double r105030 = fma(r105029, r105029, r105029);
return r105030;
}




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