(((a+(b*c))+d)-e)-(a+(b*c)) [ as * have highest precedence so should be done first , then + should be dne ad then - and as associativity of + is not importnat so i m taking + as left associative]
t1 = b * c;
t2 = a + t1;
t1 = t2 + d;
t1 = t1 - e;
t1 = t1 - t2; so minimum 2 temporary variables are needed {t1 , t2 }