Problem 2. The following algorithm which is used to evaluate a polynomial a_nx^n + a_{n-1}x^{n-1} + ... + a_1x + a_0 at x = c is expressed in pseudocode as follows: procedure polynomial evaluation (c, a_0, ..., a_n : real numbers) y := a_n for i := 1 to n y := y * c + a_{n-i} return y {y = a_nx^n + a_{n-1}x^{n-1} + ... + a_1x + a_0}. where the final value of y is the value of the polynomial at x = c. (a) Evaluate 12x^4 + 3x^3 - 5x^2 + 7x - 8 at x = -1 by working through each step of the algorithm showing the values assigned at each assignment step CLEARLY. Answers with missing iterations, indices, etc. will not be taken into account. (b) How many additions and multiplications take place in the evaluation of a polynomial of degree n? Briefly explain. (Do not include the additions needed to increment the loop variable i.) (c) One can represent polynomials using nested multiplications, that is successively taking x as a common factor in the remaining polynomials of decreasing degrees, for example 3x^3 + 2x^2 + 5x + 4 = x(x(3x + 2) + 5) + 4. Represent the given polynomial given in (a) using nested multiplications and briefly explain the connection between the presented algorithm and this representation.