Consider the program below which uses six temporary variables a, b, c, d, e and f.
a = 10
b = 20
c = 30
d = a + c
e = b + d
f = c + c
b = c + e
e = b + f
d = 5 + e
return d + f
Assuming that all the above operations take their operands from registers, the minimum number of registers needed to execute this program without spilling is: