anchor.diff:      ! general
       do j = 2, q
         call randsvd_subspaceiter(m, n, k, q, a, u, y, tau, work, lwork, info)
  -      if (info /= 0) goto 1
  -      
  +      if (info /= 0) exit
       end do
       
       
  
positive.code:     
      return
    end
  
  
  
  
    ! ------------------------------------------------------
    ! internal subroutines
    ! ------------------------------------------------------
  
  
    ! initialize omega, such as via random normal generation.
    subroutine randsvd_omega_init(method, n, k, omega, info)
      ! in/out
  
negative.code:     
      return
    end
    
    
    
    ! stage a from the paper, with the orthonormalization step
    subroutine randsvd_stage_a(m, n, k, q, a, y, u, omega, work, lwork, info)
      ! in/out
  