	.file	"extr_tetrahedron.c_TH_HashVec.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC1:
	.string	"HashVec: point %f %f %f outside valid range"
	.text
	.p2align 4
	.globl	TH_HashVec
	.type	TH_HashVec, @function
TH_HashVec:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	push	rbx
	.cfi_def_cfa_offset 24
	.cfi_offset 3, -24
	sub	rsp, 8
	.cfi_def_cfa_offset 32
	mov	rsi, QWORD PTR [rdi]
	mov	r8, QWORD PTR 8[rdi]
	movsd	xmm2, QWORD PTR .LC0[rip]
	mov	edx, DWORD PTR MAX_MAP_BOUNDS[rip]
	cvtsi2sd	xmm1, rsi
	mov	ecx, DWORD PTR VERTEXHASH_SHIFT[rip]
	cvtsi2sd	xmm0, r8
	addsd	xmm1, xmm2
	addsd	xmm0, xmm2
	cvttsd2si	eax, xmm1
	cvttsd2si	ebx, xmm0
	add	eax, edx
	sar	eax, cl
	add	ebx, edx
	mov	ebp, eax
	sar	ebx, cl
	test	eax, eax
	js	.L2
	mov	eax, DWORD PTR VERTEXHASH_SIZE[rip]
	mov	edx, ebx
	shr	edx, 31
	cmp	eax, ebp
	setle	cl
	or	cl, dl
	jne	.L2
	cmp	eax, ebx
	jg	.L3
.L2:
	mov	rcx, QWORD PTR 16[rdi]
	mov	rdx, r8
	lea	rdi, .LC1[rip]
	call	Error@PLT
	mov	eax, DWORD PTR VERTEXHASH_SIZE[rip]
.L3:
	imul	ebx, eax
	add	rsp, 8
	.cfi_def_cfa_offset 24
	lea	eax, [rbx+rbp]
	pop	rbx
	.cfi_def_cfa_offset 16
	pop	rbp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE0:
	.size	TH_HashVec, .-TH_HashVec
	.comm	VERTEXHASH_SIZE,4,4
	.comm	VERTEXHASH_SHIFT,4,4
	.comm	MAX_MAP_BOUNDS,4,4
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	0
	.long	1071644672
	.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_tetrahedron.c_TH_HashVec.c"
	.text
	.global	__aeabi_i2d
	.global	__aeabi_dadd
	.global	__aeabi_d2iz
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"HashVec: point %f %f %f outside valid range\000"
	.text
	.align	2
	.global	TH_HashVec
	.syntax unified
	.arm
	.fpu softvfp
	.type	TH_HashVec, %function
TH_HashVec:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	ldr	r7, [r0]
	ldr	r2, .L11
	ldr	r3, .L11+4
	mov	r6, r0
	mov	r0, r7
	ldr	r9, [r3]
	ldr	r5, [r2]
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L11+8
	bl	__aeabi_dadd
	bl	__aeabi_d2iz
	ldr	r8, [r6, #4]
	add	r4, r0, r5
	mov	r0, r8
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L11+8
	bl	__aeabi_dadd
	bl	__aeabi_d2iz
	asr	r4, r4, r9
	add	r5, r0, r5
	cmp	r4, #0
	asr	r5, r5, r9
	ldr	r9, .L11+12
	blt	.L2
	ldr	r0, [r9]
	cmp	r0, r4
	movgt	r3, #0
	movle	r3, #1
	orr	r3, r3, r5, lsr #31
	cmp	r0, r5
	orrle	r3, r3, #1
	cmp	r3, #0
	beq	.L3
.L2:
	mov	r2, r8
	mov	r1, r7
	ldr	r3, [r6, #8]
	ldr	r0, .L11+16
	bl	Error
	ldr	r0, [r9]
.L3:
	mla	r0, r5, r0, r4
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L12:
	.align	2
.L11:
	.word	MAX_MAP_BOUNDS
	.word	VERTEXHASH_SHIFT
	.word	1071644672
	.word	VERTEXHASH_SIZE
	.word	.LC0
	.size	TH_HashVec, .-TH_HashVec
	.comm	VERTEXHASH_SIZE,4,4
	.comm	VERTEXHASH_SHIFT,4,4
	.comm	MAX_MAP_BOUNDS,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
