version	U12.1.00
uid	complex.u1-1786032978-0
record	complex,2
	0,rpart
	1,ipart
impl	error
global	9
	0,000011,complex,2
	1,000005,strcpx,1
	2,000005,cpxstr,1
	3,000005,cpxadd,2
	4,000005,cpxsub,2
	5,000005,cpxmul,2
	6,000005,cpxdiv,2
	7,000005,cpxconj,1
	8,000005,cpxabs,1

proc strcpx
	local	0,001000,s
	local	1,000000,complex
	local	2,000000,numeric
	local	3,000000,upto
	local	4,000000,move
	local	5,000000,tab
	con	0,010000,1,050
	con	1,020000,2,053,055
	con	2,002000,1,2
	con	3,002000,1,1
	con	4,020000,1,051
	declend
	filen	complex.icn
	line	39
	colm	11
	synt	any
	mark	L1
	var	0
	line	41
	colm	6
	synt	any
	bscan
	mark	L2
	mark	L3
	pnull
	str	0
	line	42
	colm	7
	synt	any
	tabmat
	line	42
	colm	12
	synt	any
	esusp
	goto	L4
lab L3
	line	42
	colm	14
	synt	any
	pfail
lab L4
	unmark
lab L2
	mark	L5
	var	1
	var	2
	var	3
	cset	1
	line	43
	colm	34
	synt	any
	invoke	1
	line	43
	colm	29
	synt	any
	invoke	1
	int	2
	var	4
	int	3
	line	44
	colm	16
	synt	any
	invoke	1
	var	2
	var	3
	cset	4
	line	44
	colm	33
	synt	any
	invoke	1
	line	44
	colm	28
	synt	any
	invoke	1
	var	5
	pnull
	int	3
	line	44
	colm	45
	synt	any
	neg
	line	44
	colm	44
	synt	any
	invoke	1
	line	44
	colm	11
	synt	any
	invoke	3
	line	43
	colm	21
	synt	any
	invoke	2
	line	43
	colm	7
	synt	any
	pret
lab L5
	synt	any
	pfail
	line	41
	colm	6
	synt	any
	escan
	unmark
lab L1
	pnull
	line	47
	colm	1
	synt	any
	pfail
	end
proc cpxstr
	local	0,001000,z
	con	0,002000,1,0
	con	1,010000,1,050
	con	2,010000,2,151,051
	con	3,010000,1,053
	declend
	line	49
	colm	11
	synt	any
	mark	L1
	line	51
	colm	4
	synt	ifelse
	mark	L2
	pnull
	pnull
	var	0
	line	51
	colm	8
	synt	any
	field	ipart
	int	0
	line	51
	colm	15
	synt	any
	numlt
	unmark
	mark	L4
	pnull
	pnull
	pnull
	str	1
	pnull
	var	0
	line	51
	colm	40
	synt	any
	field	rpart
	line	51
	colm	35
	synt	any
	cat
	pnull
	var	0
	line	51
	colm	51
	synt	any
	field	ipart
	line	51
	colm	47
	synt	any
	cat
	str	2
	line	51
	colm	58
	synt	any
	cat
	line	51
	colm	24
	synt	any
	pret
lab L4
	synt	any
	pfail
	goto	L3
lab L2
	mark	L5
	pnull
	pnull
	pnull
	pnull
	str	1
	pnull
	var	0
	line	52
	colm	25
	synt	any
	field	rpart
	line	52
	colm	20
	synt	any
	cat
	str	3
	line	52
	colm	32
	synt	any
	cat
	pnull
	var	0
	line	52
	colm	43
	synt	any
	field	ipart
	line	52
	colm	39
	synt	any
	cat
	str	2
	line	52
	colm	50
	synt	any
	cat
	line	52
	colm	9
	synt	any
	pret
lab L5
	synt	any
	pfail
lab L3
	line	51
	colm	4
	synt	endifelse
	unmark
lab L1
	pnull
	line	54
	colm	1
	synt	any
	pfail
	end
proc cpxadd
	local	0,001000,z1
	local	1,001000,z2
	local	2,000000,complex
	declend
	line	56
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	2
	pnull
	pnull
	var	0
	line	58
	colm	21
	synt	any
	field	rpart
	pnull
	var	1
	line	58
	colm	32
	synt	any
	field	rpart
	line	58
	colm	28
	synt	any
	plus
	pnull
	pnull
	var	0
	line	58
	colm	42
	synt	any
	field	ipart
	pnull
	var	1
	line	58
	colm	53
	synt	any
	field	ipart
	line	58
	colm	49
	synt	any
	plus
	line	58
	colm	18
	synt	any
	invoke	2
	line	58
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	60
	colm	1
	synt	any
	pfail
	end
proc cpxsub
	local	0,001000,z1
	local	1,001000,z2
	local	2,000000,complex
	declend
	line	62
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	2
	pnull
	pnull
	var	0
	line	64
	colm	21
	synt	any
	field	rpart
	pnull
	var	1
	line	64
	colm	32
	synt	any
	field	rpart
	line	64
	colm	28
	synt	any
	minus
	pnull
	pnull
	var	0
	line	64
	colm	42
	synt	any
	field	ipart
	pnull
	var	1
	line	64
	colm	53
	synt	any
	field	ipart
	line	64
	colm	49
	synt	any
	minus
	line	64
	colm	18
	synt	any
	invoke	2
	line	64
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	66
	colm	1
	synt	any
	pfail
	end
proc cpxmul
	local	0,001000,z1
	local	1,001000,z2
	local	2,000000,complex
	declend
	line	68
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	2
	pnull
	pnull
	pnull
	var	0
	line	70
	colm	21
	synt	any
	field	rpart
	pnull
	var	1
	line	70
	colm	32
	synt	any
	field	rpart
	line	70
	colm	28
	synt	any
	mult
	pnull
	pnull
	var	0
	line	70
	colm	43
	synt	any
	field	ipart
	pnull
	var	1
	line	70
	colm	54
	synt	any
	field	ipart
	line	70
	colm	50
	synt	any
	mult
	line	70
	colm	39
	synt	any
	minus
	pnull
	pnull
	pnull
	var	0
	line	71
	colm	9
	synt	any
	field	rpart
	pnull
	var	1
	line	71
	colm	20
	synt	any
	field	ipart
	line	71
	colm	16
	synt	any
	mult
	pnull
	pnull
	var	0
	line	71
	colm	31
	synt	any
	field	ipart
	pnull
	var	1
	line	71
	colm	42
	synt	any
	field	rpart
	line	71
	colm	38
	synt	any
	mult
	line	71
	colm	27
	synt	any
	plus
	line	70
	colm	18
	synt	any
	invoke	2
	line	70
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	73
	colm	1
	synt	any
	pfail
	end
proc cpxdiv
	local	0,001000,z1
	local	1,001000,z2
	local	2,000020,denom
	local	3,000000,complex
	con	0,002000,1,2
	declend
	line	75
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	pnull
	pnull
	pnull
	var	1
	line	78
	colm	15
	synt	any
	field	rpart
	int	0
	line	78
	colm	22
	synt	any
	power
	pnull
	pnull
	var	1
	line	78
	colm	30
	synt	any
	field	ipart
	int	0
	line	78
	colm	37
	synt	any
	power
	line	78
	colm	26
	synt	any
	plus
	line	78
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	mark	L3
	var	3
	pnull
	pnull
	pnull
	pnull
	var	0
	line	80
	colm	22
	synt	any
	field	rpart
	pnull
	var	1
	line	80
	colm	33
	synt	any
	field	rpart
	line	80
	colm	29
	synt	any
	mult
	pnull
	pnull
	var	0
	line	80
	colm	44
	synt	any
	field	ipart
	pnull
	var	1
	line	80
	colm	55
	synt	any
	field	ipart
	line	80
	colm	51
	synt	any
	mult
	line	80
	colm	40
	synt	any
	plus
	var	2
	line	80
	colm	63
	synt	any
	div
	pnull
	pnull
	pnull
	pnull
	var	0
	line	81
	colm	10
	synt	any
	field	ipart
	pnull
	var	1
	line	81
	colm	21
	synt	any
	field	rpart
	line	81
	colm	17
	synt	any
	mult
	pnull
	pnull
	var	0
	line	81
	colm	32
	synt	any
	field	rpart
	pnull
	var	1
	line	81
	colm	43
	synt	any
	field	ipart
	line	81
	colm	39
	synt	any
	mult
	line	81
	colm	28
	synt	any
	minus
	var	2
	line	81
	colm	51
	synt	any
	div
	line	80
	colm	18
	synt	any
	invoke	2
	line	80
	colm	4
	synt	any
	pret
lab L3
	synt	any
	pfail
	unmark
lab L2
	pnull
	line	83
	colm	1
	synt	any
	pfail
	end
proc cpxconj
	local	0,001000,z
	local	1,000000,complex
	declend
	line	85
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	1
	pnull
	var	0
	line	87
	colm	20
	synt	any
	field	rpart
	pnull
	pnull
	var	0
	line	87
	colm	30
	synt	any
	field	ipart
	line	87
	colm	28
	synt	any
	neg
	line	87
	colm	18
	synt	any
	invoke	2
	line	87
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	89
	colm	1
	synt	any
	pfail
	end
proc cpxabs
	local	0,001000,z
	local	1,000000,sqrt
	con	0,002000,1,2
	declend
	line	91
	colm	11
	synt	any
	mark	L1
	mark	L2
	var	1
	pnull
	pnull
	pnull
	var	0
	line	93
	colm	17
	synt	any
	field	rpart
	int	0
	line	93
	colm	24
	synt	any
	power
	pnull
	pnull
	var	0
	line	93
	colm	31
	synt	any
	field	ipart
	int	0
	line	93
	colm	38
	synt	any
	power
	line	93
	colm	28
	synt	any
	plus
	line	93
	colm	15
	synt	any
	invoke	1
	line	93
	colm	4
	synt	any
	pret
lab L2
	synt	any
	pfail
	unmark
lab L1
	pnull
	line	95
	colm	1
	synt	any
	pfail
	end
