code 34253;
    procedure ITISOLERB(A, LU, N, AUX, RI, CI, B); value N;
    integer N;
    array A, LU, AUX, B; integer array RI, CI;
    begin integer I;
        real NRMSOL, NRMINV, NRMB, ALFA, TOLA, EPS;
        EPS:= AUX[0];
        NRMINV:= AUX[9]; TOLA:= AUX[5] * AUX[6]; NRMB:= NRMSOL:= 0;
        for I:= 1 step 1 until N do NRMB:= NRMB + ABS(B[I]);
        ITISOL(A, LU, N, AUX, RI, CI, B);
        for I:= 1 step 1 until N do 
        NRMSOL:= NRMSOL + ABS(B[I]);
        ALFA:= 1 - (1.06 * EPS * AUX[7] * (.75 * N + 4.5) * N ** 2
               + TOLA) * NRMINV;
        if ALFA < EPS then AUX[11]:= - 1 else 
        begin ALFA:= ((AUX[13] + AUX[8] * NRMB) / NRMSOL + TOLA) *
                       NRMINV / ALFA;
            AUX[11]:= if 1 - ALFA < EPS then - 1 else 
                      ALFA / (1 - ALFA)
        end 
    end ITISOLERB;
        eop