diff --git a/lapack-netlib/SRC/clarfg.f b/lapack-netlib/SRC/clarfg.f index 05a27a283..4c0c5f715 100644 --- a/lapack-netlib/SRC/clarfg.f +++ b/lapack-netlib/SRC/clarfg.f @@ -175,7 +175,7 @@ BETA = BETA*RSAFMN ALPHI = ALPHI*RSAFMN ALPHR = ALPHR*RSAFMN - IF( ABS( BETA ).LT.SAFMIN ) + IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000) $ GO TO 10 * * New BETA is at most 1, at least SAFMIN diff --git a/lapack-netlib/SRC/clarfgp.f b/lapack-netlib/SRC/clarfgp.f index d5f19b041..75cfd8cc2 100644 --- a/lapack-netlib/SRC/clarfgp.f +++ b/lapack-netlib/SRC/clarfgp.f @@ -197,7 +197,7 @@ BETA = BETA*BIGNUM ALPHI = ALPHI*BIGNUM ALPHR = ALPHR*BIGNUM - IF( ABS( BETA ).LT.SMLNUM ) + IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000 ) $ GO TO 10 * * New BETA is at most 1, at least SMLNUM diff --git a/lapack-netlib/SRC/dlarfg.f b/lapack-netlib/SRC/dlarfg.f index cb177a570..aa5fabc57 100644 --- a/lapack-netlib/SRC/dlarfg.f +++ b/lapack-netlib/SRC/dlarfg.f @@ -170,7 +170,7 @@ CALL DSCAL( N-1, RSAFMN, X, INCX ) BETA = BETA*RSAFMN ALPHA = ALPHA*RSAFMN - IF( ABS( BETA ).LT.SAFMIN ) + IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000 ) $ GO TO 10 * * New BETA is at most 1, at least SAFMIN diff --git a/lapack-netlib/SRC/dlarfgp.f b/lapack-netlib/SRC/dlarfgp.f index c05f837ea..70efabbb8 100644 --- a/lapack-netlib/SRC/dlarfgp.f +++ b/lapack-netlib/SRC/dlarfgp.f @@ -181,7 +181,7 @@ CALL DSCAL( N-1, BIGNUM, X, INCX ) BETA = BETA*BIGNUM ALPHA = ALPHA*BIGNUM - IF( ABS( BETA ).LT.SMLNUM ) + IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000) $ GO TO 10 * * New BETA is at most 1, at least SMLNUM diff --git a/lapack-netlib/SRC/slarfg.f b/lapack-netlib/SRC/slarfg.f index 638b9ab8f..d63c4ac29 100644 --- a/lapack-netlib/SRC/slarfg.f +++ b/lapack-netlib/SRC/slarfg.f @@ -170,7 +170,7 @@ CALL SSCAL( N-1, RSAFMN, X, INCX ) BETA = BETA*RSAFMN ALPHA = ALPHA*RSAFMN - IF( ABS( BETA ).LT.SAFMIN ) + IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000) $ GO TO 10 * * New BETA is at most 1, at least SAFMIN diff --git a/lapack-netlib/SRC/slarfgp.f b/lapack-netlib/SRC/slarfgp.f index 59038dfce..d63a409a1 100644 --- a/lapack-netlib/SRC/slarfgp.f +++ b/lapack-netlib/SRC/slarfgp.f @@ -181,7 +181,7 @@ CALL SSCAL( N-1, BIGNUM, X, INCX ) BETA = BETA*BIGNUM ALPHA = ALPHA*BIGNUM - IF( ABS( BETA ).LT.SMLNUM ) + IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000 ) $ GO TO 10 * * New BETA is at most 1, at least SMLNUM diff --git a/lapack-netlib/SRC/zlarfg.f b/lapack-netlib/SRC/zlarfg.f index f8a795d54..76ca452f6 100644 --- a/lapack-netlib/SRC/zlarfg.f +++ b/lapack-netlib/SRC/zlarfg.f @@ -175,7 +175,7 @@ BETA = BETA*RSAFMN ALPHI = ALPHI*RSAFMN ALPHR = ALPHR*RSAFMN - IF( ABS( BETA ).LT.SAFMIN ) + IF( ABS( BETA ).LT.SAFMIN .AND. KNT .LT. 1000) $ GO TO 10 * * New BETA is at most 1, at least SAFMIN diff --git a/lapack-netlib/SRC/zlarfgp.f b/lapack-netlib/SRC/zlarfgp.f index 54ce6e63f..32e55ea6c 100644 --- a/lapack-netlib/SRC/zlarfgp.f +++ b/lapack-netlib/SRC/zlarfgp.f @@ -197,7 +197,7 @@ BETA = BETA*BIGNUM ALPHI = ALPHI*BIGNUM ALPHR = ALPHR*BIGNUM - IF( ABS( BETA ).LT.SMLNUM ) + IF( ABS( BETA ).LT.SMLNUM .AND. KNT .LT. 1000) $ GO TO 10 * * New BETA is at most 1, at least SMLNUM