1.7 \cdot 10^{+308} \cdot t - 1.7 \cdot 10^{+308}(\left( 1.7 \cdot 10^{+308} \right) \cdot t + \left(-1.7 \cdot 10^{+308}\right))_*double f(double t) {
double r4919452 = 1.7e+308;
double r4919453 = t;
double r4919454 = r4919452 * r4919453;
double r4919455 = r4919454 - r4919452;
return r4919455;
}
double f(double t) {
double r4919456 = 1.7e+308;
double r4919457 = t;
double r4919458 = -r4919456;
double r4919459 = fma(r4919456, r4919457, r4919458);
return r4919459;
}




Bits error versus t
| Original | 49.1 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 49.1
rmApplied fma-neg0
Final simplification0
herbie shell --seed 2019119 +o rules:numerics
(FPCore (t)
:name "fma_test2"
:pre (<= 1.9 t 2.1)
:herbie-target
(fma 1.7e+308 t (- 1.7e+308))
(- (* 1.7e+308 t) 1.7e+308))