Sequential multiplications by 2^N are optimized but sequential divisions are not
Divisions in this example have no reasons not to compile into "shr 9", as multiplications do. X isn't even signed. ```pascal var x: SizeUint; begin // produces "shl 9" x := SizeUint(random(0)) * 2 * 2 * 2 * 4 * 4 * 4; writeln(x); // produces six "shr"s x := SizeUint(random(0)) div 2 div 2 div 2 div 4 div 4 div 4; writeln(x); end. ```
issue