proc list_coords
	filen	gtrace.icn
	local	0,001000,call
	local	1,001000,p
	local	2,001000,w
	local	3,000020,point
	local	4,000000,invoke
	local	5,000000,write
	local	6,000000,decipos
	con	0,002000,1,6
	con	1,002000,2,20
	declend
	line	38
	colm	11
	mark	L1
	pnull
	pnull
	var	1
	line	41
	colm	4
	null
	int	0
	line	41
	colm	7
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	2
	line	42
	colm	4
	null
	int	1
	line	42
	colm	7
	asgn
	unmark
lab L2
	mark	L3
	mark0
	pnull
	var	3
	var	4
	var	0
	line	44
	colm	25
	invoke	1
	line	44
	colm	16
	asgn
	pop
	mark0
	var	5
	var	6
	pnull
	var	3
	line	45
	colm	26
	field	x
	var	1
	var	2
	line	45
	colm	20
	invoke	3
	var	6
	pnull
	var	3
	line	45
	colm	50
	field	y
	var	1
	var	2
	line	45
	colm	44
	invoke	3
	line	45
	colm	12
	invoke	2
	unmark
lab L4
	efail
lab L5
	unmark
lab L3
	pnull
	line	47
	colm	1
	pfail
	end
proc point_list
	local	0,001000,call
	local	1,001000,i
	local	2,000020,plist
	local	3,000000,put
	local	4,000000,invoke
	declend
	line	53
	colm	11
	mark	L1
	pnull
	var	2
	pnull
	line	56
	colm	13
	llist	0
	line	56
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	var	1
	line	58
	colm	7
	nonnull
	unmark
	mark0
	var	1
	line	59
	colm	16
	limit
	var	3
	var	2
	var	4
	var	0
	line	59
	colm	30
	invoke	1
	line	59
	colm	16
	invoke	2
	lsusp
	pop
lab L5
	efail
lab L6
	goto	L4
lab L3
	mark0
	var	3
	var	2
	var	4
	var	0
	line	62
	colm	30
	invoke	1
	line	62
	colm	16
	invoke	2
	pop
lab L7
	efail
lab L8
lab L4
	unmark
lab L2
	mark	L9
	mark	L10
	var	2
	line	65
	colm	4
	pret
lab L10
	pfail
	unmark
lab L9
	pnull
	line	67
	colm	1
	pfail
	end
proc coord_list
	local	0,001000,call
	local	1,001000,limit
	local	2,000020,clist
	local	3,000000,put
	local	4,000000,invoke
	con	0,002000,1,2
	declend
	line	74
	colm	11
	mark	L1
	pnull
	var	2
	pnull
	line	77
	colm	13
	llist	0
	line	77
	colm	10
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	pnull
	var	1
	line	79
	colm	7
	nonnull
	unmark
	mark0
	pnull
	var	1
	int	0
	line	80
	colm	50
	mult
	line	80
	colm	16
	limit
	var	3
	var	2
	pnull
	var	4
	var	0
	line	80
	colm	32
	invoke	1
	line	80
	colm	24
	bang
	line	80
	colm	16
	invoke	2
	lsusp
	pop
lab L5
	efail
lab L6
	goto	L4
lab L3
	mark0
	var	3
	var	2
	pnull
	var	4
	var	0
	line	83
	colm	32
	invoke	1
	line	83
	colm	24
	bang
	line	83
	colm	16
	invoke	2
	pop
lab L7
	efail
lab L8
lab L4
	unmark
lab L2
	mark	L9
	mark	L10
	var	2
	line	86
	colm	4
	pret
lab L10
	pfail
	unmark
lab L9
	pnull
	line	88
	colm	1
	pfail
	end
proc read_trace
	local	0,001000,f
	local	1,000020,line
	local	2,000040,schar
	local	3,000000,read
	local	4,000000,Point
	local	5,000000,tab
	local	6,000000,upto
	local	7,000000,many
	con	0,020000,1,056
	declend
	line	92
	colm	11
	init	L1
	mark	L1
	pnull
	var	2
	pnull
	line	96
	colm	21
	keywd	digits
	cset	0
	line	96
	colm	29
	unions
	line	96
	colm	18
	asgn
	unmark
lab L1
	mark	L2
lab L3
	mark0
	pnull
	var	1
	var	3
	var	0
	line	98
	colm	22
	invoke	1
	line	98
	colm	15
	asgn
	unmark
	mark	L3
	var	1
	line	99
	colm	12
	bscan
	mark0
	var	4
	var	5
	var	6
	var	2
	line	101
	colm	21
	invoke	1
	line	101
	colm	16
	invoke	1
	pop
	var	5
	var	7
	var	2
	line	101
	colm	40
	invoke	1
	line	101
	colm	35
	invoke	1
	var	5
	var	6
	var	2
	line	102
	colm	21
	invoke	1
	line	102
	colm	16
	invoke	1
	pop
	var	5
	var	7
	var	2
	line	102
	colm	40
	invoke	1
	line	102
	colm	35
	invoke	1
	line	100
	colm	23
	invoke	2
	line	100
	colm	10
	psusp
	pop
lab L6
	efail
lab L7
	line	99
	colm	12
	escan
lab L4
	unmark
	goto	L3
lab L5
	unmark
lab L2
	pnull
	line	106
	colm	1
	pfail
	end
proc write_trace
	local	0,001000,header
	local	1,001000,call
	local	2,000020,point
	local	3,000000,write
	local	4,000000,invoke
	con	0,010000,1,072
	con	1,010000,1,040
	declend
	line	110
	colm	11
	mark	L1
	var	3
	var	0
	str	0
	line	113
	colm	9
	invoke	2
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	2
	var	4
	var	1
	line	115
	colm	25
	invoke	1
	line	115
	colm	16
	asgn
	pop
	mark0
	var	3
	pnull
	var	2
	line	116
	colm	18
	field	x
	str	1
	pnull
	var	2
	line	116
	colm	32
	field	y
	line	116
	colm	12
	invoke	3
	unmark
lab L3
	efail
lab L4
	unmark
lab L2
	pnull
	line	118
	colm	1
	pfail
	end
proc compose_trace
	local	0,001000,trace
	local	1,001000,call_1
	local	2,001000,call_2
	local	3,000020,point
	local	4,000000,invoke
	con	0,002000,1,1
	con	1,002000,1,2
	declend
	line	129
	colm	11
	mark	L1
	mark0
	pnull
	var	3
	var	4
	var	1
	line	132
	colm	25
	invoke	1
	line	132
	colm	16
	asgn
	pop
	mark0
	mark	L4
	pnull
	pnull
	pnull
	var	2
	line	133
	colm	13
	field	args
	int	0
	line	133
	colm	18
	subsc
	pnull
	var	3
	line	133
	colm	30
	field	x
	line	133
	colm	22
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	pnull
	var	2
	line	134
	colm	13
	field	args
	int	1
	line	134
	colm	18
	subsc
	pnull
	var	3
	line	134
	colm	30
	field	y
	line	134
	colm	22
	asgn
	unmark
lab L5
	mark0
	var	4
	var	2
	line	135
	colm	21
	invoke	1
	line	135
	colm	7
	psusp
	pop
lab L6
	efail
lab L7
	unmark
lab L2
	efail
lab L3
	unmark
lab L1
	pnull
	line	138
	colm	1
	pfail
	end
proc tcompress
	local	0,001000,call
	local	1,001000,i
	local	2,000020,j
	local	3,000020,point
	local	4,000000,invoke
	con	0,002000,1,0
	con	1,002000,1,1
	declend
	line	144
	colm	11
	mark	L1
	pnull
	var	2
	int	0
	line	147
	colm	6
	asgn
	unmark
lab L1
	mark	L2
	mark0
	pnull
	var	3
	var	4
	var	0
	line	149
	colm	25
	invoke	1
	line	149
	colm	16
	asgn
	pop
	mark0
	mark	L5
	mark0
	pnull
	pnull
	var	2
	var	1
	line	150
	colm	12
	mod
	int	0
	line	150
	colm	16
	numeq
	unmark
	mark0
	var	3
	line	150
	colm	25
	psusp
	pop
lab L6
	efail
lab L7
	unmark
lab L5
	pnull
	var	1
	dup
	int	1
	line	151
	colm	9
	plus
	asgn
	unmark
lab L3
	efail
lab L4
	unmark
lab L2
	pnull
	line	154
	colm	1
	pfail
	end
proc interp_trace
	local	0,001000,call
	local	1,000020,point
	local	2,000020,last_point
	local	3,000000,invoke
	local	4,000000,Point
	con	0,002000,1,2
	declend
	line	159
	colm	11
	mark	L1
	mark0
	pnull
	var	1
	var	3
	var	0
	line	162
	colm	25
	invoke	1
	line	162
	colm	16
	asgn
	pop
	mark0
	mark	L4
	mark0
	pnull
	var	2
	line	163
	colm	10
	nonnull
	unmark
	mark	L5
	mark0
	var	2
	line	164
	colm	10
	psusp
	pop
lab L6
	efail
lab L7
	unmark
lab L5
	mark0
	var	4
	pnull
	pnull
	pnull
	var	1
	line	166
	colm	19
	field	x
	pnull
	var	2
	line	166
	colm	34
	field	x
	line	166
	colm	22
	minus
	int	0
	line	166
	colm	38
	div
	pnull
	pnull
	pnull
	var	1
	line	167
	colm	19
	field	y
	pnull
	var	2
	line	167
	colm	34
	field	y
	line	167
	colm	22
	minus
	int	0
	line	167
	colm	38
	div
	line	165
	colm	23
	invoke	2
	line	165
	colm	10
	psusp
	pop
lab L8
	efail
lab L9
	unmark
lab L4
	pnull
	var	2
	var	1
	line	170
	colm	18
	asgn
	unmark
lab L2
	efail
lab L3
	unmark
lab L1
	mark	L10
	mark0
	var	2
	line	173
	colm	4
	psusp
	pop
lab L11
	efail
lab L12
	unmark
lab L10
	pnull
	line	175
	colm	1
	pfail
	end
proc coord2point
	local	0,001000,cl
	local	1,000020,pl
	local	2,000000,put
	local	3,000000,Point
	local	4,000000,get
	declend
	line	180
	colm	11
	mark	L1
	pnull
	var	1
	pnull
	line	183
	colm	10
	llist	0
	line	183
	colm	7
	asgn
	unmark
lab L1
	mark	L2
lab L3
	mark0
	var	2
	var	1
	var	3
	var	4
	var	0
	line	185
	colm	27
	invoke	1
	var	4
	var	0
	line	185
	colm	36
	invoke	1
	line	185
	colm	23
	invoke	2
	line	185
	colm	13
	invoke	2
lab L4
	unmark
	goto	L3
lab L5
	unmark
lab L2
	mark	L6
	mark	L7
	var	1
	line	187
	colm	4
	pret
lab L7
	pfail
	unmark
lab L6
	pnull
	line	189
	colm	1
	pfail
	end
proc point2coord
	local	0,001000,pl
	local	1,000020,cl
	local	2,000000,put
	declend
	line	194
	colm	11
	mark	L1
	pnull
	var	1
	pnull
	line	197
	colm	10
	llist	0
	line	197
	colm	7
	asgn
	unmark
lab L1
	mark	L2
	mark0
	var	2
	var	1
	pnull
	pnull
	var	0
	line	199
	colm	19
	bang
	line	199
	colm	18
	bang
	line	199
	colm	13
	invoke	2
	pop
lab L3
	efail
lab L4
	unmark
lab L2
	mark	L5
	mark	L6
	var	1
	line	201
	colm	4
	pret
lab L6
	pfail
	unmark
lab L5
	pnull
	line	203
	colm	1
	pfail
	end
