More work on floating point instruction semantics.

* Handle denormal values correctly.
* Handle NaN inputs (hopefully) correctly.
* Check the correct ARITHMODE flag.