	.file	"extr_vout_helper.c_UpdateZ.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	UpdateZ, @function
UpdateZ:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	mov	rbx, rdi
	sub	rsp, 16
	.cfi_def_cfa_offset 32
	mov	eax, DWORD PTR [rdi]
	mov	edi, eax
	shr	edi, 31
	add	edi, eax
	sar	edi
	call	tanf@PLT
	mov	eax, DWORD PTR 4[rbx]
	movss	DWORD PTR 8[rsp], xmm0
	mov	edi, eax
	shr	edi, 31
	add	edi, eax
	sar	edi
	call	tanf@PLT
	movss	xmm1, DWORD PTR 8[rsp]
	movss	xmm4, DWORD PTR SPHERE_RADIUS[rip]
	mulss	xmm0, xmm0
	mulss	xmm1, xmm1
	movss	DWORD PTR 12[rsp], xmm4
	addss	xmm0, xmm1
	call	sqrtf@PLT
	mov	edi, eax
	call	atanf@PLT
	mov	edi, eax
	call	sinf@PLT
	movss	xmm6, DWORD PTR M_PI[rip]
	pxor	xmm1, xmm1
	movss	xmm7, DWORD PTR .LC0[rip]
	movss	xmm5, DWORD PTR .LC1[rip]
	cvtsi2ss	xmm1, DWORD PTR [rbx]
	movaps	xmm3, xmm6
	mulss	xmm3, xmm7
	divss	xmm3, xmm5
	comiss	xmm3, xmm1
	jb	.L7
	mov	DWORD PTR 8[rbx], 0x00000000
	add	rsp, 16
	.cfi_remember_state
	.cfi_def_cfa_offset 16
	pop	rbx
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L7:
	.cfi_restore_state
	movss	xmm3, DWORD PTR FIELD_OF_VIEW_DEGREES_MAX[rip]
	movaps	xmm4, xmm0
	movss	xmm0, DWORD PTR 12[rsp]
	xorps	xmm0, XMMWORD PTR .LC3[rip]
	subss	xmm3, xmm7
	divss	xmm0, xmm4
	mulss	xmm3, xmm6
	divss	xmm3, xmm5
	movaps	xmm2, xmm0
	divss	xmm2, xmm3
	mulss	xmm1, xmm2
	mulss	xmm2, xmm7
	mulss	xmm2, xmm6
	divss	xmm2, xmm5
	subss	xmm1, xmm2
	maxss	xmm0, xmm1
	movss	DWORD PTR 8[rbx], xmm0
	add	rsp, 16
	.cfi_def_cfa_offset 16
	pop	rbx
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE0:
	.size	UpdateZ, .-UpdateZ
	.comm	SPHERE_RADIUS,4,4
	.comm	M_PI,4,4
	.comm	FIELD_OF_VIEW_DEGREES_MAX,4,4
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC0:
	.long	1119092736
	.align 4
.LC1:
	.long	1127481344
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC3:
	.long	2147483648
	.long	0
	.long	0
	.long	0
	.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_vout_helper.c_UpdateZ.c"
	.text
	.global	__aeabi_fmul
	.global	__aeabi_fadd
	.global	__aeabi_i2f
	.global	__aeabi_fdiv
	.global	__aeabi_fcmple
	.global	__aeabi_fsub
	.global	__aeabi_fcmplt
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	UpdateZ, %function
UpdateZ:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	mov	r4, r0
	ldr	r0, [r0]
	add	r0, r0, r0, lsr #31
	asr	r0, r0, #1
	bl	tanf
	ldr	r3, [r4, #4]
	mov	r6, r0
	add	r3, r3, r3, lsr #31
	asr	r0, r3, #1
	bl	tanf
	mov	r5, r0
	ldr	r3, .L10
	mov	r1, r6
	mov	r0, r6
	ldr	r8, [r3]	@ float
	bl	__aeabi_fmul
	mov	r1, r5
	mov	r5, r0
	mov	r0, r1
	bl	__aeabi_fmul
	mov	r1, r0
	mov	r0, r5
	bl	__aeabi_fadd
	bl	sqrtf
	bl	atanf
	bl	sinf
	mov	r6, r0
	ldr	r0, [r4]
	bl	__aeabi_i2f
	ldr	r3, .L10+4
	mov	r5, r0
	ldr	r7, [r3]	@ float
	ldr	r1, .L10+8
	mov	r0, r7
	bl	__aeabi_fmul
	ldr	r1, .L10+12
	bl	__aeabi_fdiv
	mov	r1, r0
	mov	r0, r5
	bl	__aeabi_fcmple
	cmp	r0, #0
	beq	.L7
	mov	r3, #0
	str	r3, [r4, #8]	@ float
	pop	{r4, r5, r6, r7, r8, pc}
.L7:
	mov	r1, r6
	add	r0, r8, #-2147483648
	bl	__aeabi_fdiv
	ldr	r3, .L10+16
	mov	r6, r0
	ldr	r1, .L10+8
	ldr	r0, [r3]	@ float
	bl	__aeabi_fsub
	mov	r1, r7
	bl	__aeabi_fmul
	ldr	r1, .L10+12
	bl	__aeabi_fdiv
	mov	r1, r0
	mov	r0, r6
	bl	__aeabi_fdiv
	mov	r8, r0
	mov	r0, r5
	mov	r1, r8
	bl	__aeabi_fmul
	ldr	r1, .L10+8
	mov	r5, r0
	mov	r0, r8
	bl	__aeabi_fmul
	mov	r1, r7
	bl	__aeabi_fmul
	ldr	r1, .L10+12
	bl	__aeabi_fdiv
	mov	r1, r0
	mov	r0, r5
	bl	__aeabi_fsub
	mov	r1, r6
	mov	r5, r0
	bl	__aeabi_fcmplt
	cmp	r0, #0
	streq	r5, [r4, #8]	@ float
	strne	r6, [r4, #8]	@ float
	pop	{r4, r5, r6, r7, r8, pc}
.L11:
	.align	2
.L10:
	.word	SPHERE_RADIUS
	.word	M_PI
	.word	1119092736
	.word	1127481344
	.word	FIELD_OF_VIEW_DEGREES_MAX
	.size	UpdateZ, .-UpdateZ
	.comm	SPHERE_RADIUS,4,4
	.comm	M_PI,4,4
	.comm	FIELD_OF_VIEW_DEGREES_MAX,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
