sufficient space, prior to returning NANIGEN is called to generate a name for the data item. B.4.5 FILTQPT ADROJWS (5.1) In order for ALWET to analyze SIM's whose rows have more than one output, the SIM must be modified to have no rows with more than one output. To do this the subroutine MLTOPT is called. MLTOPT replaces the multiple output row with rows having the same non-output elements as the original, but only one of the original output elements. The extra rows are created by calling subroutine ADROWS. B.5 Level 5 Subprograms B.5.1 ADROWS INSERT (6.9), SIMDLT (6.19) The subroutine eliminates all but one of the output elements from a multiple output row, by calling SIMDLT. An extra row is created for each of the deleted output elements. All of the non-output elements and one of the deleted output elements from the original row are inserted, by subroutine INSERT, into each of the new rows. B.5.2 J1CTWE SIfDIS (6.18) Multiple complement variables for two-wiay edges are linked together by a circular list. The function J1CTWE, when supplied with the address of an element on a circular list, returns the address of the next element on the list. Should J1CTWE fail, S!I.JIS is called to print out the SIM and a STOP 201 instruction is executed.