anchor.diff:    !DIR$ ATTRIBUTES OFFLOAD:MIC :: libxsmm_dmm_dispatch
     !DIR$ ATTRIBUTES INLINE :: libxsmm_dmm_dispatch
     FUNCTION libxsmm_dmm_dispatch(m, n, k) RESULT(f)
  -    PROCEDURE(LIBXSMM_DMM_FUNCTION), POINTER :: f
  +    PROCEDURE(LIBXSMM_XMM_FUNCTION), POINTER :: f
       INTEGER(LIBXSMM_INTEGER_TYPE), INTENT(IN) :: m, n, k
       INTERFACE
         !DIR$ ATTRIBUTES OFFLOAD:MIC :: libxsmm_dmm_dispatch_aux
         TYPE(C_FUNPTR) PURE FUNCTION libxsmm_dmm_dispatch_aux(m, n, k) BIND(C, NAME="libxsmm_dmm_dispatch")
  -        USE, INTRINSIC :: ISO_C_BINDING
  -        INTEGER(C_INT), INTENT(IN) :: m, n, k
  +        IMPORT :: C_FUNPTR, C_INT
  +        INTEGER(C_INT), VALUE, INTENT(IN) :: m, n, k
         END FUNCTION
       END INTERFACE
       CALL C_F_PROCPOINTER(libxsmm_dmm_dispatch_aux(m, n, k), f)
  
positive.code:   !DIR$ ATTRIBUTES OFFLOAD:MIC :: libxsmm_smm_dispatch
    !DIR$ ATTRIBUTES INLINE :: libxsmm_smm_dispatch
    FUNCTION libxsmm_smm_dispatch(m, n, k) RESULT(f)
      PROCEDURE(LIBXSMM_SMM_FUNCTION), POINTER :: f
      INTEGER(LIBXSMM_INTEGER_TYPE), INTENT(IN) :: m, n, k
      INTERFACE
        !DIR$ ATTRIBUTES OFFLOAD:MIC :: libxsmm_smm_dispatch_aux
        TYPE(C_FUNPTR) PURE FUNCTION libxsmm_smm_dispatch_aux(m, n, k) BIND(C, NAME="libxsmm_smm_dispatch")
          USE, INTRINSIC :: ISO_C_BINDING
          INTEGER(C_INT), INTENT(IN) :: m, n, k
        END FUNCTION
      END INTERFACE
      CALL C_F_PROCPOINTER(libxsmm_smm_dispatch_aux(m, n, k), f)
  
negative.code:   END INTERFACE
  
    ABSTRACT INTERFACE
      ! Type of a function generated for a specific M, N, and K; double-precision.
      PURE SUBROUTINE LIBXSMM_XMM_FUNCTION(a, b, c) !BIND(C)
        IMPORT :: C_PTR
        TYPE(C_PTR), VALUE, INTENT(IN) :: a, b, c
      END SUBROUTINE
    END INTERFACE$MNK_INTERFACE_LIST
  
  