定数畳み込み

20*(x+5)+120*x+101 に変換する方法を私はまだ知らない.つまり構文木all_leaves_are_literal なるフラグをつけるだけではダメってこった.
あ,分配律くらい教えておけと? じゃあ 10*(20*(x+5)+1)+3200*x+1013 に変換する方法,etc. etc. はどうよ.分配律を繰り返すのをどうやって判断するのかな?
それこそSSAか?