Index: SRC/ilazlr.f =================================================================== --- SRC/ilazlr.f (revision 1098) +++ SRC/ilazlr.f (revision 1099) @@ -111,12 +111,9 @@ ILAZLR = 0 DO J = 1, N I=M - DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) - I=I-1 - IF (I.EQ.0) THEN - EXIT - END IF - ENDDO + DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) + I=I-1 + ENDDO ILAZLR = MAX( ILAZLR, I ) END DO END IF Index: SRC/ilaclr.f =================================================================== --- SRC/ilaclr.f (revision 1098) +++ SRC/ilaclr.f (revision 1099) @@ -111,12 +111,9 @@ ILACLR = 0 DO J = 1, N I=M - DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) - I=I-1 - IF (I.EQ.0) THEN - EXIT - END IF - ENDDO + DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) + I=I-1 + ENDDO ILACLR = MAX( ILACLR, I ) END DO END IF Index: SRC/ilaslr.f =================================================================== --- SRC/ilaslr.f (revision 1098) +++ SRC/ilaslr.f (revision 1099) @@ -111,11 +111,8 @@ ILASLR = 0 DO J = 1, N I=M - DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) - I=I-1 - IF (I.EQ.0) THEN - EXIT - END IF + DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) + I=I-1 ENDDO ILASLR = MAX( ILASLR, I ) END DO Index: SRC/iladlr.f =================================================================== --- SRC/iladlr.f (revision 1098) +++ SRC/iladlr.f (revision 1099) @@ -111,11 +111,8 @@ ILADLR = 0 DO J = 1, N I=M - DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) - I=I-1 - IF (I.EQ.0) THEN - EXIT - END IF + DO WHILE((A(MAX(I,1),J).EQ.ZERO).AND.(I.GE.1)) + I=I-1 ENDDO ILADLR = MAX( ILADLR, I ) END DO