K 10 svn:author V 3 bde K 8 svn:date V 27 2005-12-03T07:38:35.000000Z K 7 svn:log V 488 Simplified the fix in rev.1.3. Instead of using long double for TWO52[sx] to trick gcc into correctly converting TWO52[sx]+x to double on assignment to "double w", force a correct assignment by assigning to *(double *)&w. This is cleaner and avoids the double rounding problem on machines that evaluate double expressions in double precision. It is not necessary to convert w-TWO52[sx] to double precision on return as implied in the comment in rev.1.3, since the difference is exact. END