Mainframe floating point math implementation.

Eric Smith spacewar at
Sun Mar 13 17:48:35 CDT 2016

They may effectively have a "sticky" bit, similar to that used in IEEE
754 FP.  A sticky bit is used when shifting an operand right; if any
one bits are shifted into the stick bit position, the sticky bit
becomes 1, but shifting a zero into it does not clear it to zero. IEEE
754 uses the sticky bit to implement correct rounding.

In this case, if there's a sticky bit it would prevent a non-zero
operand mantissa that is shifted right from ever actually reaching
zero.  If that operand is negative, that might result in the behavior
you're seeing, where one ULP is being subtracted from the other

More information about the cctech mailing list