a = 1111 0000 0000 1111 1111 0000 0000 1111
a << 37 == a << (37 % 32) == a << 5
== 0000 0001 1111 1110 0000 0001 1110 0000
a >> (32 - (37 % 32)) == a >> 27
== 0000 0000 0000 0000 0000 0000 0001 1110
anding the two together you get
== 0000 0001 1111 1110 0000 0001 1111 1110
which is a circular rotation of the bit string...