optimize for >> << by constant