corrected arithmetic right shift