anchor.diff:           CH(M,IDO,4,K) = (CC(M,1,K,1)+CC(M,1,K,3))
        1      -(CC(M,1,K,2)+CC(M,1,K,4))
            CH(M,IDO,2,K) = CC(M,1,K,1)-CC(M,1,K,3)
  -         CH(M,1,3,K) = CC(M,1,K,4)-CC(M,1,K,2)
  +         CH(M,1,3,K) =   CC(M,1,K,4)-CC(M,1,K,2)
    1001    CONTINUE
     101 CONTINUE
         IF (IDO-2) 107,105,102
  
positive.code:       END
        SUBROUTINE VRADF3 (MP,IDO,L1,CC,CH,MDIMC,WA1,WA2)
        implicit double precision (a-h, o-z)
  C
  C     VRFFTPK, VERSION 1, AUGUST 1985
  C
        DIMENSION   CH(MDIMC,IDO,3,L1)  ,CC(MDIMC,IDO,L1,3)     ,
       1                WA1(IDO)     ,WA2(IDO)
        ARG=2.d0*PIMACH(1.0d0)/3.d0
        TAUR=COS(ARG)
        TAUI=SIN(ARG)
        DO 101 K=1,L1
           DO 1001 M=1,MP
           CH(M,1,1,K) = CC(M,1,K,1)+(CC(M,1,K,2)+CC(M,1,K,3))
           CH(M,1,3,K) = TAUI*(CC(M,1,K,3)-CC(M,1,K,2))
           CH(M,IDO,2,K) = CC(M,1,K,1)+TAUR*
       1      (CC(M,1,K,2)+CC(M,1,K,3))
   1001    CONTINUE
    101 CONTINUE
        IF (IDO .EQ. 1) RETURN
        IDP2 = IDO+2
        DO 103 K=1,L1
           DO 102 I=3,IDO,2
              IC = IDP2-I
              DO 1002 M=1,MP
              CH(M,I-1,1,K) = CC(M,I-1,K,1)+((WA1(I-2)*CC(M,I-1,K,2)+
       1       WA1(I-1)*CC(M,I,K,2))+(WA2(I-2)*CC(M,I-1,K,3)+WA2(I-1)*
       1       CC(M,I,K,3)))
              CH(M,I,1,K) = CC(M,I,K,1)+((WA1(I-2)*CC(M,I,K,2)-WA1(I-1)*
       1       CC(M,I-1,K,2))+(WA2(I-2)*CC(M,I,K,3)-WA2(I-1)*
       1       CC(M,I-1,K,3)))
              CH(M,I-1,3,K) = (CC(M,I-1,K,1)+TAUR*((WA1(I-2)*
       1       CC(M,I-1,K,2)+WA1(I-1)*CC(M,I,K,2))+(WA2(I-2)*
       1       CC(M,I-1,K,3)+WA2(I-1)*CC(M,I,K,3))))+(TAUI*((WA1(I-2)*
       1       CC(M,I,K,2)-WA1(I-1)*CC(M,I-1,K,2))-(WA2(I-2)*
       1       CC(M,I,K,3)-WA2(I-1)*CC(M,I-1,K,3))))
              CH(M,IC-1,2,K) = (CC(M,I-1,K,1)+TAUR*((WA1(I-2)*
       1       CC(M,I-1,K,2)+WA1(I-1)*CC(M,I,K,2))+(WA2(I-2)*
       1       CC(M,I-1,K,3)+WA2(I-1)*CC(M,I,K,3))))-(TAUI*((WA1(I-2)*
       1       CC(M,I,K,2)-WA1(I-1)*CC(M,I-1,K,2))-(WA2(I-2)*
       1       CC(M,I,K,3)-WA2(I-1)*CC(M,I-1,K,3))))
              CH(M,I,3,K) = (CC(M,I,K,1)+TAUR*((WA1(I-2)*CC(M,I,K,2)-
       1       WA1(I-1)*CC(M,I-1,K,2))+(WA2(I-2)*CC(M,I,K,3)-WA2(I-1)*
       1       CC(M,I-1,K,3))))+(TAUI*((WA2(I-2)*CC(M,I-1,K,3)+WA2(I-1)*
       1       CC(M,I,K,3))-(WA1(I-2)*CC(M,I-1,K,2)+WA1(I-1)*
       1       CC(M,I,K,2))))
              CH(M,IC,2,K) = (TAUI*((WA2(I-2)*CC(M,I-1,K,3)+WA2(I-1)*
       1       CC(M,I,K,3))-(WA1(I-2)*CC(M,I-1,K,2)+WA1(I-1)*
       1       CC(M,I,K,2))))-(CC(M,I,K,1)+TAUR*((WA1(I-2)*CC(M,I,K,2)-
       1       WA1(I-1)*CC(M,I-1,K,2))+(WA2(I-2)*CC(M,I,K,3)-WA2(I-1)*
       1       CC(M,I-1,K,3))))
   1002       CONTINUE
    102    CONTINUE
    103 CONTINUE
        RETURN
        END
        SUBROUTINE VRADF4 (MP,IDO,L1,CC,CH,MDIMC,WA1,WA2,WA3)
  
negative.code:          DO 103 I=3,IDO,2
              IC = IDP2-I
              DO 1003 M=1,MP
                 p1 = WA1(I-1)*CC(M,I,K,2) + WA1(I-2)*CC(M,I-1,K,2)
                 p2 = WA1(I-2)*CC(M,I,K,2) - WA1(I-1)*CC(M,I-1,K,2)
                 p3 = WA3(I-2)*CC(M,I,K,4) - WA3(I-1)*CC(M,I-1,K,4)
                 p4 = WA3(I-1)*CC(M,I,K,4) + WA3(I-2)*CC(M,I-1,K,4)
                 p5 = WA2(I-1)*CC(M,I,K,3) + WA2(I-2)*CC(M,I-1,K,3)
                 p6 = WA2(I-2)*CC(M,I,K,3) - WA2(I-1)*CC(M,I-1,K,3)
                 p4pp1 = p4 + p1
                 p4mp1 = p4 - p1
                 p2pp3 = p2 + p3
                 p2mp3 = p2 - p3
                 cc5 = CC(M,I-1,K,1)+p5
                 cc5m= CC(M,I-1,K,1)-p5
                 cc6 = CC(M,I,K,1)+p6
                 cc6m= CC(M,I,K,1)-p6
                 CH(M,I-1,1,K) = p4pp1+cc5
              CH(M,IC-1,4,K) = cc5-p4pp1
              CH(M,I,1,K) = p2pp3+cc6
              CH(M,IC,4,K) = p2pp3-cc6
              CH(M,I-1,3,K) = p2mp3+cc5m
              CH(M,IC-1,2,K) = cc5m-p2mp3
              CH(M,I,3,K) = p4mp1+cc6m
              CH(M,IC,2,K) = p4mp1-cc6m
   1003       CONTINUE
    103    CONTINUE
    104 CONTINUE
  