	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function estimate_needed_passes
LCPI0_0:
	.quad	0x3ff0000000000000              ## double 1
LCPI0_4:
	.quad	0x400199999999999a              ## double 2.2000000000000002
LCPI0_5:
	.quad	0x4030000000000000              ## double 16
LCPI0_6:
	.quad	0x3ff199999999999a              ## double 1.1000000000000001
LCPI0_7:
	.quad	0x3ff028f5c28f5c29              ## double 1.01
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.quad	0x3fe0000000000000              ## double 0.5
	.quad	0x3fe999999999999a              ## double 0.80000000000000004
LCPI0_2:
	.long	1127219200                      ## 0x43300000
	.long	1160773632                      ## 0x45300000
	.long	0                               ## 0x0
	.long	0                               ## 0x0
LCPI0_3:
	.quad	0x4330000000000000              ## double 4503599627370496
	.quad	0x4530000000000000              ## double 1.9342813113834067E+25
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_estimate_needed_passes
	.p2align	4, 0x90
_estimate_needed_passes:                ## @estimate_needed_passes
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_msgs_bytes@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, %eax
	je	LBB0_1
## %bb.2:
	movq	_total_packed_bytes@GOTPCREL(%rip), %rcx
	cvtsi2sdq	(%rcx), %xmm6
	cvtsi2sd	%eax, %xmm1
	divsd	%xmm1, %xmm6
	jmp	LBB0_3
LBB0_1:
	movsd	LCPI0_0(%rip), %xmm6            ## xmm6 = mem[0],zero
LBB0_3:
	movq	_dyn_top@GOTPCREL(%rip), %rax
	movsd	(%rax), %xmm0                   ## xmm0 = mem[0],zero
	movq	_dyn_cur@GOTPCREL(%rip), %rax
	subsd	(%rax), %xmm0
	movq	_temp_binlog_directory@GOTPCREL(%rip), %rax
	xorl	%ecx, %ecx
	cmpq	$0, (%rax)
	sete	%cl
	leaq	LCPI0_1(%rip), %rax
	mulsd	(%rax,%rcx,8), %xmm0
	movq	_max_uid@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	testl	%r13d, %r13d
	js	LBB0_4
## %bb.5:
	movq	_UserSearchWords@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movq	_UserMsgCnt@GOTPCREL(%rip), %rax
	movq	_extra_ints_num@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rcx
	leaq	4(,%rcx,4), %rcx
	movq	%rcx, %xmm2
	punpckldq	LCPI0_2(%rip), %xmm2    ## xmm2 = xmm2[0],mem[0],xmm2[1],mem[1]
	movq	(%rax), %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	subpd	LCPI0_3(%rip), %xmm2
	movapd	%xmm2, %xmm1
	unpckhpd	%xmm2, %xmm1                    ## xmm1 = xmm1[1],xmm2[1]
	addsd	%xmm2, %xmm1
	addsd	LCPI0_4(%rip), %xmm1
	movq	_UserMsgBytes@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	_UserMsgDel@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movq	_UserMsgExtras@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	xorpd	%xmm8, %xmm8
	xorl	%r12d, %r12d
	movsd	LCPI0_5(%rip), %xmm10           ## xmm10 = mem[0],zero
	movdqa	LCPI0_2(%rip), %xmm11           ## xmm11 = [1127219200,1160773632,0,0]
	movapd	LCPI0_3(%rip), %xmm12           ## xmm12 = [4.503599627370496E+15,1.9342813113834067E+25]
	xorl	%r15d, %r15d
	xorpd	%xmm9, %xmm9
	jmp	LBB0_6
	.p2align	4, 0x90
LBB0_7:                                 ##   in Loop: Header=BB0_6 Depth=1
	xorpd	%xmm2, %xmm2
LBB0_12:                                ##   in Loop: Header=BB0_6 Depth=1
	addsd	%xmm2, %xmm9
	incl	%r12d
	cmpl	%r13d, %r15d
	jg	LBB0_13
LBB0_6:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_9 Depth 2
	ucomisd	%xmm8, %xmm0
	jbe	LBB0_7
## %bb.8:                               ##   in Loop: Header=BB0_6 Depth=1
	movslq	%r15d, %rsi
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	leaq	(%rax,%rsi,8), %r11
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	leaq	(%rax,%rsi,4), %rcx
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	leaq	(%rax,%rsi,8), %rdx
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	leaq	(%rax,%rsi,4), %rbx
	leaq	(%r14,%rsi,4), %r8
	xorpd	%xmm7, %xmm7
	xorl	%eax, %eax
	xorpd	%xmm3, %xmm3
	.p2align	4, 0x90
LBB0_9:                                 ##   Parent Loop BB0_6 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movapd	%xmm3, %xmm2
	movapd	%xmm7, %xmm3
	leaq	(%rsi,%rax), %r9
	movsd	(%r11,%rax,8), %xmm7            ## xmm7 = mem[0],zero
	mulsd	%xmm10, %xmm7
	maxsd	%xmm3, %xmm7
	xorps	%xmm3, %xmm3
	cvtsi2sdl	(%rcx,%rax,4), %xmm3
	mulsd	%xmm1, %xmm3
	movsd	(%rdx,%rax,8), %xmm4            ## xmm4 = mem[0],zero
	mulsd	%xmm6, %xmm4
	addsd	%xmm3, %xmm4
	movslq	(%rbx,%rax,4), %r10
	shlq	$2, %r10
	movq	%r10, %xmm3
	punpckldq	%xmm11, %xmm3           ## xmm3 = xmm3[0],xmm11[0],xmm3[1],xmm11[1]
	subpd	%xmm12, %xmm3
	movapd	%xmm3, %xmm5
	unpckhpd	%xmm3, %xmm5                    ## xmm5 = xmm5[1],xmm3[1]
	addsd	%xmm3, %xmm5
	addsd	%xmm4, %xmm5
	movl	(%r8,%rax,4), %edi
	shll	$2, %edi
	xorps	%xmm3, %xmm3
	cvtsi2sd	%edi, %xmm3
	addsd	%xmm5, %xmm3
	addsd	%xmm2, %xmm3
	incq	%rax
	movapd	%xmm3, %xmm2
	addsd	%xmm7, %xmm2
	cmpq	%r13, %r9
	jge	LBB0_11
## %bb.10:                              ##   in Loop: Header=BB0_9 Depth=2
	ucomisd	%xmm2, %xmm0
	ja	LBB0_9
LBB0_11:                                ##   in Loop: Header=BB0_6 Depth=1
	addl	%eax, %r15d
	jmp	LBB0_12
LBB0_13:
	xorps	%xmm1, %xmm1
	cvtsi2sd	%r12d, %xmm1
	divsd	%xmm1, %xmm9
	jmp	LBB0_14
LBB0_4:
	xorl	%r12d, %r12d
	movapd	%xmm0, %xmm9
LBB0_14:
	movq	_pass_threshold@GOTPCREL(%rip), %rbx
	movsd	%xmm9, (%rbx)
	movsd	%xmm0, -48(%rbp)                ## 8-byte Spill
	callq	_check_needed_passes
	xorl	%edi, %edi
	cmpl	%r12d, %eax
	setle	%dil
	callq	_assert
	movsd	(%rbx), %xmm0                   ## xmm0 = mem[0],zero
	callq	_check_needed_passes
	cmpl	%r12d, %eax
	jle	LBB0_17
## %bb.15:
	movsd	-48(%rbp), %xmm0                ## 8-byte Reload
                                        ## xmm0 = mem[0],zero
	mulsd	LCPI0_6(%rip), %xmm0
	movsd	%xmm0, -48(%rbp)                ## 8-byte Spill
	.p2align	4, 0x90
LBB0_16:                                ## =>This Inner Loop Header: Depth=1
	movsd	(%rbx), %xmm0                   ## xmm0 = mem[0],zero
	mulsd	LCPI0_7(%rip), %xmm0
	movsd	%xmm0, (%rbx)
	xorl	%edi, %edi
	movsd	-48(%rbp), %xmm1                ## 8-byte Reload
                                        ## xmm1 = mem[0],zero
	ucomisd	%xmm0, %xmm1
	setae	%dil
	callq	_assert
	movsd	(%rbx), %xmm0                   ## xmm0 = mem[0],zero
	callq	_check_needed_passes
	cmpl	%r12d, %eax
	jg	LBB0_16
LBB0_17:
	movsd	(%rbx), %xmm0                   ## xmm0 = mem[0],zero
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_check_needed_passes            ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_msgs_bytes,4,2                 ## @msgs_bytes
	.comm	_total_packed_bytes,8,3         ## @total_packed_bytes
	.comm	_dyn_top,8,3                    ## @dyn_top
	.comm	_dyn_cur,8,3                    ## @dyn_cur
	.comm	_temp_binlog_directory,8,3      ## @temp_binlog_directory
	.comm	_max_uid,4,2                    ## @max_uid
	.comm	_UserSearchWords,8,3            ## @UserSearchWords
	.comm	_UserMsgCnt,8,3                 ## @UserMsgCnt
	.comm	_extra_ints_num,4,2             ## @extra_ints_num
	.comm	_UserMsgBytes,8,3               ## @UserMsgBytes
	.comm	_UserMsgDel,8,3                 ## @UserMsgDel
	.comm	_UserMsgExtras,8,3              ## @UserMsgExtras
	.comm	_pass_threshold,8,3             ## @pass_threshold
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_estimate_needed_passes         ; -- Begin function estimate_needed_passes
	.p2align	2
_estimate_needed_passes:                ; @estimate_needed_passes
	.cfi_startproc
; %bb.0:
	stp	d9, d8, [sp, #-64]!             ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset b8, -56
	.cfi_offset b9, -64
Lloh0:
	adrp	x8, _msgs_bytes@GOTPAGE
Lloh1:
	ldr	x8, [x8, _msgs_bytes@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	cbz	w8, LBB0_2
; %bb.1:
Lloh3:
	adrp	x9, _total_packed_bytes@GOTPAGE
Lloh4:
	ldr	x9, [x9, _total_packed_bytes@GOTPAGEOFF]
Lloh5:
	ldr	d0, [x9]
	scvtf	d0, d0
	scvtf	d1, w8
	fdiv	d0, d0, d1
	b	LBB0_3
LBB0_2:
	fmov	d0, #1.00000000
LBB0_3:
Lloh6:
	adrp	x8, _dyn_top@GOTPAGE
Lloh7:
	ldr	x8, [x8, _dyn_top@GOTPAGEOFF]
Lloh8:
	ldr	d1, [x8]
Lloh9:
	adrp	x8, _dyn_cur@GOTPAGE
Lloh10:
	ldr	x8, [x8, _dyn_cur@GOTPAGEOFF]
Lloh11:
	ldr	d2, [x8]
	fsub	d1, d1, d2
Lloh12:
	adrp	x8, _temp_binlog_directory@GOTPAGE
Lloh13:
	ldr	x8, [x8, _temp_binlog_directory@GOTPAGEOFF]
Lloh14:
	ldr	x8, [x8]
	cmp	x8, #0
	mov	x8, #-7378697629483820647
	movk	x8, #39322
	movk	x8, #16361, lsl #48
	fmov	d2, x8
	fmov	d3, #0.50000000
	fcsel	d2, d2, d3, eq
	fmul	d8, d1, d2
Lloh15:
	adrp	x8, _max_uid@GOTPAGE
Lloh16:
	ldr	x8, [x8, _max_uid@GOTPAGEOFF]
Lloh17:
	ldr	w8, [x8]
	tbnz	w8, #31, LBB0_12
; %bb.4:
	mov	w19, #0
	mov	w14, #0
Lloh18:
	adrp	x9, _UserSearchWords@GOTPAGE
Lloh19:
	ldr	x9, [x9, _UserSearchWords@GOTPAGEOFF]
Lloh20:
	ldr	x9, [x9]
Lloh21:
	adrp	x10, _UserMsgCnt@GOTPAGE
Lloh22:
	ldr	x10, [x10, _UserMsgCnt@GOTPAGEOFF]
Lloh23:
	ldr	x10, [x10]
Lloh24:
	adrp	x11, _extra_ints_num@GOTPAGE
Lloh25:
	ldr	x11, [x11, _extra_ints_num@GOTPAGEOFF]
Lloh26:
	ldrsw	x11, [x11]
	lsl	x11, x11, #2
	add	x11, x11, #4
	ucvtf	d1, x11
	mov	x11, #-7378697629483820647
	movk	x11, #39322
	movk	x11, #16385, lsl #48
	fmov	d2, x11
	fadd	d1, d1, d2
Lloh27:
	adrp	x11, _UserMsgBytes@GOTPAGE
Lloh28:
	ldr	x11, [x11, _UserMsgBytes@GOTPAGEOFF]
Lloh29:
	ldr	x11, [x11]
Lloh30:
	adrp	x12, _UserMsgDel@GOTPAGE
Lloh31:
	ldr	x12, [x12, _UserMsgDel@GOTPAGEOFF]
Lloh32:
	ldr	x12, [x12]
Lloh33:
	adrp	x13, _UserMsgExtras@GOTPAGE
Lloh34:
	ldr	x13, [x13, _UserMsgExtras@GOTPAGEOFF]
Lloh35:
	ldr	x13, [x13]
	movi	d2, #0000000000000000
	fmov	d3, #16.00000000
	b	LBB0_7
LBB0_5:                                 ;   in Loop: Header=BB0_7 Depth=1
	movi	d6, #0000000000000000
LBB0_6:                                 ;   in Loop: Header=BB0_7 Depth=1
	add	w19, w19, #1
	fadd	d2, d2, d6
	cmp	w14, w8
	b.gt	LBB0_11
LBB0_7:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_9 Depth 2
	fcmp	d8, #0.0
	b.le	LBB0_5
; %bb.8:                                ;   in Loop: Header=BB0_7 Depth=1
                                        ; kill: def $w14 killed $w14 killed $x14 def $x14
	sxtw	x15, w14
	movi	d4, #0000000000000000
	movi	d5, #0000000000000000
LBB0_9:                                 ;   Parent Loop BB0_7 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x14, x15, #3
	ldr	d6, [x9, x14]
	fmul	d6, d6, d3
	fcmp	d4, d6
	fcsel	d4, d6, d4, mi
	lsl	x16, x15, #2
	ldr	s6, [x10, x16]
	sshll.2d	v6, v6, #0
	scvtf	d6, d6
	ldr	d7, [x11, x14]
	fmul	d7, d0, d7
	ldrsw	x14, [x12, x16]
	lsl	x14, x14, #2
	ucvtf	d16, x14
	fmadd	d6, d6, d1, d7
	ldr	w14, [x13, x16]
	lsl	w14, w14, #2
	scvtf	d7, w14
	fadd	d6, d6, d16
	fadd	d6, d6, d7
	fadd	d5, d5, d6
	add	x14, x15, #1
	fadd	d6, d5, d4
	cmp	x15, x8
	b.ge	LBB0_6
; %bb.10:                               ;   in Loop: Header=BB0_9 Depth=2
	fcmp	d6, d8
	mov	x15, x14
	b.mi	LBB0_9
	b	LBB0_6
LBB0_11:
	scvtf	d0, w19
	fdiv	d0, d2, d0
	b	LBB0_13
LBB0_12:
	mov	w19, #0
	fmov	d0, d8
LBB0_13:
Lloh36:
	adrp	x20, _pass_threshold@GOTPAGE
Lloh37:
	ldr	x20, [x20, _pass_threshold@GOTPAGEOFF]
	str	d0, [x20]
	fmov	d0, d8
	bl	_check_needed_passes
	cmp	w0, w19
	cset	w0, le
	bl	_assert
	ldr	d0, [x20]
	bl	_check_needed_passes
	cmp	w0, w19
	b.le	LBB0_16
; %bb.14:
	mov	x8, #-7378697629483820647
	movk	x8, #39322
	movk	x8, #16369, lsl #48
	fmov	d0, x8
	fmul	d8, d8, d0
	mov	x21, #23593
	movk	x21, #49807, lsl #16
	movk	x21, #10485, lsl #32
	movk	x21, #16368, lsl #48
LBB0_15:                                ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x20]
	fmov	d1, x21
	fmul	d0, d0, d1
	str	d0, [x20]
	fcmp	d0, d8
	cset	w0, ls
	bl	_assert
	ldr	d0, [x20]
	bl	_check_needed_passes
	cmp	w0, w19
	b.gt	LBB0_15
LBB0_16:
	ldr	d0, [x20]
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp], #64               ; 16-byte Folded Reload
	b	_check_needed_passes
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh36, Lloh37
	.cfi_endproc
                                        ; -- End function
	.comm	_msgs_bytes,4,2                 ; @msgs_bytes
	.comm	_total_packed_bytes,8,3         ; @total_packed_bytes
	.comm	_dyn_top,8,3                    ; @dyn_top
	.comm	_dyn_cur,8,3                    ; @dyn_cur
	.comm	_temp_binlog_directory,8,3      ; @temp_binlog_directory
	.comm	_max_uid,4,2                    ; @max_uid
	.comm	_UserSearchWords,8,3            ; @UserSearchWords
	.comm	_UserMsgCnt,8,3                 ; @UserMsgCnt
	.comm	_extra_ints_num,4,2             ; @extra_ints_num
	.comm	_UserMsgBytes,8,3               ; @UserMsgBytes
	.comm	_UserMsgDel,8,3                 ; @UserMsgDel
	.comm	_UserMsgExtras,8,3              ; @UserMsgExtras
	.comm	_pass_threshold,8,3             ; @pass_threshold
.subsections_via_symbols
