94{
   95    
   96    unsigned i__2;
   97    integer phi_dim1, phi_offset, i__1, i__3;
 
   99 
  100    
  104 
  105
  106
  107
  108
  109
  110
  111
  112
  113
  114
  115
  116
  117
  118
  119
  120
  121
  122
  123
  124 
  125
  126
  127
  128 
  129
  130
  131 
  132
  133
  134
  135
  136
  137
  138
  139    
  140    --rc;
  141    --psi;
  143    phi_offset = phi_dim1 + 1;
  144    phi -= phi_offset;
  145 
  146    
  148    for (j = 1; j <= i__1; ++j) {
  150    for (i__ = j; i__ <= i__2; ++i__) {
  151        v[i__ + j * 10 - 11] = phi[i__ + j * phi_dim1];
  152    }
  153    i__2 = j - 1;
  154    for (k = 1; k <= i__2; ++k) {
  155        save = v[j + k * 10 - 11] * v[k + k * 10 - 11];
  157        for (i__ = j; i__ <= i__3; ++i__) {
  158        v[i__ + j * 10 - 11] -= v[i__ + k * 10 - 11] * save;
  159        }
  160    }
  161
  162    if ((r__1 = v[j + j * 10 - 11], 
abs(r__1)) < 1e-10f) {
 
  163        goto L100;
  164    }
  165    rc[j] = psi[j];
  166    i__2 = j - 1;
  167    for (k = 1; k <= i__2; ++k) {
  168        rc[j] -= rc[k] * v[j + k * 10 - 11];
  169    }
  170    v[j + j * 10 - 11] = 1.f / v[j + j * 10 - 11];
  171    rc[j] *= v[j + j * 10 - 11];
  172
  173
  174    r__2 = rc[j];
  175    r__1 = 
min(r__2,.999f);
 
  176    rc[j] = 
max(r__1,-.999f);
 
  177    }
  178    return 0;
  179
  180L100:
  182    for (i__ = j; i__ <= i__1; ++i__) {
  183    rc[i__] = 0.f;
  184    }
  185
  186
  187
  188
  189
  190
  191
  192    return 0;
  193}