FUNCTION predic(data,d,nfut)
	USE nrtype
	IMPLICIT NONE
	REAL(SP), DIMENSION(:), INTENT(IN) :: data,d
	INTEGER(I4B), INTENT(IN) :: nfut
	REAL(SP), DIMENSION(nfut) :: predic
	INTEGER(I4B) :: j,ndata,m
	REAL(SP) :: discrp,sm
	REAL(SP), DIMENSION(size(d)) :: reg
	m=size(d)
	ndata=size(data)
	reg(1:m)=data(ndata:ndata+1-m:-1)
	do j=1,nfut
		discrp=0.0
		sm=discrp+dot_product(d,reg)
		reg=eoshift(reg,-1,sm)
		predic(j)=sm
	end do
	END FUNCTION predic