proc randrect
	filen	randarea.icn
	local	0,001000,x
	local	1,001000,y
	local	2,001000,w
	local	3,001000,h
	local	4,000000,integer
	local	5,000000,stop
	local	6,000000,Point
	con	0,010000,13,052,052,052,040,142,141,144,040,166,141,154,165,145
	con	1,002000,1,1
	declend
	line	28
	colm	11
	mark	L1
	pnull
	var	2
	mark	L2
	var	4
	var	2
	line	30
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	5
	str	0
	line	30
	colm	26
	invoke	1
lab L3
	line	30
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	3
	mark	L5
	var	4
	var	3
	line	31
	colm	16
	invoke	1
	esusp
	goto	L6
lab L5
	var	5
	str	0
	line	31
	colm	26
	invoke	1
lab L6
	line	31
	colm	6
	asgn
	unmark
lab L4
	mark	L7
	pnull
	var	0
	dup
	int	1
	line	33
	colm	6
	minus
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	1
	dup
	int	1
	line	34
	colm	6
	minus
	asgn
	unmark
lab L8
	mark	L9
	mark0
	var	6
	pnull
	var	0
	pnull
lab L12
	mark0
	var	2
	chfail	L12
	esusp
	line	36
	colm	22
	random
	line	36
	colm	20
	plus
	pnull
	var	1
	pnull
	var	3
	line	36
	colm	31
	random
	line	36
	colm	29
	plus
	line	36
	colm	17
	invoke	2
	line	36
	colm	4
	psusp
	pop
lab L10
	efail
lab L11
	unmark
lab L9
	pnull
	line	38
	colm	1
	pfail
	end
proc randellip
	local	0,001000,x
	local	1,001000,y
	local	2,001000,w
	local	3,001000,h
	local	4,000020,r1
	local	5,000020,r2
	local	6,000020,xc
	local	7,000020,yc
	local	8,000020,xp
	local	9,000020,yp
	local	10,000020,xq
	local	11,000020,yq
	local	12,000020,theta
	local	13,000020,rp
	local	14,000020,r
	local	15,000000,integer
	local	16,000000,stop
	local	17,000000,atan
	local	18,000000,sqrt
	local	19,000000,cos
	local	20,000000,sin
	local	21,000000,Point
	con	0,010000,13,052,052,052,040,142,141,144,040,166,141,154,165,145
	con	1,002000,1,2
	con	2,002000,1,1
	declend
	line	40
	colm	11
	mark	L1
	pnull
	var	2
	mark	L2
	var	15
	var	2
	line	43
	colm	16
	invoke	1
	esusp
	goto	L3
lab L2
	var	16
	str	0
	line	43
	colm	26
	invoke	1
lab L3
	line	43
	colm	6
	asgn
	unmark
lab L1
	mark	L4
	pnull
	var	3
	mark	L5
	var	15
	var	3
	line	44
	colm	16
	invoke	1
	esusp
	goto	L6
lab L5
	var	16
	str	0
	line	44
	colm	26
	invoke	1
lab L6
	line	44
	colm	6
	asgn
	unmark
lab L4
	mark	L7
	pnull
	var	4
	pnull
	var	2
	int	1
	line	46
	colm	12
	div
	line	46
	colm	7
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	5
	pnull
	var	3
	int	1
	line	47
	colm	12
	div
	line	47
	colm	7
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	6
	pnull
	var	0
	var	4
	line	48
	colm	12
	plus
	line	48
	colm	7
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	7
	pnull
	var	1
	var	5
	line	49
	colm	12
	plus
	line	49
	colm	7
	asgn
	unmark
lab L10
	mark	L11
	pnull
	var	0
	dup
	int	2
	line	51
	colm	6
	minus
	asgn
	unmark
lab L11
	mark	L12
	pnull
	var	1
	dup
	int	2
	line	52
	colm	6
	minus
	asgn
	unmark
lab L12
	mark	L13
lab L14
	mark	L14
	mark	L17
	pnull
	var	10
	pnull
	var	0
	pnull
	var	2
	line	55
	colm	17
	random
	line	55
	colm	15
	plus
	line	55
	colm	10
	asgn
	unmark
lab L17
	mark	L18
	pnull
	var	11
	pnull
	var	1
	pnull
	var	3
	line	56
	colm	17
	random
	line	56
	colm	15
	plus
	line	56
	colm	10
	asgn
	unmark
lab L18
	mark	L19
	pnull
	var	8
	pnull
	var	10
	var	6
	line	57
	colm	16
	minus
	line	57
	colm	10
	asgn
	unmark
lab L19
	mark	L20
	pnull
	var	9
	pnull
	var	11
	var	7
	line	58
	colm	16
	minus
	line	58
	colm	10
	asgn
	unmark
lab L20
	mark	L21
	pnull
	var	12
	pnull
	var	17
	var	9
	var	8
	line	59
	colm	21
	invoke	2
	line	59
	colm	16
	neg
	line	59
	colm	13
	asgn
	unmark
lab L21
	mark	L22
	pnull
	var	13
	var	18
	pnull
	pnull
	var	8
	int	1
	line	60
	colm	21
	power
	pnull
	var	9
	int	1
	line	60
	colm	30
	power
	line	60
	colm	25
	plus
	line	60
	colm	17
	invoke	1
	line	60
	colm	10
	asgn
	unmark
lab L22
	mark	L23
	pnull
	var	14
	var	18
	pnull
	pnull
	pnull
	var	4
	var	19
	var	12
	line	61
	colm	26
	invoke	1
	line	61
	colm	21
	mult
	int	1
	line	61
	colm	35
	power
	pnull
	pnull
	var	5
	var	20
	var	12
	line	61
	colm	50
	invoke	1
	line	61
	colm	45
	mult
	int	1
	line	61
	colm	59
	power
	line	61
	colm	39
	plus
	line	61
	colm	16
	invoke	1
	line	61
	colm	9
	asgn
	unmark
lab L23
	mark0
	pnull
	var	14
	var	13
	line	62
	colm	12
	numgt
	unmark
	mark0
	var	21
	var	10
	var	11
	line	62
	colm	35
	invoke	2
	line	62
	colm	22
	psusp
	pop
lab L24
	efail
lab L25
lab L15
	unmark
	goto	L14
lab L16
	unmark
lab L13
	pnull
	line	65
	colm	1
	pfail
	end
