再进行复写传播和删除无用赋值等变换后得到: t3 := a * 1 t4 := t3 * 2 t5 := b + t4 c := t5 * t5 接着使用代数变换后有: t3 := a t4 := t3 * 2 t5 := b + t4 c := t5 * t5 使用复写传播和删除无用赋值变换后又有: t4 := a * 2 t5 := b + t4 c := t5 * t5 再使用代数变换: t4 := a + a t5 := b + t4 c := t5 * t5 重新命名临时变量: t1 := a + a t5 := b + t1 c := t5 * t5 还可减少临时变量: t1 := a + a t1 := b + t1 c := t1 * t1 |