version	U12.1.00
uid	quaternion.u1-1786033191-0
record	graphics3d__Quaternion__state,6
	0,__s
	1,__m
	2,W
	3,X
	4,Y
	5,Z
record	graphics3d__Quaternion__methods,14
	0,set
	1,print
	2,mul
	3,times
	4,negate
	5,invert
	6,normalize
	7,from_axis
	8,to_matrix
	9,to_matrixOLD
	10,slerp
	11,expp
	12,logg
	13,initially
impl	local
global	19
	0,000005,graphics3d__Quaternion_set,5
	1,000005,graphics3d__Quaternion_print,1
	2,000005,graphics3d__Quaternion_mul,2
	3,000005,graphics3d__Quaternion_times,2
	4,000005,graphics3d__Quaternion_negate,1
	5,000005,graphics3d__Quaternion_invert,1
	6,000005,graphics3d__Quaternion_normalize,1
	7,000005,graphics3d__Quaternion_from_axis,5
	8,000005,graphics3d__Quaternion_to_matrix,2
	9,000005,graphics3d__Quaternion_to_matrixOLD,2
	10,000005,graphics3d__Quaternion_slerp,4
	11,000005,graphics3d__Quaternion_expp,1
	12,000005,graphics3d__Quaternion_logg,1
	13,000005,graphics3d__Quaternion_initially,5
	14,000011,graphics3d__Quaternion__state,6
	15,000011,graphics3d__Quaternion__methods,14
	16,000001,graphics3d__Quaternion__oprec,0
	17,000005,graphics3d__Quaternion,4
	18,000005,graphics3d__Quaternioninitialize,0

proc graphics3d__Quaternion_set
	local	0,001000,self
	local	1,001000,w
	local	2,001000,x
	local	3,001000,y
	local	4,001000,z
	declend
	filen	quaternion.icn
	line	23
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	24
	colm	8
	synt	any
	field	W
	var	1
	line	24
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	25
	colm	8
	synt	any
	field	X
	var	2
	line	25
	colm	10
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	0
	line	26
	colm	8
	synt	any
	field	Y
	var	3
	line	26
	colm	10
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	0
	line	27
	colm	8
	synt	any
	field	Z
	var	4
	line	27
	colm	10
	synt	any
	asgn
	unmark
lab L4
	pnull
	line	28
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_print
	local	0,001000,self
	local	1,000000,write
	con	0,010000,2,054,040
	declend
	line	30
	colm	11
	synt	any
	mark	L1
	var	1
	pnull
	var	0
	line	31
	colm	15
	synt	any
	field	W
	str	0
	pnull
	var	0
	line	31
	colm	27
	synt	any
	field	X
	str	0
	pnull
	var	0
	line	31
	colm	39
	synt	any
	field	Y
	str	0
	pnull
	var	0
	line	31
	colm	51
	synt	any
	field	Z
	line	31
	colm	9
	synt	any
	invoke	7
	unmark
lab L1
	pnull
	line	32
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_mul
	local	0,001000,self
	local	1,001000,b
	local	2,000020,w
	local	3,000020,x
	local	4,000020,y
	local	5,000020,z
	declend
	line	34
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	37
	colm	8
	synt	any
	field	W
	pnull
	pnull
	pnull
	var	0
	line	37
	colm	16
	synt	any
	field	W
	pnull
	var	1
	line	37
	colm	20
	synt	any
	field	W
	line	37
	colm	18
	synt	any
	mult
	pnull
	pnull
	pnull
	pnull
	var	0
	line	37
	colm	28
	synt	any
	field	X
	pnull
	var	1
	line	37
	colm	32
	synt	any
	field	X
	line	37
	colm	30
	synt	any
	mult
	pnull
	pnull
	var	0
	line	37
	colm	39
	synt	any
	field	Y
	pnull
	var	1
	line	37
	colm	43
	synt	any
	field	Y
	line	37
	colm	41
	synt	any
	mult
	line	37
	colm	34
	synt	any
	plus
	pnull
	pnull
	var	0
	line	37
	colm	50
	synt	any
	field	Z
	pnull
	var	1
	line	37
	colm	54
	synt	any
	field	Z
	line	37
	colm	52
	synt	any
	mult
	line	37
	colm	45
	synt	any
	plus
	line	37
	colm	22
	synt	any
	minus
	line	37
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	39
	colm	8
	synt	any
	field	X
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	39
	colm	16
	synt	any
	field	W
	pnull
	var	1
	line	39
	colm	20
	synt	any
	field	X
	line	39
	colm	18
	synt	any
	mult
	pnull
	pnull
	var	1
	line	39
	colm	24
	synt	any
	field	W
	pnull
	var	0
	line	39
	colm	31
	synt	any
	field	X
	line	39
	colm	26
	synt	any
	mult
	line	39
	colm	22
	synt	any
	plus
	pnull
	pnull
	var	0
	line	39
	colm	38
	synt	any
	field	Y
	pnull
	var	1
	line	39
	colm	42
	synt	any
	field	Z
	line	39
	colm	40
	synt	any
	mult
	line	39
	colm	33
	synt	any
	plus
	pnull
	pnull
	var	0
	line	39
	colm	49
	synt	any
	field	Z
	pnull
	var	1
	line	39
	colm	53
	synt	any
	field	Y
	line	39
	colm	51
	synt	any
	mult
	line	39
	colm	44
	synt	any
	minus
	line	39
	colm	10
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	0
	line	40
	colm	8
	synt	any
	field	Y
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	40
	colm	16
	synt	any
	field	W
	pnull
	var	1
	line	40
	colm	20
	synt	any
	field	Y
	line	40
	colm	18
	synt	any
	mult
	pnull
	pnull
	var	1
	line	40
	colm	24
	synt	any
	field	W
	pnull
	var	0
	line	40
	colm	31
	synt	any
	field	Y
	line	40
	colm	26
	synt	any
	mult
	line	40
	colm	22
	synt	any
	plus
	pnull
	pnull
	var	0
	line	40
	colm	38
	synt	any
	field	Z
	pnull
	var	1
	line	40
	colm	42
	synt	any
	field	X
	line	40
	colm	40
	synt	any
	mult
	line	40
	colm	33
	synt	any
	plus
	pnull
	pnull
	var	0
	line	40
	colm	49
	synt	any
	field	X
	pnull
	var	1
	line	40
	colm	53
	synt	any
	field	Z
	line	40
	colm	51
	synt	any
	mult
	line	40
	colm	44
	synt	any
	minus
	line	40
	colm	10
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	0
	line	41
	colm	8
	synt	any
	field	Z
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	41
	colm	16
	synt	any
	field	W
	pnull
	var	1
	line	41
	colm	20
	synt	any
	field	Z
	line	41
	colm	18
	synt	any
	mult
	pnull
	pnull
	var	1
	line	41
	colm	24
	synt	any
	field	W
	pnull
	var	0
	line	41
	colm	31
	synt	any
	field	Z
	line	41
	colm	26
	synt	any
	mult
	line	41
	colm	22
	synt	any
	plus
	pnull
	pnull
	var	0
	line	41
	colm	38
	synt	any
	field	X
	pnull
	var	1
	line	41
	colm	42
	synt	any
	field	Y
	line	41
	colm	40
	synt	any
	mult
	line	41
	colm	33
	synt	any
	plus
	pnull
	pnull
	var	0
	line	41
	colm	49
	synt	any
	field	Y
	pnull
	var	1
	line	41
	colm	53
	synt	any
	field	X
	line	41
	colm	51
	synt	any
	mult
	line	41
	colm	44
	synt	any
	minus
	line	41
	colm	10
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	mark	L6
	var	0
	line	42
	colm	4
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	43
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_times
	local	0,001000,self
	local	1,001000,b
	local	2,000020,w
	local	3,000020,x
	local	4,000020,y
	local	5,000020,z
	local	6,000000,graphics3d__Quaternion
	declend
	line	45
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	pnull
	pnull
	pnull
	var	0
	line	48
	colm	13
	synt	any
	field	W
	pnull
	var	1
	line	48
	colm	17
	synt	any
	field	W
	line	48
	colm	15
	synt	any
	mult
	pnull
	pnull
	pnull
	pnull
	var	0
	line	48
	colm	25
	synt	any
	field	X
	pnull
	var	1
	line	48
	colm	29
	synt	any
	field	X
	line	48
	colm	27
	synt	any
	mult
	pnull
	pnull
	var	0
	line	48
	colm	36
	synt	any
	field	Y
	pnull
	var	1
	line	48
	colm	40
	synt	any
	field	Y
	line	48
	colm	38
	synt	any
	mult
	line	48
	colm	31
	synt	any
	plus
	pnull
	pnull
	var	0
	line	48
	colm	47
	synt	any
	field	Z
	pnull
	var	1
	line	48
	colm	51
	synt	any
	field	Z
	line	48
	colm	49
	synt	any
	mult
	line	48
	colm	42
	synt	any
	plus
	line	48
	colm	19
	synt	any
	minus
	line	48
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	3
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	50
	colm	13
	synt	any
	field	W
	pnull
	var	1
	line	50
	colm	17
	synt	any
	field	X
	line	50
	colm	15
	synt	any
	mult
	pnull
	pnull
	var	1
	line	50
	colm	21
	synt	any
	field	W
	pnull
	var	0
	line	50
	colm	28
	synt	any
	field	X
	line	50
	colm	23
	synt	any
	mult
	line	50
	colm	19
	synt	any
	plus
	pnull
	pnull
	var	0
	line	50
	colm	35
	synt	any
	field	Y
	pnull
	var	1
	line	50
	colm	39
	synt	any
	field	Z
	line	50
	colm	37
	synt	any
	mult
	line	50
	colm	30
	synt	any
	plus
	pnull
	pnull
	var	0
	line	50
	colm	46
	synt	any
	field	Z
	pnull
	var	1
	line	50
	colm	50
	synt	any
	field	Y
	line	50
	colm	48
	synt	any
	mult
	line	50
	colm	41
	synt	any
	minus
	line	50
	colm	6
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	var	4
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	51
	colm	13
	synt	any
	field	W
	pnull
	var	1
	line	51
	colm	17
	synt	any
	field	Y
	line	51
	colm	15
	synt	any
	mult
	pnull
	pnull
	var	1
	line	51
	colm	21
	synt	any
	field	W
	pnull
	var	0
	line	51
	colm	28
	synt	any
	field	Y
	line	51
	colm	23
	synt	any
	mult
	line	51
	colm	19
	synt	any
	plus
	pnull
	pnull
	var	0
	line	51
	colm	35
	synt	any
	field	Z
	pnull
	var	1
	line	51
	colm	39
	synt	any
	field	X
	line	51
	colm	37
	synt	any
	mult
	line	51
	colm	30
	synt	any
	plus
	pnull
	pnull
	var	0
	line	51
	colm	46
	synt	any
	field	X
	pnull
	var	1
	line	51
	colm	50
	synt	any
	field	Z
	line	51
	colm	48
	synt	any
	mult
	line	51
	colm	41
	synt	any
	minus
	line	51
	colm	6
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	var	5
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	52
	colm	13
	synt	any
	field	W
	pnull
	var	1
	line	52
	colm	17
	synt	any
	field	Z
	line	52
	colm	15
	synt	any
	mult
	pnull
	pnull
	var	1
	line	52
	colm	21
	synt	any
	field	W
	pnull
	var	0
	line	52
	colm	28
	synt	any
	field	Z
	line	52
	colm	23
	synt	any
	mult
	line	52
	colm	19
	synt	any
	plus
	pnull
	pnull
	var	0
	line	52
	colm	35
	synt	any
	field	X
	pnull
	var	1
	line	52
	colm	39
	synt	any
	field	Y
	line	52
	colm	37
	synt	any
	mult
	line	52
	colm	30
	synt	any
	plus
	pnull
	pnull
	var	0
	line	52
	colm	46
	synt	any
	field	Y
	pnull
	var	1
	line	52
	colm	50
	synt	any
	field	X
	line	52
	colm	48
	synt	any
	mult
	line	52
	colm	41
	synt	any
	minus
	line	52
	colm	6
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	mark	L6
	var	6
	var	2
	var	3
	var	4
	var	5
	line	54
	colm	33
	synt	any
	invoke	4
	line	54
	colm	4
	synt	any
	pret
lab L6
	synt	any
	pfail
	unmark
lab L5
	pnull
	line	55
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_negate
	local	0,001000,self
	declend
	line	57
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	58
	colm	7
	synt	any
	field	X
	pnull
	pnull
	var	0
	line	58
	colm	16
	synt	any
	field	X
	line	58
	colm	11
	synt	any
	neg
	line	58
	colm	9
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	0
	line	59
	colm	7
	synt	any
	field	Y
	pnull
	pnull
	var	0
	line	59
	colm	16
	synt	any
	field	Y
	line	59
	colm	11
	synt	any
	neg
	line	59
	colm	9
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	0
	line	60
	colm	7
	synt	any
	field	Z
	pnull
	pnull
	var	0
	line	60
	colm	16
	synt	any
	field	Z
	line	60
	colm	11
	synt	any
	neg
	line	60
	colm	9
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	mark	L5
	var	0
	line	61
	colm	3
	synt	any
	pret
lab L5
	synt	any
	pfail
	unmark
lab L4
	pnull
	line	62
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_invert
	local	0,001000,self
	local	1,000020,norme
	local	2,000020,recip
	local	3,000000,sqrt
	con	0,004000,0.000001
	con	1,004000,1.0
	declend
	line	64
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	3
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	67
	colm	22
	synt	any
	field	W
	pnull
	var	0
	line	67
	colm	29
	synt	any
	field	W
	line	67
	colm	24
	synt	any
	mult
	pnull
	pnull
	var	0
	line	67
	colm	36
	synt	any
	field	X
	pnull
	var	0
	line	67
	colm	43
	synt	any
	field	X
	line	67
	colm	38
	synt	any
	mult
	line	67
	colm	31
	synt	any
	plus
	pnull
	pnull
	var	0
	line	67
	colm	50
	synt	any
	field	Y
	pnull
	var	0
	line	67
	colm	57
	synt	any
	field	Y
	line	67
	colm	52
	synt	any
	mult
	line	67
	colm	45
	synt	any
	plus
	pnull
	pnull
	var	0
	line	67
	colm	64
	synt	any
	field	Z
	pnull
	var	0
	line	67
	colm	71
	synt	any
	field	Z
	line	67
	colm	66
	synt	any
	mult
	line	67
	colm	59
	synt	any
	plus
	line	67
	colm	17
	synt	any
	invoke	1
	line	67
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	68
	colm	4
	synt	if
	mark0
	pnull
	var	1
	real	0
	line	68
	colm	14
	synt	any
	numlt
	unmark
	pnull
	var	1
	real	1
	line	69
	colm	13
	synt	any
	asgn
	line	68
	colm	4
	synt	endif
	unmark
lab L2
	mark	L3
	pnull
	var	2
	pnull
	real	1
	var	1
	line	71
	colm	17
	synt	any
	div
	line	71
	colm	10
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	0
	line	73
	colm	8
	synt	any
	field	W
	pnull
	pnull
	var	0
	line	73
	colm	16
	synt	any
	field	W
	var	2
	line	73
	colm	18
	synt	any
	mult
	line	73
	colm	10
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	0
	line	74
	colm	8
	synt	any
	field	X
	pnull
	pnull
	pnull
	var	0
	line	74
	colm	17
	synt	any
	field	X
	line	74
	colm	12
	synt	any
	neg
	var	2
	line	74
	colm	19
	synt	any
	mult
	line	74
	colm	10
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	0
	line	75
	colm	8
	synt	any
	field	Y
	pnull
	pnull
	pnull
	var	0
	line	75
	colm	17
	synt	any
	field	Y
	line	75
	colm	12
	synt	any
	neg
	var	2
	line	75
	colm	19
	synt	any
	mult
	line	75
	colm	10
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	pnull
	pnull
	var	0
	line	76
	colm	8
	synt	any
	field	Z
	pnull
	pnull
	pnull
	var	0
	line	76
	colm	17
	synt	any
	field	Z
	line	76
	colm	12
	synt	any
	neg
	var	2
	line	76
	colm	19
	synt	any
	mult
	line	76
	colm	10
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	mark	L9
	var	0
	line	78
	colm	3
	synt	any
	pret
lab L9
	synt	any
	pfail
	unmark
lab L8
	pnull
	line	79
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_normalize
	local	0,001000,self
	local	1,000020,norme
	local	2,000020,recip
	local	3,000000,sqrt
	con	0,004000,0.000001
	con	1,004000,1.0
	con	2,004000,0.0
	declend
	line	81
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	3
	pnull
	pnull
	pnull
	pnull
	pnull
	var	0
	line	83
	colm	22
	synt	any
	field	W
	pnull
	var	0
	line	83
	colm	29
	synt	any
	field	W
	line	83
	colm	24
	synt	any
	mult
	pnull
	pnull
	var	0
	line	83
	colm	36
	synt	any
	field	X
	pnull
	var	0
	line	83
	colm	43
	synt	any
	field	X
	line	83
	colm	38
	synt	any
	mult
	line	83
	colm	31
	synt	any
	plus
	pnull
	pnull
	var	0
	line	83
	colm	50
	synt	any
	field	Y
	pnull
	var	0
	line	83
	colm	57
	synt	any
	field	Y
	line	83
	colm	52
	synt	any
	mult
	line	83
	colm	45
	synt	any
	plus
	pnull
	pnull
	var	0
	line	83
	colm	64
	synt	any
	field	Z
	pnull
	var	0
	line	83
	colm	71
	synt	any
	field	Z
	line	83
	colm	66
	synt	any
	mult
	line	83
	colm	59
	synt	any
	plus
	line	83
	colm	17
	synt	any
	invoke	1
	line	83
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	84
	colm	4
	synt	ifelse
	mark	L3
	pnull
	var	1
	real	0
	line	84
	colm	14
	synt	any
	numlt
	unmark
	mark	L5
	pnull
	pnull
	var	0
	line	85
	colm	11
	synt	any
	field	W
	real	1
	line	85
	colm	13
	synt	any
	asgn
	unmark
lab L5
	pnull
	pnull
	var	0
	line	86
	colm	11
	synt	any
	field	X
	pnull
	pnull
	var	0
	line	86
	colm	19
	synt	any
	field	Y
	pnull
	pnull
	var	0
	line	86
	colm	27
	synt	any
	field	Z
	real	2
	line	86
	colm	29
	synt	any
	asgn
	line	86
	colm	21
	synt	any
	asgn
	line	86
	colm	13
	synt	any
	asgn
	goto	L4
lab L3
	mark	L6
	pnull
	var	2
	pnull
	real	1
	var	1
	line	89
	colm	19
	synt	any
	div
	line	89
	colm	13
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	pnull
	pnull
	var	0
	line	90
	colm	11
	synt	any
	field	W
	dup
	var	2
	line	90
	colm	13
	synt	any
	mult
	asgn
	unmark
lab L7
	mark	L8
	pnull
	pnull
	var	0
	line	91
	colm	11
	synt	any
	field	X
	dup
	var	2
	line	91
	colm	13
	synt	any
	mult
	asgn
	unmark
lab L8
	mark	L9
	pnull
	pnull
	var	0
	line	92
	colm	11
	synt	any
	field	Y
	dup
	var	2
	line	92
	colm	13
	synt	any
	mult
	asgn
	unmark
lab L9
	pnull
	pnull
	var	0
	line	93
	colm	11
	synt	any
	field	Z
	dup
	var	2
	line	93
	colm	13
	synt	any
	mult
	asgn
lab L4
	line	84
	colm	4
	synt	endifelse
	unmark
lab L2
	mark	L10
	mark	L11
	var	0
	line	95
	colm	3
	synt	any
	pret
lab L11
	synt	any
	pfail
	unmark
lab L10
	pnull
	line	96
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_from_axis
	local	0,001000,self
	local	1,001000,angle
	local	2,001000,x
	local	3,001000,y
	local	4,001000,z
	local	5,000020,omega
	local	6,000020,s
	local	7,000020,c
	local	8,000000,sqrt
	local	9,000000,sin
	local	10,000000,cos
	con	0,004000,0.000001
	con	1,004000,1.0
	con	2,004000,0.5
	con	3,004000,0.0
	declend
	line	98
	colm	11
	synt	any
	mark	L1
	pnull
	var	6
	var	8
	pnull
	pnull
	pnull
	var	2
	var	2
	line	101
	colm	15
	synt	any
	mult
	pnull
	var	3
	var	3
	line	101
	colm	21
	synt	any
	mult
	line	101
	colm	18
	synt	any
	plus
	pnull
	var	4
	var	4
	line	101
	colm	27
	synt	any
	mult
	line	101
	colm	24
	synt	any
	plus
	line	101
	colm	13
	synt	any
	invoke	1
	line	101
	colm	6
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	103
	colm	4
	synt	ifelse
	mark	L3
	pnull
	var	6
	real	0
	line	103
	colm	10
	synt	any
	numgt
	unmark
	mark	L5
	pnull
	var	7
	pnull
	real	1
	var	6
	line	104
	colm	15
	synt	any
	div
	line	104
	colm	9
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	var	2
	dup
	var	7
	line	105
	colm	9
	synt	any
	mult
	asgn
	unmark
lab L6
	mark	L7
	pnull
	var	3
	dup
	var	7
	line	106
	colm	9
	synt	any
	mult
	asgn
	unmark
lab L7
	mark	L8
	pnull
	var	4
	dup
	var	7
	line	107
	colm	9
	synt	any
	mult
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	5
	pnull
	real	2
	var	1
	line	108
	colm	21
	synt	any
	mult
	line	108
	colm	13
	synt	any
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	6
	var	9
	var	5
	line	109
	colm	15
	synt	any
	invoke	1
	line	109
	colm	9
	synt	any
	asgn
	unmark
lab L10
	mark	L11
	pnull
	pnull
	var	0
	line	110
	colm	11
	synt	any
	field	X
	pnull
	var	6
	var	2
	line	110
	colm	16
	synt	any
	mult
	line	110
	colm	13
	synt	any
	asgn
	unmark
lab L11
	mark	L12
	pnull
	pnull
	var	0
	line	111
	colm	11
	synt	any
	field	Y
	pnull
	var	6
	var	3
	line	111
	colm	16
	synt	any
	mult
	line	111
	colm	13
	synt	any
	asgn
	unmark
lab L12
	mark	L13
	pnull
	pnull
	var	0
	line	112
	colm	11
	synt	any
	field	Z
	pnull
	var	6
	var	4
	line	112
	colm	16
	synt	any
	mult
	line	112
	colm	13
	synt	any
	asgn
	unmark
lab L13
	pnull
	pnull
	var	0
	line	113
	colm	11
	synt	any
	field	W
	var	10
	var	5
	line	113
	colm	18
	synt	any
	invoke	1
	line	113
	colm	13
	synt	any
	asgn
	goto	L4
lab L3
	mark	L14
	pnull
	pnull
	var	0
	line	116
	colm	11
	synt	any
	field	X
	pnull
	pnull
	var	0
	line	116
	colm	19
	synt	any
	field	Y
	pnull
	pnull
	var	0
	line	116
	colm	27
	synt	any
	field	Z
	real	3
	line	116
	colm	29
	synt	any
	asgn
	line	116
	colm	21
	synt	any
	asgn
	line	116
	colm	13
	synt	any
	asgn
	unmark
lab L14
	pnull
	pnull
	var	0
	line	117
	colm	11
	synt	any
	field	W
	real	1
	line	117
	colm	13
	synt	any
	asgn
lab L4
	line	103
	colm	4
	synt	endifelse
	unmark
lab L2
	mark	L15
	pnull
	var	0
	line	120
	colm	8
	synt	any
	field	normalize
	line	120
	colm	18
	synt	any
	invoke	0
	unmark
lab L15
	mark	L16
	mark	L17
	var	0
	line	121
	colm	4
	synt	any
	pret
lab L17
	synt	any
	pfail
	unmark
lab L16
	pnull
	line	122
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_to_matrix
	local	0,001000,self
	local	1,001000,matrix
	local	2,000000,graphics3d__Matrix4x4
	con	0,004000,1.0
	con	1,004000,2.0
	con	2,004000,0.0
	declend
	line	125
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	126
	colm	4
	synt	any
	null
	var	2
	line	126
	colm	36
	synt	any
	invoke	0
	line	126
	colm	12
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	1
	line	128
	colm	10
	synt	any
	field	set
	pnull
	pnull
	pnull
	real	0
	pnull
	pnull
	real	1
	pnull
	var	0
	line	130
	colm	21
	synt	any
	field	Y
	line	130
	colm	16
	synt	any
	mult
	pnull
	var	0
	line	130
	colm	28
	synt	any
	field	Y
	line	130
	colm	23
	synt	any
	mult
	line	130
	colm	11
	synt	any
	minus
	pnull
	pnull
	real	1
	pnull
	var	0
	line	130
	colm	39
	synt	any
	field	Z
	line	130
	colm	34
	synt	any
	mult
	pnull
	var	0
	line	130
	colm	46
	synt	any
	field	Z
	line	130
	colm	41
	synt	any
	mult
	line	130
	colm	30
	synt	any
	minus
	pnull
	pnull
	pnull
	real	1
	pnull
	var	0
	line	131
	colm	15
	synt	any
	field	X
	line	131
	colm	10
	synt	any
	mult
	pnull
	var	0
	line	131
	colm	22
	synt	any
	field	Y
	line	131
	colm	17
	synt	any
	mult
	pnull
	pnull
	real	1
	pnull
	var	0
	line	131
	colm	33
	synt	any
	field	W
	line	131
	colm	28
	synt	any
	mult
	pnull
	var	0
	line	131
	colm	40
	synt	any
	field	Z
	line	131
	colm	35
	synt	any
	mult
	line	131
	colm	24
	synt	any
	minus
	pnull
	pnull
	pnull
	real	1
	pnull
	var	0
	line	132
	colm	15
	synt	any
	field	X
	line	132
	colm	10
	synt	any
	mult
	pnull
	var	0
	line	132
	colm	22
	synt	any
	field	Z
	line	132
	colm	17
	synt	any
	mult
	pnull
	pnull
	real	1
	pnull
	var	0
	line	132
	colm	33
	synt	any
	field	W
	line	132
	colm	28
	synt	any
	mult
	pnull
	var	0
	line	132
	colm	40
	synt	any
	field	Y
	line	132
	colm	35
	synt	any
	mult
	line	132
	colm	24
	synt	any
	plus
	real	2
	pnull
	pnull
	pnull
	real	1
	pnull
	var	0
	line	134
	colm	15
	synt	any
	field	X
	line	134
	colm	10
	synt	any
	mult
	pnull
	var	0
	line	134
	colm	22
	synt	any
	field	Y
	line	134
	colm	17
	synt	any
	mult
	pnull
	pnull
	real	1
	pnull
	var	0
	line	134
	colm	33
	synt	any
	field	W
	line	134
	colm	28
	synt	any
	mult
	pnull
	var	0
	line	134
	colm	40
	synt	any
	field	Z
	line	134
	colm	35
	synt	any
	mult
	line	134
	colm	24
	synt	any
	plus
	pnull
	pnull
	real	0
	pnull
	pnull
	real	1
	pnull
	var	0
	line	135
	colm	21
	synt	any
	field	X
	line	135
	colm	16
	synt	any
	mult
	pnull
	var	0
	line	135
	colm	28
	synt	any
	field	X
	line	135
	colm	23
	synt	any
	mult
	line	135
	colm	11
	synt	any
	minus
	pnull
	pnull
	real	1
	pnull
	var	0
	line	135
	colm	39
	synt	any
	field	Z
	line	135
	colm	34
	synt	any
	mult
	pnull
	var	0
	line	135
	colm	46
	synt	any
	field	Z
	line	135
	colm	41
	synt	any
	mult
	line	135
	colm	30
	synt	any
	minus
	pnull
	pnull
	pnull
	real	1
	pnull
	var	0
	line	136
	colm	15
	synt	any
	field	Y
	line	136
	colm	10
	synt	any
	mult
	pnull
	var	0
	line	136
	colm	22
	synt	any
	field	Z
	line	136
	colm	17
	synt	any
	mult
	pnull
	pnull
	real	1
	pnull
	var	0
	line	136
	colm	33
	synt	any
	field	W
	line	136
	colm	28
	synt	any
	mult
	pnull
	var	0
	line	136
	colm	40
	synt	any
	field	X
	line	136
	colm	35
	synt	any
	mult
	line	136
	colm	24
	synt	any
	minus
	real	2
	pnull
	pnull
	pnull
	real	1
	pnull
	var	0
	line	138
	colm	15
	synt	any
	field	X
	line	138
	colm	10
	synt	any
	mult
	pnull
	var	0
	line	138
	colm	22
	synt	any
	field	Z
	line	138
	colm	17
	synt	any
	mult
	pnull
	pnull
	real	1
	pnull
	var	0
	line	138
	colm	33
	synt	any
	field	W
	line	138
	colm	28
	synt	any
	mult
	pnull
	var	0
	line	138
	colm	40
	synt	any
	field	Y
	line	138
	colm	35
	synt	any
	mult
	line	138
	colm	24
	synt	any
	minus
	pnull
	pnull
	pnull
	real	1
	pnull
	var	0
	line	139
	colm	15
	synt	any
	field	Y
	line	139
	colm	10
	synt	any
	mult
	pnull
	var	0
	line	139
	colm	22
	synt	any
	field	Z
	line	139
	colm	17
	synt	any
	mult
	pnull
	pnull
	real	1
	pnull
	var	0
	line	139
	colm	33
	synt	any
	field	W
	line	139
	colm	28
	synt	any
	mult
	pnull
	var	0
	line	139
	colm	40
	synt	any
	field	X
	line	139
	colm	35
	synt	any
	mult
	line	139
	colm	24
	synt	any
	plus
	pnull
	pnull
	real	0
	pnull
	pnull
	real	1
	pnull
	var	0
	line	140
	colm	21
	synt	any
	field	X
	line	140
	colm	16
	synt	any
	mult
	pnull
	var	0
	line	140
	colm	28
	synt	any
	field	X
	line	140
	colm	23
	synt	any
	mult
	line	140
	colm	11
	synt	any
	minus
	pnull
	pnull
	real	1
	pnull
	var	0
	line	140
	colm	39
	synt	any
	field	Y
	line	140
	colm	34
	synt	any
	mult
	pnull
	var	0
	line	140
	colm	46
	synt	any
	field	Y
	line	140
	colm	41
	synt	any
	mult
	line	140
	colm	30
	synt	any
	minus
	real	2
	real	2
	real	2
	real	2
	real	0
	line	129
	colm	7
	synt	any
	llist	16
	line	128
	colm	15
	synt	any
	invoke	1
	unmark
lab L2
	mark	L3
	mark	L4
	var	1
	line	147
	colm	4
	synt	any
	pret
lab L4
	synt	any
	pfail
	unmark
lab L3
	pnull
	line	148
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_to_matrixOLD
	local	0,001000,self
	local	1,001000,matrix
	local	2,000000,graphics3d__Matrix4x4
	con	0,002000,1,1
	con	1,004000,1.0
	con	2,004000,2.0
	con	3,002000,1,5
	con	4,002000,1,9
	con	5,002000,2,13
	con	6,004000,0.0
	con	7,002000,1,2
	con	8,002000,1,6
	con	9,002000,2,10
	con	10,002000,2,14
	con	11,002000,1,3
	con	12,002000,1,7
	con	13,002000,2,11
	con	14,002000,2,15
	con	15,002000,1,4
	con	16,002000,1,8
	con	17,002000,2,12
	con	18,002000,2,16
	declend
	line	151
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	1
	line	152
	colm	4
	synt	any
	null
	var	2
	line	152
	colm	36
	synt	any
	invoke	0
	line	152
	colm	12
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	pnull
	var	1
	int	0
	line	154
	colm	10
	synt	any
	subsc
	pnull
	pnull
	real	1
	pnull
	pnull
	real	2
	pnull
	var	0
	line	154
	colm	31
	synt	any
	field	Y
	line	154
	colm	26
	synt	any
	mult
	pnull
	var	0
	line	154
	colm	38
	synt	any
	field	Y
	line	154
	colm	33
	synt	any
	mult
	line	154
	colm	21
	synt	any
	minus
	pnull
	pnull
	real	2
	pnull
	var	0
	line	154
	colm	49
	synt	any
	field	Z
	line	154
	colm	44
	synt	any
	mult
	pnull
	var	0
	line	154
	colm	56
	synt	any
	field	Z
	line	154
	colm	51
	synt	any
	mult
	line	154
	colm	40
	synt	any
	minus
	line	154
	colm	14
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	1
	int	3
	line	155
	colm	10
	synt	any
	subsc
	pnull
	pnull
	pnull
	real	2
	pnull
	var	0
	line	155
	colm	25
	synt	any
	field	X
	line	155
	colm	20
	synt	any
	mult
	pnull
	var	0
	line	155
	colm	32
	synt	any
	field	Y
	line	155
	colm	27
	synt	any
	mult
	pnull
	pnull
	real	2
	pnull
	var	0
	line	155
	colm	43
	synt	any
	field	W
	line	155
	colm	38
	synt	any
	mult
	pnull
	var	0
	line	155
	colm	50
	synt	any
	field	Z
	line	155
	colm	45
	synt	any
	mult
	line	155
	colm	34
	synt	any
	plus
	line	155
	colm	14
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	1
	int	4
	line	156
	colm	10
	synt	any
	subsc
	pnull
	pnull
	pnull
	real	2
	pnull
	var	0
	line	156
	colm	25
	synt	any
	field	X
	line	156
	colm	20
	synt	any
	mult
	pnull
	var	0
	line	156
	colm	32
	synt	any
	field	Z
	line	156
	colm	27
	synt	any
	mult
	pnull
	pnull
	real	2
	pnull
	var	0
	line	156
	colm	43
	synt	any
	field	W
	line	156
	colm	38
	synt	any
	mult
	pnull
	var	0
	line	156
	colm	50
	synt	any
	field	Y
	line	156
	colm	45
	synt	any
	mult
	line	156
	colm	34
	synt	any
	minus
	line	156
	colm	14
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	1
	int	5
	line	157
	colm	10
	synt	any
	subsc
	real	6
	line	157
	colm	15
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	1
	int	7
	line	159
	colm	10
	synt	any
	subsc
	pnull
	pnull
	pnull
	real	2
	pnull
	var	0
	line	159
	colm	25
	synt	any
	field	X
	line	159
	colm	20
	synt	any
	mult
	pnull
	var	0
	line	159
	colm	32
	synt	any
	field	Y
	line	159
	colm	27
	synt	any
	mult
	pnull
	pnull
	real	2
	pnull
	var	0
	line	159
	colm	43
	synt	any
	field	W
	line	159
	colm	38
	synt	any
	mult
	pnull
	var	0
	line	159
	colm	50
	synt	any
	field	Z
	line	159
	colm	45
	synt	any
	mult
	line	159
	colm	34
	synt	any
	minus
	line	159
	colm	14
	synt	any
	asgn
	unmark
lab L6
	mark	L7
	pnull
	pnull
	var	1
	int	8
	line	160
	colm	10
	synt	any
	subsc
	pnull
	pnull
	real	1
	pnull
	pnull
	real	2
	pnull
	var	0
	line	160
	colm	31
	synt	any
	field	X
	line	160
	colm	26
	synt	any
	mult
	pnull
	var	0
	line	160
	colm	38
	synt	any
	field	X
	line	160
	colm	33
	synt	any
	mult
	line	160
	colm	21
	synt	any
	minus
	pnull
	pnull
	real	2
	pnull
	var	0
	line	160
	colm	49
	synt	any
	field	Z
	line	160
	colm	44
	synt	any
	mult
	pnull
	var	0
	line	160
	colm	56
	synt	any
	field	Z
	line	160
	colm	51
	synt	any
	mult
	line	160
	colm	40
	synt	any
	minus
	line	160
	colm	14
	synt	any
	asgn
	unmark
lab L7
	mark	L8
	pnull
	pnull
	var	1
	int	9
	line	161
	colm	10
	synt	any
	subsc
	pnull
	pnull
	pnull
	real	2
	pnull
	var	0
	line	161
	colm	26
	synt	any
	field	Y
	line	161
	colm	21
	synt	any
	mult
	pnull
	var	0
	line	161
	colm	33
	synt	any
	field	Z
	line	161
	colm	28
	synt	any
	mult
	pnull
	pnull
	real	2
	pnull
	var	0
	line	161
	colm	44
	synt	any
	field	W
	line	161
	colm	39
	synt	any
	mult
	pnull
	var	0
	line	161
	colm	51
	synt	any
	field	X
	line	161
	colm	46
	synt	any
	mult
	line	161
	colm	35
	synt	any
	plus
	line	161
	colm	15
	synt	any
	asgn
	unmark
lab L8
	mark	L9
	pnull
	pnull
	var	1
	int	10
	line	162
	colm	10
	synt	any
	subsc
	real	6
	line	162
	colm	15
	synt	any
	asgn
	unmark
lab L9
	mark	L10
	pnull
	pnull
	var	1
	int	11
	line	164
	colm	10
	synt	any
	subsc
	pnull
	pnull
	pnull
	real	2
	pnull
	var	0
	line	164
	colm	25
	synt	any
	field	X
	line	164
	colm	20
	synt	any
	mult
	pnull
	var	0
	line	164
	colm	32
	synt	any
	field	Z
	line	164
	colm	27
	synt	any
	mult
	pnull
	pnull
	real	2
	pnull
	var	0
	line	164
	colm	43
	synt	any
	field	W
	line	164
	colm	38
	synt	any
	mult
	pnull
	var	0
	line	164
	colm	50
	synt	any
	field	Y
	line	164
	colm	45
	synt	any
	mult
	line	164
	colm	34
	synt	any
	plus
	line	164
	colm	14
	synt	any
	asgn
	unmark
lab L10
	mark	L11
	pnull
	pnull
	var	1
	int	12
	line	165
	colm	10
	synt	any
	subsc
	pnull
	pnull
	pnull
	real	2
	pnull
	var	0
	line	165
	colm	25
	synt	any
	field	Y
	line	165
	colm	20
	synt	any
	mult
	pnull
	var	0
	line	165
	colm	32
	synt	any
	field	Z
	line	165
	colm	27
	synt	any
	mult
	pnull
	pnull
	real	2
	pnull
	var	0
	line	165
	colm	43
	synt	any
	field	W
	line	165
	colm	38
	synt	any
	mult
	pnull
	var	0
	line	165
	colm	50
	synt	any
	field	X
	line	165
	colm	45
	synt	any
	mult
	line	165
	colm	34
	synt	any
	minus
	line	165
	colm	14
	synt	any
	asgn
	unmark
lab L11
	mark	L12
	pnull
	pnull
	var	1
	int	13
	line	166
	colm	10
	synt	any
	subsc
	pnull
	pnull
	real	1
	pnull
	pnull
	real	2
	pnull
	var	0
	line	166
	colm	32
	synt	any
	field	X
	line	166
	colm	27
	synt	any
	mult
	pnull
	var	0
	line	166
	colm	39
	synt	any
	field	X
	line	166
	colm	34
	synt	any
	mult
	line	166
	colm	22
	synt	any
	minus
	pnull
	pnull
	real	2
	pnull
	var	0
	line	166
	colm	50
	synt	any
	field	Y
	line	166
	colm	45
	synt	any
	mult
	pnull
	var	0
	line	166
	colm	57
	synt	any
	field	Y
	line	166
	colm	52
	synt	any
	mult
	line	166
	colm	41
	synt	any
	minus
	line	166
	colm	15
	synt	any
	asgn
	unmark
lab L12
	mark	L13
	pnull
	pnull
	var	1
	int	14
	line	167
	colm	10
	synt	any
	subsc
	real	6
	line	167
	colm	15
	synt	any
	asgn
	unmark
lab L13
	mark	L14
	pnull
	pnull
	var	1
	int	15
	line	169
	colm	10
	synt	any
	subsc
	real	6
	line	169
	colm	14
	synt	any
	asgn
	unmark
lab L14
	mark	L15
	pnull
	pnull
	var	1
	int	16
	line	170
	colm	10
	synt	any
	subsc
	real	6
	line	170
	colm	14
	synt	any
	asgn
	unmark
lab L15
	mark	L16
	pnull
	pnull
	var	1
	int	17
	line	171
	colm	10
	synt	any
	subsc
	real	6
	line	171
	colm	15
	synt	any
	asgn
	unmark
lab L16
	mark	L17
	pnull
	pnull
	var	1
	int	18
	line	172
	colm	10
	synt	any
	subsc
	real	1
	line	172
	colm	15
	synt	any
	asgn
	unmark
lab L17
	mark	L18
	mark	L19
	var	1
	line	175
	colm	4
	synt	any
	pret
lab L19
	synt	any
	pfail
	unmark
lab L18
	pnull
	line	176
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_slerp
	local	0,001000,self
	local	1,001000,a
	local	2,001000,b
	local	3,001000,t
	local	4,000020,omega
	local	5,000020,cosom
	local	6,000020,sinom
	local	7,000020,sclp
	local	8,000020,sclq
	local	9,000020,i
	local	10,000000,acos
	local	11,000000,sin
	con	0,004000,1.0
	con	1,004000,0.000001
	con	2,004000,0.5
	declend
	line	178
	colm	11
	synt	any
	mark	L1
	pnull
	var	5
	pnull
	pnull
	pnull
	pnull
	pnull
	var	1
	line	181
	colm	14
	synt	any
	field	X
	pnull
	var	2
	line	181
	colm	18
	synt	any
	field	X
	line	181
	colm	16
	synt	any
	mult
	pnull
	pnull
	var	1
	line	181
	colm	24
	synt	any
	field	Y
	pnull
	var	2
	line	181
	colm	28
	synt	any
	field	Y
	line	181
	colm	26
	synt	any
	mult
	line	181
	colm	21
	synt	any
	plus
	pnull
	pnull
	var	1
	line	181
	colm	34
	synt	any
	field	Z
	pnull
	var	2
	line	181
	colm	38
	synt	any
	field	Z
	line	181
	colm	36
	synt	any
	mult
	line	181
	colm	31
	synt	any
	plus
	pnull
	pnull
	var	1
	line	181
	colm	44
	synt	any
	field	W
	pnull
	var	2
	line	181
	colm	48
	synt	any
	field	W
	line	181
	colm	46
	synt	any
	mult
	line	181
	colm	41
	synt	any
	plus
	line	181
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	183
	colm	4
	synt	ifelse
	mark	L3
	pnull
	pnull
	real	0
	var	5
	line	183
	colm	12
	synt	any
	plus
	real	1
	line	183
	colm	20
	synt	any
	numgt
	unmark
	mark	L5
	line	184
	colm	7
	synt	ifelse
	mark	L6
	pnull
	pnull
	real	0
	var	5
	line	184
	colm	15
	synt	any
	minus
	real	1
	line	184
	colm	23
	synt	any
	numgt
	unmark
	mark	L8
	pnull
	var	4
	var	10
	var	5
	line	185
	colm	23
	synt	any
	invoke	1
	line	185
	colm	16
	synt	any
	asgn
	unmark
lab L8
	mark	L9
	pnull
	var	6
	var	11
	var	4
	line	186
	colm	22
	synt	any
	invoke	1
	line	186
	colm	16
	synt	any
	asgn
	unmark
lab L9
	mark	L10
	pnull
	var	7
	pnull
	var	11
	pnull
	pnull
	real	0
	var	3
	line	187
	colm	26
	synt	any
	minus
	var	4
	line	187
	colm	29
	synt	any
	mult
	line	187
	colm	21
	synt	any
	invoke	1
	var	6
	line	187
	colm	37
	synt	any
	div
	line	187
	colm	15
	synt	any
	asgn
	unmark
lab L10
	pnull
	var	8
	pnull
	var	11
	pnull
	var	3
	var	4
	line	188
	colm	23
	synt	any
	mult
	line	188
	colm	21
	synt	any
	invoke	1
	var	6
	line	188
	colm	31
	synt	any
	div
	line	188
	colm	15
	synt	any
	asgn
	goto	L7
lab L6
	mark	L11
	pnull
	var	7
	pnull
	real	0
	var	3
	line	191
	colm	22
	synt	any
	minus
	line	191
	colm	15
	synt	any
	asgn
	unmark
lab L11
	pnull
	var	8
	var	3
	line	192
	colm	15
	synt	any
	asgn
lab L7
	line	184
	colm	7
	synt	endifelse
	unmark
lab L5
	mark	L12
	pnull
	pnull
	var	0
	line	195
	colm	11
	synt	any
	field	X
	pnull
	pnull
	var	7
	pnull
	var	1
	line	195
	colm	21
	synt	any
	field	X
	line	195
	colm	19
	synt	any
	mult
	pnull
	var	8
	pnull
	var	2
	line	195
	colm	30
	synt	any
	field	X
	line	195
	colm	28
	synt	any
	mult
	line	195
	colm	23
	synt	any
	plus
	line	195
	colm	13
	synt	any
	asgn
	unmark
lab L12
	mark	L13
	pnull
	pnull
	var	0
	line	196
	colm	11
	synt	any
	field	Y
	pnull
	pnull
	var	7
	pnull
	var	1
	line	196
	colm	21
	synt	any
	field	Y
	line	196
	colm	19
	synt	any
	mult
	pnull
	var	8
	pnull
	var	2
	line	196
	colm	30
	synt	any
	field	Y
	line	196
	colm	28
	synt	any
	mult
	line	196
	colm	23
	synt	any
	plus
	line	196
	colm	13
	synt	any
	asgn
	unmark
lab L13
	mark	L14
	pnull
	pnull
	var	0
	line	197
	colm	11
	synt	any
	field	Z
	pnull
	pnull
	var	7
	pnull
	var	1
	line	197
	colm	21
	synt	any
	field	Z
	line	197
	colm	19
	synt	any
	mult
	pnull
	var	8
	pnull
	var	2
	line	197
	colm	30
	synt	any
	field	Z
	line	197
	colm	28
	synt	any
	mult
	line	197
	colm	23
	synt	any
	plus
	line	197
	colm	13
	synt	any
	asgn
	unmark
lab L14
	pnull
	pnull
	var	0
	line	198
	colm	11
	synt	any
	field	W
	pnull
	pnull
	var	7
	pnull
	var	1
	line	198
	colm	21
	synt	any
	field	W
	line	198
	colm	19
	synt	any
	mult
	pnull
	var	8
	pnull
	var	2
	line	198
	colm	30
	synt	any
	field	W
	line	198
	colm	28
	synt	any
	mult
	line	198
	colm	23
	synt	any
	plus
	line	198
	colm	13
	synt	any
	asgn
	goto	L4
lab L3
	mark	L15
	pnull
	pnull
	var	0
	line	201
	colm	11
	synt	any
	field	X
	pnull
	pnull
	var	1
	line	201
	colm	17
	synt	any
	field	Y
	line	201
	colm	15
	synt	any
	neg
	line	201
	colm	13
	synt	any
	asgn
	unmark
lab L15
	mark	L16
	pnull
	pnull
	var	0
	line	202
	colm	11
	synt	any
	field	Y
	pnull
	var	1
	line	202
	colm	16
	synt	any
	field	X
	line	202
	colm	13
	synt	any
	asgn
	unmark
lab L16
	mark	L17
	pnull
	pnull
	var	0
	line	203
	colm	11
	synt	any
	field	Z
	pnull
	pnull
	var	1
	line	203
	colm	17
	synt	any
	field	W
	line	203
	colm	15
	synt	any
	neg
	line	203
	colm	13
	synt	any
	asgn
	unmark
lab L17
	mark	L18
	pnull
	pnull
	var	0
	line	204
	colm	11
	synt	any
	field	W
	pnull
	var	1
	line	204
	colm	16
	synt	any
	field	Z
	line	204
	colm	13
	synt	any
	asgn
	unmark
lab L18
	mark	L19
	pnull
	var	7
	var	11
	pnull
	pnull
	pnull
	real	0
	var	3
	line	206
	colm	22
	synt	any
	minus
	line	206
	colm	28
	synt	any
	keywd	pi
	line	206
	colm	26
	synt	any
	mult
	real	2
	line	206
	colm	32
	synt	any
	mult
	line	206
	colm	17
	synt	any
	invoke	1
	line	206
	colm	11
	synt	any
	asgn
	unmark
lab L19
	mark	L20
	pnull
	var	8
	var	11
	pnull
	pnull
	var	3
	line	207
	colm	22
	synt	any
	keywd	pi
	line	207
	colm	20
	synt	any
	mult
	real	2
	line	207
	colm	26
	synt	any
	mult
	line	207
	colm	17
	synt	any
	invoke	1
	line	207
	colm	11
	synt	any
	asgn
	unmark
lab L20
	mark	L21
	pnull
	pnull
	var	0
	line	209
	colm	10
	synt	any
	field	X
	pnull
	pnull
	var	7
	pnull
	var	1
	line	209
	colm	20
	synt	any
	field	X
	line	209
	colm	18
	synt	any
	mult
	pnull
	var	8
	pnull
	var	2
	line	209
	colm	29
	synt	any
	field	X
	line	209
	colm	27
	synt	any
	mult
	line	209
	colm	22
	synt	any
	plus
	line	209
	colm	12
	synt	any
	asgn
	unmark
lab L21
	mark	L22
	pnull
	pnull
	var	0
	line	210
	colm	10
	synt	any
	field	Y
	pnull
	pnull
	var	7
	pnull
	var	1
	line	210
	colm	20
	synt	any
	field	Y
	line	210
	colm	18
	synt	any
	mult
	pnull
	var	8
	pnull
	var	2
	line	210
	colm	29
	synt	any
	field	Y
	line	210
	colm	27
	synt	any
	mult
	line	210
	colm	22
	synt	any
	plus
	line	210
	colm	12
	synt	any
	asgn
	unmark
lab L22
	pnull
	pnull
	var	0
	line	211
	colm	10
	synt	any
	field	Z
	pnull
	pnull
	var	7
	pnull
	var	1
	line	211
	colm	20
	synt	any
	field	Z
	line	211
	colm	18
	synt	any
	mult
	pnull
	var	8
	pnull
	var	2
	line	211
	colm	29
	synt	any
	field	Z
	line	211
	colm	27
	synt	any
	mult
	line	211
	colm	22
	synt	any
	plus
	line	211
	colm	12
	synt	any
	asgn
lab L4
	line	183
	colm	4
	synt	endifelse
	unmark
lab L2
	pnull
	line	213
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_expp
	local	0,001000,self
	local	1,000020,m
	local	2,000020,len
	local	3,000000,sqrt
	local	4,000000,sin
	local	5,000000,cos
	con	0,004000,0.000001
	con	1,004000,1.0
	declend
	line	216
	colm	11
	synt	any
	mark	L1
	pnull
	var	2
	var	3
	pnull
	pnull
	pnull
	pnull
	var	0
	line	219
	colm	20
	synt	any
	field	X
	pnull
	var	0
	line	219
	colm	27
	synt	any
	field	X
	line	219
	colm	22
	synt	any
	mult
	pnull
	pnull
	var	0
	line	219
	colm	34
	synt	any
	field	Y
	pnull
	var	0
	line	219
	colm	41
	synt	any
	field	Y
	line	219
	colm	36
	synt	any
	mult
	line	219
	colm	29
	synt	any
	plus
	pnull
	pnull
	var	0
	line	219
	colm	48
	synt	any
	field	Z
	pnull
	var	0
	line	219
	colm	55
	synt	any
	field	Z
	line	219
	colm	50
	synt	any
	mult
	line	219
	colm	43
	synt	any
	plus
	line	219
	colm	15
	synt	any
	invoke	1
	line	219
	colm	8
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	line	221
	colm	4
	synt	ifelse
	mark	L3
	pnull
	var	2
	real	0
	line	221
	colm	12
	synt	any
	numgt
	unmark
	pnull
	var	1
	pnull
	var	4
	var	2
	line	222
	colm	15
	synt	any
	invoke	1
	var	2
	line	222
	colm	20
	synt	any
	div
	line	222
	colm	9
	synt	any
	asgn
	goto	L4
lab L3
	pnull
	var	1
	real	1
	line	224
	colm	9
	synt	any
	asgn
lab L4
	line	221
	colm	4
	synt	endifelse
	unmark
lab L2
	mark	L5
	pnull
	pnull
	var	0
	line	226
	colm	8
	synt	any
	field	W
	var	5
	var	2
	line	226
	colm	15
	synt	any
	invoke	1
	line	226
	colm	10
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	0
	line	228
	colm	8
	synt	any
	field	X
	dup
	var	1
	line	228
	colm	10
	synt	any
	mult
	asgn
	unmark
lab L6
	mark	L7
	pnull
	pnull
	var	0
	line	229
	colm	8
	synt	any
	field	Y
	dup
	var	1
	line	229
	colm	10
	synt	any
	mult
	asgn
	unmark
lab L7
	mark	L8
	pnull
	pnull
	var	0
	line	230
	colm	8
	synt	any
	field	Z
	dup
	var	1
	line	230
	colm	10
	synt	any
	mult
	asgn
	unmark
lab L8
	mark	L9
	mark	L10
	var	0
	line	232
	colm	3
	synt	any
	pret
lab L10
	synt	any
	pfail
	unmark
lab L9
	pnull
	line	233
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_logg
	local	0,001000,self
	local	1,000020,len
	local	2,000000,sqrt
	local	3,000000,atan
	con	0,004000,0.0
	declend
	line	235
	colm	11
	synt	any
	mark	L1
	pnull
	var	1
	var	2
	pnull
	pnull
	pnull
	pnull
	var	0
	line	238
	colm	20
	synt	any
	field	X
	pnull
	var	0
	line	238
	colm	27
	synt	any
	field	X
	line	238
	colm	22
	synt	any
	mult
	pnull
	pnull
	var	0
	line	238
	colm	34
	synt	any
	field	Y
	pnull
	var	0
	line	238
	colm	41
	synt	any
	field	Y
	line	238
	colm	36
	synt	any
	mult
	line	238
	colm	29
	synt	any
	plus
	pnull
	pnull
	var	0
	line	238
	colm	48
	synt	any
	field	Z
	pnull
	var	0
	line	238
	colm	55
	synt	any
	field	Z
	line	238
	colm	50
	synt	any
	mult
	line	238
	colm	43
	synt	any
	plus
	line	238
	colm	15
	synt	any
	invoke	1
	line	238
	colm	8
	synt	any
	asgn
	unmark
lab L1
	mark	L2
	pnull
	var	1
	var	3
	pnull
	var	1
	pnull
	var	0
	line	239
	colm	24
	synt	any
	field	W
	line	239
	colm	19
	synt	any
	div
	line	239
	colm	15
	synt	any
	invoke	1
	line	239
	colm	8
	synt	any
	asgn
	unmark
lab L2
	mark	L3
	pnull
	pnull
	var	0
	line	241
	colm	8
	synt	any
	field	W
	real	0
	line	241
	colm	10
	synt	any
	asgn
	unmark
lab L3
	mark	L4
	pnull
	pnull
	var	0
	line	243
	colm	8
	synt	any
	field	X
	dup
	var	1
	line	243
	colm	10
	synt	any
	mult
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	0
	line	244
	colm	8
	synt	any
	field	Y
	dup
	var	1
	line	244
	colm	10
	synt	any
	mult
	asgn
	unmark
lab L5
	mark	L6
	pnull
	pnull
	var	0
	line	245
	colm	8
	synt	any
	field	Z
	dup
	var	1
	line	245
	colm	10
	synt	any
	mult
	asgn
	unmark
lab L6
	mark	L7
	mark	L8
	var	0
	line	247
	colm	3
	synt	any
	pret
lab L8
	synt	any
	pfail
	unmark
lab L7
	pnull
	line	248
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion_initially
	local	0,001000,self
	local	1,001000,w
	local	2,001000,x
	local	3,001000,y
	local	4,001000,z
	con	0,004000,1.0
	con	1,004000,0.0
	declend
	line	250
	colm	11
	synt	any
	mark	L1
	pnull
	pnull
	var	0
	line	251
	colm	8
	synt	any
	field	W
	mark	L2
	pnull
	var	1
	line	251
	colm	12
	synt	any
	nonnull
	line	251
	colm	14
	synt	any
	esusp
	goto	L3
lab L2
	real	0
lab L3
	line	251
	colm	10
	synt	any
	asgn
	unmark
lab L1
	mark	L4
	pnull
	pnull
	var	0
	line	252
	colm	8
	synt	any
	field	X
	mark	L5
	pnull
	var	2
	line	252
	colm	12
	synt	any
	nonnull
	line	252
	colm	14
	synt	any
	esusp
	goto	L6
lab L5
	real	1
lab L6
	line	252
	colm	10
	synt	any
	asgn
	unmark
lab L4
	mark	L7
	pnull
	pnull
	var	0
	line	253
	colm	8
	synt	any
	field	Y
	mark	L8
	pnull
	var	3
	line	253
	colm	12
	synt	any
	nonnull
	line	253
	colm	14
	synt	any
	esusp
	goto	L9
lab L8
	real	1
lab L9
	line	253
	colm	10
	synt	any
	asgn
	unmark
lab L7
	mark	L10
	pnull
	pnull
	var	0
	line	254
	colm	8
	synt	any
	field	Z
	mark	L11
	pnull
	var	4
	line	254
	colm	12
	synt	any
	nonnull
	line	254
	colm	14
	synt	any
	esusp
	goto	L12
lab L11
	real	1
lab L12
	line	254
	colm	10
	synt	any
	asgn
	unmark
lab L10
	mark	L13
	mark	L14
	pnull
	line	255
	colm	7
	synt	any
	pret
lab L14
	synt	any
	pfail
	unmark
lab L13
	pnull
	line	256
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternion
	local	0,001000,w
	local	1,001000,x
	local	2,001000,y
	local	3,001000,z
	local	4,000020,self
	local	5,000020,clone
	local	6,000000,graphics3d__Quaternion__oprec
	local	7,000000,graphics3d__Quaternioninitialize
	local	8,000000,graphics3d__Quaternion__state
	declend
	filen	__faux.icn
	line	5
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	line	8
	colm	3
	synt	if
	mark0
	pnull
	var	6
	line	8
	colm	6
	synt	any
	null
	unmark
	var	7
	line	8
	colm	74
	synt	any
	invoke	0
	line	8
	colm	3
	synt	endif
	unmark
lab L2
	einit	L1
lab L3
	mark	L4
	pnull
	var	4
	var	8
	line	10
	colm	41
	synt	any
	keywd	null
	var	6
	line	10
	colm	40
	synt	any
	invoke	2
	line	10
	colm	8
	synt	any
	asgn
	unmark
lab L4
	mark	L5
	pnull
	pnull
	var	4
	line	11
	colm	7
	synt	any
	field	__s
	var	4
	line	11
	colm	12
	synt	any
	asgn
	unmark
lab L5
	mark	L6
	mark	L7
	pnull
	pnull
	var	4
	line	12
	colm	7
	synt	any
	field	__m
	line	12
	colm	11
	synt	any
	field	initially
	var	4
	var	0
	var	1
	var	2
	var	3
	line	12
	colm	21
	synt	any
	invoke	5
	line	12
	colm	36
	synt	any
	esusp
	goto	L8
lab L7
	line	12
	colm	38
	synt	any
	pfail
lab L8
	unmark
lab L6
	mark	L9
	mark	L10
	var	4
	line	13
	colm	3
	synt	any
	pret
lab L10
	synt	any
	pfail
	unmark
lab L9
	pnull
	line	14
	colm	1
	synt	any
	pfail
	end
proc graphics3d__Quaternioninitialize
	local	0,000000,graphics3d__Quaternion__oprec
	local	1,000000,graphics3d__Quaternion__methods
	local	2,000000,graphics3d__Quaternion_set
	local	3,000000,graphics3d__Quaternion_print
	local	4,000000,graphics3d__Quaternion_mul
	local	5,000000,graphics3d__Quaternion_times
	local	6,000000,graphics3d__Quaternion_negate
	local	7,000000,graphics3d__Quaternion_invert
	local	8,000000,graphics3d__Quaternion_normalize
	local	9,000000,graphics3d__Quaternion_from_axis
	local	10,000000,graphics3d__Quaternion_to_matrix
	local	11,000000,graphics3d__Quaternion_to_matrixOLD
	local	12,000000,graphics3d__Quaternion_slerp
	local	13,000000,graphics3d__Quaternion_expp
	local	14,000000,graphics3d__Quaternion_logg
	local	15,000000,graphics3d__Quaternion_initially
	declend
	line	16
	colm	11
	synt	any
lab L1
	init	L3
	mark	L2
	pnull
	var	0
	var	1
	var	2
	var	3
	var	4
	var	5
	var	6
	var	7
	var	8
	var	9
	var	10
	var	11
	var	12
	var	13
	var	14
	var	15
	line	17
	colm	75
	synt	any
	invoke	14
	line	17
	colm	41
	synt	any
	asgn
	unmark
lab L2
	einit	L1
lab L3
	line	18
	colm	1
	synt	any
	pfail
	end
