"CODE" 34427;
  "PROCEDURE" SOLTRIPIV(SUB, DIAG, SUPER, N, AID, PIV, B);
  "VALUE" N; "INTEGER" N; "ARRAY" SUB, DIAG, SUPER, AID, B;
  "BOOLEAN" "ARRAY" PIV;
  "BEGIN" "INTEGER" I, N1;
     "REAL" BI, BI1, R, S, T;
     N1:= N - 1;
     "FOR" I:= 1 "STEP" 1 "UNTIL" N1 "DO"
     "BEGIN" "IF" PIV[I] "THEN"
        "BEGIN" BI:= B[I+1]; BI1:= B[I] "END"
        "ELSE"
        "BEGIN" BI:= B[I]; BI1:= B[I+1] "END";
        R:= B[I]:= BI / DIAG[I];
        B[I+1]:= BI1 - SUB[I] * R
     "END";
     R:= B[N]:= B[N] / DIAG[N];
     T:= B[N1]:= B[N1] - SUPER[N1] * R;
     "FOR" I:= N - 2 "STEP" -1 "UNTIL" 1 "DO"
     "BEGIN" S:= R; R:= T; T:= B[I]:= B[I] - SUPER[I] * R -
        ("IF" PIV[I] "THEN" AID[I] * S "ELSE" 0)
     "END"
 "END" SOLTRIPIV

        "EOP"