anchor.diff:  
       !! Determine the scratch space size
       LWORK = -1
  -    CALL DSYEV(JOB, UPLO, N, DMatA, LDA, W, WORKTEMP, LWORK, IWORKTEMP, LIWORK, INFO)
  +    CALL DSYEVD(JOB, UPLO, N, DMatA, LDA, W, WORKTEMP, LWORK, IWORKTEMP, &
  +         & LIWORK, INFO)
       N = LDA
       LWORK = INT(WORKTEMP)
       ALLOCATE(WORK(LWORK))
  
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:     INTEGER, DIMENSION(:), ALLOCATABLE :: IWORK
      INTEGER :: IWORKTEMP
      INTEGER :: LIWORK
      INTEGER :: INFO
  
      !! Convert Input To Dense
  