<HTML>
Tests complete! It turns out that I was using SetExceptionMask wrong and subtracting rather than adding exInvalidOp.<br>
<br>
When exceptions are disabled, this new Frac function returns NaN when you pass in plus or minus infinity.  This is consistent with the specification as listed in Chapter 11, Section 11.5.2.1 of the IntelĀ® 64 and IA-32 Architectures Software Developer's Manual which dicates that if the cause is "Addition of opposite signed infinities or subtraction of like-signed infinities" (the last line in the procedure is SUBSD that effectively performs "x - Int(x)"), the result is to "Return the QNaN floating-point Indefinite".<br>
<br>
 Gareth aka. Kit<br>
</HTML>