proc same_value
	filen	mset.icn
	local	0,001000,d1
	local	1,001000,d2
	local	2,000000,type
	local	3,000000,same_elements
	local	4,000000,sort
	con	0,010000,3,163,145,164
	con	1,010000,5,164,141,142,154,145
	con	2,002000,1,1
	con	3,010000,4,154,151,163,164
	con	4,010000,4,162,145,141,154
	con	5,010000,7,151,156,164,145,147,145,162
	con	6,010000,4,143,163,145,164
	con	7,010000,6,163,164,162,151,156,147
	declend
	line	41
	colm	11
	mark	L1
	mark	L2
	pnull
	var	0
	var	1
	line	42
	colm	11
	eqv
	unmark
	mark	L4
	pnull
	line	42
	colm	23
	pret
lab L4
	pfail
	goto	L3
lab L2
	mark	L5
	pnull
	var	2
	var	0
	line	44
	colm	12
	invoke	1
	var	2
	var	1
	line	44
	colm	25
	invoke	1
	line	44
	colm	17
	lexne
	unmark
	line	44
	colm	35
	pfail
	goto	L6
lab L5
	mark	L7
	pnull
	pnull
	var	0
	line	46
	colm	8
	size
	pnull
	var	1
	line	46
	colm	15
	size
	line	46
	colm	12
	numne
	unmark
	line	46
	colm	24
	pfail
	goto	L8
lab L7
	mark0
	var	2
	var	0
	line	48
	colm	14
	invoke	1
	eret
	mark	L10
	ccase
	mark	L11
	str	0
	esusp
	goto	L12
lab L11
	str	1
lab L12
	line	49
	colm	29
	eqv
	unmark
	pop
	mark	L13
	var	3
	var	4
	var	0
	int	2
	line	49
	colm	56
	invoke	2
	var	4
	var	1
	int	2
	line	49
	colm	67
	invoke	2
	line	49
	colm	51
	invoke	2
	line	49
	colm	31
	pret
lab L13
	pfail
	goto	L9
lab L10
	mark	L14
	ccase
	str	3
	line	50
	colm	29
	eqv
	unmark
	pop
	mark	L15
	var	3
	var	0
	var	1
	line	50
	colm	51
	invoke	2
	line	50
	colm	31
	pret
lab L15
	pfail
	goto	L9
lab L14
	mark	L16
	ccase
	mark	L17
	str	4
	esusp
	goto	L18
lab L17
	str	5
lab L18
	line	51
	colm	29
	eqv
	unmark
	pop
	mark	L19
	pnull
	var	0
	var	1
	line	51
	colm	41
	numeq
	line	51
	colm	31
	pret
lab L19
	pfail
	goto	L9
lab L16
	mark	L20
	ccase
	mark	L21
	str	6
	esusp
	goto	L22
lab L21
	str	7
lab L22
	line	52
	colm	29
	eqv
	unmark
	pop
	mark	L23
	pnull
	var	0
	var	1
	line	52
	colm	41
	lexeq
	line	52
	colm	31
	pret
lab L23
	pfail
	goto	L9
lab L20
	pop
	mark	L24
	var	3
	var	0
	var	1
	line	53
	colm	51
	invoke	2
	line	53
	colm	31
	pret
lab L24
	pfail
lab L9
lab L8
lab L6
lab L3
	unmark
lab L1
	pnull
	line	55
	colm	1
	pfail
	end
proc same_elements
	local	0,001000,l1
	local	1,001000,l2
	local	2,000020,i
	local	3,000000,same_value
	con	0,002000,1,0
	con	1,002000,1,1
	declend
	line	61
	colm	11
	mark	L1
	mark	L2
	pnull
	var	0
	var	1
	line	63
	colm	11
	eqv
	unmark
	mark	L4
	pnull
	line	63
	colm	23
	pret
lab L4
	pfail
	goto	L3
lab L2
	mark	L5
	pnull
	pnull
	var	0
	line	65
	colm	8
	size
	pnull
	var	1
	line	65
	colm	15
	size
	line	65
	colm	12
	numne
	unmark
	line	65
	colm	24
	pfail
	goto	L6
lab L5
	mark	L7
	pnull
	pnull
	var	0
	line	67
	colm	12
	size
	int	0
	line	67
	colm	16
	numeq
	unmark
	mark	L9
	pnull
	line	67
	colm	25
	pret
lab L9
	pfail
	goto	L8
lab L7
	mark	L10
	mark0
	pnull
	var	2
	pnull
	int	1
	pnull
	var	0
	line	69
	colm	29
	size
	push1
	line	69
	colm	26
	toby
	line	69
	colm	21
	asgn
	pop
	mark0
	mark0
	mark	L13
	var	3
	pnull
	var	0
	var	2
	line	70
	colm	37
	subsc
	pnull
	var	1
	var	2
	line	70
	colm	43
	subsc
	line	70
	colm	34
	invoke	2
	unmark
	efail
lab L13
	pnull
	unmark
	line	70
	colm	53
	pfail
	unmark
lab L11
	efail
lab L12
	unmark
lab L10
	mark	L14
	pnull
	line	71
	colm	13
	pret
lab L14
	pfail
lab L8
lab L6
lab L3
	unmark
lab L1
	pnull
	line	74
	colm	1
	pfail
	end
proc insert2
	local	0,001000,S
	local	1,001000,el
	local	2,000000,same_value
	local	3,000000,insert
	declend
	line	79
	colm	11
	mark	L1
	mark0
	mark0
	var	2
	var	1
	pnull
	var	0
	line	80
	colm	29
	bang
	line	80
	colm	25
	invoke	2
	unmark
	mark	L4
	pnull
	line	80
	colm	38
	pret
lab L4
	pfail
	pop
lab L2
	efail
lab L3
	unmark
lab L1
	mark	L5
	mark	L6
	var	3
	var	0
	var	1
	line	81
	colm	18
	invoke	2
	line	81
	colm	5
	pret
lab L6
	pfail
	unmark
lab L5
	pnull
	line	82
	colm	1
	pfail
	end
proc member2
	local	0,001000,S
	local	1,001000,el
	local	2,000000,same_value
	declend
	line	87
	colm	11
	mark	L1
	mark0
	mark0
	var	2
	pnull
	var	0
	line	88
	colm	25
	bang
	var	1
	line	88
	colm	24
	invoke	2
	unmark
	mark	L4
	pnull
	line	88
	colm	37
	pret
lab L4
	pfail
	pop
lab L2
	efail
lab L3
	unmark
lab L1
	mark	L5
	line	89
	colm	5
	pfail
	unmark
lab L5
	pnull
	line	90
	colm	1
	pfail
	end
proc delete2
	local	0,001000,S
	local	1,001000,el
	local	2,000020,t
	local	3,000000,same_value
	local	4,000000,delete
	declend
	line	96
	colm	11
	mark	L1
	mark0
	pnull
	var	2
	pnull
	var	0
	line	98
	colm	16
	bang
	line	98
	colm	13
	asgn
	pop
	mark0
	mark0
	var	3
	var	2
	var	1
	line	98
	colm	36
	invoke	2
	unmark
	mark	L4
	var	4
	var	0
	var	2
	line	98
	colm	61
	invoke	2
	line	98
	colm	48
	pret
lab L4
	pfail
	unmark
lab L2
	efail
lab L3
	unmark
lab L1
	mark	L5
	mark	L6
	pnull
	line	99
	colm	5
	pret
lab L6
	pfail
	unmark
lab L5
	pnull
	line	100
	colm	1
	pfail
	end
proc reduce2
	local	0,001000,iset
	local	1,000020,temp
	local	2,000000,set
	local	3,000000,insert2
	declend
	line	105
	colm	11
	mark	L1
	pnull
	var	1
	var	2
	line	107
	colm	16
	invoke	0
	line	107
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	mark0
	var	3
	var	1
	pnull
	var	0
	line	108
	colm	24
	bang
	line	108
	colm	18
	invoke	2
	pop
lab L3
	efail
lab L4
	unmark
lab L2
	mark	L5
	mark	L6
	var	1
	line	109
	colm	5
	pret
lab L6
	pfail
	unmark
lab L5
	pnull
	line	110
	colm	1
	pfail
	end
