Interpolating error example

Clear[f, x, p];
f[x_] = Exp[-x^2];
xlist = {0. , 1. , 2. };
ylist = f[xlist];
n = Length[xlist];
l[k_, x_] := 
        Product[(x - xlist[[i]])/(xlist[[k]] - 
                  xlist[[i]]), {i, 1, 
              k - 1}]*
Product[(x - 
                  xlist[[i]])/(xlist[[k]] - 
                  xlist[[i]]), {i, k + 1, 
              n}];
p[x_] = Sum[ylist[[k]]*l[k, x], {k, 1, n}];

D[f[x], {x, 3}]

Plot[%, {x, 0, 2}]

errorboundplot = 
      Plot[Abs[2  x (x - 1) (x - 2)/3], {x, 0, 2}, 
        PlotRange -> All]

actualerrorplot = Plot[Abs[f[x] - p[x]], {x, 0, 2}]

Show[errorboundplot, actualerrorplot]