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;
   integerarray
     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