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