	.file	"extr_gu.c_c_guQuatNormalize.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	c_guQuatNormalize
	.type	c_guQuatNormalize, @function
c_guQuatNormalize:
.LFB0:
	.cfi_startproc
	endbr64
	movss	xmm3, DWORD PTR [rdi]
	movss	xmm2, DWORD PTR 4[rdi]
	movss	xmm1, DWORD PTR 8[rdi]
	movss	xmm4, DWORD PTR 12[rdi]
	movaps	xmm0, xmm3
	movaps	xmm5, xmm2
	mulss	xmm5, xmm2
	mulss	xmm0, xmm3
	addss	xmm0, xmm5
	movaps	xmm5, xmm1
	mulss	xmm5, xmm1
	addss	xmm0, xmm5
	movaps	xmm5, xmm4
	mulss	xmm5, xmm4
	addss	xmm0, xmm5
	pxor	xmm5, xmm5
	ucomiss	xmm0, xmm5
	jp	.L2
	jne	.L2
	mov	QWORD PTR [rsi], 0
	mov	QWORD PTR 8[rsi], 0
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	sub	rsp, 40
	.cfi_def_cfa_offset 48
	ucomiss	xmm5, xmm0
	movaps	xmm6, xmm0
	sqrtss	xmm6, xmm6
	ja	.L11
.L5:
	movss	xmm0, DWORD PTR .LC1[rip]
	divss	xmm0, xmm6
	mulss	xmm3, xmm0
	mulss	xmm2, xmm0
	mulss	xmm1, xmm0
	mulss	xmm4, xmm0
	movss	DWORD PTR [rsi], xmm3
	movss	DWORD PTR 4[rsi], xmm2
	movss	DWORD PTR 8[rsi], xmm1
	movss	DWORD PTR 12[rsi], xmm4
	add	rsp, 40
	.cfi_remember_state
	.cfi_def_cfa_offset 8
	ret
.L11:
	.cfi_restore_state
	mov	QWORD PTR 24[rsp], rsi
	mov	QWORD PTR 16[rsp], rdi
	movss	DWORD PTR 12[rsp], xmm6
	call	sqrtf@PLT
	mov	rdi, QWORD PTR 16[rsp]
	mov	rsi, QWORD PTR 24[rsp]
	movss	xmm6, DWORD PTR 12[rsp]
	movss	xmm3, DWORD PTR [rdi]
	movss	xmm2, DWORD PTR 4[rdi]
	movss	xmm1, DWORD PTR 8[rdi]
	movss	xmm4, DWORD PTR 12[rdi]
	jmp	.L5
	.cfi_endproc
.LFE0:
	.size	c_guQuatNormalize, .-c_guQuatNormalize
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC1:
	.long	1065353216
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_gu.c_c_guQuatNormalize.c"
	.text
	.global	__aeabi_fmul
	.global	__aeabi_fadd
	.global	__aeabi_fcmpeq
	.global	__aeabi_fdiv
	.align	2
	.global	c_guQuatNormalize
	.syntax unified
	.arm
	.fpu softvfp
	.type	c_guQuatNormalize, %function
c_guQuatNormalize:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	r3, [r0]	@ float
	push	{r4, r5, r6, r7, r8, lr}
	mov	r4, r0
	mov	r5, r1
	mov	r0, r3
	mov	r1, r3
	bl	__aeabi_fmul
	ldr	r1, [r4, #4]	@ float
	mov	r6, r0
	mov	r0, r1
	bl	__aeabi_fmul
	mov	r1, r0
	mov	r0, r6
	bl	__aeabi_fadd
	ldr	r1, [r4, #8]	@ float
	mov	r6, r0
	mov	r0, r1
	bl	__aeabi_fmul
	mov	r1, r0
	mov	r0, r6
	bl	__aeabi_fadd
	ldr	r1, [r4, #12]	@ float
	mov	r6, r0
	mov	r0, r1
	bl	__aeabi_fmul
	mov	r1, r0
	mov	r0, r6
	mov	r6, #0
	bl	__aeabi_fadd
	mov	r1, r6
	mov	r7, r0
	bl	__aeabi_fcmpeq
	cmp	r0, #0
	beq	.L6
	str	r6, [r5, #12]	@ float
	str	r6, [r5, #8]	@ float
	str	r6, [r5, #4]	@ float
	str	r6, [r5]	@ float
	pop	{r4, r5, r6, r7, r8, pc}
.L6:
	mov	r0, r7
	bl	sqrtf
	mov	r1, r0
	mov	r0, #1065353216
	bl	__aeabi_fdiv
	mov	r6, r0
	ldr	r0, [r4]	@ float
	mov	r1, r6
	bl	__aeabi_fmul
	mov	r1, r6
	str	r0, [r5]	@ float
	ldr	r0, [r4, #4]	@ float
	bl	__aeabi_fmul
	mov	r1, r6
	str	r0, [r5, #4]	@ float
	ldr	r0, [r4, #8]	@ float
	bl	__aeabi_fmul
	mov	r1, r6
	str	r0, [r5, #8]	@ float
	ldr	r0, [r4, #12]	@ float
	bl	__aeabi_fmul
	str	r0, [r5, #12]	@ float
	pop	{r4, r5, r6, r7, r8, pc}
	.size	c_guQuatNormalize, .-c_guQuatNormalize
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
