	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function monowhite2Y_c
LCPI0_0:
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
	.long	1                               ## 0x1
LCPI0_1:
	.short	16383                           ## 0x3fff
	.short	0                               ## 0x0
	.short	16383                           ## 0x3fff
	.short	0                               ## 0x0
	.short	16383                           ## 0x3fff
	.short	0                               ## 0x0
	.short	16383                           ## 0x3fff
	.short	0                               ## 0x0
LCPI0_2:
	.quad	2                               ## 0x2
	.quad	3                               ## 0x3
LCPI0_3:
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	1                               ## 0x1
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
LCPI0_4:
	.quad	-9223372034707292160            ## 0x8000000080000000
	.quad	-9223372034707292160            ## 0x8000000080000000
LCPI0_5:
	.quad	4                               ## 0x4
	.quad	4                               ## 0x4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_monowhite2Y_c:                         ## @monowhite2Y_c
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%rbx
	.cfi_offset %rbx, -24
                                        ## kill: def $r8d killed $r8d def $r8
	leal	7(%r8), %r9d
	sarl	$3, %r9d
	testl	%r8d, %r8d
	jle	LBB0_3
## %bb.1:
	cmpl	$2, %r9d
	movl	$1, %r8d
	cmovgel	%r9d, %r8d
	cmpl	$4, %r8d
	jb	LBB0_2
## %bb.4:
	leaq	(%rsi,%r8,4), %rax
	cmpq	%rdi, %rax
	jbe	LBB0_7
## %bb.5:
	movq	%r8, %rax
	shlq	$5, %rax
	addq	%rdi, %rax
	cmpq	%rsi, %rax
	jbe	LBB0_7
LBB0_2:
	xorl	%r10d, %r10d
LBB0_10:
	movq	%r10, %rax
	shlq	$5, %rax
	leaq	(%rax,%rdi), %r11
	addq	$16, %r11
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [1,1,1,1]
	movdqa	LCPI0_1(%rip), %xmm1            ## xmm1 = [16383,0,16383,0,16383,0,16383,0]
	.p2align	4, 0x90
LBB0_11:                                ## =>This Inner Loop Header: Depth=1
	movl	(%rsi,%r10,4), %ecx
	xorl	%eax, %eax
	testb	$-128, %cl
	sete	%al
	movl	%eax, %edx
	shll	$14, %edx
	subl	%eax, %edx
	movl	%edx, -16(%r11)
	xorl	%eax, %eax
	testb	$64, %cl
	sete	%al
	movl	%eax, %edx
	shll	$14, %edx
	subl	%eax, %edx
	movl	%edx, -12(%r11)
	xorl	%eax, %eax
	testb	$32, %cl
	sete	%al
	movl	%eax, %edx
	shll	$14, %edx
	subl	%eax, %edx
	movl	%edx, -8(%r11)
	xorl	%eax, %eax
	testb	$16, %cl
	sete	%al
	movl	%eax, %edx
	shll	$14, %edx
	subl	%eax, %edx
	movl	%edx, -4(%r11)
	movl	%ecx, %eax
	shrl	$3, %eax
	movl	%ecx, %edx
	shrl	$2, %edx
	movl	%ecx, %ebx
	shrl	%ebx
	movd	%eax, %xmm2
	pinsrd	$1, %edx, %xmm2
	pinsrd	$2, %ebx, %xmm2
	pinsrd	$3, %ecx, %xmm2
	pandn	%xmm0, %xmm2
	pmaddwd	%xmm1, %xmm2
	movdqu	%xmm2, (%r11)
	incq	%r10
	addq	$32, %r11
	cmpq	%r10, %r8
	jne	LBB0_11
	jmp	LBB0_12
LBB0_3:
	xorl	%r8d, %r8d
	jmp	LBB0_12
LBB0_7:
	movl	%r8d, %r10d
	andl	$2147483644, %r10d              ## imm = 0x7FFFFFFC
	xorl	%eax, %eax
	movdqa	LCPI0_0(%rip), %xmm8            ## xmm8 = [1,1,1,1]
	movdqa	LCPI0_1(%rip), %xmm9            ## xmm9 = [16383,0,16383,0,16383,0,16383,0]
	movq	%rdi, %rcx
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movdqu	(%rsi,%rax,4), %xmm0
	movdqa	%xmm0, %xmm6
	psrld	$7, %xmm6
	pandn	%xmm8, %xmm6
	pmaddwd	%xmm9, %xmm6
	movdqa	%xmm0, %xmm7
	psrld	$6, %xmm7
	pandn	%xmm8, %xmm7
	pmaddwd	%xmm9, %xmm7
	movdqa	%xmm0, %xmm4
	psrld	$5, %xmm4
	pandn	%xmm8, %xmm4
	pmaddwd	%xmm9, %xmm4
	movdqa	%xmm0, %xmm15
	psrld	$4, %xmm15
	pandn	%xmm8, %xmm15
	pmaddwd	%xmm9, %xmm15
	movdqa	%xmm0, %xmm5
	psrld	$3, %xmm5
	pandn	%xmm8, %xmm5
	pmaddwd	%xmm9, %xmm5
	movdqa	%xmm0, %xmm2
	psrld	$2, %xmm2
	pandn	%xmm8, %xmm2
	pmaddwd	%xmm9, %xmm2
	movdqa	%xmm0, %xmm3
	psrld	$1, %xmm3
	pandn	%xmm8, %xmm3
	pmaddwd	%xmm9, %xmm3
	pandn	%xmm8, %xmm0
	pmaddwd	%xmm9, %xmm0
	movdqa	%xmm4, %xmm13
	punpckldq	%xmm15, %xmm13          ## xmm13 = xmm13[0],xmm15[0],xmm13[1],xmm15[1]
	pshufd	$85, %xmm6, %xmm10              ## xmm10 = xmm6[1,1,1,1]
	pblendw	$12, %xmm7, %xmm10              ## xmm10 = xmm10[0,1],xmm7[2,3],xmm10[4,5,6,7]
	pblendw	$240, %xmm13, %xmm10            ## xmm10 = xmm10[0,1,2,3],xmm13[4,5,6,7]
	movdqa	%xmm3, %xmm14
	punpckldq	%xmm0, %xmm14           ## xmm14 = xmm14[0],xmm0[0],xmm14[1],xmm0[1]
	pshufd	$85, %xmm5, %xmm11              ## xmm11 = xmm5[1,1,1,1]
	pblendw	$12, %xmm2, %xmm11              ## xmm11 = xmm11[0,1],xmm2[2,3],xmm11[4,5,6,7]
	pblendw	$240, %xmm14, %xmm11            ## xmm11 = xmm11[0,1,2,3],xmm14[4,5,6,7]
	movdqa	%xmm6, %xmm1
	punpckhdq	%xmm7, %xmm1            ## xmm1 = xmm1[2],xmm7[2],xmm1[3],xmm7[3]
	pshufd	$170, %xmm15, %xmm12            ## xmm12 = xmm15[2,2,2,2]
	pblendw	$63, %xmm4, %xmm12              ## xmm12 = xmm4[0,1,2,3,4,5],xmm12[6,7]
	pblendw	$15, %xmm1, %xmm12              ## xmm12 = xmm1[0,1,2,3],xmm12[4,5,6,7]
	punpckldq	%xmm7, %xmm6            ## xmm6 = xmm6[0],xmm7[0],xmm6[1],xmm7[1]
	punpcklqdq	%xmm13, %xmm6           ## xmm6 = xmm6[0],xmm13[0]
	movdqa	%xmm5, %xmm13
	punpckldq	%xmm2, %xmm13           ## xmm13 = xmm13[0],xmm2[0],xmm13[1],xmm2[1]
	punpcklqdq	%xmm14, %xmm13          ## xmm13 = xmm13[0],xmm14[0]
	pshufd	$170, %xmm0, %xmm7              ## xmm7 = xmm0[2,2,2,2]
	pblendw	$63, %xmm3, %xmm7               ## xmm7 = xmm3[0,1,2,3,4,5],xmm7[6,7]
	punpckhdq	%xmm2, %xmm5            ## xmm5 = xmm5[2],xmm2[2],xmm5[3],xmm2[3]
	pblendw	$15, %xmm5, %xmm7               ## xmm7 = xmm5[0,1,2,3],xmm7[4,5,6,7]
	punpckhdq	%xmm15, %xmm4           ## xmm4 = xmm4[2],xmm15[2],xmm4[3],xmm15[3]
	punpckhqdq	%xmm4, %xmm1            ## xmm1 = xmm1[1],xmm4[1]
	punpckhdq	%xmm0, %xmm3            ## xmm3 = xmm3[2],xmm0[2],xmm3[3],xmm0[3]
	punpckhqdq	%xmm3, %xmm5            ## xmm5 = xmm5[1],xmm3[1]
	movdqu	%xmm5, 112(%rcx)
	movdqu	%xmm1, 96(%rcx)
	movdqu	%xmm7, 80(%rcx)
	movdqu	%xmm13, 16(%rcx)
	movdqu	%xmm6, (%rcx)
	movdqu	%xmm12, 64(%rcx)
	movdqu	%xmm11, 48(%rcx)
	movdqu	%xmm10, 32(%rcx)
	addq	$4, %rax
	subq	$-128, %rcx
	cmpq	%rax, %r10
	jne	LBB0_8
## %bb.9:
	cmpq	%r8, %r10
	jne	LBB0_10
LBB0_12:
	andl	$7, %r9d
	je	LBB0_23
## %bb.13:
	movl	%r8d, %eax
	movl	(%rsi,%rax,4), %edx
	shll	$3, %r8d
	movl	%r9d, %eax
	addl	$3, %r9d
	andl	$-4, %r9d
	decq	%rax
	movq	%rax, %xmm0
	pshufd	$68, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,0,1]
	leaq	(%rdi,%r8,4), %rcx
	addq	$12, %rcx
	movdqa	LCPI0_2(%rip), %xmm1            ## xmm1 = [2,3]
	movdqa	LCPI0_3(%rip), %xmm2            ## xmm2 = [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
	movl	$7, %esi
	xorl	%edi, %edi
	movdqa	LCPI0_4(%rip), %xmm8            ## xmm8 = [9223372039002259456,9223372039002259456]
	pxor	%xmm8, %xmm0
	pcmpeqd	%xmm4, %xmm4
	movdqa	LCPI0_5(%rip), %xmm5            ## xmm5 = [4,4]
	jmp	LBB0_15
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_15 Depth=1
	addq	$4, %rdi
	paddq	%xmm5, %xmm2
	paddq	%xmm5, %xmm1
	addl	$-4, %esi
	cmpq	%rdi, %r9
	je	LBB0_23
LBB0_15:                                ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm2, %xmm6
	pxor	%xmm8, %xmm6
	movdqa	%xmm6, %xmm7
	pcmpgtd	%xmm0, %xmm7
	pcmpeqd	%xmm0, %xmm6
	pshufd	$245, %xmm6, %xmm3              ## xmm3 = xmm6[1,1,3,3]
	pand	%xmm7, %xmm3
	pshufd	$245, %xmm7, %xmm6              ## xmm6 = xmm7[1,1,3,3]
	por	%xmm3, %xmm6
	movd	%xmm6, %eax
	notl	%eax
	testb	$1, %al
	je	LBB0_17
## %bb.16:                              ##   in Loop: Header=BB0_15 Depth=1
	xorl	%ebx, %ebx
	btl	%esi, %edx
	setae	%bl
	movl	%ebx, %eax
	shll	$14, %eax
	subl	%ebx, %eax
	movl	%eax, -12(%rcx,%rdi,4)
LBB0_17:                                ##   in Loop: Header=BB0_15 Depth=1
	pxor	%xmm4, %xmm6
	pextrb	$8, %xmm6, %eax
	testb	$1, %al
	je	LBB0_19
## %bb.18:                              ##   in Loop: Header=BB0_15 Depth=1
	leal	-1(%rsi), %eax
	movzbl	%al, %eax
	xorl	%ebx, %ebx
	btl	%eax, %edx
	setae	%bl
	movl	%ebx, %eax
	shll	$14, %eax
	subl	%ebx, %eax
	movl	%eax, -8(%rcx,%rdi,4)
LBB0_19:                                ##   in Loop: Header=BB0_15 Depth=1
	movdqa	%xmm1, %xmm3
	pxor	%xmm8, %xmm3
	movdqa	%xmm3, %xmm6
	pcmpgtd	%xmm0, %xmm6
	pcmpeqd	%xmm0, %xmm3
	pshufd	$245, %xmm3, %xmm3              ## xmm3 = xmm3[1,1,3,3]
	pand	%xmm6, %xmm3
	pshufd	$245, %xmm6, %xmm6              ## xmm6 = xmm6[1,1,3,3]
	por	%xmm3, %xmm6
	pxor	%xmm4, %xmm6
	pextrb	$0, %xmm6, %eax
	testb	$1, %al
	je	LBB0_21
## %bb.20:                              ##   in Loop: Header=BB0_15 Depth=1
	leal	-2(%rsi), %eax
	movzbl	%al, %eax
	xorl	%ebx, %ebx
	btl	%eax, %edx
	setae	%bl
	movl	%ebx, %eax
	shll	$14, %eax
	subl	%ebx, %eax
	movl	%eax, -4(%rcx,%rdi,4)
LBB0_21:                                ##   in Loop: Header=BB0_15 Depth=1
	pextrb	$8, %xmm6, %eax
	testb	$1, %al
	je	LBB0_14
## %bb.22:                              ##   in Loop: Header=BB0_15 Depth=1
	leal	-3(%rsi), %eax
	movzbl	%al, %eax
	xorl	%ebx, %ebx
	btl	%eax, %edx
	setae	%bl
	movl	%ebx, %eax
	shll	$14, %eax
	subl	%ebx, %eax
	movl	%eax, (%rcx,%rdi,4)
	jmp	LBB0_14
LBB0_23:
	popq	%rbx
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_monowhite2Y_c
.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 monowhite2Y_c
lCPI0_0:
	.long	4294967289                      ; 0xfffffff9
	.long	4294967290                      ; 0xfffffffa
	.long	4294967291                      ; 0xfffffffb
	.long	4294967292                      ; 0xfffffffc
lCPI0_2:
	.quad	0                               ; 0x0
	.quad	1                               ; 0x1
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
lCPI0_1:
	.long	4294967293                      ; 0xfffffffd
	.long	4294967294                      ; 0xfffffffe
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_monowhite2Y_c:                         ; @monowhite2Y_c
	.cfi_startproc
; %bb.0:
	add	w8, w4, #7
	cmp	w4, #1
	b.lt	LBB0_10
; %bb.1:
	asr	w9, w8, #3
	cmp	w9, #1
	csinc	w9, w9, wzr, gt
	cmp	w9, #4
	b.lo	LBB0_6
; %bb.2:
	add	x10, x0, x9, lsl #5
	add	x11, x1, x9, lsl #2
	cmp	x11, x0
	ccmp	x10, x1, #0, hi
	b.hi	LBB0_6
; %bb.3:
	and	x10, x9, #0x7ffffffc
	movi.4s	v0, #1
	movi.4s	v1, #63, msl #8
	mov	x11, x10
	mov	x12, x0
	mov	x13, x1
LBB0_4:                                 ; =>This Inner Loop Header: Depth=1
	ldr	q2, [x13], #16
	ushr.4s	v3, v2, #7
	bic.16b	v3, v0, v3
	mul.4s	v3, v3, v1
	ushr.4s	v4, v2, #6
	bic.16b	v4, v0, v4
	mul.4s	v4, v4, v1
	ushr.4s	v5, v2, #5
	bic.16b	v5, v0, v5
	mul.4s	v5, v5, v1
	ushr.4s	v6, v2, #4
	bic.16b	v6, v0, v6
	mul.4s	v6, v6, v1
	ushr.4s	v7, v2, #3
	bic.16b	v7, v0, v7
	mul.4s	v7, v7, v1
	ushr.4s	v16, v2, #2
	bic.16b	v16, v0, v16
	mul.4s	v16, v16, v1
	ushr.4s	v17, v2, #1
	bic.16b	v17, v0, v17
	mul.4s	v17, v17, v1
	bic.16b	v2, v0, v2
	mul.4s	v2, v2, v1
	zip1.4s	v18, v3, v4
	zip1.4s	v19, v5, v6
	ext.16b	v20, v5, v19, #8
	mov.d	v18[1], v20[1]
	zip1.4s	v20, v7, v16
	zip1.4s	v21, v17, v2
	ext.16b	v22, v17, v21, #8
	mov.d	v20[1], v22[1]
	zip2.4s	v22, v5, v6
	uzp2.4s	v23, v3, v4
	uzp2.4s	v23, v23, v3
	mov.d	v23[1], v22[1]
	zip2.4s	v22, v17, v2
	uzp2.4s	v24, v7, v16
	uzp2.4s	v24, v24, v7
	mov.d	v24[1], v22[1]
	trn2.4s	v22, v3, v4
	mov.d	v22[1], v19[1]
	trn2.4s	v19, v7, v16
	mov.d	v19[1], v21[1]
	mov.s	v5[3], v6[2]
	zip2.4s	v3, v3, v4
	mov.d	v3[1], v5[1]
	mov.s	v17[3], v2[2]
	zip2.4s	v2, v7, v16
	mov.d	v2[1], v17[1]
	stp	q3, q2, [x12, #64]
	stp	q22, q19, [x12, #32]
	stp	q23, q24, [x12, #96]
	stp	q18, q20, [x12], #128
	subs	x11, x11, #4
	b.ne	LBB0_4
; %bb.5:
	cmp	x10, x9
	b.ne	LBB0_7
	b	LBB0_9
LBB0_6:
	mov	x10, #0
LBB0_7:
	add	x11, x0, x10, lsl #5
	add	x11, x11, #16
	add	x12, x1, x10, lsl #2
	sub	x10, x9, x10
Lloh0:
	adrp	x13, lCPI0_0@PAGE
Lloh1:
	ldr	q0, [x13, lCPI0_0@PAGEOFF]
	movi.4s	v1, #1
	movi.4s	v2, #63, msl #8
Lloh2:
	adrp	x13, lCPI0_1@PAGE
Lloh3:
	ldr	d3, [x13, lCPI0_1@PAGEOFF]
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldr	w13, [x12], #4
	dup.4s	v4, w13
	ushl.4s	v4, v4, v0
	bic.16b	v4, v1, v4
	mul.4s	v6, v4, v2
	dup.2s	v5, w13
	ushl.2s	v5, v5, v3
	lsr	w14, w13, #1
	mov.s	v5[2], w14
	mov.s	v5[3], w13
	bic.16b	v4, v1, v5
	mul.4s	v4, v4, v2
	stp	q6, q4, [x11, #-16]
	add	x11, x11, #32
	subs	x10, x10, #1
	b.ne	LBB0_8
LBB0_9:
	ubfx	w11, w8, #3, #3
	cbnz	w11, LBB0_11
	b	LBB0_17
LBB0_10:
	mov	w9, #0
	ubfx	w11, w8, #3, #3
	cbz	w11, LBB0_17
LBB0_11:
	mov	x8, #0
	ldr	w10, [x1, w9, uxtw #2]
	lsl	w9, w9, #3
	add	w12, w11, #1
	sub	x11, x11, #1
	dup.2d	v0, x11
	dup.2d	v1, x9
	and	x9, x12, #0xe
	neg	x9, x9
Lloh4:
	adrp	x11, lCPI0_2@PAGE
Lloh5:
	ldr	q2, [x11, lCPI0_2@PAGEOFF]
	mov	w11, #2
	dup.2d	v3, x11
	b	LBB0_13
LBB0_12:                                ;   in Loop: Header=BB0_13 Depth=1
	add.2d	v2, v2, v3
	sub	x8, x8, #2
	cmp	x9, x8
	b.eq	LBB0_17
LBB0_13:                                ; =>This Inner Loop Header: Depth=1
	cmhs.2d	v4, v0, v2
	xtn.2s	v5, v4
	add.2d	v4, v2, v1
	fmov	w11, s5
	tbz	w11, #0, LBB0_15
; %bb.14:                               ;   in Loop: Header=BB0_13 Depth=1
	add	w11, w8, #7
	lsr	w11, w10, w11
	mvn	w11, w11
	and	w11, w11, #0x1
	lsl	w12, w11, #14
	sub	w11, w12, w11
	fmov	x12, d4
	str	w11, [x0, x12, lsl #2]
LBB0_15:                                ;   in Loop: Header=BB0_13 Depth=1
	mov.s	w11, v5[1]
	tbz	w11, #0, LBB0_12
; %bb.16:                               ;   in Loop: Header=BB0_13 Depth=1
	add	w11, w8, #6
	lsr	w11, w10, w11
	mvn	w11, w11
	and	w11, w11, #0x1
	lsl	w12, w11, #14
	sub	w11, w12, w11
	mov.d	x12, v4[1]
	str	w11, [x0, x12, lsl #2]
	b	LBB0_12
LBB0_17:
	ret
	.loh AdrpLdr	Lloh2, Lloh3
	.loh AdrpAdrp	Lloh0, Lloh2
	.loh AdrpLdr	Lloh0, Lloh1
	.loh AdrpLdr	Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_monowhite2Y_c
.subsections_via_symbols
