The integer values being output for the OP appeared to be 54-bit precision, and that threw me somewhat.
But I was excluding only the trailing zero bits from the precision count, while I should also have been excluding the leading zero bits.
It all makes sense now ... for some definition of "makes sense" ;-)