SUBROUTINE MyMatmul (result, left, right) IMPLICIT NONE REAL, DIMENSION(:,:) :: result, left, right INTEGER :: J, K DO K = 1,UBOUND(result,2) DO J = 1,UBOUND(result,1) result(J,K) = SUM(left(J,:)*right(:,K)) END DO END DO END SUBROUTINE MyMatmul