anchor.diff:      !$OMP END PARALLEL
     END IF
   
  +  WRITE(*, "(A)") "Streamed... (mxm)"
  +  !$OMP PARALLEL PRIVATE(i, start) DEFAULT(NONE) &
  +  !$OMP   SHARED(duration, a, dx, dy, dz, c, m, n, k, mm, nn, kk)
  +  ALLOCATE(tm1(mm,n,k), tm2(mm,nn,k), tm3(mm,nn,kk))
  +  tm1 = 0; tm2 = 0; tm3 = 3
  +  !$OMP MASTER
  +  start = libxsmm_timer_tick()
  +  !$OMP END MASTER
  +  !$OMP DO
  +  DO i = LBOUND(a, 4), UBOUND(a, 4)
  +    CALL mxmf2(dx, mm, a(:,:,:,i), m, tm1, n*k)
  +    DO j = 1, k
  +        CALL mxmf2(tm1(:,:,j), mm, dy, n, tm2(:,:,j), nn)
  +    END DO
  +    CALL mxmf2(tm2, mm*nn, dz, k, tm3, kk)
  +    CALL stream_vector_copy( tm3(1,1,1), c(1,1,1,i), mm*nn*kk )
  +  END DO
  +  !$OMP MASTER
  +  duration = libxsmm_timer_duration(start, libxsmm_timer_tick())
  +  !$OMP END MASTER
  +  ! Deallocate thread-local arrays
  +  DEALLOCATE(tm1, tm2, tm3)
  +  !$OMP END PARALLEL
  +
  +  CALL performance(duration, m, n, k, mm, nn, kk, s)
  +  IF (check.NE.0) CALL validate(c, d)
  +
     WRITE(*, "(A)") "Streamed... (auto-dispatched)"
     !$OMP PARALLEL PRIVATE(i, start) DEFAULT(NONE) &
     !$OMP   SHARED(duration, a, dx, dy, dz, c, m, n, k, mm, nn, kk)
  -  ALLOCATE(tm1(mm,n,k), tm2(mm,nn,k))
  -  tm1 = 0; tm2 = 0;
  +  ALLOCATE(tm1(mm,n,k), tm2(mm,nn,k), tm3(mm,nn,kk))
  +  tm1 = 0; tm2 = 0; tm3 = 3
     !$OMP MASTER
     start = libxsmm_timer_tick()
     !$OMP END MASTER
  
positive.code:       DO j = 1, k
            CALL libxsmm_call(xmm2, C_LOC(tm1(1,1,j)), C_LOC(dy), C_LOC(tm2(1,1,j)))
        END DO
        CALL libxsmm_call(xmm3, C_LOC(tm2), C_LOC(dz), C_LOC(c(1,1,1,i)))
      END DO
      !$OMP MASTER
      duration = libxsmm_timer_duration(start, libxsmm_timer_tick())
      !$OMP END MASTER
      ! Deallocate thread-local arrays
      DEALLOCATE(tm1, tm2)
      !$OMP END PARALLEL
  
      CALL performance(duration, m, n, k, mm, nn, kk, s)
  
negative.code:     DO j = 1, k
          CALL libxsmm_mm(mm, nn, n, tm1(:,:,j), dy, tm2(:,:,j), LIBXSMM_FLAGS, alpha, beta)
      END DO
      CALL libxsmm_mm(mm*nn, kk, k, tm2(:,:,1), dz, tm3(:,:,1), LIBXSMM_FLAGS, alpha, beta)
      CALL stream_vector_copy( tm3(1,1,1), c(1,1,1,i), mm*nn*kk )
    END DO
    !$OMP MASTER
    duration = libxsmm_timer_duration(start, libxsmm_timer_tick())
    !$OMP END MASTER
    ! Deallocate thread-local arrays
    DEALLOCATE(tm1, tm2, tm3)
    !$OMP END PARALLEL
  
    CALL performance(duration, m, n, k, mm, nn, kk, s)
  