PROGRAM D5R4
C	Driver for routine CHEBFT
	PARAMETER(NVAL=40, PIO2=1.5707963, EPS=1E-6)
	EXTERNAL FUNC
	DIMENSION C(NVAL)
	A=-PIO2
	B=PIO2
	CALL CHEBFT(A,B,C,NVAL,FUNC)
C	Test result
10	WRITE(*,*) 'How many terms in Chebyshev evaluation?'
	WRITE(*,'(1X,A,I2,A)') 'Enter n between 6 and ',NVAL,
     *				'. Enter n=0 to end.'
	READ(*,*) MVAL
	IF ((MVAL.LE.0).OR.(MVAL.GT.NVAL)) GOTO 20
	WRITE(*,'(1X,T10,A,T19,A,T28,A)') 'X','Actual','Chebyshev fit'
	DO 12 I=-8,8,1
		X=I*PIO2/10.0
		Y=(X-0.5*(B+A))/(0.5*(B-A))
C	Evaluate Chebyshev polynomial without using routine CHEBEV
		T0=1.0
		T1=Y
		F=C(2)*T1+C(1)*0.5
		DO 11 J=3,MVAL
			DUM=T1
			T1=2.0*Y*T1-T0
			T0=DUM
			TERM=C(J)*T1
			F=F+TERM
11		CONTINUE
		WRITE(*,'(1X,3F12.6)') X,FUNC(X),F
12	CONTINUE
	GOTO 10
20	END

	FUNCTION FUNC(X)
	FUNC=(X**2)*(X**2-2.0)*SIN(X)
	END