anchor.diff:      INTEGER, DIMENSION(:), ALLOCATABLE :: IWORK
       INTEGER :: IWORKTEMP
       INTEGER :: LIWORK
  -    INTEGER :: ITEMP
       INTEGER :: INFO
   
       !! Convert Input To Dense
  
positive.code:     ALLOCATE(IWORK(LIWORK))
  
      !! Run Lapack For Real
      CALL DSYEV(JOB, UPLO, N, DMatA, LDA, W, WORK, LWORK, IWORK, LIWORK, INFO)
  
      !! Convert Output To Sparse
      CALL ConstructSparseFromDense(DMatA,MatV,threshold)
  
negative.code: 
      !! Determine the scratch space size
      LWORK = -1
      CALL DSYEVD(JOB, UPLO, N, DMatA, LDA, W, WORKTEMP, LWORK, IWORKTEMP, &
           & LIWORK, INFO)
      N = LDA
      LWORK = INT(WORKTEMP)
      ALLOCATE(WORK(LWORK))
  