proc transpose_matrix
	filen	matrix2.icn
	local	0,001000,M
	local	1,000020,R
	local	2,000020,row
	local	3,000020,rowcnt
	local	4,000020,colcnt
	local	5,000020,i
	local	6,000020,j
	local	7,000000,type
	local	8,000000,list
	local	9,000000,put
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	con	2,002000,1,2
	declend
	line	82
	colm	11
	mark	L1
	mark	L2
	pnull
	var	7
	var	0
	line	85
	colm	7
	invoke	1
	str	0
	line	85
	colm	11
	lexeq
	esusp
	goto	L3
lab L2
	line	85
	colm	28
	pfail
lab L3
	unmark
lab L1
	mark	L4
	mark	L5
	pnull
	var	7
	pnull
	var	0
	int	1
	line	86
	colm	9
	subsc
	line	86
	colm	7
	invoke	1
	str	0
	line	86
	colm	14
	lexeq
	esusp
	goto	L6
lab L5
	line	86
	colm	28
	pfail
lab L6
	unmark
lab L4
	mark	L7
	pnull
	var	3
	mark	L8
	pnull
	var	0
	line	87
	colm	13
	size
	esusp
	goto	L9
lab L8
	line	87
	colm	28
	pfail
lab L9
	line	87
	colm	10
	asgn
	unmark
lab L7
	mark	L10
	pnull
	var	4
	mark	L11
	pnull
	pnull
	var	0
	int	1
	line	88
	colm	15
	subsc
	line	88
	colm	13
	size
	esusp
	goto	L12
lab L11
	line	88
	colm	28
	pfail
lab L12
	line	88
	colm	10
	asgn
	unmark
lab L10
	mark	L13
	mark0
	pnull
	var	5
	pnull
	int	2
	var	3
	push1
	line	89
	colm	16
	toby
	line	89
	colm	11
	asgn
	pop
	mark0
	mark	L16
	pnull
	pnull
	pnull
	var	0
	var	5
	line	90
	colm	10
	subsc
	line	90
	colm	8
	size
	var	4
	line	90
	colm	14
	numeq
	esusp
	goto	L17
lab L16
	line	90
	colm	28
	pfail
lab L17
	unmark
lab L14
	efail
lab L15
	unmark
lab L13
	mark	L18
	pnull
	var	1
	var	8
	line	91
	colm	12
	invoke	0
	line	91
	colm	5
	asgn
	unmark
lab L18
	mark	L19
	mark0
	pnull
	var	5
	pnull
	int	1
	var	4
	push1
	line	92
	colm	16
	toby
	line	92
	colm	11
	asgn
	pop
	mark0
	mark	L22
	var	9
	var	1
	pnull
	var	2
	var	8
	line	93
	colm	24
	invoke	0
	line	93
	colm	17
	asgn
	line	93
	colm	8
	invoke	2
	unmark
lab L22
	mark0
	pnull
	var	6
	pnull
	int	1
	var	3
	push1
	line	94
	colm	18
	toby
	line	94
	colm	13
	asgn
	pop
	mark0
	var	9
	var	2
	pnull
	pnull
	var	0
	var	6
	line	95
	colm	18
	subsc
	var	5
	line	95
	colm	21
	subsc
	line	95
	colm	10
	invoke	2
	unmark
lab L23
	efail
lab L24
	unmark
lab L20
	efail
lab L21
	unmark
lab L19
	mark	L25
	mark	L26
	var	1
	line	97
	colm	3
	pret
lab L26
	pfail
	unmark
lab L25
	pnull
	line	98
	colm	1
	pfail
	end
proc numeric_matrix
	local	0,001000,M
	local	1,000020,R
	local	2,000020,row
	local	3,000020,rowcnt
	local	4,000020,colcnt
	local	5,000020,i
	local	6,000020,j
	local	7,000000,type
	local	8,000000,list
	local	9,000000,put
	local	10,000000,numeric
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	con	2,002000,1,2
	declend
	line	105
	colm	11
	mark	L1
	mark	L2
	pnull
	var	7
	var	0
	line	108
	colm	7
	invoke	1
	str	0
	line	108
	colm	11
	lexeq
	esusp
	goto	L3
lab L2
	line	108
	colm	28
	pfail
lab L3
	unmark
lab L1
	mark	L4
	mark	L5
	pnull
	var	7
	pnull
	var	0
	int	1
	line	109
	colm	9
	subsc
	line	109
	colm	7
	invoke	1
	str	0
	line	109
	colm	14
	lexeq
	esusp
	goto	L6
lab L5
	line	109
	colm	28
	pfail
lab L6
	unmark
lab L4
	mark	L7
	pnull
	var	3
	mark	L8
	pnull
	var	0
	line	110
	colm	13
	size
	esusp
	goto	L9
lab L8
	line	110
	colm	28
	pfail
lab L9
	line	110
	colm	10
	asgn
	unmark
lab L7
	mark	L10
	pnull
	var	4
	mark	L11
	pnull
	pnull
	var	0
	int	1
	line	111
	colm	15
	subsc
	line	111
	colm	13
	size
	esusp
	goto	L12
lab L11
	line	111
	colm	28
	pfail
lab L12
	line	111
	colm	10
	asgn
	unmark
lab L10
	mark	L13
	mark0
	pnull
	var	5
	pnull
	int	2
	var	3
	push1
	line	112
	colm	16
	toby
	line	112
	colm	11
	asgn
	pop
	mark0
	mark	L16
	pnull
	pnull
	pnull
	var	0
	var	5
	line	113
	colm	10
	subsc
	line	113
	colm	8
	size
	var	4
	line	113
	colm	14
	numeq
	esusp
	goto	L17
lab L16
	line	113
	colm	28
	pfail
lab L17
	unmark
lab L14
	efail
lab L15
	unmark
lab L13
	mark	L18
	pnull
	var	1
	var	8
	line	114
	colm	12
	invoke	0
	line	114
	colm	5
	asgn
	unmark
lab L18
	mark	L19
	mark0
	pnull
	var	5
	pnull
	int	1
	var	3
	push1
	line	115
	colm	16
	toby
	line	115
	colm	11
	asgn
	pop
	mark0
	mark	L22
	var	9
	var	1
	pnull
	var	2
	var	8
	line	116
	colm	24
	invoke	0
	line	116
	colm	17
	asgn
	line	116
	colm	8
	invoke	2
	unmark
lab L22
	mark0
	pnull
	var	6
	pnull
	int	1
	var	4
	push1
	line	117
	colm	18
	toby
	line	117
	colm	13
	asgn
	pop
	mark0
	var	9
	var	2
	mark	L25
	var	10
	pnull
	pnull
	var	0
	var	5
	line	118
	colm	26
	subsc
	var	6
	line	118
	colm	29
	subsc
	line	118
	colm	24
	invoke	1
	esusp
	goto	L26
lab L25
	line	118
	colm	36
	pfail
lab L26
	line	118
	colm	10
	invoke	2
	unmark
lab L23
	efail
lab L24
	unmark
lab L20
	efail
lab L21
	unmark
lab L19
	mark	L27
	mark	L28
	var	1
	line	120
	colm	3
	pret
lab L28
	pfail
	unmark
lab L27
	pnull
	line	121
	colm	1
	pfail
	end
proc scale_matrix
	local	0,001000,mult
	local	1,001000,M
	local	2,000020,R
	local	3,000020,i
	local	4,000020,j
	local	5,000000,numeric
	local	6,000000,type
	local	7,000000,copy_matrix
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	declend
	line	127
	colm	11
	mark	L1
	mark0
	var	5
	var	1
	line	130
	colm	13
	invoke	1
	pop
	pnull
	var	6
	var	0
	line	130
	colm	23
	invoke	1
	str	0
	line	130
	colm	30
	lexeq
	unmark
	pnull
	var	1
	var	0
	line	130
	colm	47
	swap
	unmark
lab L1
	mark	L2
	pnull
	var	0
	mark	L3
	var	5
	var	0
	line	132
	colm	18
	invoke	1
	esusp
	goto	L4
lab L3
	line	132
	colm	27
	pfail
lab L4
	line	132
	colm	8
	asgn
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	var	6
	var	1
	line	133
	colm	7
	invoke	1
	str	0
	line	133
	colm	11
	lexeq
	esusp
	goto	L7
lab L6
	line	133
	colm	27
	pfail
lab L7
	unmark
lab L5
	mark	L8
	mark	L9
	pnull
	var	6
	pnull
	var	1
	int	1
	line	134
	colm	9
	subsc
	line	134
	colm	7
	invoke	1
	str	0
	line	134
	colm	14
	lexeq
	esusp
	goto	L10
lab L9
	line	134
	colm	27
	pfail
lab L10
	unmark
lab L8
	mark	L11
	pnull
	var	2
	mark	L12
	var	7
	var	1
	line	135
	colm	19
	invoke	1
	esusp
	goto	L13
lab L12
	line	135
	colm	27
	pfail
lab L13
	line	135
	colm	5
	asgn
	unmark
lab L11
	mark	L14
	mark0
	pnull
	var	3
	pnull
	int	1
	pnull
	var	2
	line	136
	colm	19
	size
	push1
	line	136
	colm	16
	toby
	line	136
	colm	11
	asgn
	pop
	mark0
	mark0
	pnull
	var	4
	pnull
	int	1
	pnull
	pnull
	var	2
	int	1
	line	137
	colm	23
	subsc
	line	137
	colm	21
	size
	push1
	line	137
	colm	18
	toby
	line	137
	colm	13
	asgn
	pop
	mark0
	pnull
	pnull
	pnull
	var	2
	var	3
	line	139
	colm	8
	subsc
	var	4
	line	139
	colm	11
	subsc
	mark	L19
	pnull
	var	5
	pnull
	pnull
	var	2
	var	3
	line	139
	colm	27
	subsc
	var	4
	line	139
	colm	30
	subsc
	line	139
	colm	25
	invoke	1
	var	0
	line	139
	colm	35
	mult
	esusp
	goto	L20
lab L19
	line	139
	colm	44
	pfail
lab L20
	line	139
	colm	15
	asgn
	unmark
lab L17
	efail
lab L18
	unmark
lab L15
	efail
lab L16
	unmark
lab L14
	mark	L21
	mark	L22
	var	2
	line	140
	colm	3
	pret
lab L22
	pfail
	unmark
lab L21
	pnull
	line	141
	colm	1
	pfail
	end
proc floor_matrix
	local	0,001000,min
	local	1,001000,M
	local	2,000020,R
	local	3,000020,i
	local	4,000020,j
	local	5,000020,r
	local	6,000000,numeric
	local	7,000000,type
	local	8,000000,copy_matrix
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	declend
	line	146
	colm	11
	mark	L1
	mark0
	var	6
	var	1
	line	149
	colm	13
	invoke	1
	pop
	pnull
	var	7
	var	0
	line	149
	colm	23
	invoke	1
	str	0
	line	149
	colm	29
	lexeq
	unmark
	pnull
	var	1
	var	0
	line	149
	colm	46
	swap
	unmark
lab L1
	mark	L2
	pnull
	var	0
	mark	L3
	var	6
	var	0
	line	151
	colm	17
	invoke	1
	esusp
	goto	L4
lab L3
	line	151
	colm	26
	pfail
lab L4
	line	151
	colm	7
	asgn
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	var	7
	var	1
	line	152
	colm	7
	invoke	1
	str	0
	line	152
	colm	11
	lexeq
	esusp
	goto	L7
lab L6
	line	152
	colm	26
	pfail
lab L7
	unmark
lab L5
	mark	L8
	mark	L9
	pnull
	var	7
	pnull
	var	1
	int	1
	line	153
	colm	9
	subsc
	line	153
	colm	7
	invoke	1
	str	0
	line	153
	colm	14
	lexeq
	esusp
	goto	L10
lab L9
	line	153
	colm	26
	pfail
lab L10
	unmark
lab L8
	mark	L11
	pnull
	var	2
	mark	L12
	var	8
	var	1
	line	154
	colm	19
	invoke	1
	esusp
	goto	L13
lab L12
	line	154
	colm	26
	pfail
lab L13
	line	154
	colm	5
	asgn
	unmark
lab L11
	mark	L14
	mark0
	pnull
	var	3
	pnull
	int	1
	pnull
	var	2
	line	155
	colm	19
	size
	push1
	line	155
	colm	16
	toby
	line	155
	colm	11
	asgn
	pop
	mark0
	mark0
	pnull
	var	4
	pnull
	int	1
	pnull
	pnull
	var	2
	int	1
	line	156
	colm	23
	subsc
	line	156
	colm	21
	size
	push1
	line	156
	colm	18
	toby
	line	156
	colm	13
	asgn
	pop
	mark0
	mark	L19
	pnull
	var	5
	mark	L20
	var	6
	pnull
	pnull
	var	2
	var	3
	line	158
	colm	21
	subsc
	var	4
	line	158
	colm	24
	subsc
	line	158
	colm	19
	invoke	1
	esusp
	goto	L21
lab L20
	line	158
	colm	31
	pfail
lab L21
	line	158
	colm	9
	asgn
	unmark
lab L19
	pnull
	pnull
	pnull
	var	2
	var	3
	line	159
	colm	8
	subsc
	var	4
	line	159
	colm	11
	subsc
	mark	L22
	pnull
	var	5
	var	0
	line	159
	colm	20
	numlt
	esusp
	goto	L23
lab L22
	var	5
lab L23
	line	159
	colm	15
	asgn
	unmark
lab L17
	efail
lab L18
	unmark
lab L15
	efail
lab L16
	unmark
lab L14
	mark	L24
	mark	L25
	var	2
	line	161
	colm	3
	pret
lab L25
	pfail
	unmark
lab L24
	pnull
	line	162
	colm	1
	pfail
	end
proc ceil_matrix
	local	0,001000,max
	local	1,001000,M
	local	2,000020,R
	local	3,000020,i
	local	4,000020,j
	local	5,000020,r
	local	6,000000,numeric
	local	7,000000,type
	local	8,000000,copy_matrix
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	declend
	line	168
	colm	11
	mark	L1
	mark0
	var	6
	var	1
	line	171
	colm	13
	invoke	1
	pop
	pnull
	var	7
	var	0
	line	171
	colm	23
	invoke	1
	str	0
	line	171
	colm	29
	lexeq
	unmark
	pnull
	var	1
	var	0
	line	171
	colm	46
	swap
	unmark
lab L1
	mark	L2
	pnull
	var	0
	mark	L3
	var	6
	var	0
	line	173
	colm	17
	invoke	1
	esusp
	goto	L4
lab L3
	line	173
	colm	26
	pfail
lab L4
	line	173
	colm	7
	asgn
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	var	7
	var	1
	line	174
	colm	7
	invoke	1
	str	0
	line	174
	colm	11
	lexeq
	esusp
	goto	L7
lab L6
	line	174
	colm	26
	pfail
lab L7
	unmark
lab L5
	mark	L8
	mark	L9
	pnull
	var	7
	pnull
	var	1
	int	1
	line	175
	colm	9
	subsc
	line	175
	colm	7
	invoke	1
	str	0
	line	175
	colm	14
	lexeq
	esusp
	goto	L10
lab L9
	line	175
	colm	26
	pfail
lab L10
	unmark
lab L8
	mark	L11
	pnull
	var	2
	mark	L12
	var	8
	var	1
	line	176
	colm	19
	invoke	1
	esusp
	goto	L13
lab L12
	line	176
	colm	26
	pfail
lab L13
	line	176
	colm	5
	asgn
	unmark
lab L11
	mark	L14
	mark0
	pnull
	var	3
	pnull
	int	1
	pnull
	var	2
	line	177
	colm	19
	size
	push1
	line	177
	colm	16
	toby
	line	177
	colm	11
	asgn
	pop
	mark0
	mark0
	pnull
	var	4
	pnull
	int	1
	pnull
	pnull
	var	2
	int	1
	line	178
	colm	23
	subsc
	line	178
	colm	21
	size
	push1
	line	178
	colm	18
	toby
	line	178
	colm	13
	asgn
	pop
	mark0
	mark	L19
	pnull
	var	5
	mark	L20
	var	6
	pnull
	pnull
	var	2
	var	3
	line	180
	colm	21
	subsc
	var	4
	line	180
	colm	24
	subsc
	line	180
	colm	19
	invoke	1
	esusp
	goto	L21
lab L20
	line	180
	colm	31
	pfail
lab L21
	line	180
	colm	9
	asgn
	unmark
lab L19
	pnull
	pnull
	pnull
	var	2
	var	3
	line	181
	colm	8
	subsc
	var	4
	line	181
	colm	11
	subsc
	mark	L22
	pnull
	var	5
	var	0
	line	181
	colm	20
	numgt
	esusp
	goto	L23
lab L22
	var	5
lab L23
	line	181
	colm	15
	asgn
	unmark
lab L17
	efail
lab L18
	unmark
lab L15
	efail
lab L16
	unmark
lab L14
	mark	L24
	mark	L25
	var	2
	line	183
	colm	3
	pret
lab L25
	pfail
	unmark
lab L24
	pnull
	line	184
	colm	1
	pfail
	end
proc sumsquares_matrix
	local	0,001000,M
	local	1,000020,r
	local	2,000020,r1
	local	3,000020,i
	local	4,000020,j
	local	5,000000,type
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	190
	colm	11
	mark	L1
	mark	L2
	pnull
	var	5
	var	0
	line	193
	colm	7
	invoke	1
	str	0
	line	193
	colm	14
	lexeq
	esusp
	goto	L3
lab L2
	line	193
	colm	27
	pfail
lab L3
	unmark
lab L1
	mark	L4
	mark	L5
	pnull
	var	5
	pnull
	var	0
	int	1
	line	194
	colm	9
	subsc
	line	194
	colm	7
	invoke	1
	str	0
	line	194
	colm	14
	lexeq
	esusp
	goto	L6
lab L5
	line	194
	colm	27
	pfail
lab L6
	unmark
lab L4
	mark	L7
	pnull
	var	1
	int	2
	line	196
	colm	5
	asgn
	unmark
lab L7
	mark	L8
	mark0
	pnull
	var	3
	pnull
	int	1
	pnull
	var	0
	line	197
	colm	19
	size
	push1
	line	197
	colm	16
	toby
	line	197
	colm	11
	asgn
	pop
	mark0
	mark0
	pnull
	var	4
	pnull
	int	1
	pnull
	pnull
	var	0
	int	1
	line	198
	colm	23
	subsc
	line	198
	colm	21
	size
	push1
	line	198
	colm	18
	toby
	line	198
	colm	13
	asgn
	pop
	mark0
	mark	L13
	pnull
	var	2
	pnull
	pnull
	var	0
	var	3
	line	200
	colm	14
	subsc
	var	4
	line	200
	colm	17
	subsc
	line	200
	colm	10
	asgn
	unmark
lab L13
	pnull
	var	1
	dup
	pnull
	var	2
	var	2
	line	201
	colm	16
	mult
	line	201
	colm	9
	plus
	asgn
	unmark
lab L11
	efail
lab L12
	unmark
lab L9
	efail
lab L10
	unmark
lab L8
	mark	L14
	mark	L15
	var	1
	line	203
	colm	3
	pret
lab L15
	pfail
	unmark
lab L14
	pnull
	line	204
	colm	1
	pfail
	end
proc sumsquaresdiff_matrix
	local	0,001000,M1
	local	1,001000,M2
	local	2,000020,r
	local	3,000020,r1
	local	4,000020,r2
	local	5,000020,i
	local	6,000020,j
	local	7,000020,scratch
	local	8,000000,type
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	209
	colm	11
	mark	L1
	mark	L2
	pnull
	pnull
	var	8
	var	0
	line	212
	colm	7
	invoke	1
	var	8
	var	1
	line	212
	colm	22
	invoke	1
	line	212
	colm	15
	lexeq
	str	0
	line	212
	colm	30
	lexeq
	esusp
	goto	L3
lab L2
	line	212
	colm	43
	pfail
lab L3
	unmark
lab L1
	mark	L4
	mark	L5
	pnull
	pnull
	var	8
	pnull
	var	0
	int	1
	line	213
	colm	10
	subsc
	line	213
	colm	7
	invoke	1
	var	8
	pnull
	var	1
	int	1
	line	213
	colm	25
	subsc
	line	213
	colm	22
	invoke	1
	line	213
	colm	15
	lexeq
	str	0
	line	213
	colm	30
	lexeq
	esusp
	goto	L6
lab L5
	line	213
	colm	43
	pfail
lab L6
	unmark
lab L4
	mark	L7
	mark	L8
	pushn1
	pnull
	pnull
	var	0
	line	214
	colm	5
	size
	pnull
	var	1
	line	214
	colm	11
	size
	line	214
	colm	9
	numeq
	pnull
	pnull
	pnull
	var	0
	int	1
	line	214
	colm	19
	subsc
	line	214
	colm	16
	size
	pnull
	pnull
	var	1
	int	1
	line	214
	colm	28
	subsc
	line	214
	colm	25
	size
	line	214
	colm	23
	numeq
	line	214
	colm	3
	invoke	2
	esusp
	goto	L9
lab L8
	line	214
	colm	43
	pfail
lab L9
	unmark
lab L7
	mark	L10
	pnull
	var	2
	int	2
	line	216
	colm	5
	asgn
	unmark
lab L10
	mark	L11
	mark0
	pnull
	var	5
	pnull
	int	1
	pnull
	var	0
	line	217
	colm	19
	size
	push1
	line	217
	colm	16
	toby
	line	217
	colm	11
	asgn
	pop
	mark0
	mark0
	pnull
	var	6
	pnull
	int	1
	pnull
	pnull
	var	0
	int	1
	line	218
	colm	24
	subsc
	line	218
	colm	21
	size
	push1
	line	218
	colm	18
	toby
	line	218
	colm	13
	asgn
	pop
	mark0
	mark	L16
	pnull
	var	3
	pnull
	pnull
	var	0
	var	5
	line	220
	colm	15
	subsc
	var	6
	line	220
	colm	18
	subsc
	line	220
	colm	10
	asgn
	unmark
lab L16
	mark	L17
	pnull
	var	4
	pnull
	var	3
	pnull
	pnull
	var	1
	var	5
	line	220
	colm	37
	subsc
	var	6
	line	220
	colm	40
	subsc
	line	220
	colm	33
	minus
	line	220
	colm	27
	asgn
	unmark
lab L17
	pnull
	var	2
	dup
	pnull
	var	4
	var	4
	line	221
	colm	16
	mult
	line	221
	colm	9
	plus
	asgn
	unmark
lab L14
	efail
lab L15
	unmark
lab L12
	efail
lab L13
	unmark
lab L11
	mark	L18
	mark	L19
	var	2
	line	223
	colm	3
	pret
lab L19
	pfail
	unmark
lab L18
	pnull
	line	224
	colm	1
	pfail
	end
proc normalize_rows
	local	0,001000,M
	local	1,001000,threshold
	local	2,000020,R
	local	3,000020,rowsum
	local	4,000020,rowcnt
	local	5,000020,colcnt
	local	6,000020,i
	local	7,000020,j
	local	8,000000,numeric
	local	9,000000,type
	local	10,000000,copy_matrix
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	233
	colm	11
	mark	L1
	mark0
	var	8
	var	0
	line	236
	colm	13
	invoke	1
	pop
	pnull
	var	9
	var	1
	line	236
	colm	23
	invoke	1
	str	0
	line	236
	colm	35
	lexeq
	unmark
	pnull
	var	0
	var	1
	line	236
	colm	52
	swap
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	var	9
	var	0
	line	238
	colm	7
	invoke	1
	str	0
	line	238
	colm	14
	lexeq
	esusp
	goto	L4
lab L3
	line	238
	colm	27
	pfail
lab L4
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	var	9
	pnull
	var	0
	int	1
	line	239
	colm	9
	subsc
	line	239
	colm	7
	invoke	1
	str	0
	line	239
	colm	14
	lexeq
	esusp
	goto	L7
lab L6
	line	239
	colm	27
	pfail
lab L7
	unmark
lab L5
	mark	L8
	mark	L9
	pnull
	var	1
	line	240
	colm	3
	nonnull
	esusp
	goto	L10
lab L9
	line	240
	colm	27
	pfail
lab L10
	unmark
lab L8
	mark	L11
	pnull
	var	2
	mark	L12
	var	10
	var	0
	line	241
	colm	19
	invoke	1
	esusp
	goto	L13
lab L12
	line	241
	colm	27
	pfail
lab L13
	line	241
	colm	5
	asgn
	unmark
lab L11
	mark	L14
	pnull
	var	4
	pnull
	var	2
	line	242
	colm	13
	size
	line	242
	colm	10
	asgn
	unmark
lab L14
	mark	L15
	pnull
	var	5
	pnull
	pnull
	var	2
	int	1
	line	243
	colm	15
	subsc
	line	243
	colm	13
	size
	line	243
	colm	10
	asgn
	unmark
lab L15
	mark	L16
	mark0
	pnull
	var	6
	pnull
	int	1
	var	4
	push1
	line	244
	colm	16
	toby
	line	244
	colm	11
	asgn
	pop
	mark0
	mark	L19
	pnull
	var	3
	int	2
	line	245
	colm	12
	asgn
	unmark
lab L19
	mark	L20
	mark0
	pnull
	var	7
	pnull
	int	1
	var	5
	push1
	line	246
	colm	18
	toby
	line	246
	colm	13
	asgn
	pop
	mark0
	pnull
	var	3
	dup
	pnull
	pnull
	var	2
	var	6
	line	246
	colm	43
	subsc
	var	7
	line	246
	colm	46
	subsc
	line	246
	colm	38
	plus
	asgn
	unmark
lab L21
	efail
lab L22
	unmark
lab L20
	mark0
	pnull
	pnull
	mark	L23
	pnull
	var	1
	line	247
	colm	12
	neg
	unmark
	efail
lab L23
	pnull
	var	3
	line	247
	colm	23
	numlt
	var	1
	line	247
	colm	32
	numlt
	unmark
	mark0
	pnull
	var	7
	pnull
	int	1
	var	5
	push1
	line	249
	colm	22
	toby
	line	249
	colm	17
	asgn
	pop
	mark0
	pnull
	pnull
	pnull
	var	2
	var	6
	line	249
	colm	36
	subsc
	var	7
	line	249
	colm	39
	subsc
	dup
	var	3
	line	249
	colm	43
	div
	asgn
	unmark
lab L24
	efail
lab L25
	unmark
lab L17
	efail
lab L18
	unmark
lab L16
	mark	L26
	mark	L27
	var	2
	line	251
	colm	3
	pret
lab L27
	pfail
	unmark
lab L26
	pnull
	line	252
	colm	1
	pfail
	end
proc normalize_columns
	local	0,001000,M
	local	1,001000,threshold
	local	2,000020,R
	local	3,000020,colsum
	local	4,000020,rowcnt
	local	5,000020,colcnt
	local	6,000020,i
	local	7,000020,j
	local	8,000000,numeric
	local	9,000000,type
	local	10,000000,copy_matrix
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	con	2,002000,1,0
	declend
	line	262
	colm	11
	mark	L1
	mark0
	var	8
	var	0
	line	265
	colm	13
	invoke	1
	pop
	pnull
	var	9
	var	1
	line	265
	colm	23
	invoke	1
	str	0
	line	265
	colm	35
	lexeq
	unmark
	pnull
	var	0
	var	1
	line	265
	colm	52
	swap
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	var	9
	var	0
	line	267
	colm	7
	invoke	1
	str	0
	line	267
	colm	14
	lexeq
	esusp
	goto	L4
lab L3
	line	267
	colm	27
	pfail
lab L4
	unmark
lab L2
	mark	L5
	mark	L6
	pnull
	var	9
	pnull
	var	0
	int	1
	line	268
	colm	9
	subsc
	line	268
	colm	7
	invoke	1
	str	0
	line	268
	colm	14
	lexeq
	esusp
	goto	L7
lab L6
	line	268
	colm	27
	pfail
lab L7
	unmark
lab L5
	mark	L8
	mark	L9
	pnull
	var	1
	line	269
	colm	3
	nonnull
	esusp
	goto	L10
lab L9
	line	269
	colm	27
	pfail
lab L10
	unmark
lab L8
	mark	L11
	pnull
	var	2
	mark	L12
	var	10
	var	0
	line	270
	colm	19
	invoke	1
	esusp
	goto	L13
lab L12
	line	270
	colm	27
	pfail
lab L13
	line	270
	colm	5
	asgn
	unmark
lab L11
	mark	L14
	pnull
	var	4
	pnull
	var	2
	line	271
	colm	13
	size
	line	271
	colm	10
	asgn
	unmark
lab L14
	mark	L15
	pnull
	var	5
	pnull
	pnull
	var	2
	int	1
	line	272
	colm	15
	subsc
	line	272
	colm	13
	size
	line	272
	colm	10
	asgn
	unmark
lab L15
	mark	L16
	mark0
	pnull
	var	7
	pnull
	int	1
	var	5
	push1
	line	273
	colm	16
	toby
	line	273
	colm	11
	asgn
	pop
	mark0
	mark	L19
	pnull
	var	3
	int	2
	line	274
	colm	12
	asgn
	unmark
lab L19
	mark	L20
	mark0
	pnull
	var	6
	pnull
	int	1
	var	4
	push1
	line	275
	colm	18
	toby
	line	275
	colm	13
	asgn
	pop
	mark0
	pnull
	var	3
	dup
	pnull
	pnull
	var	2
	var	6
	line	275
	colm	43
	subsc
	var	7
	line	275
	colm	46
	subsc
	line	275
	colm	38
	plus
	asgn
	unmark
lab L21
	efail
lab L22
	unmark
lab L20
	mark0
	pnull
	pnull
	mark	L23
	pnull
	var	1
	line	276
	colm	12
	neg
	unmark
	efail
lab L23
	pnull
	var	3
	line	276
	colm	23
	numlt
	var	1
	line	276
	colm	32
	numlt
	unmark
	mark0
	pnull
	var	6
	pnull
	int	1
	var	4
	push1
	line	278
	colm	22
	toby
	line	278
	colm	17
	asgn
	pop
	mark0
	pnull
	pnull
	pnull
	var	2
	var	6
	line	278
	colm	36
	subsc
	var	7
	line	278
	colm	39
	subsc
	dup
	var	3
	line	278
	colm	43
	div
	asgn
	unmark
lab L24
	efail
lab L25
	unmark
lab L17
	efail
lab L18
	unmark
lab L16
	mark	L26
	mark	L27
	var	2
	line	280
	colm	3
	pret
lab L27
	pfail
	unmark
lab L26
	pnull
	line	281
	colm	1
	pfail
	end
proc sprintf_matrix
	local	0,001000,fmt
	local	1,001000,M
	local	2,000020,R
	local	3,000020,row
	local	4,000020,rowcnt
	local	5,000020,colcnt
	local	6,000020,i
	local	7,000020,j
	local	8,000000,type
	local	9,000000,list
	local	10,000000,put
	local	11,000000,sprintf
	con	0,010000,4,154,151,163,164
	con	1,002000,1,1
	con	2,002000,1,2
	declend
	line	285
	colm	11
	mark	L1
	mark	L2
	pnull
	var	8
	var	1
	line	288
	colm	7
	invoke	1
	str	0
	line	288
	colm	11
	lexeq
	esusp
	goto	L3
lab L2
	line	288
	colm	28
	pfail
lab L3
	unmark
lab L1
	mark	L4
	mark	L5
	pnull
	var	8
	pnull
	var	1
	int	1
	line	289
	colm	9
	subsc
	line	289
	colm	7
	invoke	1
	str	0
	line	289
	colm	14
	lexeq
	esusp
	goto	L6
lab L5
	line	289
	colm	28
	pfail
lab L6
	unmark
lab L4
	mark	L7
	pnull
	var	4
	mark	L8
	pnull
	var	1
	line	290
	colm	13
	size
	esusp
	goto	L9
lab L8
	line	290
	colm	28
	pfail
lab L9
	line	290
	colm	10
	asgn
	unmark
lab L7
	mark	L10
	pnull
	var	5
	mark	L11
	pnull
	pnull
	var	1
	int	1
	line	291
	colm	15
	subsc
	line	291
	colm	13
	size
	esusp
	goto	L12
lab L11
	line	291
	colm	28
	pfail
lab L12
	line	291
	colm	10
	asgn
	unmark
lab L10
	mark	L13
	mark0
	pnull
	var	6
	pnull
	int	2
	var	4
	push1
	line	292
	colm	16
	toby
	line	292
	colm	11
	asgn
	pop
	mark0
	mark	L16
	pnull
	pnull
	pnull
	var	1
	var	6
	line	293
	colm	10
	subsc
	line	293
	colm	8
	size
	var	5
	line	293
	colm	14
	numeq
	esusp
	goto	L17
lab L16
	line	293
	colm	28
	pfail
lab L17
	unmark
lab L14
	efail
lab L15
	unmark
lab L13
	mark	L18
	pnull
	var	2
	var	9
	line	294
	colm	12
	invoke	0
	line	294
	colm	5
	asgn
	unmark
lab L18
	mark	L19
	mark0
	pnull
	var	6
	pnull
	int	1
	var	4
	push1
	line	295
	colm	16
	toby
	line	295
	colm	11
	asgn
	pop
	mark0
	mark	L22
	var	10
	var	2
	pnull
	var	3
	var	9
	line	296
	colm	24
	invoke	0
	line	296
	colm	17
	asgn
	line	296
	colm	8
	invoke	2
	unmark
lab L22
	mark0
	pnull
	var	7
	pnull
	int	1
	var	5
	push1
	line	297
	colm	18
	toby
	line	297
	colm	13
	asgn
	pop
	mark0
	var	10
	var	3
	mark	L25
	var	11
	var	0
	pnull
	pnull
	var	1
	var	6
	line	298
	colm	32
	subsc
	var	7
	line	298
	colm	35
	subsc
	line	298
	colm	24
	invoke	2
	esusp
	goto	L26
lab L25
	line	298
	colm	43
	pfail
lab L26
	line	298
	colm	10
	invoke	2
	unmark
lab L23
	efail
lab L24
	unmark
lab L20
	efail
lab L21
	unmark
lab L19
	mark	L27
	mark	L28
	var	2
	line	300
	colm	3
	pret
lab L28
	pfail
	unmark
lab L27
	pnull
	line	301
	colm	1
	pfail
	end
