コンパイラのようなものを書いています。問題は次のとおりです。一連の割り当てで構成されるコードがあります。
t1=a+b+c
t2=t1*d
t3=sqrt(t1+t2)
t4=t2+5
...
「t」変数のほとんどは一時的なものです。一時変数の数を減らし、可能な限り再利用したいと考えています。したがって、コードを再配置し、式をグループ化し、変数の割り当てにできるだけ近い変数を持たせる必要があるため、これらの式を計算した後、変数を再利用できます。もちろん、この手順ではコード ロジックを保持したいと考えています。これを行うのに最適なアルゴリズムはどれですか?