> Otherwise, when converted back again, the result shall compare equal to the original pointer.
Doesn't this part exclude the possibility of rounding down?