anchor.diff:        WRITE(*, *)
       END DO
     END SUBROUTINE
  +
  +  SUBROUTINE performance(duration, m, n, k, s)
  +    REAL(T), INTENT(IN) :: duration
  +    INTEGER, INTENT(IN) :: m, n, k
  +    INTEGER(8), INTENT(IN) :: s
  +    IF (0.LT.duration) THEN
  +      WRITE(*, "(1A,A,F10.1,A)") CHAR(9), "performance:", &
  +        (2D0 * s * m * n * k * 1D-9 / duration), " GFLOPS/s"
  +      WRITE(*, "(1A,A,F10.1,A)") CHAR(9), "bandwidth:  ", &
  +        (s * (m * k + k * n) * T / (duration * LSHIFT(1_8, 30))), " GB/s"
  +    ENDIF
  +    WRITE(*, "(1A,A,F10.1,A)") CHAR(9), "duration:   ", 1D3 * duration, " ms"
  +  END SUBROUTINE
   END PROGRAM
  
positive.code:   ! Init LIBXSMM
    CALL libxsmm_build_static()
  
    CALL GETENV("CHECK", argv)
    READ(argv, "(I32)") check
    IF (0.NE.check) THEN
  
negative.code:     ! Deallocate thread-local arrays
      DEALLOCATE(tmp)
      !$OMP END PARALLEL
      CALL performance(duration, m, n, k, s)
      IF (0.NE.check) THEN
        WRITE(*, "(1A,A,F10.1,A)") CHAR(9), "diff:       ", MAXVAL((c(:,:) - d(:,:)) * (c(:,:) - d(:,:)))
      END IF
      c(:,:) = 0
    END IF
  
    ! Deallocate global arrays
    DEALLOCATE(a)
    DEALLOCATE(b)
    DEALLOCATE(c)
    IF (0.NE.check) THEN
      DEALLOCATE(d)
    END IF
  
  CONTAINS
    PURE SUBROUTINE init(seed, matrix, n)
  