code 34355;
    boolean procedure HSHCOMCOL(L, U, J, AR, AI, TOL, K, C, S, T);
    value L, U, J, TOL; integer L, U, J; real TOL, K, C, S, T;
    array AR, AI;
    begin real VR, DEL, MOD, H, ARLJ, AILJ;
        VR:= TAMMAT(L + 1, U, J, J, AR, AR) + TAMMAT(L + 1, U,
        J, J, AI, AI); ARLJ:= AR[L,J]; AILJ:= AI[L,J];
        CARPOL(ARLJ, AILJ, MOD, C, S); if VR > TOL then 
        begin VR:= VR + ARLJ ** 2 + AILJ ** 2; H:= K:= SQRT(VR);
            T:= VR + MOD * H;
            if ARLJ = 0 and AILJ = 0 then AR[L,J]:= H else 
            begin AR[L,J]:= ARLJ + C * K; AI[L,J]:= AILJ + S * K;
                S:= - S
            end;
            C:= - C; HSHCOMCOL:= true 
        end 
        else 
        begin HSHCOMCOL:= false; K:= MOD; T:= - 1 end 
    end HSHCOMCOL;
        eop