1.699999999999999938830795788659981743333 \cdot 10^{308} \cdot t - 1.699999999999999938830795788659981743333 \cdot 10^{308}\mathsf{fma}\left(1.699999999999999938830795788659981743333 \cdot 10^{308}, t, -1.699999999999999938830795788659981743333 \cdot 10^{308}\right)double f(double t) {
double r90001 = 1.7e+308;
double r90002 = t;
double r90003 = r90001 * r90002;
double r90004 = r90003 - r90001;
return r90004;
}
double f(double t) {
double r90005 = 1.7e+308;
double r90006 = t;
double r90007 = -r90005;
double r90008 = fma(r90005, r90006, r90007);
return r90008;
}




Bits error versus t
| Original | 64.0 |
|---|---|
| Target | 0 |
| Herbie | 0 |
Initial program 64.0
rmApplied fma-neg0
Final simplification0
herbie shell --seed 2019212 +o rules:numerics
(FPCore (t)
:name "fma_test2"
:precision binary64
:pre (<= 1.8999999999999999 t 2.10000000000000009)
:herbie-target
(fma 1.6999999999999999e308 t (- 1.6999999999999999e308))
(- (* 1.6999999999999999e308 t) 1.6999999999999999e308))