The following example shows the annotated transformed program in
the listing file. Much of this information is always recorded in
the transformed code file regardless of whether the user specifies
/listoptions=t .
 KAP/Digital_VMS_F V3.1 k271625 970317 ATIMESB Transformed 05-Apr-1997 13:22:10
 Page   1
 Footnotes   Actions    DO        Line
                        Loops
                                   1
                                   2 C Simple Matrix Multiply example.
                                   3
                                   4  PROGRAM ATIMESB
                                   5
                                   6    PARAMETER M = 200, N = 300, P = 200
                                   7
                                   8    DIMENSION A(1:200,1:300), B(1:300,1:200), C(1:200,1:200)
            I                      8    INTEGER II2, II1
            I                      8    PARAMETER (II2 = 300, II1 = 200)
                                   9
                                  10
                                  11 C Initialize the matrices
                                  12
1           LM             +------13    DO 2 J=1,300
2           LM INF         !+-----14      DO 2 I=1,200
                           !!     15        A(I,J) = 1.5
            I              !!_____16 2      CONTINUE
                                  17
1           LM             +------18    DO 3 J=1,200
2           LM INF         !+-----19      DO 3 I=1,300
                           !!     20        B(I,J) = 3.0
            I              !!_____21 3      CONTINUE
                                  22
                                  23 C Compute C = A * B
                                  24
            SO                    25    CALL MATMUL (A,(II1),B,(II2),C,(II1))
                                  26  END
 Abbreviations Used
  LM       label modification
  SO       scalar optimization
  I        inserted
  INF      informational
 Footnote List
   1: not vectorized   Not an inner loop.
   2: informational    Unrolling of this loop was not done because heuristic
                       says size is ok as is.
KAP/Digital_VMS_F  V3.1 k271625 970317  MATMUL Transformed 05-Apr-1997 13:22:10
 Footnotes Actions DO Loops    Line
                                  27
                                  28
                                  29  SUBROUTINE MATMUL (A, LDA, B, LDB, C, LL )
                                  30    REAL A(LDA,LDB), B(LDB,LL), C(LDA,LL)
                                  31    INTEGER LDA, LDB, LL
            I                     31    INTEGER II17, II16
            I                     31    PARAMETER (II17 = 25, II16 = 1)
            I                           INTEGER II1,II2,II3,II4,II5,II6,II7,II8
                                     X     ,II9,II10,II11, II12,II13,II14,II15
            I                           REAL RR1
            I                     33    II1 = MOD (LL - II16, II17) + II16
            I                     36    II5 = MOD (LDB - II16, II17) + II16
            I                     34    II9 = MOD (LDA - II16, II17) + II16
                                  32
1           LM          +---------33    DO 2 J=1,LL
2           LM INF      !+--------34      DO 2 I=1,LDA
                        !!        35        C(I,J) = 0.
            I           !!________38 2      CONTINUE
            I                     33    II3 = II16
            I                     33    II2 = II1
3 4 5       I NO SO     +---------33    DO 7 II4=II16,LL,II17
            I           !         36      II7 = II16
            I           !         36      II6 = II5
            I           !         36      II15 = II3 + II2 - II16
3 4 5       I NO SO     !+--------36      DO 6 II8=II16,LDB,II17
            I           !!        34        II11 = II16
            I           !!        34        II10 = II9
            I           !!        34        II13 = II7 + II6 - II16
3 4 5       I NO SO     !!+-------34        DO 5 II12=II16,LDA,II17
                        !!!       32
            I           !!!       33          II14 = II11 + II10 - II16
6           LM SO       !!!+------33          DO 4 J=II3,II15,II16
6           LM LR SO    !!!!+-----34            DO 4 I=II11,II14,II16
            I           !!!!!     34              RR1 = C(I,J)
2 6         LM LR SO INF!!!!!+----36              DO 3 K=II7,II13,II16
7                       !!!!!!    37                RR1 = RR1+(A(I,K) * B(K,J))
            I           !!!!!!____38 3              CONTINUE
            I           !!!!!     38              C(I,J) = RR1
            I           !!!!!_____38 4            CONTINUE
            I           !!!       38          II11 = II11 + II10
            I           !!!       38          II10 = II17
            I           !!!_______38 5        CONTINUE
            I           !!        38        II7 = II7 + II6
            I           !!        38        II6 = II17
            I           !!________38 6      CONTINUE
            I           !         38      II3 = II3 + II2
            I           !         38      II2 = II17
            I           !_________38 7    CONTINUE
                                  39
                                  40    RETURN
                                  41
                                  42   END
 Abbreviations Used
  LM       label modification
  NO       not optimized
  LR       loop reordering
  SO       scalar optimization
  I        inserted
  INF      informational
 Footnote List
   1: not vectorized       Not an inner loop.
   2: informational        Unrolling of this loop was not done because
                           heuristic says size is ok as is.
   3: inserted             DO loop was inserted here.
   4: scalar optimization  Block loop for strip mining with block size 25.
   5: not optimized        Loop was asserted serial by directive.
   6: scalar optimization  Strip loop for strip mining with block size 25.
   7: data dependence      Data dependence involving this line due to variable C.