SUBROUTINE COST (N,X,WSAVE)
DIMENSION X(1) ,WSAVE(1)
NM1 = N-1
NP1 = N+1
NS2 = N/2
IF (N-2) 106,101,102
101 X1H = X(1)+X(2)
X(2) = X(1)-X(2)
X(1) = X1H
RETURN
102 IF (N .GT. 3) GO TO 103
X1P3 = X(1)+X(3)
TX2 = X(2)+X(2)
X(2) = X(1)-X(3)
X(1) = X1P3+TX2
X(3) = X1P3-TX2
RETURN
103 C1 = X(1)-X(N)
X(1) = X(1)+X(N)
DO 104 K=2,NS2
KC = NP1-K
T1 = X(K)+X(KC)
T2 = X(K)-X(KC)
C1 = C1+WSAVE(KC)*T2
T2 = WSAVE(K)*T2
X(K) = T1-T2
X(KC) = T1+T2
104 CONTINUE
MODN = MOD(N,2)
IF (MODN .NE. 0) X(NS2+1) = X(NS2+1)+X(NS2+1)
CALL RFFTF (NM1,X,WSAVE(N+1))
XIM2 = X(2)
X(2) = C1
DO 105 I=4,N,2
XI = X(I)
X(I) = X(I-2)-X(I-1)
X(I-1) = XIM2
XIM2 = XI
105 CONTINUE
IF (MODN .NE. 0) X(N) = XIM2
106 RETURN
END