anchor.diff:        !$OMP END MASTER
         !$OMP DO
         DO i = LBOUND(a, 1), UBOUND(a, 1)
  -        CALL libxsmm_imm(m, n, k, a(i,:,:), b(i,:,:), tmp)
  +        CALL libxsmm_imm(m, n, k, a(i)%matrix, b(i)%matrix, tmp)
         END DO
         !$OMP MASTER
         !$ duration = duration + omp_get_wtime()
  
positive.code:   END IF
    s = LSHIFT(INT8(MAX(i, 0)), 30) / ((m * k + k * n + m * n) * T)
  
    ALLOCATE(a(s,m,k))
    ALLOCATE(b(s,k,n))
    ALLOCATE(c(m,n))
  
    ! Initialize matrices
    !$OMP PARALLEL DO PRIVATE(i) DEFAULT(NONE) SHARED(a, b)
    DO i = LBOUND(a, 1), UBOUND(a, 1)
      CALL init(42, a(i,:,:), i - 1)
      CALL init(24, b(i,:,:), i - 1)
    END DO
    c(:,:) = 0
  
    WRITE (*, "(A,I3,A,I3,A,I3,A,I6)") "m=", m, " n=", n, " k=", k, " size=", UBOUND(a, 1) 
  
negative.code: !* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS        *!
  !* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.              *!
  !*****************************************************************************!
  !* Hans Pabst (Intel Corp.), Alexander Heinecke (Intel Corp.)                *!
  !*****************************************************************************!
  
  PROGRAM smm
  