
;  GNU C 2.7.2 [AL 1.1, MM 40] RISC NEWS-OS compiled by CC

;  Cc1 defaults:
;  -mmemcpy

;  Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1):
;  -quiet -dumpbase -O2 -Wall -o

gcc2_compiled.:
__gnu_compiled_c:
	.global	QUATERNION_0
	.code
	.align	2
QUATERNION_0:
	.word	0
	.word	0
	.word	0
	.word	0
	.global	QUATERNION_1
	.align	2
QUATERNION_1:
	.word	0
	.word	0
	.word	0
	.word	1024
	.code
	.align	1
	.global	qadd
qadd:
;	.frame	%sp,24,$31		# vars= 16, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	ld.w	%r11,[%sp+0xa]	; 	xld.w	%r11,[%sp+40]
	add	%r10,%r11
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	ld.w	%r11,[%sp+0xb]	; 	xld.w	%r11,[%sp+44]
	add	%r10,%r11
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x8]	; 	xld.w	%r10,[%sp+32]
	ld.w	%r11,[%sp+0xc]	; 	xld.w	%r11,[%sp+48]
	add	%r10,%r11
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r10,[%sp+0x9]	; 	xld.w	%r10,[%sp+36]
	ld.w	%r11,[%sp+0xd]	; 	xld.w	%r11,[%sp+52]
	add	%r10,%r11
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r0
	ret
	.align	1
	.global	qneg
qneg:
;	.frame	%sp,24,$31		# vars= 16, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x8]	; 	xld.w	%r10,[%sp+32]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r10,[%sp+0x9]	; 	xld.w	%r10,[%sp+36]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r0
	ret
	.align	1
	.global	qmul
qmul:
;	.frame	%sp,28,$31		# vars= 16, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r1,%r12
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0xe]	; 	xld.w	%r13,[%sp+56]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0xa]	; 	xld.w	%r12,[%sp+40]
	ld.w	%r13,[%sp+0xb]	; 	xld.w	%r13,[%sp+44]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,[%sp+0xd]	; 	xld.w	%r13,[%sp+52]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,[%sp+0xc]	; 	xld.w	%r13,[%sp+48]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x0],%r0	; 	xld.w	[%sp],%r0
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,[%sp+0xe]	; 	xld.w	%r13,[%sp+56]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0xa]	; 	xld.w	%r12,[%sp+40]
	ld.w	%r13,[%sp+0xc]	; 	xld.w	%r13,[%sp+48]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,[%sp+0xb]	; 	xld.w	%r13,[%sp+44]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0xd]	; 	xld.w	%r13,[%sp+52]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x1],%r0	; 	xld.w	[%sp+4],%r0
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,[%sp+0xe]	; 	xld.w	%r13,[%sp+56]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0xa]	; 	xld.w	%r12,[%sp+40]
	ld.w	%r13,[%sp+0xd]	; 	xld.w	%r13,[%sp+52]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0xc]	; 	xld.w	%r13,[%sp+48]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,[%sp+0xb]	; 	xld.w	%r13,[%sp+44]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x2],%r0	; 	xld.w	[%sp+8],%r0
	ld.w	%r12,[%sp+0xa]	; 	xld.w	%r12,[%sp+40]
	ld.w	%r13,[%sp+0xe]	; 	xld.w	%r13,[%sp+56]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ld.w	%r13,[%sp+0xb]	; 	xld.w	%r13,[%sp+44]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,[%sp+0xc]	; 	xld.w	%r13,[%sp+48]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,[%sp+0xd]	; 	xld.w	%r13,[%sp+52]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	[%sp+0x3],%r0	; 	xld.w	[%sp+12],%r0
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r1
	ret
	.align	1
	.global	qinv
qinv:
;	.frame	%sp,44,$31		# vars= 16, regs= 3/0, args= 16, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x8		; 	xsub	%sp,%sp,32
	ld.w	%r1,%r12
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,44
	add	%r13,0x2c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,16
	add	%r12,0x10
	ext	qconj@rm	; 	xcall	qconj
	call	qconj@rl
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,44
	add	%r13,0x2c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ext	qnorm2@rm	; 	xcall	qnorm2
	call	qnorm2@rl
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,16
	add	%r13,0x10
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	call	qfdiv		; 	xcall	qfdiv
	ld.w	%r10,%r1
	add	%sp,0x8		; 	xadd	%sp,%sp,32
	popn	%r1
	ret
	.align	1
	.global	qfmul
qfmul:
;	.frame	%sp,28,$31		# vars= 16, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,[%sp+0xa]	; 	xld.w	%r12,[%sp+40]
	ld.w	%r13,%r0
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r1
	ret
	.align	1
	.global	qimul
qimul:
;	.frame	%sp,24,$31		# vars= 16, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	mlt.w	%r10,%r13
	ld.w	%r11,%alr
	ld.w	[%sp+0x0],%r11	; 	xld.w	[%sp],%r11
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	mlt.w	%r10,%r13
	ld.w	%r11,%alr
	ld.w	[%sp+0x1],%r11	; 	xld.w	[%sp+4],%r11
	ld.w	%r10,[%sp+0x8]	; 	xld.w	%r10,[%sp+32]
	mlt.w	%r10,%r13
	ld.w	%r11,%alr
	ld.w	[%sp+0x2],%r11	; 	xld.w	[%sp+8],%r11
	ld.w	%r10,[%sp+0x9]	; 	xld.w	%r10,[%sp+36]
	mlt.w	%r10,%r13
	ld.w	%r11,%alr
	ld.w	[%sp+0x3],%r11	; 	xld.w	[%sp+12],%r11
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r0
	ret
	.align	1
	.global	qfdiv
qfdiv:
;	.frame	%sp,28,$31		# vars= 16, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,[%sp+0xa]	; 	xld.w	%r12,[%sp+40]
	ld.w	%r13,%r0
	ext	fdiv@rm		; 	xcall	fdiv
	call	fdiv@rl
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r1
	ret
	.align	1
	.global	qidiv
qidiv:
;	.frame	%sp,28,$31		# vars= 16, regs= 3/0, args= 0, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r1,%r12
	ld.w	%r0,%r13
	ld.w	%r12,[%sp+0x7]	; 	xld.w	%r12,[%sp+28]
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%r0
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,%r0
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r12,[%sp+0xa]	; 	xld.w	%r12,[%sp+40]
	ld.w	%r13,%r0
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r12,%r1
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r1
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r1
	ret
	.align	1
	.global	qconj
qconj:
;	.frame	%sp,24,$31		# vars= 16, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r0,%r12
	ld.w	%r10,[%sp+0x6]	; 	xld.w	%r10,[%sp+24]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x0],%r10	; 	xld.w	[%sp],%r10
	ld.w	%r10,[%sp+0x7]	; 	xld.w	%r10,[%sp+28]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x1],%r10	; 	xld.w	[%sp+4],%r10
	ld.w	%r10,[%sp+0x8]	; 	xld.w	%r10,[%sp+32]
	not	%r10,%r10
	add	%r10,1
	ld.w	[%sp+0x2],%r10	; 	xld.w	[%sp+8],%r10
	ld.w	%r10,[%sp+0x9]	; 	xld.w	%r10,[%sp+36]
	ld.w	[%sp+0x3],%r10	; 	xld.w	[%sp+12],%r10
	ld.w	%r13,%sp
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r0
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r0
	ret
	.align	1
	.global	qnorm
qnorm:
;	.frame	%sp,20,$31		# vars= 0, regs= 1/0, args= 16, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,20
	add	%r13,0x14
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	call	qnorm2		; 	xcall	qnorm2
	ld.w	%r12,%r10
	ext	fsqrt@rm	; 	xcall	fsqrt
	call	fsqrt@rl
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	ret
	.align	1
	.global	qnorm2
qnorm2:
;	.frame	%sp,36,$31		# vars= 0, regs= 1/0, args= 32, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	sub	%sp,0x8		; 	xsub	%sp,%sp,32
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,36
	add	%r13,0x24
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,16
	add	%r12,0x10
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,36
	add	%r13,0x24
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	call	qdot		; 	xcall	qdot
	add	%sp,0x8		; 	xadd	%sp,%sp,32
	ret
	.align	1
	.global	qnormal
qnormal:
;	.frame	%sp,28,$31		# vars= 0, regs= 3/0, args= 16, extra= 0
;	.mask	0x80030000,-4
;	.fmask	0x00000000,0
	pushn	%r1
	sub	%sp,0x4		; 	xsub	%sp,%sp,16
	ld.w	%r1,%r12
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,28
	add	%r13,0x1c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	call	qnorm		; 	xcall	qnorm
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,28
	add	%r13,0x1c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r1
	ld.w	%r13,%r0
	ext	qfdiv@rm	; 	xcall	qfdiv
	call	qfdiv@rl
	ld.w	%r10,%r1
	add	%sp,0x4		; 	xadd	%sp,%sp,16
	popn	%r1
	ret
	.align	1
	.global	qdot
qdot:
;	.frame	%sp,8,$31		# vars= 0, regs= 2/0, args= 0, extra= 0
;	.mask	0x80010000,-4
;	.fmask	0x00000000,0
	pushn	%r0
	ld.w	%r12,[%sp+0x2]	; 	xld.w	%r12,[%sp+8]
	ld.w	%r13,[%sp+0x6]	; 	xld.w	%r13,[%sp+24]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x3]	; 	xld.w	%r12,[%sp+12]
	ld.w	%r13,[%sp+0x7]	; 	xld.w	%r13,[%sp+28]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x4]	; 	xld.w	%r12,[%sp+16]
	ld.w	%r13,[%sp+0x8]	; 	xld.w	%r13,[%sp+32]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r12,[%sp+0x5]	; 	xld.w	%r12,[%sp+20]
	ld.w	%r13,[%sp+0x9]	; 	xld.w	%r13,[%sp+36]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	ld.w	%r10,%r0
	popn	%r0
	ret
	.align	1
	.global	qrot
qrot:
;	.frame	%sp,60,$31		# vars= 28, regs= 5/0, args= 12, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0xa		; 	xsub	%sp,%sp,40
	ld.w	%r3,%r12
	ld.w	%r0,[%sp+0xf]	; 	xld.w	%r0,[%sp+60]
	ld.w	[%sp+0x0],%r13	; 	xld.w	[%sp],%r13
	ld.w	[%sp+0x1],%r14	; 	xld.w	[%sp+4],%r14
	ld.w	[%sp+0x2],%r15	; 	xld.w	[%sp+8],%r15
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,12
	add	%r12,0xc
	ext	vnormal@rm	; 	xcall	vnormal
	call	vnormal@rl
	ld.w	%r12,%r0
	ld.w	%r13,0x2	; 	xld.w	%r13,0x00000002		; 2
	ext	__divsi3@rm	; 	xcall	__divsi3
	call	__divsi3@rl
	ld.w	%r2,%r10
	ld.w	%r12,%r2
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r0,%sp		; 	xadd	%r0,%sp,12
	add	%r0,0xc
	ld.w	%r12,%sp
	ld.w	%r13,%r0
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	vfmul@rm	; 	xcall	vfmul
	call	vfmul@rl
	ld.w	%r10,[%sp+0x3]	; 	xld.w	%r10,[%sp+12]
	ld.w	[%sp+0x6],%r10	; 	xld.w	[%sp+24],%r10
	ld.w	%r10,[%sp+0x4]	; 	xld.w	%r10,[%sp+16]
	ld.w	[%sp+0x7],%r10	; 	xld.w	[%sp+28],%r10
	ld.w	%r10,[%sp+0x5]	; 	xld.w	%r10,[%sp+20]
	ld.w	[%sp+0x8],%r10	; 	xld.w	[%sp+32],%r10
	ld.w	%r12,%r2
	ext	fcos@rm		; 	xcall	fcos
	call	fcos@rl
	ld.w	[%sp+0x9],%r10	; 	xld.w	[%sp+36],%r10
	ld.w	%r12,%r3
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,24
	add	%r13,0x18
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,%r3
	add	%sp,0xa		; 	xadd	%sp,%sp,40
	popn	%r3
	ret
	.align	1
	.global	qslerp
qslerp:
;	.frame	%sp,60,$31		# vars= 8, regs= 5/0, args= 32, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0xa		; 	xsub	%sp,%sp,40
	ld.w	[%sp+0x8],%r12	; 	xld.w	[%sp+32],%r12
	ld.w	%r1,%r13
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,60
	add	%r13,0x3c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r11,%sp	; 	xadd	%r11,%sp,16
	add	%r11,0x10
	ld.w	[%sp+0x9],%r11	; 	xld.w	[%sp+36],%r11
	ld.w	%r2,%sp		; 	xadd	%r2,%sp,76
	ext	0x1
	add	%r2,0xc
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,%r2
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	call	qdot		; 	xcall	qdot
	ld.w	%r12,%r10
	ext	facos@rm	; 	xcall	facos
	call	facos@rl
	ld.w	%r0,%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r3,%r10
	cmp	%r3,0x0
	jreq	__LX128		; 	xjreq	__L128
	ld.w	%r12,%r0
	ld.w	%r13,%r1
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	ld.w	%r12,%r10
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r1,%r10
	ld.w	%r12,%r0
	ext	fsin@rm		; 	xcall	fsin
	call	fsin@rl
	ld.w	%r0,%r10
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,60
	add	%r13,0x3c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,60
	add	%r12,0x3c
	ld.w	%r13,%r0
	ext	qfmul@rm	; 	xcall	qfmul
	call	qfmul@rl
	ld.w	%r12,%sp
	ld.w	%r13,%r2
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ext	qfmul@rm	; 	xcall	qfmul
	call	qfmul@rl
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,60
	add	%r13,0x3c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x9]	; 	xld.w	%r12,[%sp+36]
	ld.w	%r13,%r2
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,60
	add	%r12,0x3c
	ext	qadd@rm		; 	xcall	qadd
	call	qadd@rl
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,60
	add	%r13,0x3c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%sp	; 	xadd	%r12,%sp,60
	add	%r12,0x3c
	ld.w	%r13,%r3
	ext	qfdiv@rm	; 	xcall	qfdiv
	call	qfdiv@rl
__LX128:				; __L128:
	ld.w	%r12,[%sp+0x8]	; 	xld.w	%r12,[%sp+32]
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,60
	add	%r13,0x3c
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,[%sp+0x8]	; 	xld.w	%r10,[%sp+32]
	add	%sp,0xa		; 	xadd	%sp,%sp,40
	popn	%r3
	ret
	.align	1
	.global	vrotq
vrotq:
;	.frame	%sp,108,$31		# vars= 56, regs= 5/0, args= 32, extra= 0
;	.mask	0x800f0000,-4
;	.fmask	0x00000000,0
	pushn	%r3
	sub	%sp,0x16	; 	xsub	%sp,%sp,88
	ld.w	[%sp+0x14],%r12	; 	xld.w	[%sp+80],%r12
	ld.w	%r10,[%sp+0x1b]	; 	xld.w	%r10,[%sp+108]
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r10,[%sp+0x1c]	; 	xld.w	%r10,[%sp+112]
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r10,[%sp+0x1d]	; 	xld.w	%r10,[%sp+116]
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r1,%sp		; 	xadd	%r1,%sp,32
	add	%r1,0x20
	ld.w	%r11,%sp	; 	xadd	%r11,%sp,48
	add	%r11,0x30
	ld.w	[%sp+0x15],%r11	; 	xld.w	[%sp+84],%r11
	ld.w	%r12,%r1
	ld.w	%r13,[%sp+0x15]	; 	xld.w	%r13,[%sp+84]
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r3,%sp		; 	xadd	%r3,%sp,120
	ext	0x1
	add	%r3,0x38
	ld.w	%r12,%sp
	ld.w	%r13,%r3
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r2,%sp		; 	xadd	%r2,%sp,16
	add	%r2,0x10
	ld.w	%r12,%r2
	ld.w	%r13,%r1
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x15]	; 	xld.w	%r12,[%sp+84]
	ext	qmul@rm		; 	xcall	qmul
	call	qmul@rl
	ld.w	%r0,%sp		; 	xadd	%r0,%sp,64
	ext	0x1
	add	%r0,0x0
	ld.w	%r12,%sp
	ld.w	%r13,%r3
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r0
	ext	qconj@rm	; 	xcall	qconj
	call	qconj@rl
	ld.w	%r12,%sp
	ld.w	%r13,[%sp+0x15]	; 	xld.w	%r13,[%sp+84]
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r2
	ld.w	%r13,%r0
	ld.w	%r14,0x10	; 	xld.w	%r14,0x00000010		; 16
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,%r1
	ext	qmul@rm		; 	xcall	qmul
	call	qmul@rl
	ld.w	%r10,[%sp+0x8]	; 	xld.w	%r10,[%sp+32]
	ld.w	[%sp+0xc],%r10	; 	xld.w	[%sp+48],%r10
	ld.w	%r10,[%sp+0x9]	; 	xld.w	%r10,[%sp+36]
	ld.w	[%sp+0xd],%r10	; 	xld.w	[%sp+52],%r10
	ld.w	%r10,[%sp+0xa]	; 	xld.w	%r10,[%sp+40]
	ld.w	[%sp+0xe],%r10	; 	xld.w	[%sp+56],%r10
	ld.w	%r12,[%sp+0x14]	; 	xld.w	%r12,[%sp+80]
	ld.w	%r13,[%sp+0x15]	; 	xld.w	%r13,[%sp+84]
	ld.w	%r14,0xc	; 	xld.w	%r14,0x0000000c		; 12
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r10,[%sp+0x14]	; 	xld.w	%r10,[%sp+80]
	add	%sp,0x16	; 	xadd	%sp,%sp,88
	popn	%r3
	ret
	.align	1
	.global	mrotq
mrotq:
;	.frame	%sp,112,$31		# vars= 0, regs= 4/0, args= 96, extra= 0
;	.mask	0x80070000,-4
;	.fmask	0x00000000,0
	pushn	%r2
	sub	%sp,0x18	; 	xsub	%sp,%sp,96
	ld.w	%r2,%r12
	ld.w	%r12,%sp
	ld.w	%r13,%sp	; 	xadd	%r13,%sp,112
	ext	0x1
	add	%r13,0x30
	ext	0x0		; 	xld.w	%r14,0x00000030		; 48
	ld.w	%r14,0x30
	ext	memcpy@rm	; 	xcall	memcpy
	call	memcpy@rl
	ld.w	%r12,[%sp+0x29]	; 	xld.w	%r12,[%sp+164]
	ld.w	%r13,%r12
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x2a]	; 	xld.w	%r12,[%sp+168]
	ld.w	%r13,%r12
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ext	0x10		; 	xld.w	%r1,0x00000400		; 1024
	ld.w	%r1,0x0
	ld.w	%r11,%r1
	sub	%r11,%r0
	ld.w	%r0,%r11
	ld.w	[%sp+0xc],%r0	; 	xld.w	[%sp+48],%r0
	ld.w	%r12,[%sp+0x28]	; 	xld.w	%r12,[%sp+160]
	ld.w	%r13,[%sp+0x29]	; 	xld.w	%r13,[%sp+164]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x2a]	; 	xld.w	%r12,[%sp+168]
	ld.w	%r13,[%sp+0x2b]	; 	xld.w	%r13,[%sp+172]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	[%sp+0xd],%r0	; 	xld.w	[%sp+52],%r0
	ld.w	%r12,[%sp+0x2a]	; 	xld.w	%r12,[%sp+168]
	ld.w	%r13,[%sp+0x28]	; 	xld.w	%r13,[%sp+160]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x29]	; 	xld.w	%r12,[%sp+164]
	ld.w	%r13,[%sp+0x2b]	; 	xld.w	%r13,[%sp+172]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	[%sp+0xe],%r0	; 	xld.w	[%sp+56],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0xf],%r11	; 	xld.w	[%sp+60],%r11
	ld.w	%r12,[%sp+0x28]	; 	xld.w	%r12,[%sp+160]
	ld.w	%r13,[%sp+0x29]	; 	xld.w	%r13,[%sp+164]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x2a]	; 	xld.w	%r12,[%sp+168]
	ld.w	%r13,[%sp+0x2b]	; 	xld.w	%r13,[%sp+172]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	[%sp+0x10],%r0	; 	xld.w	[%sp+64],%r0
	ld.w	%r12,[%sp+0x2a]	; 	xld.w	%r12,[%sp+168]
	ld.w	%r13,%r12
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x28]	; 	xld.w	%r12,[%sp+160]
	ld.w	%r13,%r12
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	%r11,%r1
	sub	%r11,%r0
	ld.w	%r0,%r11
	ld.w	[%sp+0x11],%r0	; 	xld.w	[%sp+68],%r0
	ld.w	%r12,[%sp+0x29]	; 	xld.w	%r12,[%sp+164]
	ld.w	%r13,[%sp+0x2a]	; 	xld.w	%r13,[%sp+168]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x28]	; 	xld.w	%r12,[%sp+160]
	ld.w	%r13,[%sp+0x2b]	; 	xld.w	%r13,[%sp+172]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	[%sp+0x12],%r0	; 	xld.w	[%sp+72],%r0
	ld.w	%r11,0x0
	ld.w	[%sp+0x13],%r11	; 	xld.w	[%sp+76],%r11
	ld.w	%r12,[%sp+0x2a]	; 	xld.w	%r12,[%sp+168]
	ld.w	%r13,[%sp+0x28]	; 	xld.w	%r13,[%sp+160]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x29]	; 	xld.w	%r12,[%sp+164]
	ld.w	%r13,[%sp+0x2b]	; 	xld.w	%r13,[%sp+172]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	sub	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	[%sp+0x14],%r0	; 	xld.w	[%sp+80],%r0
	ld.w	%r12,[%sp+0x29]	; 	xld.w	%r12,[%sp+164]
	ld.w	%r13,[%sp+0x2a]	; 	xld.w	%r13,[%sp+168]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x28]	; 	xld.w	%r12,[%sp+160]
	ld.w	%r13,[%sp+0x2b]	; 	xld.w	%r13,[%sp+172]
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	ld.w	[%sp+0x15],%r0	; 	xld.w	[%sp+84],%r0
	ld.w	%r12,[%sp+0x28]	; 	xld.w	%r12,[%sp+160]
	ld.w	%r13,%r12
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	ld.w	%r0,%r10
	ld.w	%r12,[%sp+0x29]	; 	xld.w	%r12,[%sp+164]
	ld.w	%r13,%r12
	ext	fmul@rm		; 	xcall	fmul
	call	fmul@rl
	add	%r0,%r10
	sll	%r0,0x1		; 	xsll	%r0,1
	sub	%r1,%r0
	ld.w	[%sp+0x16],%r1	; 	xld.w	[%sp+88],%r1
	ld.w	%r11,0x0
	ld.w	[%sp+0x17],%r11	; 	xld.w	[%sp+92],%r11
	ld.w	%r12,%r2
	ext	mxform@rm	; 	xcall	mxform
	call	mxform@rl
	ld.w	%r10,%r2
	add	%sp,0x18	; 	xadd	%sp,%sp,96
	popn	%r2
	ret
