anchor.diff:              oprefetch = prefetch
             END IF
             IF (LIBXSMM_PREFETCH_NONE.EQ.oprefetch) THEN
  -            CALL C_F_PROCPOINTER(sdispatch(m, n, k, lda, ldb, ldc,      &
  -     &        alpha, beta, flags, prefetch), fn0)
  -            construct_smmfunction = LIBXSMM_SMMFUNCTION(fn0, NULL())
  +            construct_smmfunction = LIBXSMM_SMMFUNCTION(                &
  +     &        construct_fn0(sdispatch(m, n, k, lda, ldb, ldc,           &
  +     &          alpha, beta, flags, prefetch)), NULL())
             ELSE
  -            CALL C_F_PROCPOINTER(sdispatch(m, n, k, lda, ldb, ldc,      &
  -     &        alpha, beta, flags, prefetch), fn1)
  -            construct_smmfunction = LIBXSMM_SMMFUNCTION(NULL(), fn1)
  +            construct_smmfunction = LIBXSMM_SMMFUNCTION(                &
  +     &        NULL(), construct_fn1(sdispatch(m, n, k, lda, ldb, ldc,   &
  +     &          alpha, beta, flags, prefetch)))
             END IF
           END FUNCTION
   
  
positive.code:           drealptr => a(LBOUND(a,1),LBOUND(a,2))
          END FUNCTION
  
          !DIR$ ATTRIBUTES OFFLOAD:MIC :: construct_smmfunction
          TYPE(LIBXSMM_SMMFUNCTION) FUNCTION construct_smmfunction(       &
       &  m, n, k, lda, ldb, ldc, alpha, beta, flags, prefetch)
  
negative.code:           INTEGER(C_INT), INTENT(IN), OPTIONAL :: lda, ldb, ldc
            REAL(C_DOUBLE), INTENT(IN), OPTIONAL :: alpha, beta
            INTEGER(C_INT), INTENT(IN), OPTIONAL :: flags, prefetch
            !DIR$ ATTRIBUTES OFFLOAD:MIC :: ddispatch
            INTEGER(C_INT) :: oprefetch
            INTERFACE
  