'BEGIN'
    'COMMENT' LIBRARY 1;
'COMMENT' THIS PROGRAM HAS BEEN MODIFIED TO AVOID USE BEFORE DECLARATION
         AND ALSO TO REMOVE THE TYPE CHANGES ON ARRAYS TO VALUE;
    'INTEGER''ARRAY'
        A[16384 : 16385, - 16383 : - 16382];
    'INTEGER'
        S;
    'ARRAY'
        B[1 : 2, 0 : 2];
    'PROCEDURE' P(A, B, C, D);
        'VALUE'
            B,
            C;
        'REAL'
            A,
            B;
        'ARRAY'
            C,
            D;
        'BEGIN'
        A := A + 1;
        S := S + A + B + C[1, 2] + D[1, 2];
        D[1, 2] := 2
        'END';
    A[16384, - 16383] := 3.0;
    B[1, 2] := A[16384, - 16383];
    'BEGIN'
        'ARRAY'
            G[1 : B[1, 2], 0 : 2];
        S := 0;
        G[1, 0] := G[2, 0] := G[3, 0] := G[1, 1] := G[2, 1]
            := G[3, 1] := G[1, 2] := G[2, 2] := G[3, 2]
            := 1;
        P(B[1, 2], B[1, 2], G, B);
        S := S + B[1, 2];
        OUTREAL(99, S)
    'END'
'END'