anchor.diff:        CO=1.0
   C
   C     COMPUTE C(J)S FOR J=0 THRU J=N
  -      do 50 I=1,NT
  -      K6=NTOT2-2*I+5
  -      AP2RE=A(K6)*CO+A(K6+1)*SI
  -      AP2IM=-A(K6)*SI+A(K6+1)*CO
  -      CIRE=.5*(A(2*I-1)+AP2RE)
  -      CIIM=.5*(A(2*I)+AP2IM)
  -      CNIRE=.5*(A(2*I-1)-AP2RE)
  -      CNIIM=.5*(A(2*I)-AP2IM)
  -      A(2*I-1)=CIRE
  -      A(2*I)=CIIM
  -      A(K6)=CNIRE
  -      A(K6+1)=-CNIIM
  -      SIS=SI
  -      SI=SI*SC+CO*SS
  -50    CO=CO*SC-SIS*SS
  +      do I=1,NT
  +        K6=NTOT2-2*I+5
  +        AP2RE=A(K6)*CO+A(K6+1)*SI
  +        AP2IM=-A(K6)*SI+A(K6+1)*CO
  +        CIRE=.5*(A(2*I-1)+AP2RE)
  +        CIIM=.5*(A(2*I)+AP2IM)
  +        CNIRE=.5*(A(2*I-1)-AP2RE)
  +        CNIIM=.5*(A(2*I)-AP2IM)
  +        A(2*I-1)=CIRE
  +        A(2*I)=CIIM
  +        A(K6)=CNIRE
  +        A(K6+1)=-CNIIM
  +        SIS=SI
  +        SI=SI*SC+CO*SS
  +        CO=CO*SC-SIS*SS
  +      end do
   C
   C     SHIFT C(J)S FOR J=N/2+1 to J=N UP ONE SLOT
  -      do 60 I=1,NTOT,2
  -      K8=NTOT+4+I
  -      A(K8-2)=A(K8)
  -60    A(K8-1)=A(K8+1)
  -      do 70 I=3,NTOT2,2
  -      A(I)=2.*A(I)
  -70    A(I+1)= 2.*A(I+1)
  +      do I=1,NTOT,2
  +        K8=NTOT+4+I
  +        A(K8-2)=A(K8)
  +        A(K8-1)=A(K8+1)
  +      end do
  +      do I=3,NTOT2,2
  +        A(I)=2.*A(I)
  +        A(I+1)= 2.*A(I+1)
  +      end do
         return
         end
   C******************************************
  
positive.code: C     CALCULATE A2PRIMES AND STORE IN SECOND N SLOTS IN REVERSE ORDER
  C
        K0=NTOT+1
        do 40 I=1,K0,2
        K1=NTOT2-I+4
        AP1RE=.5*(A(I)+A(K1))
        AP2RE=-.5*(A(I+1)+A(K1+1))
        AP1IM=.5*(-A(I+1)+A(K1+1))
        AP2IM=-.5*(A(I)-A(K1))
        A(I)=AP1RE
        A(I+1)=AP1IM
        A(K1)=AP2RE
  40    A(K1+1)=AP2IM
        NTO=NTOT/2
        NT=NTO+1
        DEL=3.1415927/FLOAT(NTOT)
  
negative.code:       NP(1)=N1*2
        NP(2)=NP(1)*N2
        NP(3)=NP(2)*N3
        do ID=1,3
          IL=NP(3)-NP(ID)
          IL1=IL+1
          MI=M(ID)
          if (MI) 330,330,80
  80      IDIF=NP(ID)
          KBIT=NP(ID)
          MEV=2*(MI/2)
          if (MI-MEV .gt. 0) then
            KBIT=KBIT/2
            KL=KBIT-2
            do I=1,IL1,IDIF
              KLAST=KL+I
              do K=I,KLAST,2
                KD=K+KBIT
                T=A(KD)
                A(KD)=A(K)-T
                A(K)=A(K)+T
                T=A(KD+1)
                A(KD+1)=A(K+1)-T
                A(K+1)=A(K+1)+T
              end do
            end do
            if (MI-1 .gt. 0) then
              LFIRST=3
              JLAST=1
            else
              go to 330
            end if
          else
  120       LFIRST=2
            JLAST=0
          end if
  130     do 320 L=LFIRST,MI,2
          JJDIF=KBIT
          KBIT=KBIT/4
          KL=KBIT-2
          do I=1,IL1,IDIF
            KLAST=I+KL
            do K=I,KLAST,2
              K1=K+KBIT
              K2=K1+KBIT
              K3=K2+KBIT
              T=A(K2)
              A(K2)=A(K)-T
              A(K)=A(K)+T
              T=A(K2+1)
              A(K2+1)=A(K+1)-T
              A(K+1)=A(K+1)+T
              T=A(K3)
              A(K3)=A(K1)-T
              A(K1)=A(K1)+T
              T=A(K3+1)
              A(K3+1)=A(K1+1)-T
              A(K1+1)=A(K1+1)+T
              T=A(K1)
              A(K1)=A(K)-T
              A(K)=A(K)+T
  