anchor.diff:          TYPE(LIBXSMM_SMM_FUNCTION) FUNCTION libxsmm_sfunction0(         &
        &  flags, m, n, k, lda, ldb, ldc, alpha, beta)
             INTEGER(LIBXSMM_INT_KIND), PARAMETER :: T = LIBXSMM_FLS_KIND
  +          REAL(T), PARAMETER :: default_alpha = REAL(LIBXSMM_ALPHA, T)
  +          REAL(T), PARAMETER :: default_beta = REAL(LIBXSMM_BETA, T)
             INTEGER(LIBXSMM_INT_KIND), INTENT(IN) :: flags, m, n, k
             INTEGER(LIBXSMM_INT_KIND), INTENT(IN), OPTIONAL :: lda
             INTEGER(LIBXSMM_INT_KIND), INTENT(IN), OPTIONAL :: ldb
  
positive.code:         TYPE(LIBXSMM_DMM_FUNCTION) FUNCTION libxsmm_dfunction0(         &
       &  flags, m, n, k, lda, ldb, ldc, alpha, beta)
            INTEGER(LIBXSMM_INT_KIND), PARAMETER :: T = LIBXSMM_FLD_KIND
            INTEGER(LIBXSMM_INT_KIND), INTENT(IN) :: flags, m, n, k
            INTEGER(LIBXSMM_INT_KIND), INTENT(IN), OPTIONAL :: lda
            INTEGER(LIBXSMM_INT_KIND), INTENT(IN), OPTIONAL :: ldb
  
negative.code:      &          MERGE(0, lda, .NOT.PRESENT(lda)),                       &
       &          MERGE(0, ldb, .NOT.PRESENT(ldb)),                       &
       &          MERGE(0, ldc, .NOT.PRESENT(ldc)),                       &
       &          MERGE(default_alpha, alpha, .NOT.PRESENT(alpha)),       &
       &          MERGE(default_beta, beta, .NOT.PRESENT(beta))),         &
       &      function)
            libxsmm_sfunction0%fn0 => function
            libxsmm_sfunction0%fn1 => NULL()
  