Timing of the de Casteljau algorithm

Below, you see that the algorithm runs in exponential time.

dca[b_,r_,i_,t_]:=If [r==0,b[[i+1]],(1-t)*dca[b,r-1,i,t]+t*dca[b,r-1,i+1,t]];

b[n_]:=Table[{i,i+2,i^2},{i,1,n}];
(* a control polygon *)

n=20;  (*max degree*)
nstart=10; (* from what degree to start plotting *)

times=Table[First[Timing[dca[b[i],i-1,0,0.5]]],{i,nstart,n}];
(* dca performance for different degrees *)

ListPlot[times,PlotRange-> All, Filling-> Axis,Joined-> True,DataRange->{nstart,n}]

ListLogPlot[times,Filling-> Axis,Joined-> True,DataRange->{nstart,n}]

Strange things happen for low degrees (why?) :

n=15;  (*max degree*)
nstart=1; (* from where to start plotting *)

times=Table[First[Timing[dca[b[i],i-1,0,0.5]]],{i,nstart,n}];

ListPlot[times,PlotRange-> All, Filling-> Axis,Joined-> True,DataRange->{nstart,n}]

ListLogPlot[times,Filling-> Axis,Joined-> True,DataRange->{nstart,n}]