anchor.diff:    IF (libxsmm_available(xmm)) THEN
       c(:,:) = 0
       WRITE(*, "(A)") "Streamed... (specialized)"
  -    !$OMP PARALLEL REDUCTION(+:c) PRIVATE(i, start) !DEFAULT(NONE) SHARED(m, n, a, b, duration, xmm)
  -    ALLOCATE(tmp(libxsmm_align_value(libxsmm_ld(m,n),8,LIBXSMM_ALIGNMENT),libxsmm_ld(n,m)))
  +    !$OMP PARALLEL REDUCTION(+:c) PRIVATE(i, start) !DEFAULT(NONE) SHARED(ldc, nm, a, b, duration, xmm)
  +    ALLOCATE(tmp(ldc,nm))
       tmp(:,:) = 0
       !$OMP MASTER
       start = libxsmm_timer_tick()
  
positive.code:   ! compute reference solution and warmup BLAS library
    ALLOCATE(d(m,n))
    d(:,:) = 0
    !$OMP PARALLEL REDUCTION(+:d) PRIVATE(i) DEFAULT(NONE) SHARED(m, n, k, a, b)
    ALLOCATE(tmp(libxsmm_align_value(libxsmm_ld(m,n),8,LIBXSMM_ALIGNMENT),libxsmm_ld(n,m)))
    tmp(:,:) = 0
    !$OMP DO
    DO i = LBOUND(a, 3), UBOUND(a, 3)
  
negative.code:   READ(argv, "(I32)") check
  
    s = ISHFT(MAX(i, 0_8), 30) / ((m * k + k * n + m * n) * T)
    mn = libxsmm_ld(m, n); nm = libxsmm_ld(n, m)
    ldc = MERGE(mn, libxsmm_align_value(mn, 8, LIBXSMM_ALIGNMENT), &
      0.EQ.IAND(LIBXSMM_GEMM_FLAG_ALIGN_C, LIBXSMM_FLAGS))
  
    ALLOCATE(c(m,n))
    ALLOCATE(a(m,k,s))
    ALLOCATE(b(k,n,s))
  
    ! Initialize a, b
    !$OMP PARALLEL DO PRIVATE(i) DEFAULT(NONE) SHARED(a, b, s)
    DO i = 1, s
      CALL init(42, a(:,:,i), i - 1)
      CALL init(24, b(:,:,i), i - 1)
    END DO
  
    WRITE(*, "(A,I0,A,I0,A,I0,A,I0)") "m=", m, " n=", n, " k=", k, " size=", UBOUND(a, 3)
  
  