точно то же самое, что и после `ASH(x, 36)` — UB будет. а вот для `ASH(x, y)` таки делается проверка диапазона, и будет трап. почему не проверяются константные сдвиги — я не знаю.

(ASH, LSH и ROT обрабатываются одним и тем же кодом в кодогене, так что между ними можно различий в данном случае не делать.)