	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_CountBits                      ## -- Begin function CountBits
	.p2align	4, 0x90
_CountBits:                             ## @CountBits
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	testl	%esi, %esi
	jle	LBB0_1
## %bb.2:
	cmpl	$1, %esi
	jne	LBB0_4
## %bb.3:
	xorl	%eax, %eax
	xorl	%r9d, %r9d
	jmp	LBB0_6
LBB0_1:
	xorl	%eax, %eax
	popq	%rbp
	retq
LBB0_4:
	movl	%esi, %r8d
	andl	$-2, %r8d
	xorl	%eax, %eax
	xorl	%r9d, %r9d
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	movl	%r9d, %edx
	shrl	$3, %edx
	movl	(%rdi,%rdx,4), %r10d
	movl	%r9d, %ecx
	andl	$6, %ecx
	xorl	%edx, %edx
	btl	%ecx, %r10d
	setb	%dl
	orl	$1, %ecx
	btl	%ecx, %r10d
	adcl	%edx, %eax
	addl	$2, %r9d
	cmpl	%r9d, %r8d
	jne	LBB0_5
LBB0_6:
	testb	$1, %sil
	je	LBB0_8
## %bb.7:
	movl	%r9d, %ecx
	shrl	$3, %ecx
	movl	(%rdi,%rcx,4), %ecx
	andl	$7, %r9d
	btl	%r9d, %ecx
	adcl	$0, %eax
LBB0_8:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_CountBits                      ; -- Begin function CountBits
	.p2align	2
_CountBits:                             ; @CountBits
	.cfi_startproc
; %bb.0:
	cmp	w1, #1
	b.lt	LBB0_3
; %bb.1:
	cmp	w1, #4
	b.hs	LBB0_4
; %bb.2:
	mov	w8, #0
	mov	w9, #0
	b	LBB0_7
LBB0_3:
	mov	w0, #0
	ret
LBB0_4:
	mov	w13, #0
	mov	w11, #0
	mov	w12, #0
	mov	w10, #0
	mov	w8, #0
	and	w9, w1, #0xfffffffc
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	lsr	w14, w13, #3
	ldr	w14, [x0, w14, uxtw #2]
	and	w15, w13, #0x4
	orr	w16, w15, #0x1
	orr	w17, w15, #0x2
	orr	w2, w15, #0x3
	lsr	w15, w14, w15
	lsr	w16, w14, w16
	lsr	w17, w14, w17
	lsr	w14, w14, w2
	and	w15, w15, #0x1
	and	w16, w16, #0x1
	and	w17, w17, #0x1
	and	w14, w14, #0x1
	add	w11, w15, w11
	add	w12, w16, w12
	add	w10, w17, w10
	add	w8, w14, w8
	add	w13, w13, #4
	cmp	w9, w13
	b.ne	LBB0_5
; %bb.6:
	add	w11, w12, w11
	add	w10, w10, w11
	add	w8, w8, w10
	cmp	w9, w1
	b.eq	LBB0_8
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	lsr	w10, w9, #3
	ldr	w10, [x0, w10, uxtw #2]
	and	w11, w9, #0x7
	lsr	w10, w10, w11
	and	w10, w10, #0x1
	add	w8, w10, w8
	add	w9, w9, #1
	cmp	w1, w9
	b.ne	LBB0_7
LBB0_8:
	mov	x0, x8
	ret
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
