proc p_xlate
	filen	xform.icn
	local	0,001000,call
	local	1,001000,x
	local	2,001000,y
	local	3,000020,point
	local	4,000000,invoke
	declend
	line	28
	colm	11
	mark	L1
	mark0
	pnull
	var	3
	var	4
	var	0
	line	31
	colm	25
	invoke	1
	line	31
	colm	16
	asgn
	pop
	mark0
	mark	L4
	pnull
	pnull
	var	3
	line	32
	colm	12
	field	x
	dup
	var	1
	line	32
	colm	15
	plus
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	3
	line	33
	colm	12
	field	y
	dup
	var	2
	line	33
	colm	15
	plus
	asgn
	unmark
lab L5
	mark0
	var	3
	line	34
	colm	7
	psusp
	pop
lab L6
	efail
lab L7
	unmark
lab L2
	efail
lab L3
	unmark
lab L1
	pnull
	line	37
	colm	1
	pfail
	end
proc p_scale
	local	0,001000,call
	local	1,001000,factor
	local	2,000020,point
	local	3,000000,invoke
	declend
	line	39
	colm	11
	mark	L1
	mark0
	pnull
	var	2
	var	3
	var	0
	line	42
	colm	25
	invoke	1
	line	42
	colm	16
	asgn
	pop
	mark0
	mark	L4
	pnull
	pnull
	var	2
	line	43
	colm	12
	field	x
	dup
	var	1
	line	43
	colm	15
	mult
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	2
	line	44
	colm	12
	field	y
	dup
	var	1
	line	44
	colm	15
	mult
	asgn
	unmark
lab L5
	mark0
	var	2
	line	45
	colm	7
	psusp
	pop
lab L6
	efail
lab L7
	unmark
lab L2
	efail
lab L3
	unmark
lab L1
	pnull
	line	48
	colm	1
	pfail
	end
proc p_rotate
	local	0,001000,call
	local	1,001000,angle
	local	2,000020,point
	local	3,000020,radius
	local	4,000000,invoke
	local	5,000000,sqrt
	local	6,000000,cos
	local	7,000000,sin
	con	0,002000,1,2
	declend
	line	50
	colm	11
	mark	L1
	mark0
	pnull
	var	2
	var	4
	var	0
	line	53
	colm	25
	invoke	1
	line	53
	colm	16
	asgn
	pop
	mark0
	mark	L4
	pnull
	var	3
	var	5
	pnull
	pnull
	var	2
	line	54
	colm	27
	field	x
	int	0
	line	54
	colm	30
	power
	pnull
	pnull
	var	2
	line	54
	colm	40
	field	y
	int	0
	line	54
	colm	43
	power
	line	54
	colm	21
	invoke	2
	line	54
	colm	14
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	2
	line	55
	colm	12
	field	x
	dup
	pnull
	var	3
	var	6
	var	1
	line	55
	colm	31
	invoke	1
	line	55
	colm	26
	mult
	line	55
	colm	15
	mult
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	2
	line	56
	colm	12
	field	y
	dup
	pnull
	var	3
	var	7
	var	1
	line	56
	colm	31
	invoke	1
	line	56
	colm	26
	mult
	line	56
	colm	15
	mult
	asgn
	unmark
lab L6
	mark0
	var	2
	line	57
	colm	7
	psusp
	pop
lab L7
	efail
lab L8
	unmark
lab L2
	efail
lab L3
	unmark
lab L1
	pnull
	line	60
	colm	1
	pfail
	end
