anchor.diff:            END IF
             IF (LIBXSMM_PREFETCH_NONE.EQ.oprefetch) THEN
               construct_smmfunction = LIBXSMM_SMMFUNCTION(                &
  -     &        construct_fn0(sdispatch(m, n, k, lda, ldb, ldc,           &
  +     &        construct_fn3(sdispatch(m, n, k, lda, ldb, ldc,           &
        &          alpha, beta, flags, prefetch)), NULL())
             ELSE
               construct_smmfunction = LIBXSMM_SMMFUNCTION(                &
  -     &        NULL(), construct_fn1(sdispatch(m, n, k, lda, ldb, ldc,   &
  +     &        NULL(), construct_fn6(sdispatch(m, n, k, lda, ldb, ldc,   &
        &          alpha, beta, flags, prefetch)))
             END IF
           END FUNCTION
  
positive.code:         ! two wrapped backend procedure pointers (single-precision).
          TYPE :: LIBXSMM_SMMFUNCTION
            PRIVATE
              PROCEDURE(LIBXSMM_MMFUNCTION0), NOPASS,                     &
       &                                      POINTER :: fn0 => NULL()
              PROCEDURE(LIBXSMM_MMFUNCTION1), NOPASS,                     &
       &                                      POINTER :: fn1 => NULL()
          END TYPE
  
          ! Generic function type which is representing either one of the
          ! two wrapped backend procedure pointers (double-precision).
          TYPE :: LIBXSMM_DMMFUNCTION
            PRIVATE
              PROCEDURE(LIBXSMM_MMFUNCTION0), NOPASS,                     &
       &                                      POINTER :: fn0 => NULL()
              PROCEDURE(LIBXSMM_MMFUNCTION1), NOPASS,                     &
       &                                      POINTER :: fn1 => NULL()
          END TYPE
  
          ! Construct procedure pointer depending on given argument set.
  
negative.code:         ! Type of a function specialized for a given parameter set.
          ABSTRACT INTERFACE
            ! Specialized function with fused alpha and beta arguments.
            PURE SUBROUTINE LIBXSMM_MMFUNCTION3(a, b, c) BIND(C)
              IMPORT :: C_PTR
              TYPE(C_PTR), INTENT(IN), VALUE :: a, b, c
            END SUBROUTINE
  
            ! Specialized function with alpha, beta, and prefetch arguments.
            PURE SUBROUTINE LIBXSMM_MMFUNCTION6(a, b, c,                  &
       &    pa, pb, pc) BIND(C)
              IMPORT :: C_PTR
              TYPE(C_PTR), INTENT(IN), VALUE :: a, b, c
  