	.file	"extr_sqlite3.c_computeJD.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	computeJD, @function
computeJD:
.LFB0:
	.cfi_startproc
	endbr64
	mov	eax, DWORD PTR [rdi]
	test	eax, eax
	jne	.L1
	movabs	rax, 211813444800000
	cmp	QWORD PTR 48[rdi], 0
	je	.L6
	mov	edx, DWORD PTR 8[rdi]
	movsx	rax, DWORD PTR 4[rdi]
	mov	r8d, DWORD PTR 12[rdi]
	cmp	edx, 2
	jle	.L5
	lea	esi, 4716[rax]
	add	edx, 1
	pxor	xmm0, xmm0
	imul	esi, esi, 36525
	imul	edx, edx, 306001
	imul	rax, rax, 1374389535
	movsx	rcx, esi
	sar	esi, 31
	imul	rcx, rcx, 1374389535
	sar	rcx, 37
	sub	ecx, esi
	mov	esi, 3518437209
	imul	rdx, rsi
	mov	rsi, rax
	sar	rax, 39
	sar	rsi, 37
	sub	eax, esi
	shr	rdx, 45
	add	edx, ecx
	add	edx, r8d
	lea	eax, 2[rdx+rax]
	cvtsi2sd	xmm0, eax
	subsd	xmm0, QWORD PTR .LC0[rip]
	mulsd	xmm0, QWORD PTR .LC1[rip]
	cvttsd2si	rax, xmm0
.L6:
	cmp	QWORD PTR 40[rdi], 0
	mov	QWORD PTR 56[rdi], rax
	mov	DWORD PTR [rdi], 1
	je	.L1
	imul	ecx, DWORD PTR 20[rdi], 60000
	imul	edx, DWORD PTR 16[rdi], 3600000
	add	edx, ecx
	imul	ecx, DWORD PTR 24[rdi], 1000
	movsx	rdx, edx
	movsx	rcx, ecx
	add	rdx, rcx
	add	rax, rdx
	cmp	QWORD PTR 32[rdi], 0
	mov	QWORD PTR 56[rdi], rax
	je	.L1
	imul	edx, DWORD PTR 28[rdi], 60000
	mov	QWORD PTR 48[rdi], 0
	mov	QWORD PTR 40[rdi], 0
	mov	QWORD PTR 32[rdi], 0
	movsx	rdx, edx
	sub	rax, rdx
	mov	QWORD PTR 56[rdi], rax
.L1:
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	lea	esi, -1[rax]
	add	eax, 4715
	pxor	xmm0, xmm0
	add	edx, 13
	imul	eax, eax, 36525
	movsx	rsi, esi
	imul	edx, edx, 306001
	imul	rsi, rsi, 1374389535
	movsx	rcx, eax
	sar	eax, 31
	imul	rcx, rcx, 1374389535
	sar	rcx, 37
	sub	ecx, eax
	mov	eax, ecx
	movsx	rcx, edx
	sar	edx, 31
	imul	rcx, rcx, 1759218605
	sar	rcx, 44
	sub	ecx, edx
	mov	edx, ecx
	add	edx, eax
	mov	rax, rsi
	sar	rsi, 39
	sar	rax, 37
	add	edx, r8d
	sub	esi, eax
	lea	eax, 2[rdx+rsi]
	cvtsi2sd	xmm0, eax
	subsd	xmm0, QWORD PTR .LC0[rip]
	mulsd	xmm0, QWORD PTR .LC1[rip]
	cvttsd2si	rax, xmm0
	jmp	.L6
	.cfi_endproc
.LFE0:
	.size	computeJD, .-computeJD
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	0
	.long	1083691520
	.align 8
.LC1:
	.long	0
	.long	1100257648
	.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_computeJD.c"
	.text
	.global	__aeabi_i2d
	.global	__aeabi_dsub
	.global	__aeabi_dmul
	.global	__aeabi_d2iz
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	computeJD, %function
computeJD:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	ldr	r3, [r0]
	cmp	r3, #0
	bxne	lr
	ldr	r3, [r0, #40]
	push	{r4, r5, r6, r7, r8, lr}
	cmp	r3, #0
	mov	r4, r0
	mvneq	r0, #-2147483648
	beq	.L6
	ldmib	r4, {r1, r2}
	cmp	r2, #2
	ldr	r0, [r4, #12]
	add	r3, r1, #4672
	ble	.L5
	ldr	ip, .L21
	add	r3, r3, #44
	mul	r3, ip, r3
	add	r2, r2, #1
	add	ip, r2, r2, lsl #2
	ldr	lr, .L21+4
	rsb	ip, ip, ip, lsl #4
	rsb	ip, ip, ip, lsl #8
	ldr	r5, .L21+8
	add	r2, r2, ip, lsl #4
	smull	r6, ip, lr, r3
	smull	r6, lr, r1, lr
	umull	r6, r2, r5, r2
	asr	r1, r1, #31
	asr	r3, r3, #31
	rsb	r3, r3, ip, asr #5
	rsb	ip, r1, lr, asr #5
	add	r3, r3, r2, lsr #13
	rsb	r1, r1, lr, asr #7
	rsb	r2, ip, #2
	add	r3, r3, r0
	add	r0, r2, r1
	add	r0, r3, r0
.L19:
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L21+12
	bl	__aeabi_dsub
	mov	r2, #0
	ldr	r3, .L21+16
	bl	__aeabi_dmul
	bl	__aeabi_d2iz
.L6:
	mov	r3, #1
	ldr	r2, [r4, #36]
	str	r0, [r4, #44]
	cmp	r2, #0
	str	r3, [r4]
	popeq	{r4, r5, r6, r7, r8, pc}
	ldr	r3, [r4, #20]
	ldr	r2, [r4, #16]
	rsb	r1, r3, r3, lsl #5
	add	r3, r3, r1, lsl #2
	rsb	r3, r3, r3, lsl #4
	ldr	r1, .L21+20
	lsl	r3, r3, #5
	mla	r3, r1, r2, r3
	ldr	r2, [r4, #24]
	ldr	r1, [r4, #32]
	rsb	ip, r2, r2, lsl #5
	add	r2, r2, ip, lsl #2
	add	r3, r3, r2, lsl #3
	add	r0, r3, r0
	cmp	r1, #0
	str	r0, [r4, #44]
	popeq	{r4, r5, r6, r7, r8, pc}
	mov	r3, #0
	ldr	r2, [r4, #28]
	ldr	r1, .L21+24
	str	r3, [r4, #40]
	mla	r0, r1, r2, r0
	str	r3, [r4, #36]
	str	r0, [r4, #44]
	str	r3, [r4, #32]
	pop	{r4, r5, r6, r7, r8, pc}
.L5:
	ldr	lr, .L21
	add	r2, r2, #13
	add	r3, r3, #43
	mul	r3, lr, r3
	add	ip, r2, r2, lsl #2
	rsb	ip, ip, ip, lsl #4
	add	lr, lr, #1744830464
	ldr	r5, .L21+4
	rsb	ip, ip, ip, lsl #8
	add	lr, lr, #14286848
	add	lr, lr, #64768
	add	r2, r2, ip, lsl #4
	sub	r1, r1, #1
	smull	r6, ip, lr, r2
	smull	lr, r6, r5, r3
	smull	r7, lr, r5, r1
	asr	r2, r2, #31
	asr	r1, r1, #31
	asr	r3, r3, #31
	rsb	r2, r2, ip, asr #12
	rsb	r3, r3, r6, asr #5
	rsb	ip, r1, lr, asr #5
	add	r2, r3, r2
	rsb	r1, r1, lr, asr #7
	rsb	r3, ip, #2
	add	r0, r2, r0
	add	r1, r3, r1
	add	r0, r0, r1
	b	.L19
.L22:
	.align	2
.L21:
	.word	36525
	.word	1374389535
	.word	-776530087
	.word	1083691520
	.word	1100257648
	.word	3600000
	.word	-60000
	.size	computeJD, .-computeJD
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
