anchor.diff:       endif
     enddo
   
  +  ierr=798
  +  call mpi_comm_free(CT_COMM_LOCAL,ierr)
  +  if (ierr.ne.0) then
  +     write(mpifileptr,*) "Error comm destroy simple_circ",ierr; call mpistop()
  +  endif
  +
  +  ierr=798
  +  call mpi_group_free(CT_GROUP_LOCAL,ierr)
  +  if (ierr.ne.0) then
  +     write(mpifileptr,*) "Error group destroy simple_circ",ierr; call mpistop()
  +  endif
  +
   end subroutine simple_circ
   
   
  
positive.code: 
  !!TEMP
    if (localnumprocs.ne.nprocs.or.myrank.ne.ctrank) then
       write(mpifileptr,*) "simple_Circ not done",localnumprocs,nprocs,myrank,ctrank; call mpistop()
    endif
  
    procshift(:)=proclist(:)-1
    call mpi_group_incl(CT_GROUP_WORLD,localnumprocs,procshift,CT_GROUP_LOCAL,ierr)
    if (ierr.ne.0) then
       write(mpifileptr,*) "Error group incl simple_circ",ierr; call mpistop()
    endif
    call mpi_comm_create(CT_COMM_WORLD, CT_GROUP_LOCAL, CT_COMM_LOCAL,ierr)
    if (ierr.ne.0) then
       write(mpifileptr,*) "Error comm create simple_circ",ierr; call mpistop()
    endif
  
    nnn=1
  
negative.code:   endif
  
    call myzfft1d_slowindex_mpi(in,tempout,pf(1),ctrank,ctset,dim1*howmany)
    call twiddlemult_mpi(tempout,outtemp,dim1,depth,newrank,newproclist,pf(1),ctrank,howmany)
    if (depth.eq.1) then
       call myzfft1d(outtemp,outtrans,dim1,howmany)
    else
  