	.file	"extr_stext-search.c_find_closest_in_page.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	find_closest_in_page, @function
find_closest_in_page:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 56
	.cfi_def_cfa_offset 112
	mov	rbp, QWORD PTR [rdi]
	test	rbp, rbp
	je	.L14
	movss	xmm6, DWORD PTR .LC0[rip]
	mov	r12, rsi
	mov	r13, rdx
	xor	ebx, ebx
	mov	DWORD PTR 44[rsp], 0
	mov	QWORD PTR 32[rsp], 0
	movss	DWORD PTR 16[rsp], xmm6
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L3:
	mov	rbp, QWORD PTR 16[rbp]
	test	rbp, rbp
	je	.L43
.L12:
	mov	rax, QWORD PTR FZ_STEXT_BLOCK_TEXT[rip]
	cmp	QWORD PTR 0[rbp], rax
	jne	.L3
	mov	r15, QWORD PTR 8[rbp]
	test	r15, r15
	jne	.L11
	jmp	.L3
	.p2align 4,,10
	.p2align 3
.L4:
	cmp	r13, rdi
	jl	.L7
	cmp	r13, r8
	jg	.L7
	cmp	r12, rcx
	jl	.L44
	pxor	xmm0, xmm0
	cmp	r12, r14
	jg	.L45
	.p2align 4,,10
	.p2align 3
.L6:
	movss	xmm5, DWORD PTR 16[rsp]
	comiss	xmm5, xmm0
	jbe	.L9
	mov	DWORD PTR 44[rsp], ebx
	mov	QWORD PTR 32[rsp], r15
	movss	DWORD PTR 16[rsp], xmm0
.L9:
	mov	rdi, r15
	call	line_length@PLT
	mov	r15, QWORD PTR 32[r15]
	add	ebx, eax
	test	r15, r15
	je	.L3
.L11:
	mov	r14, QWORD PTR 8[r15]
	mov	rcx, QWORD PTR [r15]
	mov	rdi, QWORD PTR 16[r15]
	mov	r8, QWORD PTR 24[r15]
	cmp	r12, r14
	jg	.L4
	cmp	r12, rcx
	jl	.L4
	cmp	r13, rdi
	jl	.L46
	pxor	xmm0, xmm0
	cmp	r13, r8
	jle	.L6
	mov	rdi, r13
	xor	esi, esi
	sub	rdi, r8
	call	dist2@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L7:
	mov	r10, r12
	mov	rsi, r13
	mov	QWORD PTR 24[rsp], r8
	sub	r10, rcx
	sub	rsi, rdi
	mov	rdi, r10
	mov	QWORD PTR [rsp], r10
	mov	QWORD PTR 8[rsp], rsi
	call	dist2@PLT
	mov	rax, r12
	mov	rsi, QWORD PTR 8[rsp]
	sub	rax, r14
	movss	DWORD PTR 40[rsp], xmm0
	mov	rdi, rax
	mov	r14, rax
	call	dist2@PLT
	mov	r8, QWORD PTR 24[rsp]
	mov	r10, QWORD PTR [rsp]
	mov	rsi, r13
	movss	DWORD PTR 20[rsp], xmm0
	sub	rsi, r8
	mov	rdi, r10
	mov	QWORD PTR 8[rsp], rsi
	call	dist2@PLT
	mov	rsi, QWORD PTR 8[rsp]
	mov	rdi, r14
	movss	DWORD PTR [rsp], xmm0
	call	dist2@PLT
	movss	xmm2, DWORD PTR [rsp]
	movaps	xmm1, xmm0
	movaps	xmm0, xmm2
	call	fz_min@PLT
	movss	xmm4, DWORD PTR 20[rsp]
	movss	xmm3, DWORD PTR 40[rsp]
	movss	DWORD PTR [rsp], xmm0
	movaps	xmm1, xmm4
	movaps	xmm0, xmm3
	call	fz_min@PLT
	movss	xmm2, DWORD PTR [rsp]
	movaps	xmm1, xmm2
	call	fz_min@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L44:
	sub	rcx, r12
	xor	esi, esi
	mov	rdi, rcx
	call	dist2@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L46:
	sub	rdi, r13
	xor	esi, esi
	call	dist2@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L45:
	mov	rdi, r12
	xor	esi, esi
	sub	rdi, r14
	call	dist2@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L43:
	mov	rax, QWORD PTR 32[rsp]
	test	rax, rax
	jne	.L47
.L14:
	add	rsp, 56
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L47:
	.cfi_restore_state
	mov	esi, DWORD PTR 44[rsp]
	add	rsp, 56
	.cfi_def_cfa_offset 56
	mov	rdx, r12
	mov	rcx, r13
	pop	rbx
	.cfi_def_cfa_offset 48
	mov	rdi, rax
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	jmp	find_closest_in_line@PLT
	.cfi_endproc
.LFE0:
	.size	find_closest_in_page, .-find_closest_in_page
	.comm	FZ_STEXT_BLOCK_TEXT,8,8
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC0:
	.long	1900671690
	.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_stext-search.c_find_closest_in_page.c"
	.text
	.global	__aeabi_fcmplt
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	find_closest_in_page, %function
find_closest_in_page:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	sub	sp, sp, #36
	add	r3, sp, #24
	stm	r3, {r1, r2}
	ldr	r10, [r0]
	ldr	r8, [sp, #28]
	cmp	r10, #0
	beq	.L14
	mov	r9, #0
	mov	r7, r1
	ldr	fp, .L38
	str	r9, [sp, #16]
	str	r9, [sp, #12]
	b	.L12
.L3:
	ldr	r10, [r10, #8]
	cmp	r10, #0
	beq	.L31
.L12:
	ldr	r3, .L38+4
	ldr	r2, [r10]
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L3
	ldr	r4, [r10, #4]
	cmp	r4, #0
	beq	.L3
	str	r10, [sp, #20]
	b	.L11
.L7:
	sub	r5, r7, r5
	sub	r1, r8, r2
	mov	r0, r5
	str	r3, [sp, #8]
	str	r1, [sp, #4]
	bl	dist2
	sub	r6, r7, r6
	mov	r10, r0
	ldr	r1, [sp, #4]
	mov	r0, r6
	bl	dist2
	mov	ip, r0
	ldr	r3, [sp, #8]
	mov	r0, r5
	sub	r1, r8, r3
	mov	r5, ip
	str	r1, [sp, #4]
	bl	dist2
	mov	r3, r0
	ldr	r1, [sp, #4]
	mov	r0, r6
	mov	r6, r3
	bl	dist2
	mov	r3, r0
	mov	r1, r5
	mov	r0, r10
	mov	r5, r3
	bl	fz_min
	mov	r3, r0
	mov	r1, r5
	mov	r0, r6
	mov	r5, r3
	bl	fz_min
	mov	r1, r0
	mov	r0, r5
	bl	fz_min
	mov	r5, r0
.L6:
	mov	r1, fp
	mov	r0, r5
	bl	__aeabi_fcmplt
	cmp	r0, #0
	mov	r0, r4
	strne	r9, [sp, #16]
	strne	r4, [sp, #12]
	movne	fp, r5
	bl	line_length
	ldr	r4, [r4, #16]
	add	r9, r9, r0
	cmp	r4, #0
	beq	.L32
.L11:
	ldm	r4, {r5, r6}
	cmp	r7, r6
	movgt	r1, #0
	movle	r1, #1
	cmp	r7, r5
	movlt	r1, #0
	cmp	r1, #0
	ldr	r2, [r4, #8]
	ldr	r3, [r4, #12]
	bne	.L33
	cmp	r8, r2
	movlt	r0, #0
	movge	r0, #1
	cmp	r8, r3
	movgt	r0, #0
	cmp	r0, #0
	beq	.L7
	cmp	r7, r5
	blt	.L34
	cmp	r7, r6
	bgt	.L35
.L16:
	mov	r5, #0
	b	.L6
.L33:
	cmp	r8, r2
	blt	.L36
	cmp	r8, r3
	ble	.L16
	mov	r1, #0
	sub	r0, r8, r3
	bl	dist2
	mov	r5, r0
	b	.L6
.L32:
	ldr	r10, [sp, #20]
	ldr	r10, [r10, #8]
	cmp	r10, #0
	bne	.L12
.L31:
	ldr	r0, [sp, #12]
	cmp	r0, #0
	bne	.L37
.L14:
	mov	r0, #0
	add	sp, sp, #36
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L34:
	sub	r0, r5, r7
	bl	dist2
	mov	r5, r0
	b	.L6
.L36:
	mov	r1, #0
	sub	r0, r2, r8
	bl	dist2
	mov	r5, r0
	b	.L6
.L35:
	sub	r0, r7, r6
	bl	dist2
	mov	r5, r0
	b	.L6
.L37:
	ldr	r1, [sp, #16]
	add	r3, sp, #24
	ldm	r3, {r2, r3}
	add	sp, sp, #36
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	find_closest_in_line
.L39:
	.align	2
.L38:
	.word	1900671690
	.word	FZ_STEXT_BLOCK_TEXT
	.size	find_closest_in_page, .-find_closest_in_page
	.comm	FZ_STEXT_BLOCK_TEXT,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
