- 
					 Consider the expression (a – 1) * (((b + c)/ 3) + d)), Let X be the minimum number of registers required by an optimal code generation (without any register spill) algorithm tor a load/store architecture, in which
(i) only load and store instructions can have memory operands and
(ii) arithmetic instructions can have only register or immediate operands.
The value of X is______. 
- 
                        
- 0
 - 1
 - 2
 - 3
 
 
Correct Option: C
| The given expression is (1) * | ![]()  | ![]()  | b + c | ![]()  | + d |    | 
| 3 | 

Let R1 and R2 be two registers
Load R1 ← b
Load R2 ← c
Add R1 ← (R1 + R2)
Div. R1 ← R1 / 3
Load R2 ← d
Add R1 ← R1 + R2
Load R2 ← a
Sub. R2 ← R2 - 1
Mul. R1 ← R1 * R2
Hence, only two registers are required.

