	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function nrbits
_nrbits:                                ## @nrbits
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
                                        ## kill: def $esi killed $esi def $rsi
	testl	%esi, %esi
	jle	LBB0_1
## %bb.2:
	leal	-1(%rsi), %eax
	movl	%esi, %r8d
	andl	$3, %r8d
	cmpl	$3, %eax
	jae	LBB0_4
## %bb.3:
	xorl	%eax, %eax
	xorl	%edx, %edx
	jmp	LBB0_6
LBB0_1:
	xorl	%eax, %eax
	popq	%rbp
	retq
LBB0_4:
	andl	$-4, %esi
	xorl	%eax, %eax
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	xorl	%r10d, %r10d
	btl	%edx, %edi
	setb	%r10b
	leal	1(%rdx), %r9d
	btl	%r9d, %edi
	adcl	%eax, %r10d
	leal	1(%r9), %eax
	movzbl	%al, %r9d
	xorl	%eax, %eax
	btl	%r9d, %edi
	setb	%al
	leal	3(%rdx), %ecx
	btl	%ecx, %edi
	adcl	%r10d, %eax
	addl	$4, %edx
	cmpl	%esi, %edx
	jne	LBB0_5
LBB0_6:
	testl	%r8d, %r8d
	je	LBB0_8
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	btl	%edx, %edi
	adcl	$0, %eax
	incl	%edx
	decl	%r8d
	jne	LBB0_7
LBB0_8:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_nrbits
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function nrbits
lCPI0_0:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.long	3                               ; 0x3
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_nrbits:                                ; @nrbits
	.cfi_startproc
; %bb.0:
	cmp	w1, #1
	b.lt	LBB0_3
; %bb.1:
	cmp	w1, #16
	b.hs	LBB0_4
; %bb.2:
	mov	w8, #0
	mov	w9, #0
	b	LBB0_7
LBB0_3:
	mov	w0, #0
	ret
LBB0_4:
	and	w9, w1, #0xfffffff0
	dup.4s	v0, w0
	movi.2d	v1, #0000000000000000
	mvni.4s	v2, #3
	mvni.4s	v3, #7
Lloh0:
	adrp	x8, lCPI0_0@PAGE
Lloh1:
	ldr	q4, [x8, lCPI0_0@PAGEOFF]
	mvni.4s	v5, #11
	movi.4s	v6, #1
	movi.4s	v7, #16
	mov	x8, x9
	movi.2d	v16, #0000000000000000
	movi.2d	v17, #0000000000000000
	movi.2d	v18, #0000000000000000
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	neg.4s	v19, v4
	ushl.4s	v19, v0, v19
	sub.4s	v20, v2, v4
	ushl.4s	v20, v0, v20
	sub.4s	v21, v3, v4
	ushl.4s	v21, v0, v21
	sub.4s	v22, v5, v4
	ushl.4s	v22, v0, v22
	and.16b	v19, v19, v6
	and.16b	v20, v20, v6
	and.16b	v21, v21, v6
	and.16b	v22, v22, v6
	add.4s	v1, v19, v1
	add.4s	v16, v20, v16
	add.4s	v17, v21, v17
	add.4s	v18, v22, v18
	add.4s	v4, v4, v7
	subs	w8, w8, #16
	b.ne	LBB0_5
; %bb.6:
	add.4s	v0, v16, v1
	add.4s	v0, v17, v0
	add.4s	v0, v18, v0
	addv.4s	s0, v0
	fmov	w8, s0
	cmp	w9, w1
	b.eq	LBB0_8
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	lsr	w10, w0, w9
	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
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_nrbits
.subsections_via_symbols
