	.file	"extr_gistbuild.c_gistInitBuffering.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC3:
	.string	"failed to switch to buffered GiST build"
	.align 8
.LC4:
	.string	"switched to buffered GiST build; level step = %d, pagesPerBuffer = %d"
	.text
	.p2align 4
	.type	gistInitBuffering, @function
gistInitBuffering:
.LFB0:
	.cfi_startproc
	endbr64
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	pxor	xmm1, xmm1
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	mov	r12, rdi
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	sub	rsp, 32
	.cfi_def_cfa_offset 80
	movsd	xmm0, QWORD PTR BLCKSZ[rip]
	mov	rbp, QWORD PTR 32[rdi]
	cvtsi2sd	xmm1, DWORD PTR SizeOfPageHeaderData[rip]
	subsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC0[rip]
	subsd	xmm0, xmm1
	subsd	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR [rdi]
	subsd	xmm0, xmm1
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, QWORD PTR 24[rdi]
	movsd	QWORD PTR 8[rsp], xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, QWORD PTR 16[rdi]
	mov	edi, 4
	divsd	xmm1, xmm0
	movsd	QWORD PTR 24[rsp], xmm1
	call	MAXALIGN@PLT
	pxor	xmm7, xmm7
	mov	rdi, QWORD PTR 0[rbp]
	cvtsi2sd	xmm7, rax
	mov	eax, DWORD PTR [rdi]
	movsd	QWORD PTR 16[rsp], xmm7
	test	eax, eax
	jle	.L2
	xor	ebx, ebx
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L15:
	pxor	xmm0, xmm0
	mov	rdi, QWORD PTR 0[rbp]
	add	ebx, 1
	cvtsi2sd	xmm0, QWORD PTR VARHDRSZ[rip]
	addsd	xmm0, QWORD PTR 16[rsp]
	movsd	QWORD PTR 16[rsp], xmm0
	cmp	DWORD PTR [rdi], ebx
	jle	.L2
.L5:
	mov	esi, ebx
	call	TupleDescAttr@PLT
	cmp	QWORD PTR [rax], 0
	js	.L15
	mov	rdi, QWORD PTR 0[rbp]
	mov	esi, ebx
	add	ebx, 1
	call	TupleDescAttr@PLT
	pxor	xmm0, xmm0
	mov	rdi, QWORD PTR 0[rbp]
	cvtsi2sd	xmm0, QWORD PTR [rax]
	addsd	xmm0, QWORD PTR 16[rsp]
	movsd	QWORD PTR 16[rsp], xmm0
	cmp	DWORD PTR [rdi], ebx
	jg	.L5
.L2:
	movsd	xmm7, QWORD PTR 8[rsp]
	mov	r13d, 1
	movapd	xmm6, xmm7
	divsd	xmm7, QWORD PTR 16[rsp]
	divsd	xmm6, QWORD PTR 24[rsp]
	movsd	QWORD PTR 24[rsp], xmm7
	movsd	QWORD PTR 8[rsp], xmm6
	jmp	.L7
	.p2align 4,,10
	.p2align 3
.L16:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, QWORD PTR maintenance_work_mem[rip]
	mulsd	xmm0, QWORD PTR .LC2[rip]
	divsd	xmm0, QWORD PTR BLCKSZ[rip]
	comisd	xmm1, xmm0
	ja	.L6
.L7:
	mov	ebx, r13d
	pxor	xmm1, xmm1
	add	r13d, 1
	movsd	xmm0, QWORD PTR 8[rsp]
	cvtsi2sd	xmm1, r13d
	call	pow@PLT
	pxor	xmm2, xmm2
	pxor	xmm1, xmm1
	movsd	xmm3, QWORD PTR .LC1[rip]
	mov	r8d, eax
	cvtsi2sd	xmm1, ebx
	mov	eax, 1
	movsd	xmm0, QWORD PTR 24[rsp]
	sub	eax, r8d
	subsd	xmm3, QWORD PTR 8[rsp]
	cvtsi2sd	xmm2, eax
	divsd	xmm2, xmm3
	movsd	QWORD PTR 16[rsp], xmm2
	call	pow@PLT
	mov	edx, DWORD PTR effective_cache_size[rip]
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	cvtsi2sd	xmm1, eax
	movsd	xmm2, QWORD PTR 16[rsp]
	test	edx, edx
	lea	eax, 3[rdx]
	cmovns	eax, edx
	sar	eax, 2
	cvtsi2sd	xmm0, eax
	comisd	xmm2, xmm0
	jbe	.L16
.L6:
	sub	ebx, 1
	je	.L17
	mov	esi, ebx
	mov	rdi, r12
	call	calculatePagesPerBuffer@PLT
	mov	rdi, rbp
	mov	r14d, eax
	call	gistGetMaxLevel@PLT
	mov	esi, ebx
	mov	edi, r14d
	mov	edx, eax
	call	gistInitBuildBuffers@PLT
	mov	rdi, r12
	mov	DWORD PTR 8[r12], eax
	call	gistInitParentMap@PLT
	mov	eax, DWORD PTR GIST_BUFFERING_ACTIVE[rip]
	mov	ecx, r14d
	mov	edx, ebx
	mov	edi, DWORD PTR DEBUG1[rip]
	lea	rsi, .LC4[rip]
	mov	DWORD PTR 4[r12], eax
	add	rsp, 32
	.cfi_remember_state
	.cfi_def_cfa_offset 48
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	jmp	elog@PLT
	.p2align 4,,10
	.p2align 3
.L17:
	.cfi_restore_state
	mov	edi, DWORD PTR DEBUG1[rip]
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	elog@PLT
	mov	eax, DWORD PTR GIST_BUFFERING_DISABLED[rip]
	mov	DWORD PTR 4[r12], eax
	add	rsp, 32
	.cfi_def_cfa_offset 48
	pop	rbx
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE0:
	.size	gistInitBuffering, .-gistInitBuffering
	.comm	maintenance_work_mem,8,8
	.comm	effective_cache_size,4,4
	.comm	VARHDRSZ,8,8
	.comm	SizeOfPageHeaderData,4,4
	.comm	GIST_BUFFERING_DISABLED,4,4
	.comm	GIST_BUFFERING_ACTIVE,4,4
	.comm	DEBUG1,4,4
	.comm	BLCKSZ,8,8
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	0
	.long	1074790400
	.align 8
.LC1:
	.long	0
	.long	1072693248
	.align 8
.LC2:
	.long	0
	.long	1083179008
	.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_gistbuild.c_gistInitBuffering.c"
	.text
	.global	__aeabi_i2d
	.global	__aeabi_dsub
	.global	__aeabi_ddiv
	.global	__aeabi_dadd
	.global	__aeabi_dcmplt
	.global	__aeabi_dmul
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"failed to switch to buffered GiST build\000"
	.align	2
.LC1:
	.ascii	"switched to buffered GiST build; level step = %d, p"
	.ascii	"agesPerBuffer = %d\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	gistInitBuffering, %function
gistInitBuffering:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 0, uses_anonymous_args = 0
	mov	r3, r0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	ldr	r2, .L19
	sub	sp, sp, #28
	ldr	r0, [r2]
	mov	r8, r3
	str	r3, [sp, #20]
	bl	__aeabi_i2d
	mov	r3, r1
	ldr	r1, .L19+4
	mov	r2, r0
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, #0
	ldr	r3, .L19+8
	bl	__aeabi_dsub
	mov	r2, #0
	ldr	r3, .L19+8
	bl	__aeabi_dsub
	mov	r4, r0
	ldr	r0, [r8]
	mov	r5, r1
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r6, r0
	ldr	r0, [r8, #16]
	mov	r7, r1
	bl	__aeabi_i2d
	mov	r4, r0
	ldr	r0, [r8, #12]
	mov	r5, r1
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, #4
	stm	sp, {r2-r3}
	ldr	fp, [r8, #20]
	bl	MAXALIGN
	bl	__aeabi_i2d
	mov	r4, r0
	ldr	r0, [fp]
	mov	r5, r1
	ldr	r3, [r0]
	cmp	r3, #0
	ble	.L2
	mov	r8, #0
	ldr	r9, .L19+12
	b	.L5
.L16:
	ldr	r0, [r9]
.L14:
	bl	__aeabi_i2d
	mov	r3, r1
	mov	r2, r0
	mov	r1, r5
	mov	r0, r4
	bl	__aeabi_dadd
	mov	r4, r0
	ldr	r0, [fp]
	add	r8, r8, #1
	ldr	r3, [r0]
	mov	r5, r1
	cmp	r3, r8
	ble	.L2
.L5:
	mov	r1, r8
	bl	TupleDescAttr
	ldr	r3, [r0]
	cmp	r3, #0
	blt	.L16
	mov	r1, r8
	ldr	r0, [fp]
	bl	TupleDescAttr
	ldr	r0, [r0]
	b	.L14
.L2:
	ldmia	sp, {r2-r3}
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r4
	mov	r8, r0
	mov	r9, r1
	mov	r3, r5
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r4, #1
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	ldr	r10, .L19+16
	b	.L7
.L17:
	ldr	r3, .L19+20
	ldr	r0, [r3]
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L19+24
	bl	__aeabi_dmul
	ldr	r3, .L19+4
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	ldmia	sp, {r2-r3}
	bl	__aeabi_dcmplt
	cmp	r0, #0
	bne	.L6
.L7:
	mov	r5, r4
	add	r4, r4, #1
	mov	r0, r4
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	pow
	rsb	r0, r0, #1
	bl	__aeabi_i2d
	mov	r2, r8
	mov	r6, r0
	mov	r7, r1
	mov	r3, r9
	mov	r0, #0
	ldr	r1, .L19+28
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r6, r0
	mov	r0, r5
	mov	r7, r1
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	add	r1, sp, #8
	ldmia	r1, {r0-r1}
	bl	pow
	bl	__aeabi_i2d
	ldr	r3, [r10]
	stm	sp, {r0-r1}
	cmp	r3, #0
	add	r0, r3, #3
	movlt	r3, r0
	asr	r0, r3, #2
	bl	__aeabi_i2d
	mov	r2, r6
	mov	r3, r7
	bl	__aeabi_dcmplt
	cmp	r0, #0
	beq	.L17
.L6:
	subs	r5, r5, #1
	beq	.L18
	ldr	r6, [sp, #20]
	mov	r1, r5
	mov	r0, r6
	bl	calculatePagesPerBuffer
	mov	r4, r0
	mov	r0, fp
	bl	gistGetMaxLevel
	mov	r1, r5
	mov	r2, r0
	mov	r0, r4
	bl	gistInitBuildBuffers
	mov	r3, r0
	mov	r0, r6
	str	r3, [r6, #8]
	bl	gistInitParentMap
	ldr	r3, .L19+32
	mov	r2, r5
	ldr	r0, [r3]
	mov	r3, r4
	ldr	r1, .L19+36
	str	r0, [r6, #4]
	ldr	r0, [r1]
	ldr	r1, .L19+40
	add	sp, sp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	elog
.L18:
	ldr	r3, .L19+36
	ldr	r1, .L19+44
	ldr	r0, [r3]
	bl	elog
	ldr	r3, .L19+48
	ldr	r2, [sp, #20]
	ldr	r3, [r3]
	str	r3, [r2, #4]
	add	sp, sp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L20:
	.align	2
.L19:
	.word	SizeOfPageHeaderData
	.word	BLCKSZ
	.word	1074790400
	.word	VARHDRSZ
	.word	effective_cache_size
	.word	maintenance_work_mem
	.word	1083179008
	.word	1072693248
	.word	GIST_BUFFERING_ACTIVE
	.word	DEBUG1
	.word	.LC1
	.word	.LC0
	.word	GIST_BUFFERING_DISABLED
	.size	gistInitBuffering, .-gistInitBuffering
	.comm	maintenance_work_mem,4,4
	.comm	effective_cache_size,4,4
	.comm	VARHDRSZ,4,4
	.comm	SizeOfPageHeaderData,4,4
	.comm	GIST_BUFFERING_DISABLED,4,4
	.comm	GIST_BUFFERING_ACTIVE,4,4
	.comm	DEBUG1,4,4
	.comm	BLCKSZ,8,8
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
