@Chirag Shilwant sorry my bad, i have edited it now.
Thanks for pointing it out.
You have derived the wrong expression
Your 3 address code is generating,
(a+b) *(a+b+c) +(a+b) but the question is (a+b) *(a+b+c) *a+b
So I think A is correct
... can we do
c = t1 + c;
I don't think so?