	.file	"extr_sqlite3.c_whereCombineDisjuncts.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	whereCombineDisjuncts, @function
whereCombineDisjuncts:
.LFB0:
	.cfi_startproc
	endbr64
	mov	r8d, DWORD PTR WO_GT[rip]
	mov	eax, DWORD PTR WO_LT[rip]
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	mov	r14, rcx
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	mov	ecx, DWORD PTR WO_EQ[rip]
	mov	r13, rdx
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	mov	rbp, rsi
	mov	esi, DWORD PTR WO_GE[rip]
	or	eax, ecx
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	mov	ebx, DWORD PTR [rdx]
	mov	edx, r8d
	or	eax, DWORD PTR WO_LE[rip]
	or	edx, esi
	or	edx, eax
	test	ebx, edx
	je	.L1
	mov	r12, rdi
	mov	edi, DWORD PTR [r14]
	test	edi, edx
	je	.L1
	or	ebx, edi
	and	eax, ebx
	cmp	eax, ebx
	je	.L5
	or	ecx, r8d
	or	ecx, esi
	and	ecx, ebx
	cmp	ecx, ebx
	je	.L5
.L1:
	pop	rbx
	.cfi_remember_state
	.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
	.p2align 4,,10
	.p2align 3
.L5:
	.cfi_restore_state
	mov	rax, QWORD PTR 8[r13]
	xor	edi, edi
	cmp	QWORD PTR [rax], 0
	je	.L6
	xor	edi, edi
	cmp	QWORD PTR 8[rax], 0
	setne	dil
.L6:
	call	assert@PLT
	mov	rax, QWORD PTR 8[r14]
	xor	edi, edi
	cmp	QWORD PTR [rax], 0
	je	.L7
	xor	edi, edi
	cmp	QWORD PTR 8[rax], 0
	setne	dil
.L7:
	call	assert@PLT
	mov	rcx, QWORD PTR 8[r14]
	mov	rax, QWORD PTR 8[r13]
	mov	edx, -1
	mov	rsi, QWORD PTR [rcx]
	mov	rdi, QWORD PTR [rax]
	call	sqlite3ExprCompare@PLT
	test	rax, rax
	jne	.L1
	mov	rax, QWORD PTR 8[r14]
	mov	edx, -1
	mov	rsi, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[r13]
	mov	rdi, QWORD PTR 8[rax]
	call	sqlite3ExprCompare@PLT
	test	rax, rax
	jne	.L1
	lea	eax, -1[rbx]
	test	eax, ebx
	jne	.L26
.L8:
	mov	rax, QWORD PTR 0[rbp]
	mov	rsi, QWORD PTR 8[r13]
	xor	edx, edx
	mov	rax, QWORD PTR [rax]
	mov	rdi, QWORD PTR [rax]
	call	sqlite3ExprDup@PLT
	mov	r14, rax
	test	rax, rax
	je	.L1
	cmp	ebx, DWORD PTR WO_EQ[rip]
	mov	r13d, DWORD PTR TK_EQ[rip]
	je	.L9
	.p2align 4,,10
	.p2align 3
.L10:
	xor	edi, edi
	cmp	DWORD PTR TK_GE[rip], r13d
	setg	dil
	add	r13d, 1
	call	assert@PLT
	mov	eax, DWORD PTR WO_EQ[rip]
	mov	ecx, r13d
	sub	ecx, DWORD PTR TK_EQ[rip]
	sal	eax, cl
	cmp	eax, ebx
	jne	.L10
.L9:
	mov	DWORD PTR [r14], r13d
	mov	rsi, r14
	mov	rdi, rbp
	mov	edx, DWORD PTR TERM_VIRTUAL[rip]
	or	edx, DWORD PTR TERM_DYNAMIC[rip]
	call	whereClauseInsert@PLT
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	mov	rsi, rbp
	mov	rdi, r12
	pop	rbp
	.cfi_def_cfa_offset 32
	mov	edx, eax
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	jmp	exprAnalyze@PLT
	.p2align 4,,10
	.p2align 3
.L26:
	.cfi_restore_state
	mov	eax, DWORD PTR WO_LE[rip]
	mov	edx, DWORD PTR WO_LT[rip]
	or	edx, eax
	test	edx, ebx
	je	.L27
	mov	ebx, eax
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L27:
	mov	edi, DWORD PTR WO_GT[rip]
	or	edi, DWORD PTR WO_GE[rip]
	and	edi, ebx
	call	assert@PLT
	mov	ebx, DWORD PTR WO_GE[rip]
	jmp	.L8
	.cfi_endproc
.LFE0:
	.size	whereCombineDisjuncts, .-whereCombineDisjuncts
	.comm	WO_LT,4,4
	.comm	WO_LE,4,4
	.comm	WO_GT,4,4
	.comm	WO_GE,4,4
	.comm	WO_EQ,4,4
	.comm	TK_GE,4,4
	.comm	TK_EQ,4,4
	.comm	TERM_VIRTUAL,4,4
	.comm	TERM_DYNAMIC,4,4
	.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_sqlite3.c_whereCombineDisjuncts.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	whereCombineDisjuncts, %function
whereCombineDisjuncts:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r4, r2
	mov	r6, r0
	ldr	r8, .L31
	ldr	r9, .L31+4
	ldr	r10, .L31+8
	ldr	r7, .L31+12
	ldr	r0, .L31+16
	ldr	lr, [r8]
	ldr	ip, [r9]
	ldr	r2, [r10]
	ldr	r0, [r0]
	ldr	fp, [r7]
	orr	ip, lr, ip
	orr	ip, ip, r2
	ldr	r5, [r4]
	orr	r2, r0, fp
	orr	r2, r2, ip
	sub	sp, sp, #12
	tst	r5, r2
	stm	sp, {r1, r6}
	beq	.L1
	mov	r6, r3
	ldr	r3, [r3]
	tst	r3, r2
	beq	.L1
	orr	r5, r5, r3
	bics	r3, r5, ip
	beq	.L5
	orr	lr, lr, r0
	orr	fp, lr, fp
	bics	r3, r5, fp
	beq	.L5
.L1:
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L5:
	ldr	r3, [r4, #4]
	ldr	r0, [r3]
	cmp	r0, #0
	beq	.L6
	ldr	r0, [r3, #4]
	subs	r0, r0, #0
	movne	r0, #1
.L6:
	bl	assert
	ldr	r3, [r6, #4]
	ldr	r0, [r3]
	cmp	r0, #0
	beq	.L7
	ldr	r0, [r3, #4]
	subs	r0, r0, #0
	movne	r0, #1
.L7:
	bl	assert
	ldr	r2, [r6, #4]
	ldr	r3, [r4, #4]
	ldr	r1, [r2]
	ldr	r0, [r3]
	mvn	r2, #0
	bl	sqlite3ExprCompare
	cmp	r0, #0
	bne	.L1
	ldr	r2, [r6, #4]
	ldr	r3, [r4, #4]
	ldr	r1, [r2, #4]
	ldr	r0, [r3, #4]
	mvn	r2, #0
	bl	sqlite3ExprCompare
	cmp	r0, #0
	bne	.L1
	sub	r3, r5, #1
	tst	r3, r5
	bne	.L30
.L8:
	ldr	r3, [sp]
	mov	r2, #0
	ldr	r3, [r3]
	ldr	r1, [r4, #4]
	ldr	r3, [r3]
	ldr	r0, [r3]
	bl	sqlite3ExprDup
	subs	r6, r0, #0
	beq	.L1
	ldr	r3, [r8]
	ldr	r9, .L31+20
	cmp	r5, r3
	ldr	r4, [r9]
	beq	.L9
	ldr	r10, .L31+24
.L10:
	ldr	r0, [r10]
	cmp	r0, r4
	movle	r0, #0
	movgt	r0, #1
	bl	assert
	ldr	r3, [r9]
	ldr	r2, [r8]
	add	r4, r4, #1
	sub	r3, r4, r3
	cmp	r5, r2, lsl r3
	bne	.L10
.L9:
	ldr	r2, .L31+28
	ldr	r3, .L31+32
	str	r4, [r6]
	ldr	r3, [r3]
	ldr	r4, [sp]
	ldr	r2, [r2]
	mov	r1, r6
	orr	r2, r2, r3
	mov	r0, r4
	bl	whereClauseInsert
	mov	r1, r4
	mov	r2, r0
	ldr	r0, [sp, #4]
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	b	exprAnalyze
.L30:
	ldr	r2, [r10]
	ldr	r3, [r9]
	orr	r3, r2, r3
	tst	r3, r5
	movne	r5, r2
	bne	.L8
	ldr	r3, .L31+16
	ldr	r0, [r3]
	ldr	r3, [r7]
	orr	r0, r0, r3
	and	r0, r0, r5
	bl	assert
	ldr	r5, [r7]
	b	.L8
.L32:
	.align	2
.L31:
	.word	WO_EQ
	.word	WO_LT
	.word	WO_LE
	.word	WO_GE
	.word	WO_GT
	.word	TK_EQ
	.word	TK_GE
	.word	TERM_VIRTUAL
	.word	TERM_DYNAMIC
	.size	whereCombineDisjuncts, .-whereCombineDisjuncts
	.comm	WO_LT,4,4
	.comm	WO_LE,4,4
	.comm	WO_GT,4,4
	.comm	WO_GE,4,4
	.comm	WO_EQ,4,4
	.comm	TK_GE,4,4
	.comm	TK_EQ,4,4
	.comm	TERM_VIRTUAL,4,4
	.comm	TERM_DYNAMIC,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
