Left shift operator creates undefined behavior
Created by: zvonimir
We added an assume statement that prevents undefined behavior in the left shift operator from happening. Note that left shift is undefined if one is shifting for >= the number of available bits.