The given expression is (a-1) * ((( b + c ) / 3 ) + d)
The optimal generated code is:
Load R1, b R1 ⟵ b
Load R2, c R2 ⟵ c
ADD R1, R2 R1 ⟵ R1 + R2
Div R1, 3 R1 ⟵ R1/3
Load R2, d R2 ⟵ d
Add R1, R2 R1 ⟵ R1 + R2
Load R2, a R2 ⟵ a
Sub R2, 1 R2 ⟵ R2 - 1
Mul R2, R1 R2 ⟵ R2 * R1
Hence minimum 2 registers required.