<p>
The code performs an integer shift by a constant amount outside
the range 0..31.
The effect of this is to use the lower 5 bits of the integer
value to decide how much to shift by. This probably isn't want was expected,
and it at least confusing.
</p>