x + x \cdot x
(x \cdot x + x)_*
double f(double x) {
double r11392278 = x;
double r11392279 = r11392278 * r11392278;
double r11392280 = r11392278 + r11392279;
return r11392280;
}
double f(double x) {
double r11392281 = x;
double r11392282 = fma(r11392281, r11392281, r11392281);
return r11392282;
}




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