1       subroutine bsplvd ( t, k, x, left, a, dbiatx, nderiv )
    48       integer k,left,nderiv,   i,ideriv,il,j,jlow,jp1mid,kp1,kp1mm
    50       double precision a(k,k),dbiatx(k,nderiv),t(1),x,
    52       mhigh = max0(min0(nderiv,k),1)
    55       call bsplvb(t,kp1-mhigh,1,x,left,dbiatx)
    56       if (mhigh .eq. 1)                 
go to 99
    65             dbiatx(j,ideriv) = dbiatx(jp1mid,1)
    66    11       jp1mid = jp1mid + 1
    68          call bsplvb(t,kp1-ideriv,2,x,left,dbiatx)
    97             factor = fkp1mm/(t(il+kp1mm) - t(il))
   101    24          a(i,j) = (a(i,j) - a(i-1,j))*factor
   116    35          sum = a(j,i)*dbiatx(j,m) + sum
 subroutine bsplvb(t, jhigh, index, x, left, biatx)
subroutine bsplvd(t, k, x, left, a, dbiatx, nderiv)