anchor.diff:      integer :: kickrank0, nswp0, verb0
       complex(8), intent(in) :: crA(*), crY0(*)
       real(8), intent(in) :: tau
  +    real(8) :: tau0
       type(zpointd) :: crnew(d+1)
       type(zpointd) :: phinew(d+1)
       complex(8),allocatable, target :: curcr(:)
  
positive.code:     integer :: i,j, k, sz,swp, dir, lwork, mm, nn, rnew, max_matvecs, rmax2 
      double precision :: err, ermax, res, res_old, min_res
      double precision anorm
      real(8) dznrm2
      complex(8) ZERO, ONE
      parameter( ZERO=(0.0d0,0.0d0), ONE=(1.0d0,0.0d0) )
  
      !Save everything to a file and return 
  
      min_res = 1d-1
      rmax2 = rmax 
  
negative.code:     call init_seed()
      ermax = 0d0
      swp = 1
      if ( typ .eq. 1 ) then
          tau0 = tau
      else if ( typ .eq. 2  ) then
          tau0 = tau/2
      endif
      !The symmetrized scheme consists in: U1 - S1 - U2 - S2 - U3
      !Step in U3, S2, U2, S1, U1;
      !Backwards would be: U1 (again) S1 U2 S2 U3, i.e. - step in core; step in S 
      do while (swp .eq. 1)
         !True iteration when started from the left:
         !move (US), move S, next core
  