##### The least number of temporary variables required : GATE 2015 - Paper 1

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.