anchor.diff:  	real, allocatable :: wff(:,:), ww(:), zeof(:,:), zff(:,:)
   	real, allocatable :: eig(:)
   	integer           :: zuseteof, znkeepmax, i,j
  +real                  :: t1,t2
   
   	! Setups
   	! ======
  
positive.code: 				&	matmul(xeof(i, zistart:ziend), zpc)
  		end do
  	end if
  
  !	Obsolete formulation using too much memory
  !	ffrec = matmul( xeof(:, zistart:ziend), transpose(pc(:, zistart:ziend)) )
  
  	end subroutine sl_pcarec
  
  
negative.code: 				zff(:,i) = zff(:,i) * ww(:)
  			end do
  		end if
  		! pc = matmul( transpose(zff), zeof)
  		call sgemm('T','N',nt,nkeep,ns,1.,zff,ns, &
  			& zeof,ns,0.,pc,nt)
  		do i = 1, nkeep
  			pc(:,i) = pc(:,i) / dot_product(zeof(:,i)**2, ww(:))
  		end do
  