anchor.diff:  
       SUBROUTINE DGGEV( JOBVL, JOBVR, N, A, LDA, B, LDB, ALPHAR, ALPHAI, &
           BETA, VL, LDVL, VR, LDVR, WORK, LWORK, INFO )
  -    use lapack_precision, only: dp
  +    import :: dp
       CHARACTER          JOBVL, JOBVR
       INTEGER            INFO, LDA, LDB, LDVL, LDVR, LWORK, N
       REAL(dp)           A( LDA, * ), ALPHAI( * ), ALPHAR( * ), &
  
positive.code:     SUBROUTINE DSYSVX( FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, &
          LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, &
          IWORK, INFO )
      use lapack_precision, only: dp
      CHARACTER          FACT, UPLO
      INTEGER            INFO, LDA, LDAF, LDB, LDX, LWORK, N, NRHS
      REAL(dp)           RCOND
  
negative.code: 
      SUBROUTINE DSYGVD( ITYPE, JOBZ, UPLO, N, A, LDA, B, LDB, W, WORK, &
          LWORK, IWORK, LIWORK, INFO )
      import :: dp
      CHARACTER          JOBZ, UPLO
      INTEGER            INFO, ITYPE, LDA, LDB, LIWORK, LWORK, N
      INTEGER            IWORK( * )
  