大域値番号付け
たとえば、 [ w ↦ 1 , x ↦ 1 , y ↦ 2 , z ↦ 2 ] {\displaystyle [{w}\mapsto 1,{x}\mapsto 1,{y}\mapsto 2,{z}\mapsto 2]} の割り当てはこのブロックに関して最適な値と番号の対応関係である。この情報を用いることで、上のコードは下記のコードに安全に変換できる。
これ以降のコードしだいで、コピーの伝播によって x および z に対する割り当てを除去できる可能性がある。
GVN が CSE より強力なのは、CSE は字句的に同一な式をマッチさせるのに対して GVN はその背後の等価性を特定しようとする点である。例えば、
というコードで、CSE は f に割り当てられた再計算のコードを除去しないが、GVN はごく初歩的なアルゴリズムでもこれを発見し、冗長性を除去することができる。
GVN を実行するためには、変数名と値名の間に偽の対応関係が作られないよう、静的単一代入形式が必要である。