1 subroutine cubspl ( tau, c, n, ibcbeg, ibcend )
38 integer ibcbeg,ibcend,n, i,j,l,m
39 double precision c(4,n),tau(n), divdf1,divdf3,dtau,g
48 c(3,m) = tau(m) - tau(m-1)
49 10 c(4,m) = (c(1,m) - c(1,m-1))/c(3,m)
52 if (ibcbeg-1) 11,15,16
53 11
if (n .gt. 2)
go to 12
57 c(2,1) = 2.0d+00*c(4,2)
61 c(3,1) = c(3,2) + c(3,3)
62 c(2,1) =((c(3,2)+2.0d+00*c(3,1))*c(4,2)*c(3,3)
63 & +c(3,2)**2*c(4,3))/c(3,1)
72 c(2,1) = 3.0d+00*c(4,2) - c(3,2)/2.0d+00*c(2,1)
73 18
if(n .eq. 2)
go to 25
78 g = -c(3,m+1)/c(4,m-1)
79 c(2,m) = g*c(2,m-1) + 3.0d+00*(c(3,m)*c(4,m+1)+c(3,m+1)*c(4,m))
80 20 c(4,m) = g*c(3,m-1) + 2.0d+00*(c(3,m) + c(3,m+1))
86 if (ibcend-1) 21,30,24
87 21
if (n .eq. 3 .and. ibcbeg .eq. 0)
go to 22
91 c(2,n) = ((c(3,n)+2.0d+00*g)*c(4,n)*c(3,n-1)
92 * + c(3,n)**2*(c(1,n-1)-c(1,n-2))/c(3,n-1))/g
98 22 c(2,n) = 2.0d+00*c(4,n)
102 24 c(2,n) = 3.0d+00*c(4,n) + c(3,n)/2.0d+00*c(2,n)
105 25
if (ibcend-1) 26,30,24
106 26
if (ibcbeg .gt. 0)
go to 22
110 28 g = -1.0d+00/c(4,n-1)
112 29 c(4,n) = g*c(3,n-1) + c(4,n)
113 c(2,n) = (g*c(2,n-1) + c(2,n))/c(4,n)
116 40 c(2,j) = (c(2,j) - c(3,j)*c(2,j+1))/c(4,j)
118 if (j .gt. 0)
go to 40
123 divdf1 = (c(1,i) - c(1,i-1))/dtau
124 divdf3 = c(2,i-1) + c(2,i) - 2.0d+00*divdf1
125 c(3,i-1) = 2.0d+00*(divdf1 - c(2,i-1) - divdf3)/dtau
126 50 c(4,i-1) = (divdf3/dtau)*(6.0d+00/dtau)
subroutine cubspl(tau, c, n, ibcbeg, ibcend)