https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120747

--- Comment #18 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Filip Kastl from comment #17)
> (In reply to Andrew Pinski from comment #15)
> > So it looks like (a * b) are closer in value to (vnb12 * 1.2e+1 - c) than
> > (vnb12 * 1.2e+1) is to (a * b - c) .
> 
> Btw, for the purpose of me trying to get better at debugging similar things,
> how did you figure this out?  Did you perhaps run gromacs in a debugger and
> looked at what values those variables usually have?  Or did you figure this
> out from gromacs' source files?

It is more understanding how floating point works and gave a rounding step. And
that fma does the multiple and addition in infinite precision and only rounds
at the end.

Reply via email to