1*-----------------------------------------------------------------------
2      SUBROUTINE CFFTB1 (N,C,CH,WA,IFAC)
3      DIMENSION       CH(*)      ,C(*)       ,WA(*)      ,IFAC(*)
4      NF = IFAC(2)
5      NA = 0
6      L1 = 1
7      IW = 1
8      DO 116 K1=1,NF
9         IP = IFAC(K1+2)
10         L2 = IP*L1
11         IDO = N/L2
12         IDOT = IDO+IDO
13         IDL1 = IDOT*L1
14         IF (IP .NE. 4) GO TO 103
15         IX2 = IW+IDOT
16         IX3 = IX2+IDOT
17         IF (NA .NE. 0) GO TO 101
18         CALL PASSB4 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3))
19         GO TO 102
20  101    CALL PASSB4 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3))
21  102    NA = 1-NA
22         GO TO 115
23  103    IF (IP .NE. 2) GO TO 106
24         IF (NA .NE. 0) GO TO 104
25         CALL PASSB2 (IDOT,L1,C,CH,WA(IW))
26         GO TO 105
27  104    CALL PASSB2 (IDOT,L1,CH,C,WA(IW))
28  105    NA = 1-NA
29         GO TO 115
30  106    IF (IP .NE. 3) GO TO 109
31         IX2 = IW+IDOT
32         IF (NA .NE. 0) GO TO 107
33         CALL PASSB3 (IDOT,L1,C,CH,WA(IW),WA(IX2))
34         GO TO 108
35  107    CALL PASSB3 (IDOT,L1,CH,C,WA(IW),WA(IX2))
36  108    NA = 1-NA
37         GO TO 115
38  109    IF (IP .NE. 5) GO TO 112
39         IX2 = IW+IDOT
40         IX3 = IX2+IDOT
41         IX4 = IX3+IDOT
42         IF (NA .NE. 0) GO TO 110
43         CALL PASSB5 (IDOT,L1,C,CH,WA(IW),WA(IX2),WA(IX3),WA(IX4))
44         GO TO 111
45  110    CALL PASSB5 (IDOT,L1,CH,C,WA(IW),WA(IX2),WA(IX3),WA(IX4))
46  111    NA = 1-NA
47         GO TO 115
48  112    IF (NA .NE. 0) GO TO 113
49         CALL PASSB (NAC,IDOT,IP,L1,IDL1,C,C,C,CH,CH,WA(IW))
50         GO TO 114
51  113    CALL PASSB (NAC,IDOT,IP,L1,IDL1,CH,CH,CH,C,C,WA(IW))
52  114    IF (NAC .NE. 0) NA = 1-NA
53  115    L1 = L2
54         IW = IW+(IP-1)*IDOT
55  116 CONTINUE
56      IF (NA .EQ. 0) RETURN
57      N2 = N+N
58      DO 117 I=1,N2
59         C(I) = CH(I)
60  117 CONTINUE
61      RETURN
62      END
63