	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function swp_freq_calcuation
_swp_freq_calcuation:                   ## @swp_freq_calcuation
	.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
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
                                        ## kill: def $edx killed $edx def $rdx
	movl	40(%rbp), %r15d
	movl	32(%rbp), %r12d
	movl	24(%rbp), %r11d
	movl	16(%rbp), %r14d
	movl	%esi, %eax
	shrl	$31, %eax
	addl	%esi, %eax
	andl	$-2, %eax
	subl	%eax, %esi
	cmpl	$1, %esi
	jne	LBB0_35
## %bb.1:
	cmpl	%r8d, %edx
	jg	LBB0_35
## %bb.2:
	leal	-1(%rdx), %eax
	movslq	%edx, %rdi
	cmpl	%r9d, %eax
	jne	LBB0_8
## %bb.3:
	movl	120(%rcx,%rdi,4), %eax
	testl	%eax, %eax
	js	LBB0_8
## %bb.4:
	movl	116(%rcx,%rdi,4), %esi
	cmpl	%r14d, %esi
	jle	LBB0_8
## %bb.5:
	testl	%esi, %esi
	js	LBB0_8
## %bb.6:
	cmpl	%eax, %esi
	jle	LBB0_8
## %bb.7:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	addl	%r12d, %eax
	subl	%r15d, %eax
	jmp	LBB0_95
LBB0_35:
	movl	$-1, %eax
	testl	%esi, %esi
	jne	LBB0_96
## %bb.36:
	cmpl	%r9d, %edx
	jl	LBB0_96
## %bb.37:
	movslq	%edx, %rdi
	movl	120(%rcx,%rdi,4), %r10d
	testl	%r10d, %r10d
	jle	LBB0_45
## %bb.38:
	movl	124(%rcx,%rdi,4), %esi
	testl	%esi, %esi
	jle	LBB0_45
## %bb.39:
	movl	128(%rcx,%rdi,4), %ebx
	testl	%ebx, %ebx
	jle	LBB0_45
## %bb.40:
	cmpl	%r10d, %esi
	jbe	LBB0_45
## %bb.41:
	cmpl	%ebx, %esi
	jle	LBB0_45
## %bb.42:
	cmpl	%r14d, %esi
	jle	LBB0_45
## %bb.43:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	addl	%r12d, %r15d
LBB0_44:
	addl	%eax, %r15d
	movl	%r15d, %eax
	jmp	LBB0_95
LBB0_8:
	movl	120(%rcx,%rdi,4), %esi
	cmpl	%r8d, %edx
	jne	LBB0_15
## %bb.9:
	testl	%esi, %esi
	js	LBB0_10
## %bb.11:
	movl	116(%rcx,%rdi,4), %eax
	testl	%eax, %eax
	js	LBB0_15
## %bb.12:
	cmpl	%eax, %esi
	jle	LBB0_15
## %bb.13:
	cmpl	%r14d, %esi
	jle	LBB0_15
## %bb.14:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	addl	%r12d, %eax
	jmp	LBB0_95
LBB0_15:
	testl	%esi, %esi
	jle	LBB0_26
## %bb.16:
	movl	116(%rcx,%rdi,4), %ebx
	testl	%ebx, %ebx
	jle	LBB0_26
## %bb.17:
	movl	112(%rcx,%rdi,4), %r9d
	testl	%r9d, %r9d
	jle	LBB0_26
## %bb.18:
	movl	108(%rcx,%rdi,4), %eax
	testl	%eax, %eax
	jle	LBB0_26
## %bb.19:
	cmpl	%esi, %ebx
	jbe	LBB0_26
## %bb.20:
	cmpl	%eax, %r9d
	jle	LBB0_26
## %bb.21:
	cmpl	%r14d, %ebx
	jg	LBB0_23
## %bb.22:
	cmpl	%r14d, %r9d
	jg	LBB0_23
LBB0_26:
	movl	$-1, %eax
	cmpl	%r8d, %edx
	jne	LBB0_96
## %bb.27:
	testl	%esi, %esi
	js	LBB0_96
## %bb.28:
	movl	116(%rcx,%rdi,4), %edx
	testl	%edx, %edx
	js	LBB0_96
## %bb.29:
	movl	112(%rcx,%rdi,4), %ecx
	testl	%ecx, %ecx
	js	LBB0_96
## %bb.30:
	cmpl	%ecx, %esi
	jle	LBB0_96
## %bb.31:
	cmpl	%ecx, %edx
	jle	LBB0_96
## %bb.32:
	cmpl	%r14d, %esi
	jg	LBB0_34
## %bb.33:
	cmpl	%r14d, %edx
	jle	LBB0_96
LBB0_34:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	addl	%r12d, %eax
	xorl	%ecx, %ecx
	cmpl	%edx, %esi
	cmovbel	%edx, %esi
	cmovbl	%r15d, %ecx
	subl	%ecx, %eax
	jmp	LBB0_95
LBB0_45:
	leal	1(%rdx), %esi
	cmpl	%r8d, %esi
	jne	LBB0_51
## %bb.46:
	testl	%r10d, %r10d
	js	LBB0_51
## %bb.47:
	movl	124(%rcx,%rdi,4), %esi
	cmpl	%r14d, %esi
	jle	LBB0_51
## %bb.48:
	testl	%esi, %esi
	js	LBB0_51
## %bb.49:
	cmpl	%r10d, %esi
	jle	LBB0_51
## %bb.50:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	addl	%r12d, %r15d
	addl	%eax, %r15d
	movl	%r10d, %esi
	movl	%r15d, %eax
	jmp	LBB0_95
LBB0_51:
	cmpl	%r9d, %edx
	jne	LBB0_59
## %bb.52:
	testl	%r10d, %r10d
	jle	LBB0_59
## %bb.53:
	movl	124(%rcx,%rdi,4), %esi
	testl	%esi, %esi
	jle	LBB0_61
## %bb.54:
	movl	128(%rcx,%rdi,4), %ebx
	testl	%ebx, %ebx
	jle	LBB0_62
## %bb.55:
	cmpl	%esi, %r10d
	jbe	LBB0_62
## %bb.56:
	cmpl	%ebx, %r10d
	jle	LBB0_62
## %bb.57:
	cmpl	%r14d, %r10d
	jle	LBB0_62
## %bb.58:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	addl	32(%rbp), %eax
	jmp	LBB0_94
LBB0_10:
	movl	$-1, %eax
	jmp	LBB0_96
LBB0_59:
	testl	%r10d, %r10d
	js	LBB0_91
## %bb.60:
	movl	124(%rcx,%rdi,4), %esi
LBB0_61:
	testl	%esi, %esi
	js	LBB0_82
LBB0_62:
	movl	128(%rcx,%rdi,4), %r12d
	testl	%r12d, %r12d
	js	LBB0_71
## %bb.63:
	movl	132(%rcx,%rdi,4), %ebx
	testl	%ebx, %ebx
	js	LBB0_71
## %bb.64:
	cmpl	%r10d, %esi
	jbe	LBB0_71
## %bb.65:
	cmpl	%ebx, %r12d
	jle	LBB0_71
## %bb.66:
	cmpl	%r14d, %esi
	jg	LBB0_68
## %bb.67:
	cmpl	%r14d, %r12d
	jg	LBB0_68
LBB0_71:
	movl	128(%rcx,%rdi,4), %r13d
	testl	%r13d, %r13d
	js	LBB0_82
## %bb.72:
	movl	132(%rcx,%rdi,4), %r12d
	testl	%r12d, %r12d
	js	LBB0_82
## %bb.73:
	cmpl	%r13d, %r10d
	jbe	LBB0_82
## %bb.74:
	cmpl	%r13d, %esi
	jbe	LBB0_82
## %bb.75:
	cmpl	%r12d, %r10d
	jle	LBB0_82
## %bb.76:
	cmpl	%r12d, %esi
	jle	LBB0_82
## %bb.77:
	cmpl	%r14d, %r10d
	jg	LBB0_79
## %bb.78:
	cmpl	%r14d, %esi
	jg	LBB0_79
LBB0_82:
	addl	$2, %edx
	cmpl	%r9d, %edx
	jne	LBB0_91
## %bb.83:
	movl	124(%rcx,%rdi,4), %esi
	testl	%esi, %esi
	js	LBB0_91
## %bb.84:
	movl	128(%rcx,%rdi,4), %ecx
	testl	%ecx, %ecx
	js	LBB0_91
## %bb.85:
	cmpl	%r10d, %esi
	jle	LBB0_91
## %bb.86:
	cmpl	%r10d, %ecx
	jle	LBB0_91
## %bb.87:
	cmpl	%r14d, %esi
	jg	LBB0_89
## %bb.88:
	cmpl	%r14d, %ecx
	jg	LBB0_89
LBB0_91:
	orl	%r8d, %r9d
	jne	LBB0_96
## %bb.92:
	cmpl	%r14d, %r10d
	jle	LBB0_96
## %bb.93:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
LBB0_94:
	movl	%r10d, %esi
LBB0_95:
	movq	48(%rbp), %rcx
	movb	%sil, (%rcx)
LBB0_96:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_23:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	addl	%r12d, %eax
	cmpl	%r9d, %ebx
	jae	LBB0_24
## %bb.25:
	addl	%r15d, %r15d
	subl	%r15d, %eax
	movl	%r9d, %esi
	jmp	LBB0_95
LBB0_68:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	cmpl	%r12d, %esi
	jae	LBB0_69
## %bb.70:
	addl	32(%rbp), %eax
	leal	(%rax,%r15,2), %eax
	movl	%r12d, %esi
	jmp	LBB0_95
LBB0_79:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	cmpl	%esi, %r10d
	jae	LBB0_80
## %bb.81:
	addl	32(%rbp), %r15d
	jmp	LBB0_44
LBB0_24:
	subl	%r15d, %eax
	movl	%ebx, %esi
	jmp	LBB0_95
LBB0_89:
	imull	$1000, %r11d, %eax              ## imm = 0x3E8
	cmpl	%ecx, %esi
	jae	LBB0_69
## %bb.90:
	addl	32(%rbp), %eax
	leal	(%rax,%r15,2), %eax
	movl	%ecx, %esi
	jmp	LBB0_95
LBB0_69:
	addl	32(%rbp), %r15d
	addl	%eax, %r15d
	movl	%r15d, %eax
	jmp	LBB0_95
LBB0_80:
	addl	32(%rbp), %eax
	jmp	LBB0_94
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_swp_freq_calcuation
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function swp_freq_calcuation
_swp_freq_calcuation:                   ; @swp_freq_calcuation
	.cfi_startproc
; %bb.0:
	ldp	w10, w9, [sp]
	and	w8, w1, #0x1
	cmp	w1, #0
	cneg	w8, w8, lt
	cmp	w8, #1
	ccmp	w2, w4, #0, eq
	b.le	LBB0_12
; %bb.1:
	mov	w0, #-1
	cbnz	w8, LBB0_84
; %bb.2:
	cmp	w2, w5
	b.lt	LBB0_84
; %bb.3:
	add	x11, x3, w2, sxtw #2
	ldr	w8, [x11, #120]!
	cmp	w8, #1
	b.lt	LBB0_6
; %bb.4:
	ldr	w12, [x11, #4]
	cmp	w12, #1
	b.lt	LBB0_6
; %bb.5:
	ldr	w13, [x11, #8]
	cmp	w13, #1
	ccmp	w12, w8, #0, ge
	ccmp	w12, w13, #4, hi
	ccmp	w12, w6, #4, gt
	b.gt	LBB0_72
LBB0_6:
	add	w12, w2, #1
	cmp	w12, w4
	b.ne	LBB0_37
; %bb.7:
	tbnz	w8, #31, LBB0_37
; %bb.8:
	ldr	w12, [x11, #4]
	cmp	w12, w6
	b.le	LBB0_37
; %bb.9:
	tbnz	w12, #31, LBB0_37
; %bb.10:
	cmp	w12, w8
	b.le	LBB0_37
; %bb.11:
	mov	w11, #1000
	add	w9, w9, w10
	madd	w0, w7, w11, w9
	b	LBB0_83
LBB0_12:
	sub	w8, w2, #1
	add	x11, x3, w2, sxtw #2
	cmp	w8, w5
	b.ne	LBB0_18
; %bb.13:
	mov	x8, x11
	ldr	w12, [x8, #120]!
	tbnz	w12, #31, LBB0_18
; %bb.14:
	ldur	w8, [x8, #-4]
	cmp	w8, w6
	b.le	LBB0_18
; %bb.15:
	tbnz	w8, #31, LBB0_18
; %bb.16:
	cmp	w8, w12
	b.le	LBB0_18
; %bb.17:
	mov	w11, #1000
	madd	w10, w7, w11, w10
	sub	w0, w10, w9
	b	LBB0_83
LBB0_18:
	ldr	w8, [x11, #120]!
	cmp	w2, w4
	b.ne	LBB0_22
; %bb.19:
	tbnz	w8, #31, LBB0_36
; %bb.20:
	ldur	w12, [x11, #-4]
	tbnz	w12, #31, LBB0_22
; %bb.21:
	cmp	w8, w12
	ccmp	w8, w6, #4, gt
	b.gt	LBB0_44
LBB0_22:
	cmp	w8, #1
	b.lt	LBB0_28
; %bb.23:
	ldur	w12, [x11, #-4]
	cmp	w12, #1
	b.lt	LBB0_28
; %bb.24:
	ldur	w13, [x11, #-8]
	cmp	w13, #1
	b.lt	LBB0_28
; %bb.25:
	ldur	w14, [x11, #-12]
	cmp	w14, #1
	ccmp	w12, w8, #0, ge
	ccmp	w13, w14, #4, hi
	b.le	LBB0_28
; %bb.26:
	cmp	w12, w6
	b.gt	LBB0_74
; %bb.27:
	cmp	w13, w6
	b.gt	LBB0_74
LBB0_28:
	mov	w0, #-1
	cmp	w2, w4
	b.ne	LBB0_84
; %bb.29:
	tbnz	w8, #31, LBB0_84
; %bb.30:
	ldur	w12, [x11, #-4]
	tbnz	w12, #31, LBB0_36
; %bb.31:
	ldur	w11, [x11, #-8]
	mov	w0, #-1
	tbnz	w11, #31, LBB0_84
; %bb.32:
	cmp	w8, w11
	b.le	LBB0_84
; %bb.33:
	cmp	w12, w11
	b.le	LBB0_84
; %bb.34:
	cmp	w8, w6
	b.gt	LBB0_73
; %bb.35:
	cmp	w12, w6
	b.gt	LBB0_73
LBB0_36:
	mov	w0, #-1
	ret
LBB0_37:
	cmp	w2, w5
	b.ne	LBB0_45
; %bb.38:
	cmp	w8, #1
	b.lt	LBB0_45
; %bb.39:
	ldr	w12, [x11, #4]
	cmp	w12, #1
	b.lt	LBB0_47
; %bb.40:
	ldr	w13, [x11, #8]
	cmp	w13, #1
	b.lt	LBB0_48
; %bb.41:
	cmp	w8, w12
	b.ls	LBB0_48
; %bb.42:
	cmp	w8, w13
	b.le	LBB0_48
; %bb.43:
	cmp	w8, w6
	b.le	LBB0_48
LBB0_44:
	mov	w9, #1000
	madd	w0, w7, w9, w10
	b	LBB0_83
LBB0_45:
	tbnz	w8, #31, LBB0_69
; %bb.46:
	ldr	w12, [x11, #4]
LBB0_47:
	tbnz	w12, #31, LBB0_62
LBB0_48:
	ldr	w13, [x11, #8]
	tbnz	w13, #31, LBB0_54
; %bb.49:
	ldr	w14, [x11, #12]
	tbnz	w14, #31, LBB0_54
; %bb.50:
	cmp	w12, w8
	b.ls	LBB0_54
; %bb.51:
	cmp	w13, w14
	b.le	LBB0_54
; %bb.52:
	cmp	w12, w6
	b.gt	LBB0_75
; %bb.53:
	cmp	w13, w6
	b.gt	LBB0_75
LBB0_54:
	ldr	w14, [x11, #8]
	tbnz	w14, #31, LBB0_62
; %bb.55:
	ldr	w13, [x11, #12]
	tbnz	w13, #31, LBB0_62
; %bb.56:
	cmp	w8, w14
	b.ls	LBB0_62
; %bb.57:
	cmp	w12, w14
	b.ls	LBB0_62
; %bb.58:
	cmp	w8, w13
	b.le	LBB0_62
; %bb.59:
	cmp	w12, w13
	b.le	LBB0_62
; %bb.60:
	cmp	w8, w6
	b.gt	LBB0_77
; %bb.61:
	cmp	w12, w6
	b.gt	LBB0_77
LBB0_62:
	add	w12, w2, #2
	cmp	w12, w5
	b.ne	LBB0_69
; %bb.63:
	ldr	w12, [x11, #4]
	tbnz	w12, #31, LBB0_69
; %bb.64:
	ldr	w11, [x11, #8]
	tbnz	w11, #31, LBB0_69
; %bb.65:
	cmp	w12, w8
	b.le	LBB0_69
; %bb.66:
	cmp	w11, w8
	b.le	LBB0_69
; %bb.67:
	cmp	w12, w6
	b.gt	LBB0_79
; %bb.68:
	cmp	w11, w6
	b.gt	LBB0_79
LBB0_69:
	mov	w0, #-1
	orr	w9, w5, w4
	cbnz	w9, LBB0_84
; %bb.70:
	cmp	w8, w6
	b.le	LBB0_84
; %bb.71:
	mov	w9, #1000
	mul	w0, w7, w9
	b	LBB0_83
LBB0_72:
	mov	w8, #1000
	add	w9, w9, w10
	madd	w0, w7, w8, w9
	mov	x8, x12
	b	LBB0_83
LBB0_73:
	mov	w11, #1000
	madd	w10, w7, w11, w10
	cmp	w8, w12
	csel	w8, w8, w12, hi
	csel	w9, w9, wzr, lo
	sub	w0, w10, w9
	b	LBB0_83
LBB0_74:
	mov	w8, #1000
	madd	w8, w7, w8, w10
	sub	w10, w8, w9, lsl #1
	sub	w9, w8, w9
	cmp	w12, w13
	csel	w8, w13, w12, lo
	csel	w0, w10, w9, lo
	b	LBB0_83
LBB0_75:
	mov	w8, #1000
	mul	w8, w7, w8
	cmp	w12, w13
	b.hs	LBB0_81
; %bb.76:
	add	w8, w8, w10
	add	w0, w8, w9, lsl #1
	mov	x8, x13
	b	LBB0_83
LBB0_77:
	mov	w11, #1000
	mul	w11, w7, w11
	cmp	w8, w12
	b.hs	LBB0_82
; %bb.78:
	add	w8, w9, w10
	add	w0, w8, w11
	mov	x8, x12
	b	LBB0_83
LBB0_79:
	mov	w8, #1000
	mul	w8, w7, w8
	cmp	w12, w11
	b.hs	LBB0_81
; %bb.80:
	add	w8, w8, w10
	add	w0, w8, w9, lsl #1
	mov	x8, x11
	b	LBB0_83
LBB0_81:
	add	w9, w9, w10
	add	w0, w9, w8
	mov	x8, x12
	b	LBB0_83
LBB0_82:
	add	w0, w11, w10
LBB0_83:
	ldr	x9, [sp, #8]
	strb	w8, [x9]
LBB0_84:
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_swp_freq_calcuation
.subsections_via_symbols
