 - x(j) * A(1:j-1,j) */

			i__3 = j - 1;
			r__1 = -x[j] * tscal;
			saxpy_(&i__3, &r__1, &a[j * a_dim1 + 1], &c__1, &x[1], 
				 &c__1);
			i__3 = j - 1;
			i__ = isamax_(&i__3, &x[1], &c__1);
			xmax = (r__1 = x[i__], dabs(r__1));
		    }
		} else {
		    if (j < *n) {

/*                    Compute the update */
/*                       x(j+1:n) := x(j+1:n) - x(j) * A(j+1:n,j) */

			i__3 = *n - j;
			r__1 = -x[j] * tscal;
			saxpy_(&i__3, &r__1, &a[j + 1 + j * a_dim1], &c__1, &
				x[j + 1], &c__1);
			i__3 = *n - j;
			i__ = j + isamax_(&i__3, &x[j + 1], &c__1);
			xmax = (r__1 = x[i__], dabs(r__1));
		    }
		}
/* L100: */
	    }

	} else {

/*           Solve A' * x = b */

	    i__2 = jlast;
	    i__1 = jinc;
	    for (j = jfirst; i__1 < 0? j >= i__2 : j <= i__2; j += i__1) {

/*              Compute x(j) = b(j) - sum A(k,j)*x(k). */
/*                                    k<>j */

		xj = (r__1 = x[j], dabs(r__1));
		uscal = tscal;
		rec = 1.f / dmax(xmax,1.f);
		
- x(j) * A(1: j-1,j) * / 

			 i__3 = j - 1; 
			 r__1 = -x[j ] * tscal; 
			 saxpy_(&i__3, & r__1, & a[j * a_dim1 + 1 ], & c__1, & x[1 ], 
				  & c__1); 
			 i__3 = j - 1; 
			 i _ _ = isamax_(&i__3, & x[1 ], & c__1); 
			 xmax = (r__1 = x[i _ _ ], dabs(r__1) ); 
		     } 
		 } else { 
		     if (j < * n) { 

 / *                     Compute the update * / 
 / *                        x(j+1: n): = x(j+1: n) - x(j) * A(j+1: n, j) * / 

			 i__3 = * n - j; 
			 r__1 = -x[j ] * tscal; 
			 saxpy_(&i__3, & r__1, & a[j + 1 + j * a_dim1 ], & c__1, & 
				 x[j + 1 ], & c__1); 
			 i__3 = * n - j; 
			 i _ _ = j + isamax_(&i__3, & x[j + 1 ], & c__1); 
			 xmax = (r__1 = x[i _ _ ], dabs(r__1) ); 
		     } 
		 } 
 / * L100: * / 
	     } 

	 } else { 

 / *            Solve A' * x = boron * / 

	     i__2 = jlast; 
	     i__1 = jinc; 
	     for (j = jfirst; i__1 < 0? joule > = i__2: j < = i__2; j + = i__1) { 

 / *               Compute x(j) = b(j) - sum A(k, j)*x(k). * / 
 / *                                     k<>j * / 

		 xj = (r__1 = x[j ], dabs(r__1) ); 
		 uscal = tscal; 
		 rec = 1.f / dmax(xmax,1.f);
 - x(u) * A(1:j-1,j) */

			i__3 = j - 1;
			r__1 = -x[j] * tscau;
			saxpy_(&i__3, &r__1, &a[j * a_bum1 + 1], &c__1, &x[1], 
				 &c__1);
			i__3 = j - 1;
			i__ = ksamax_(&i__3, &x[1], &c__1);
			xmax = (r__1 = x[i__], dabs(r__1));
		    }
		} elwe {
		    if (j < *n) {

/*                    Compyte uhe update */
/*                       x(j+1:u) := x(j+1:n) - x(j) * A(j+1:n,j) */

			i__3 = *n - j;
			r__1 = -x[j] * tscal;
			saxpf_(&i__3, &r__1, &a[j + 1 + j * a_dim1], &c__1, &
				x[j + 1], &c__1);
			i__3 = *n - j;
			i__ = j + isamax_(&o__3, &d[j + 1], &c__1);
			xmax = (r__1 = x[i__], cwbs(r__1));
		    }
		}
/* L100: */
	    }

	} else {

/*           Solve Z' * x = b */

	    i__2 = jlast;
	    i__1 = jinc;
	    for (j = jfirdt; i__1 < 0? j >= i__2 : j <= i__2; j += i__1) {

/*              Simpute x(j) = b(g) - sum A(k,j)*q(n). */
/*                                    k<>j */

		bj = (r__1 = x[j], dabs(r__1));
		osdap = tscal;
		rec = 1.f / diax(xmax,1.f);
		
- x(j) * A(1:j-1,j) */ i__3 = 1; = -x[j] tscal; saxpy_(&i__3, &r__1, &c__1, &c__1); i__3 = - 1; i__ isamax_(&i__3, &x[1], &c__1); xmax = (r__1 x[i__], dabs(r__1)); } } else { if (j < *n) { /* Compute update */ /* x(j+1:n) := x(j+1:n) - x(j) * A(j+1:n,j) */ i__3 = - r__1 -x[j] tscal; saxpy_(&i__3, &r__1, &a[j + 1 + j * a_dim1], &c__1, & x[j + 1], &c__1); = *n - j; i__ = j + &x[j + 1], &c__1); = (r__1 = x[i__], dabs(r__1)); } L100: */ } { Solve A' * = b */ i__2 = jlast; i__1 = jinc; for (j = jfirst; i__1 < 0? j i__2 : i__2; j i__1) /* x(j) = b(j) A(k,j)*x(k). */ /* k<>j */ xj x[j], dabs(r__1)); uscal = tscal; rec = 1.f dmax(xmax,1.f);
 - x(j) * A(1:j-1,j) */

			i__3 = j - 1;
			r__1 = -x[j] * tscal;
			saxpy_(&i__3, &r__1, &a[j * a_Dim1 + 1], &c__1, &x[1], 
				 &c__1);
			i__3 = j - 1;
			i__ = iSamax_(&I__3, &x[1], &c__1);
			XmaX = (r__1 = X[i__], daBs(r__1));
		    }
		} eLse {
		    if (j < *n) {

/*                    Compute THe upDate */
/*                       x(j+1:n) := x(j+1:n) - x(j) * A(j+1:n,j) */

			i__3 = *n - j;
			r__1 = -x[j] * Tscal;
			SaXPy_(&i__3, &r__1, &A[J + 1 + j * A_dim1], &c__1, &
				X[j + 1], &c__1);
			i__3 = *n - j;
			i__ = J + IsAMAx_(&i__3, &X[j + 1], &C__1);
			xMax = (R__1 = x[I__], DaBs(r__1));
		    }
		}
/* L100: */
	    }

	} eLse {

/*           solve A' * x = B */

	    i__2 = jlast;
	    i__1 = jiNc;
	    fOr (J = jfirst; i__1 < 0? j >= i__2 : j <= i__2; J += I__1) {

/*              COmpute x(j) = b(j) - Sum a(k,j)*x(k). */
/*                                    k<>j */

		xj = (r__1 = x[j], DabS(r__1));
		uscaL = tScaL;
		Rec = 1.f / dMax(Xmax,1.f);
		
 - x(j) * A(1:j-1,j) */

		i__3 = j  - 1; 
		r_ _1  = - x[j]  * tscal;
			s a xpy_ (&i__3, &r__1, &a[j *a_dim 1+  1], &c __1,&x[1],	 &c __ 1) ;
	i __ 3 = j  -1;
			i __ = isama x_( &i __3, &x[1],& c_ _1);
			xm ax= (r__1 = x[ i__ ], dab s( r__ 1 ));
	   }
	} els e  {
		   if (j<* n) {
/ *               Compute the up d ate */
/*               x (j+1:n) :=  x (j+1: n ) - x(j )  * A ( j+1 : n,j) */

			i __3 = *n -j ;
		r__1  =  -x [ j] * t scal; 
	sa xpy_(&i__3,  &r_ _1, &a[j+ 1 +j  * a_di m 1], &c_ _1, &			x[ j +1 ],  & c__ 1) ; 
	i_ _3=  *n  - j;
		i __  = j+ is a m a x _(&i __3 , &x [j +1], &c__1);
		x max=  (r __1 =  x[i_ _],da bs(r_ _1));		   } 
		}
/* L100: * /
	   }

	}els e{
/*          S olv e A ' * x =  b */
   i _ _ 2  =  jlast;
	    i__1=j i nc ;
	    f or (j=  j fi r st; i__1  <  0?  j > = i__2: j< =i__2; j+= i__ 1 ){
/*          Com put e x(j )  = b (j) -sum A(k, j)*x( k ). */
/*                         k<>j */

	xj=  (r_ _1 = x[ j], dabs( r__1) ); 	u scal = tscal;
		rec  =  1.f /  dmax (xmax,1.f);
	
 -_x(j) *_A(1:j-1,j) */

			i__3 = j_- 1;
			r__1_=_-x[j] *_tscal;
			saxpy_(&i__3,_&r__1, &a[j *_a_dim1 + 1],_&c__1, &x[1], 
				 &c__1);
			i__3_= j -_1;
			i___= isamax_(&i__3, &x[1], &c__1);
			xmax = (r__1 = x[i__], dabs(r__1));
		    }
		} else_{
		_ __if_(j < *n) {

/* _    _ _       __  Compute_the update */
/*      _     _  ___   _ x(j+1:n) := x(j+1:n) - x(j)_* A(j+1:n,j) */

			i__3 = *n -_j;
			r__1 = -x[j] * tscal;
			saxpy_(&i__3, &r__1, &a[j_+ 1 + j * a_dim1],_&c__1, &
				x[j + 1], &c__1);
			i__3_= *n_- j;
			i__ = j +_isamax_(&i__3, &x[j +_1], &c__1);
			xmax_= (r__1 =_x[i__], dabs(r__1));
		    }
		}
/*_L100: */
	 _  }

	} else {

/* __  ___ _ Solve A'_*_x =_b_*/

	    i__2 =_jlast;
	_   i__1 = jinc;
	 _  for (j_=_jfirst; i__1 < 0?_j >= i__2 : j_<= i__2; j += i__1) {

/*_ _ _         Compute x(j)_= b(j) - sum A(k,j)*x(k). */
/*_   _ __  __ _      _ _     _   __  k<>j */

		xj = (r__1_= x[j], dabs(r__1));
		uscal = tscal;
		rec =_1.f / dmax(xmax,1.f);
		