ループ不変量コード移動
以下のKotlinで書かれたソースコードを考える。
以上のコードはsum is 180と出力する。変数rに注目すると、ループ変数iに関わらず常にoffset + 3である。そのため、ループの外に初期化を移動させても意味論は変わらない。
最適化が施された後のコードを提示する。