an output, such as being non-linear. This term can be assigned a high weight and HASSAL will attempt to not assign it as the output. 5.3.3 Preliminary Function-Variable Output Set Assignment After the index outputs are assigned the variable types are assigned as outputs to the function types. This is accomplished by a call to the subroutine "I3FV0S." This subroutine also makes use of the subroutine HASSAL. In this case, however, the aim in assigning outputs is to enhance the possibility of convergence of the solution procedure derived. This is done by maximizing the product of the first deriv- atives of the function with respect to their outputs (Edie, 1970). This cannot be done rigorously in the case of indexed equations. The pro- cedure adopted is to use approximate variable values to estimate the derivatives for an expanded Jacobian matrix whose size is dictated by the index blocking factor. Output products for each function and variable are then calculated and inserted into the FVIN. This is necessary to insure that the outputs are assigned by function and variable type. The maximum product is achieved by having HASSAL rini- mize the sum of the negative of the logarithms of the calculated weights. 5.3.4 Minimum Weighted Tearing After the set of equations is completely output set assigned the torn, or recycle, variables must be chosen. These are chosen by applying the tearing algorithm of Pho and Lapidus (1973). The algorithm allows variables to be assigned weights and minimizes the sum of the weights of the torn variables. The weighted tearing is performed by the subroutine "ALWET." The weights assigned ideally should reflect the difficulty in converging the various variables, with difficult to