The least number of temporary variables required to create a three-address code in static single assignment form for the expression q + r/3 + s – t * 5 + u * v/w is _________.
Static Single Assignment or SSA form requires that each variable is assigned exactly once. Therefore, to calculate the given expression, the three address code will be something like following:
t1 := r / 3 (∴ t1 holds r/3) t2 := q + t1 (∴ t2 holds q + r/3) t3 := t2 + s (∴ t3 holds q + r/3 + s) t4 := t * 5 (∴ t4 holds t*5) t5 := t3 − t4 (∴ t5 holds q + r/3 + s − t*5) t6 := u * v (∴ t6 holds u*v) t7 := t6 / w (∴ t7 holds u*v/w) t8 := t5 + t7 (∴ t8 holds q + r/3 + s − t*5 + u*v/w)
Therefore, total 8 temporary variables are required to create the three-address code in SSA form for the given expression.