	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function __extract
LCPI0_0:
	.long	0                               ## 0x0
	.long	8                               ## 0x8
	.space	4
	.space	4
LCPI0_1:
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.space	4
	.space	4
LCPI0_2:
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
	.long	1065353216                      ## 0x3f800000
LCPI0_3:
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.space	4
	.space	4
LCPI0_4:
	.long	48                              ## 0x30
	.long	48                              ## 0x30
	.space	4
	.space	4
LCPI0_5:
	.long	64                              ## 0x40
	.long	64                              ## 0x40
	.space	4
	.space	4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
___extract:                             ## @__extract
	.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	%rbx
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%edx, %r8d
                                        ## kill: def $esi killed $esi def $rsi
	testl	%edx, %edx
	jle	LBB0_1
## %bb.2:
	movl	%esi, %eax
	andl	$7, %eax
	movl	$8, %r9d
	shrl	$3, %esi
	movl	(%rdi,%rsi,8), %edx
	movl	%eax, %ecx
	shrl	%cl, %edx
	movl	$8, %ecx
	subl	%eax, %ecx
	movl	%r8d, %ebx
	subl	%ecx, %ebx
	testl	%ebx, %ebx
	jle	LBB0_14
## %bb.3:
	addl	%r8d, %eax
	cmpl	$8, %ebx
	cmovbl	%ebx, %r9d
	notl	%r9d
	addl	%eax, %r9d
	cmpl	$24, %r9d
	jb	LBB0_12
## %bb.4:
	shrl	$3, %r9d
	incl	%r9d
	movl	%r9d, %r10d
	andl	$-4, %r10d
	movd	%edx, %xmm0
	movd	%ecx, %xmm1
	pshufd	$80, %xmm1, %xmm7               ## xmm7 = xmm1[0,0,1,1]
	paddd	LCPI0_0(%rip), %xmm7
	leal	-4(%r10), %eax
	movl	%eax, %r11d
	shrl	$2, %r11d
	incl	%r11d
	testl	%eax, %eax
	je	LBB0_5
## %bb.6:
	movl	%r11d, %r15d
	andl	$-2, %r15d
	leal	5(%rsi), %eax
	pxor	%xmm2, %xmm2
	xorl	%r14d, %r14d
	movdqa	LCPI0_1(%rip), %xmm8            ## xmm8 = <16,16,u,u>
	movdqa	LCPI0_2(%rip), %xmm4            ## xmm4 = [1065353216,1065353216,1065353216,1065353216]
	movdqa	LCPI0_3(%rip), %xmm9            ## xmm9 = <32,32,u,u>
	movdqa	LCPI0_4(%rip), %xmm10           ## xmm10 = <48,48,u,u>
	movdqa	LCPI0_5(%rip), %xmm11           ## xmm11 = <64,64,u,u>
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm7, %xmm1
	paddd	%xmm8, %xmm1
	leal	-4(%rax), %edx
	movdqu	(%rdi,%rdx,8), %xmm5
	movdqu	16(%rdi,%rdx,8), %xmm6
	pshufd	$232, %xmm5, %xmm5              ## xmm5 = xmm5[0,2,2,3]
	pshufd	$232, %xmm6, %xmm6              ## xmm6 = xmm6[0,2,2,3]
	movdqa	%xmm7, %xmm3
	pslld	$23, %xmm3
	paddd	%xmm4, %xmm3
	cvttps2dq	%xmm3, %xmm3
	pmulld	%xmm5, %xmm3
	por	%xmm0, %xmm3
	pslld	$23, %xmm1
	paddd	%xmm4, %xmm1
	cvttps2dq	%xmm1, %xmm1
	pmulld	%xmm6, %xmm1
	por	%xmm2, %xmm1
	movdqa	%xmm7, %xmm0
	paddd	%xmm9, %xmm0
	movdqa	%xmm7, %xmm2
	paddd	%xmm10, %xmm2
	movl	%eax, %edx
	movdqu	(%rdi,%rdx,8), %xmm5
	movdqu	16(%rdi,%rdx,8), %xmm6
	pshufd	$232, %xmm5, %xmm5              ## xmm5 = xmm5[0,2,2,3]
	pshufd	$232, %xmm6, %xmm6              ## xmm6 = xmm6[0,2,2,3]
	pslld	$23, %xmm0
	paddd	%xmm4, %xmm0
	cvttps2dq	%xmm0, %xmm0
	pmulld	%xmm5, %xmm0
	por	%xmm3, %xmm0
	pslld	$23, %xmm2
	paddd	%xmm4, %xmm2
	cvttps2dq	%xmm2, %xmm2
	pmulld	%xmm6, %xmm2
	por	%xmm1, %xmm2
	addl	$8, %r14d
	paddd	%xmm11, %xmm7
	addl	$8, %eax
	addl	$-2, %r15d
	jne	LBB0_7
## %bb.8:
	testb	$1, %r11b
	je	LBB0_10
LBB0_9:
	movdqa	LCPI0_1(%rip), %xmm1            ## xmm1 = <16,16,u,u>
	paddd	%xmm7, %xmm1
	leal	(%rsi,%r14), %eax
	incl	%eax
	movdqu	(%rdi,%rax,8), %xmm3
	movdqu	16(%rdi,%rax,8), %xmm4
	pshufd	$232, %xmm3, %xmm3              ## xmm3 = xmm3[0,2,2,3]
	pshufd	$232, %xmm4, %xmm4              ## xmm4 = xmm4[0,2,2,3]
	pslld	$23, %xmm7
	movdqa	LCPI0_2(%rip), %xmm5            ## xmm5 = [1065353216,1065353216,1065353216,1065353216]
	paddd	%xmm5, %xmm7
	cvttps2dq	%xmm7, %xmm6
	pmulld	%xmm3, %xmm6
	por	%xmm6, %xmm0
	pslld	$23, %xmm1
	paddd	%xmm5, %xmm1
	cvttps2dq	%xmm1, %xmm1
	pmulld	%xmm4, %xmm1
	por	%xmm1, %xmm2
LBB0_10:
	por	%xmm2, %xmm0
	pshufd	$85, %xmm0, %xmm1               ## xmm1 = xmm0[1,1,1,1]
	por	%xmm0, %xmm1
	movd	%xmm1, %edx
	cmpl	%r10d, %r9d
	je	LBB0_14
## %bb.11:
	leal	(,%r10,8), %eax
	subl	%eax, %ebx
	leal	(%rcx,%r10,8), %ecx
	addl	%r10d, %esi
LBB0_12:
	addl	$8, %ebx
	movl	%esi, %eax
	leaq	(%rdi,%rax,8), %rax
	addq	$8, %rax
	.p2align	4, 0x90
LBB0_13:                                ## =>This Inner Loop Header: Depth=1
	movl	(%rax), %esi
	shll	%cl, %esi
	orl	%esi, %edx
	addl	$8, %ecx
	addl	$-8, %ebx
	addq	$8, %rax
	cmpl	$8, %ebx
	ja	LBB0_13
	jmp	LBB0_14
LBB0_1:
	xorl	%edx, %edx
LBB0_14:
	movl	$-1, %esi
	movl	$-1, %eax
	movl	%r8d, %ecx
	shll	%cl, %eax
	cmpl	$32, %r8d
	notl	%eax
	cmovgel	%esi, %eax
	andl	%edx, %eax
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_5:
	pxor	%xmm2, %xmm2
	xorl	%r14d, %r14d
	testb	$1, %r11b
	jne	LBB0_9
	jmp	LBB0_10
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	___extract
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function __extract
lCPI0_0:
	.long	0                               ; 0x0
	.long	8                               ; 0x8
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
___extract:                             ; @__extract
	.cfi_startproc
; %bb.0:
	cmp	w2, #1
	b.lt	LBB0_4
; %bb.1:
	and	w11, w1, #0x7
	mov	w12, #8
	lsr	w14, w1, #3
	lsl	w8, w14, #3
	ldr	w8, [x0, w8, uxtw]
	lsr	w10, w8, w11
	sub	w8, w12, w11
	sub	w9, w2, w8
	cmp	w9, #1
	b.lt	LBB0_10
; %bb.2:
	cmp	w9, #8
	csel	w12, w9, w12, lo
	mvn	w12, w12
	add	w11, w11, w2
	add	w11, w11, w12
	cmp	w11, #56
	b.hs	LBB0_5
; %bb.3:
	mov	x13, x14
	b	LBB0_8
LBB0_4:
	mov	w10, #0
	b	LBB0_10
LBB0_5:
	lsr	w11, w11, #3
	add	w11, w11, #1
	and	w12, w11, #0x3ffffff8
	movi	d0, #0000000000000000
	mov.s	v0[0], w10
	dup.2s	v1, w8
Lloh0:
	adrp	x10, lCPI0_0@PAGE
Lloh1:
	ldr	d2, [x10, lCPI0_0@PAGEOFF]
	add.2s	v2, v1, v2
	movi.2d	v1, #0000000000000000
	lsr	w10, w12, #3
	sub	w9, w9, w12, lsl #3
	add	w13, w14, w12
	bfi	w8, w10, #6, #26
	add	w10, w14, #1
	movi.2s	v3, #16
	movi.2s	v4, #32
	movi.2s	v5, #48
	movi.2s	v6, #64
	mov	x14, x12
	movi.2d	v7, #0000000000000000
	movi.2d	v16, #0000000000000000
LBB0_6:                                 ; =>This Inner Loop Header: Depth=1
	add.2s	v17, v2, v3
	add.2s	v18, v2, v4
	add.2s	v19, v2, v5
	add	x15, x0, w10, uxtw #3
	ldp	q20, q21, [x15]
	ldp	q22, q23, [x15, #32]
	xtn.2s	v20, v20
	xtn.2s	v21, v21
	xtn.2s	v22, v22
	xtn.2s	v23, v23
	ushl.2s	v20, v20, v2
	ushl.2s	v17, v21, v17
	ushl.2s	v18, v22, v18
	ushl.2s	v19, v23, v19
	orr.8b	v0, v20, v0
	orr.8b	v1, v17, v1
	orr.8b	v7, v18, v7
	orr.8b	v16, v19, v16
	add.2s	v2, v2, v6
	add	w10, w10, #8
	subs	w14, w14, #8
	b.ne	LBB0_6
; %bb.7:
	orr.8b	v0, v1, v0
	orr.8b	v0, v7, v0
	orr.8b	v0, v16, v0
	mov.s	w10, v0[1]
	fmov	w14, s0
	orr	w10, w14, w10
	cmp	w11, w12
	b.eq	LBB0_10
LBB0_8:
	add	w9, w9, #8
	add	x11, x0, w13, uxtw #3
	add	x11, x11, #8
LBB0_9:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x11], #8
	lsl	w12, w12, w8
	orr	w10, w12, w10
	add	w8, w8, #8
	sub	w9, w9, #8
	cmp	w9, #8
	b.hi	LBB0_9
LBB0_10:
	mov	w8, #-1
	lsl	w9, w8, w2
	cmp	w2, #32
	csinv	w8, w8, w9, ge
	and	w0, w10, w8
	ret
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	___extract
.subsections_via_symbols
