命令強度の削減
reduction in strength
各ターゲットマシンの命令の負荷にもよるが、一般的には以下のような感じ
この「負荷」というのが何に依って起こり、何に依って測っているのかをシリタイmrsekut.icon
より早く実行可能な演算子の式に変換してる
乗算/除算にシフト命令を使用
乗算や除算のOperandが2の冪乗の場合は、左シフト命令や右シフト命令に置き換える 乗算を加算に変更
code:example
x*3 → x+x+x
乗算が加算より2倍以上のコストがかかる命令であるマシンのみ有効
除算を加算に変更
code:example
x/5 → x+0.2
誘導変数の例
『コンパイラとバーチャルマシン』.icon p.106参考