<ul>
-<li>Double rounding (x87 issue):
+<li>Double rounding:
<p>
If a value rounded twice the result can be different
than rounding just once.
(afaik freebsd and openbsd use double precision by default)
<p>
So x = a+b may give different results depending on
-the fpu setting.
+the x87 fpu precision setting.
(only happens in round to nearest rounding mode,
but that's the most common one)
<p>
+(double rounding can happen with float vs double as well)
+<p>
C99 annex F prohibits double rounding,
but that's non-normative.
C99 actually allows most of these optimizations
but they can be turned off with STDC pragmas (see
<a href="http://repo.or.cz/w/c-standard.git/blob_plain/HEAD:/n1256.html#6.10.6">6.10.6</a>).
-Unfortunately <a href="http://gcc.gnu.org/c99status.html">gcc does not support these pragmas</s>.
+Unfortunately <a href="http://gcc.gnu.org/c99status.html">gcc does not support these pragmas</a>.
<p>
FENV_ACCESS ON tells the compiler that the code wants
to access the floating point environment (eg. set different rounding mode)