Thanks for the explanation, which I received just after sending off my
last mail!
So extended precision does not implement a sticky bit? (Otherwise it
would be storing correctly rounded results.) That's annoying.... Oh,
well.
GCL and Emacs Lisp must run with extended precision turned off. In a
quick look, I couldn't find where they did this in the source; maybe
they're just linked against a crt0 that takes care of that...? Or maybe
the cygwin default setting is different from the Windows default
setting?
Thanks again,
-s
PS About the volatile/optimization issues, I'm pretty familiar with
them, having worked on a bunch of compilers over the years, which is why
I used FMEM to force all intermediate results to memory.