When the shift overflowed, asserts were triggered later, where the values were assumed to be non-negative.