equations. The manner in which these algorithms are used is explained in section 5.3. Some of the algorithms are new, while some are adap- tations of algorithms previously developed. Where existing algorithms are used, the alterations to the problems necessary to allow their use are detailed. 4.1 Decoupling Decoupling can result in significant simplification of the solu- tion procedure for a set of indexed equations. Since the presence of decoupling depends upon the function-variable and index output set assignments made, it is desirable to choose these in such a way that decoupling will result. In addition, the function ordering also affects the degree to which decoupling is possible. Finally, the direction in which the function indices are incremented (ascending or descending), influences any decoupling. For a particular direction of index incrementing, some IDM's may fully precedence order while others may not. All IDM's for a function index must fully precedence order for it to be a candidate for a decoupling index. Recall that decoupling results in a full precedence ordering of function types. This is equivalent to a full precedence ordering for an index, the index in this case being function type. It has been shown that nesting a fully precedence ordered index inside one which does not fully precedence order results in increased function evaluations. This would be the case if a decoupling index did not fully precedence order. What is required, then, is an algorithm which will analyze the FVIM and IDM's to choose the function ordering, function outputs, index outputs, and direction of index incrementing in such a way as to decouple the