	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function FlipBits
LCPI0_0:
	.long	12                              ## 0xc
	.long	13                              ## 0xd
	.long	14                              ## 0xe
	.long	15                              ## 0xf
LCPI0_1:
	.long	8                               ## 0x8
	.long	9                               ## 0x9
	.long	10                              ## 0xa
	.long	11                              ## 0xb
LCPI0_2:
	.long	4                               ## 0x4
	.long	5                               ## 0x5
	.long	6                               ## 0x6
	.long	7                               ## 0x7
LCPI0_3:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.long	2                               ## 0x2
	.long	3                               ## 0x3
LCPI0_4:
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.long	16                              ## 0x10
LCPI0_5:
	.long	4294967279                      ## 0xffffffef
	.long	4294967279                      ## 0xffffffef
	.long	4294967279                      ## 0xffffffef
	.long	4294967279                      ## 0xffffffef
LCPI0_6:
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.long	32                              ## 0x20
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_FlipBits:                              ## @FlipBits
	.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
	xorl	%r9d, %r9d
	movl	$8, %eax
	xorl	%edx, %edx
	idivl	%esi
	testl	%eax, %eax
	jle	LBB0_1
## %bb.2:
	movl	%esi, %r8d
	movzbl	%dil, %r13d
	leal	-16(%r8), %r11d
	movl	%r11d, -48(%rbp)                ## 4-byte Spill
	shrl	$4, %r11d
	incl	%r11d
	movl	%esi, %r12d
	andl	$-16, %r12d
	movd	%r13d, %xmm0
	pshufd	$0, %xmm0, %xmm8                ## xmm8 = xmm0[0,0,0,0]
	movd	%esi, %xmm1
	pshufd	$0, %xmm1, %xmm15               ## xmm15 = xmm1[0,0,0,0]
	movl	%r11d, %ecx
	andl	$-2, %ecx
	movl	%ecx, -44(%rbp)                 ## 4-byte Spill
	leal	-1(%r8), %r15d
	movl	$128, %r10d
	xorl	%esi, %esi
	movdqa	%xmm8, -112(%rbp)               ## 16-byte Spill
	movdqa	%xmm15, -96(%rbp)               ## 16-byte Spill
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_3 Depth=1
	movl	%r8d, %ecx
	shrl	%cl, %r10d
	incl	%r9d
	cmpl	%eax, %r9d
	je	LBB0_15
LBB0_3:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_8 Depth 2
                                        ##     Child Loop BB0_13 Depth 2
	movzbl	%r10b, %r10d
	testl	%r8d, %r8d
	jle	LBB0_14
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	xorl	%edx, %edx
	cmpl	$16, %r8d
	jb	LBB0_12
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	movzbl	%sil, %ecx
	movd	%ecx, %xmm2
	movd	%r10d, %xmm1
	pshufd	$0, %xmm1, %xmm14               ## xmm14 = xmm1[0,0,0,0]
	cmpl	$16, -48(%rbp)                  ## 4-byte Folded Reload
	jae	LBB0_7
## %bb.6:                               ##   in Loop: Header=BB0_3 Depth=1
	movdqa	LCPI0_3(%rip), %xmm12           ## xmm12 = [0,1,2,3]
	movdqa	LCPI0_2(%rip), %xmm10           ## xmm10 = [4,5,6,7]
	movdqa	LCPI0_1(%rip), %xmm9            ## xmm9 = [8,9,10,11]
	movdqa	LCPI0_0(%rip), %xmm13           ## xmm13 = [12,13,14,15]
	jmp	LBB0_9
LBB0_7:                                 ##   in Loop: Header=BB0_3 Depth=1
	movl	-44(%rbp), %ecx                 ## 4-byte Reload
	movdqa	LCPI0_3(%rip), %xmm12           ## xmm12 = [0,1,2,3]
	movdqa	LCPI0_2(%rip), %xmm10           ## xmm10 = [4,5,6,7]
	movdqa	LCPI0_1(%rip), %xmm9            ## xmm9 = [8,9,10,11]
	movdqa	LCPI0_0(%rip), %xmm13           ## xmm13 = [12,13,14,15]
	.p2align	4, 0x90
LBB0_8:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqa	%xmm12, -64(%rbp)               ## 16-byte Spill
	movdqa	%xmm10, -80(%rbp)               ## 16-byte Spill
	pshuflw	$254, %xmm12, %xmm1             ## xmm1 = xmm12[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm1, %xmm4
	pshufd	$238, %xmm12, %xmm1             ## xmm1 = xmm12[2,3,2,3]
	pshuflw	$254, %xmm1, %xmm5              ## xmm5 = xmm1[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm5, %xmm7
	pshuflw	$84, %xmm12, %xmm5              ## xmm5 = xmm12[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm8
	psrld	%xmm5, %xmm8
	pshuflw	$84, %xmm1, %xmm1               ## xmm1 = xmm1[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm15
	psrld	%xmm1, %xmm15
	pblendw	$15, %xmm4, %xmm7               ## xmm7 = xmm4[0,1,2,3],xmm7[4,5,6,7]
	pshuflw	$254, %xmm10, %xmm1             ## xmm1 = xmm10[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm1, %xmm4
	pshufd	$238, %xmm10, %xmm1             ## xmm1 = xmm10[2,3,2,3]
	pshuflw	$254, %xmm1, %xmm5              ## xmm5 = xmm1[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm11
	psrld	%xmm5, %xmm11
	pblendw	$15, %xmm8, %xmm15              ## xmm15 = xmm8[0,1,2,3],xmm15[4,5,6,7]
	pshuflw	$84, %xmm10, %xmm5              ## xmm5 = xmm10[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm5, %xmm6
	pblendw	$204, %xmm7, %xmm15             ## xmm15 = xmm15[0,1],xmm7[2,3],xmm15[4,5],xmm7[6,7]
	pshuflw	$84, %xmm1, %xmm5               ## xmm5 = xmm1[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm5, %xmm1
	pblendw	$15, %xmm4, %xmm11              ## xmm11 = xmm4[0,1,2,3],xmm11[4,5,6,7]
	pshuflw	$254, %xmm9, %xmm4              ## xmm4 = xmm9[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm4, %xmm5
	pshufd	$238, %xmm9, %xmm4              ## xmm4 = xmm9[2,3,2,3]
	pshuflw	$254, %xmm4, %xmm7              ## xmm7 = xmm4[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm0
	psrld	%xmm7, %xmm0
	pblendw	$15, %xmm6, %xmm1               ## xmm1 = xmm6[0,1,2,3],xmm1[4,5,6,7]
	pshuflw	$84, %xmm9, %xmm6               ## xmm6 = xmm9[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm6, %xmm7
	pblendw	$204, %xmm11, %xmm1             ## xmm1 = xmm1[0,1],xmm11[2,3],xmm1[4,5],xmm11[6,7]
	pshuflw	$84, %xmm4, %xmm6               ## xmm6 = xmm4[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm6, %xmm4
	pblendw	$15, %xmm5, %xmm0               ## xmm0 = xmm5[0,1,2,3],xmm0[4,5,6,7]
	pshuflw	$254, %xmm13, %xmm5             ## xmm5 = xmm13[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm5, %xmm6
	pshufd	$238, %xmm13, %xmm5             ## xmm5 = xmm13[2,3,2,3]
	pshuflw	$254, %xmm5, %xmm8              ## xmm8 = xmm5[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm8, %xmm3
	pblendw	$15, %xmm7, %xmm4               ## xmm4 = xmm7[0,1,2,3],xmm4[4,5,6,7]
	pshuflw	$84, %xmm13, %xmm8              ## xmm8 = xmm13[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm8, %xmm7
	pblendw	$204, %xmm0, %xmm4              ## xmm4 = xmm4[0,1],xmm0[2,3],xmm4[4,5],xmm0[6,7]
	pshuflw	$84, %xmm5, %xmm0               ## xmm0 = xmm5[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm0, %xmm5
	pblendw	$15, %xmm6, %xmm3               ## xmm3 = xmm6[0,1,2,3],xmm3[4,5,6,7]
	pblendw	$15, %xmm7, %xmm5               ## xmm5 = xmm7[0,1,2,3],xmm5[4,5,6,7]
	pblendw	$204, %xmm3, %xmm5              ## xmm5 = xmm5[0,1],xmm3[2,3],xmm5[4,5],xmm3[6,7]
	movdqa	-112(%rbp), %xmm10              ## 16-byte Reload
	pand	%xmm10, %xmm5
	pand	%xmm10, %xmm4
	pand	%xmm10, %xmm1
	pand	%xmm10, %xmm15
	pxor	%xmm0, %xmm0
	pcmpeqd	%xmm0, %xmm15
	pcmpeqd	%xmm0, %xmm1
	packssdw	%xmm1, %xmm15
	pcmpeqd	%xmm0, %xmm4
	pcmpeqd	%xmm0, %xmm5
	packssdw	%xmm5, %xmm4
	packsswb	%xmm4, %xmm15
	movdqa	%xmm9, %xmm0
	pcmpeqd	%xmm1, %xmm1
	pxor	%xmm1, %xmm0
	movdqa	%xmm13, %xmm7
	pxor	%xmm1, %xmm7
	movdqa	%xmm12, %xmm4
	pxor	%xmm1, %xmm4
	movdqa	-80(%rbp), %xmm11               ## 16-byte Reload
	pxor	%xmm1, %xmm11
	movdqa	-96(%rbp), %xmm12               ## 16-byte Reload
	paddd	%xmm12, %xmm11
	paddd	%xmm12, %xmm4
	paddd	%xmm12, %xmm0
	pshuflw	$254, %xmm0, %xmm3              ## xmm3 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm3, %xmm5
	pshufd	$238, %xmm0, %xmm3              ## xmm3 = xmm0[2,3,2,3]
	pshuflw	$254, %xmm3, %xmm8              ## xmm8 = xmm3[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm8, %xmm6
	paddd	%xmm12, %xmm7
	pshuflw	$84, %xmm0, %xmm8               ## xmm8 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm0
	psrld	%xmm8, %xmm0
	pblendw	$15, %xmm5, %xmm6               ## xmm6 = xmm5[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$84, %xmm3, %xmm3               ## xmm3 = xmm3[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm3, %xmm5
	pblendw	$15, %xmm0, %xmm5               ## xmm5 = xmm0[0,1,2,3],xmm5[4,5,6,7]
	pshuflw	$254, %xmm7, %xmm0              ## xmm0 = xmm7[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm7, %xmm0              ## xmm0 = xmm7[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm8              ## xmm8 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm8, %xmm1
	pblendw	$204, %xmm6, %xmm5              ## xmm5 = xmm5[0,1],xmm6[2,3],xmm5[4,5],xmm6[6,7]
	pshuflw	$84, %xmm7, %xmm6               ## xmm6 = xmm7[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm6, %xmm7
	pblendw	$15, %xmm3, %xmm1               ## xmm1 = xmm3[0,1,2,3],xmm1[4,5,6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pblendw	$15, %xmm7, %xmm3               ## xmm3 = xmm7[0,1,2,3],xmm3[4,5,6,7]
	pshuflw	$254, %xmm4, %xmm0              ## xmm0 = xmm4[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm0, %xmm6
	pshufd	$238, %xmm4, %xmm0              ## xmm0 = xmm4[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm8              ## xmm8 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm8, %xmm7
	pblendw	$204, %xmm1, %xmm3              ## xmm3 = xmm3[0,1],xmm1[2,3],xmm3[4,5],xmm1[6,7]
	pshuflw	$84, %xmm4, %xmm1               ## xmm1 = xmm4[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm1, %xmm4
	packusdw	%xmm3, %xmm5
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm0, %xmm1
	pblendw	$15, %xmm6, %xmm7               ## xmm7 = xmm6[0,1,2,3],xmm7[4,5,6,7]
	pshuflw	$254, %xmm11, %xmm0             ## xmm0 = xmm11[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm11, %xmm0             ## xmm0 = xmm11[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm8              ## xmm8 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm8, %xmm6
	pblendw	$15, %xmm4, %xmm1               ## xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]
	pshuflw	$84, %xmm11, %xmm8              ## xmm8 = xmm11[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm8, %xmm4
	pblendw	$204, %xmm7, %xmm1              ## xmm1 = xmm1[0,1],xmm7[2,3],xmm1[4,5],xmm7[6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm0, %xmm7
	pblendw	$15, %xmm3, %xmm6               ## xmm6 = xmm3[0,1,2,3],xmm6[4,5,6,7]
	pblendw	$15, %xmm4, %xmm7               ## xmm7 = xmm4[0,1,2,3],xmm7[4,5,6,7]
	pblendw	$204, %xmm6, %xmm7              ## xmm7 = xmm7[0,1],xmm6[2,3],xmm7[4,5],xmm6[6,7]
	packusdw	%xmm7, %xmm1
	packuswb	%xmm5, %xmm1
	pandn	%xmm1, %xmm15
	por	%xmm2, %xmm15
	movdqa	%xmm13, %xmm8
	movdqa	LCPI0_4(%rip), %xmm1            ## xmm1 = [16,16,16,16]
	paddd	%xmm1, %xmm8
	movdqa	%xmm9, %xmm5
	movdqa	-64(%rbp), %xmm0                ## 16-byte Reload
	paddd	%xmm1, %xmm0
	pshuflw	$254, %xmm0, %xmm2              ## xmm2 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm2, %xmm3
	pshufd	$238, %xmm0, %xmm2              ## xmm2 = xmm0[2,3,2,3]
	pshuflw	$254, %xmm2, %xmm4              ## xmm4 = xmm2[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm4, %xmm6
	paddd	%xmm1, %xmm5
	movdqa	-80(%rbp), %xmm4                ## 16-byte Reload
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm0, %xmm7
	paddd	%xmm1, %xmm4
	pshuflw	$84, %xmm2, %xmm0               ## xmm0 = xmm2[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm2
	psrld	%xmm0, %xmm2
	pblendw	$15, %xmm3, %xmm6               ## xmm6 = xmm3[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$254, %xmm4, %xmm0              ## xmm0 = xmm4[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm4, %xmm0              ## xmm0 = xmm4[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm11             ## xmm11 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm11, %xmm1
	pblendw	$15, %xmm7, %xmm2               ## xmm2 = xmm7[0,1,2,3],xmm2[4,5,6,7]
	pshuflw	$84, %xmm4, %xmm4               ## xmm4 = xmm4[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm4, %xmm7
	pblendw	$204, %xmm6, %xmm2              ## xmm2 = xmm2[0,1],xmm6[2,3],xmm2[4,5],xmm6[6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm0, %xmm4
	pblendw	$15, %xmm3, %xmm1               ## xmm1 = xmm3[0,1,2,3],xmm1[4,5,6,7]
	pshuflw	$254, %xmm5, %xmm0              ## xmm0 = xmm5[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm5, %xmm0              ## xmm0 = xmm5[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm11             ## xmm11 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm11, %xmm6
	pblendw	$15, %xmm7, %xmm4               ## xmm4 = xmm7[0,1,2,3],xmm4[4,5,6,7]
	pshuflw	$84, %xmm5, %xmm5               ## xmm5 = xmm5[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm5, %xmm7
	pblendw	$204, %xmm1, %xmm4              ## xmm4 = xmm4[0,1],xmm1[2,3],xmm4[4,5],xmm1[6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm0, %xmm5
	pblendw	$15, %xmm3, %xmm6               ## xmm6 = xmm3[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$254, %xmm8, %xmm0              ## xmm0 = xmm8[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm0, %xmm1
	pshufd	$238, %xmm8, %xmm0              ## xmm0 = xmm8[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm11             ## xmm11 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm11, %xmm3
	pblendw	$15, %xmm7, %xmm5               ## xmm5 = xmm7[0,1,2,3],xmm5[4,5,6,7]
	pshuflw	$84, %xmm8, %xmm8               ## xmm8 = xmm8[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm8, %xmm7
	pblendw	$204, %xmm6, %xmm5              ## xmm5 = xmm5[0,1],xmm6[2,3],xmm5[4,5],xmm6[6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm0, %xmm6
	pblendw	$15, %xmm1, %xmm3               ## xmm3 = xmm1[0,1,2,3],xmm3[4,5,6,7]
	pblendw	$15, %xmm7, %xmm6               ## xmm6 = xmm7[0,1,2,3],xmm6[4,5,6,7]
	pblendw	$204, %xmm3, %xmm6              ## xmm6 = xmm6[0,1],xmm3[2,3],xmm6[4,5],xmm3[6,7]
	pand	%xmm10, %xmm6
	pand	%xmm10, %xmm5
	pand	%xmm10, %xmm4
	pand	%xmm10, %xmm2
	movdqa	-80(%rbp), %xmm10               ## 16-byte Reload
	pxor	%xmm0, %xmm0
	pcmpeqd	%xmm0, %xmm2
	pcmpeqd	%xmm0, %xmm4
	packssdw	%xmm4, %xmm2
	pcmpeqd	%xmm0, %xmm5
	pxor	%xmm0, %xmm0
	pcmpeqd	%xmm0, %xmm6
	packssdw	%xmm6, %xmm5
	packsswb	%xmm5, %xmm2
	movdqa	%xmm12, %xmm11
	psubd	%xmm10, %xmm11
	movdqa	LCPI0_5(%rip), %xmm1            ## xmm1 = [4294967279,4294967279,4294967279,4294967279]
	paddd	%xmm1, %xmm11
	movdqa	%xmm12, %xmm4
	psubd	-64(%rbp), %xmm4                ## 16-byte Folded Reload
	paddd	%xmm1, %xmm4
	movdqa	%xmm12, %xmm7
	psubd	%xmm13, %xmm7
	movdqa	%xmm12, %xmm0
	movdqa	-64(%rbp), %xmm12               ## 16-byte Reload
	psubd	%xmm9, %xmm0
	paddd	%xmm1, %xmm0
	pshuflw	$254, %xmm0, %xmm3              ## xmm3 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm3, %xmm5
	pshufd	$238, %xmm0, %xmm3              ## xmm3 = xmm0[2,3,2,3]
	pshuflw	$254, %xmm3, %xmm8              ## xmm8 = xmm3[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm8, %xmm6
	paddd	%xmm1, %xmm7
	pshuflw	$84, %xmm0, %xmm8               ## xmm8 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm0
	psrld	%xmm8, %xmm0
	pblendw	$15, %xmm5, %xmm6               ## xmm6 = xmm5[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$84, %xmm3, %xmm3               ## xmm3 = xmm3[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm3, %xmm5
	pblendw	$15, %xmm0, %xmm5               ## xmm5 = xmm0[0,1,2,3],xmm5[4,5,6,7]
	pshuflw	$254, %xmm7, %xmm0              ## xmm0 = xmm7[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm7, %xmm0              ## xmm0 = xmm7[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm8              ## xmm8 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm8, %xmm1
	pblendw	$204, %xmm6, %xmm5              ## xmm5 = xmm5[0,1],xmm6[2,3],xmm5[4,5],xmm6[6,7]
	pshuflw	$84, %xmm7, %xmm6               ## xmm6 = xmm7[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm6, %xmm7
	pblendw	$15, %xmm3, %xmm1               ## xmm1 = xmm3[0,1,2,3],xmm1[4,5,6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pblendw	$15, %xmm7, %xmm3               ## xmm3 = xmm7[0,1,2,3],xmm3[4,5,6,7]
	pshuflw	$254, %xmm4, %xmm0              ## xmm0 = xmm4[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm0, %xmm6
	pshufd	$238, %xmm4, %xmm0              ## xmm0 = xmm4[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm8              ## xmm8 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm8, %xmm7
	pblendw	$204, %xmm1, %xmm3              ## xmm3 = xmm3[0,1],xmm1[2,3],xmm3[4,5],xmm1[6,7]
	pshuflw	$84, %xmm4, %xmm1               ## xmm1 = xmm4[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm1, %xmm4
	packusdw	%xmm3, %xmm5
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm0, %xmm1
	pblendw	$15, %xmm6, %xmm7               ## xmm7 = xmm6[0,1,2,3],xmm7[4,5,6,7]
	pshuflw	$254, %xmm11, %xmm0             ## xmm0 = xmm11[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm11, %xmm0             ## xmm0 = xmm11[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm8              ## xmm8 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm8, %xmm6
	pblendw	$15, %xmm4, %xmm1               ## xmm1 = xmm4[0,1,2,3],xmm1[4,5,6,7]
	pshuflw	$84, %xmm11, %xmm8              ## xmm8 = xmm11[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm8, %xmm4
	pblendw	$204, %xmm7, %xmm1              ## xmm1 = xmm1[0,1],xmm7[2,3],xmm1[4,5],xmm7[6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm0, %xmm7
	pblendw	$15, %xmm3, %xmm6               ## xmm6 = xmm3[0,1,2,3],xmm6[4,5,6,7]
	pblendw	$15, %xmm4, %xmm7               ## xmm7 = xmm4[0,1,2,3],xmm7[4,5,6,7]
	movdqa	LCPI0_6(%rip), %xmm0            ## xmm0 = [32,32,32,32]
	pblendw	$204, %xmm6, %xmm7              ## xmm7 = xmm7[0,1],xmm6[2,3],xmm7[4,5],xmm6[6,7]
	packusdw	%xmm7, %xmm1
	packuswb	%xmm5, %xmm1
	pandn	%xmm1, %xmm2
	por	%xmm15, %xmm2
	paddd	%xmm0, %xmm12
	paddd	%xmm0, %xmm10
	paddd	%xmm0, %xmm9
	paddd	%xmm0, %xmm13
	addl	$-2, %ecx
	jne	LBB0_8
LBB0_9:                                 ##   in Loop: Header=BB0_3 Depth=1
	testb	$1, %r11b
	movdqa	-112(%rbp), %xmm8               ## 16-byte Reload
	movdqa	-96(%rbp), %xmm15               ## 16-byte Reload
	je	LBB0_11
## %bb.10:                              ##   in Loop: Header=BB0_3 Depth=1
	pshuflw	$254, %xmm12, %xmm0             ## xmm0 = xmm12[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm0, %xmm1
	pshufd	$238, %xmm12, %xmm0             ## xmm0 = xmm12[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm3              ## xmm3 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm3, %xmm4
	pblendw	$15, %xmm1, %xmm4               ## xmm4 = xmm1[0,1,2,3],xmm4[4,5,6,7]
	pshuflw	$84, %xmm12, %xmm1              ## xmm1 = xmm12[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm1, %xmm3
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm1
	psrld	%xmm0, %xmm1
	pblendw	$15, %xmm3, %xmm1               ## xmm1 = xmm3[0,1,2,3],xmm1[4,5,6,7]
	pblendw	$204, %xmm4, %xmm1              ## xmm1 = xmm1[0,1],xmm4[2,3],xmm1[4,5],xmm4[6,7]
	pshuflw	$254, %xmm10, %xmm0             ## xmm0 = xmm10[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm10, %xmm0             ## xmm0 = xmm10[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm4              ## xmm4 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm4, %xmm5
	pblendw	$15, %xmm3, %xmm5               ## xmm5 = xmm3[0,1,2,3],xmm5[4,5,6,7]
	pshuflw	$84, %xmm10, %xmm3              ## xmm3 = xmm10[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm3, %xmm6
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm0, %xmm4
	pblendw	$15, %xmm6, %xmm4               ## xmm4 = xmm6[0,1,2,3],xmm4[4,5,6,7]
	pblendw	$204, %xmm5, %xmm4              ## xmm4 = xmm4[0,1],xmm5[2,3],xmm4[4,5],xmm5[6,7]
	pshuflw	$254, %xmm9, %xmm0              ## xmm0 = xmm9[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm9, %xmm0              ## xmm0 = xmm9[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm5              ## xmm5 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm5, %xmm6
	pblendw	$15, %xmm3, %xmm6               ## xmm6 = xmm3[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$84, %xmm9, %xmm3               ## xmm3 = xmm9[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm3, %xmm7
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm0, %xmm5
	pblendw	$15, %xmm7, %xmm5               ## xmm5 = xmm7[0,1,2,3],xmm5[4,5,6,7]
	pblendw	$204, %xmm6, %xmm5              ## xmm5 = xmm5[0,1],xmm6[2,3],xmm5[4,5],xmm6[6,7]
	pshuflw	$254, %xmm13, %xmm0             ## xmm0 = xmm13[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm13, %xmm0             ## xmm0 = xmm13[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm6              ## xmm6 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm6, %xmm7
	pblendw	$15, %xmm3, %xmm7               ## xmm7 = xmm3[0,1,2,3],xmm7[4,5,6,7]
	pshuflw	$84, %xmm13, %xmm3              ## xmm3 = xmm13[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm3, %xmm6
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pblendw	$15, %xmm6, %xmm3               ## xmm3 = xmm6[0,1,2,3],xmm3[4,5,6,7]
	pblendw	$204, %xmm7, %xmm3              ## xmm3 = xmm3[0,1],xmm7[2,3],xmm3[4,5],xmm7[6,7]
	pand	%xmm8, %xmm3
	pand	%xmm8, %xmm5
	pand	%xmm8, %xmm4
	pand	%xmm8, %xmm1
	pxor	%xmm0, %xmm0
	pcmpeqd	%xmm0, %xmm1
	pcmpeqd	%xmm0, %xmm4
	packssdw	%xmm4, %xmm1
	pcmpeqd	%xmm0, %xmm5
	pcmpeqd	%xmm0, %xmm3
	packssdw	%xmm3, %xmm5
	packsswb	%xmm5, %xmm1
	pcmpeqd	%xmm11, %xmm11
	pxor	%xmm11, %xmm9
	paddd	%xmm15, %xmm9
	pshuflw	$254, %xmm9, %xmm0              ## xmm0 = xmm9[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm9, %xmm0              ## xmm0 = xmm9[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm4              ## xmm4 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm4, %xmm6
	pxor	%xmm11, %xmm13
	pshuflw	$84, %xmm9, %xmm4               ## xmm4 = xmm9[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm4, %xmm7
	paddd	%xmm15, %xmm13
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm5
	psrld	%xmm0, %xmm5
	pblendw	$15, %xmm3, %xmm6               ## xmm6 = xmm3[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$254, %xmm13, %xmm0             ## xmm0 = xmm13[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm13, %xmm0             ## xmm0 = xmm13[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm8              ## xmm8 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm8, %xmm4
	pblendw	$15, %xmm7, %xmm5               ## xmm5 = xmm7[0,1,2,3],xmm5[4,5,6,7]
	pshuflw	$84, %xmm13, %xmm8              ## xmm8 = xmm13[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm8, %xmm7
	pblendw	$204, %xmm6, %xmm5              ## xmm5 = xmm5[0,1],xmm6[2,3],xmm5[4,5],xmm6[6,7]
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm0, %xmm6
	pxor	%xmm11, %xmm12
	pxor	%xmm11, %xmm10
	paddd	%xmm15, %xmm10
	paddd	%xmm15, %xmm12
	pblendw	$15, %xmm3, %xmm4               ## xmm4 = xmm3[0,1,2,3],xmm4[4,5,6,7]
	pblendw	$15, %xmm7, %xmm6               ## xmm6 = xmm7[0,1,2,3],xmm6[4,5,6,7]
	pblendw	$204, %xmm4, %xmm6              ## xmm6 = xmm6[0,1],xmm4[2,3],xmm6[4,5],xmm4[6,7]
	packusdw	%xmm6, %xmm5
	pshuflw	$254, %xmm12, %xmm0             ## xmm0 = xmm12[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pshufd	$238, %xmm12, %xmm0             ## xmm0 = xmm12[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm4              ## xmm4 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm4, %xmm6
	pblendw	$15, %xmm3, %xmm6               ## xmm6 = xmm3[0,1,2,3],xmm6[4,5,6,7]
	pshuflw	$84, %xmm12, %xmm3              ## xmm3 = xmm12[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm3, %xmm4
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm3
	psrld	%xmm0, %xmm3
	pblendw	$15, %xmm4, %xmm3               ## xmm3 = xmm4[0,1,2,3],xmm3[4,5,6,7]
	pblendw	$204, %xmm6, %xmm3              ## xmm3 = xmm3[0,1],xmm6[2,3],xmm3[4,5],xmm6[6,7]
	pshuflw	$254, %xmm10, %xmm0             ## xmm0 = xmm10[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm4
	psrld	%xmm0, %xmm4
	pshufd	$238, %xmm10, %xmm0             ## xmm0 = xmm10[2,3,2,3]
	pshuflw	$254, %xmm0, %xmm6              ## xmm6 = xmm0[2,3,3,3,4,5,6,7]
	movdqa	%xmm14, %xmm7
	psrld	%xmm6, %xmm7
	pblendw	$15, %xmm4, %xmm7               ## xmm7 = xmm4[0,1,2,3],xmm7[4,5,6,7]
	pshuflw	$84, %xmm10, %xmm4              ## xmm4 = xmm10[0,1,1,1,4,5,6,7]
	movdqa	%xmm14, %xmm6
	psrld	%xmm4, %xmm6
	pshuflw	$84, %xmm0, %xmm0               ## xmm0 = xmm0[0,1,1,1,4,5,6,7]
	psrld	%xmm0, %xmm14
	pblendw	$15, %xmm6, %xmm14              ## xmm14 = xmm6[0,1,2,3],xmm14[4,5,6,7]
	pblendw	$204, %xmm7, %xmm14             ## xmm14 = xmm14[0,1],xmm7[2,3],xmm14[4,5],xmm7[6,7]
	packusdw	%xmm14, %xmm3
	packuswb	%xmm5, %xmm3
	pandn	%xmm3, %xmm1
	por	%xmm1, %xmm2
LBB0_11:                                ##   in Loop: Header=BB0_3 Depth=1
	pshufd	$238, %xmm2, %xmm0              ## xmm0 = xmm2[2,3,2,3]
	por	%xmm2, %xmm0
	pshufd	$85, %xmm0, %xmm1               ## xmm1 = xmm0[1,1,1,1]
	por	%xmm0, %xmm1
	movdqa	%xmm1, %xmm0
	psrld	$16, %xmm0
	por	%xmm1, %xmm0
	movdqa	%xmm0, %xmm1
	psrlw	$8, %xmm1
	por	%xmm0, %xmm1
	movd	%xmm1, %esi
	movl	%r12d, %edx
	cmpl	%r8d, %r12d
	je	LBB0_14
LBB0_12:                                ##   in Loop: Header=BB0_3 Depth=1
	movl	%r15d, %edi
	subl	%edx, %edi
	.p2align	4, 0x90
LBB0_13:                                ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	%r10d, %ebx
	movl	%edx, %ecx
	shrl	%cl, %ebx
	movl	%r10d, %r14d
	movl	%edi, %ecx
	shrl	%cl, %r14d
	andl	%r13d, %ebx
	testl	%ebx, %ebx
	cmovel	%ebx, %r14d
	orb	%r14b, %sil
	incl	%edx
	addl	$-1, %edi
	jb	LBB0_13
	jmp	LBB0_14
LBB0_1:
	xorl	%esi, %esi
LBB0_15:
	movzbl	%sil, %eax
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_FlipBits
.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 FlipBits
lCPI0_0:
	.long	12                              ; 0xc
	.long	13                              ; 0xd
	.long	14                              ; 0xe
	.long	15                              ; 0xf
lCPI0_1:
	.long	8                               ; 0x8
	.long	9                               ; 0x9
	.long	10                              ; 0xa
	.long	11                              ; 0xb
lCPI0_2:
	.long	4                               ; 0x4
	.long	5                               ; 0x5
	.long	6                               ; 0x6
	.long	7                               ; 0x7
lCPI0_3:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.long	3                               ; 0x3
lCPI0_4:
	.byte	0                               ; 0x0
	.byte	4                               ; 0x4
	.byte	8                               ; 0x8
	.byte	12                              ; 0xc
	.byte	16                              ; 0x10
	.byte	20                              ; 0x14
	.byte	24                              ; 0x18
	.byte	28                              ; 0x1c
	.byte	32                              ; 0x20
	.byte	36                              ; 0x24
	.byte	40                              ; 0x28
	.byte	44                              ; 0x2c
	.byte	48                              ; 0x30
	.byte	52                              ; 0x34
	.byte	56                              ; 0x38
	.byte	60                              ; 0x3c
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_FlipBits:                              ; @FlipBits
	.cfi_startproc
; %bb.0:
	stp	d11, d10, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	d9, d8, [sp, #16]               ; 16-byte Folded Spill
	.cfi_offset b8, -8
	.cfi_offset b9, -16
	.cfi_offset b10, -24
	.cfi_offset b11, -32
	mov	w8, #8
	sdiv	w8, w8, w1
	cmp	w8, #1
	b.lt	LBB0_11
; %bb.1:
	mov	w13, #0
	mov	w9, #0
	dup.4s	v0, w0
	and	w10, w1, #0xffffffe0
	sub	w11, w1, #1
Lloh0:
	adrp	x12, lCPI0_0@PAGE
Lloh1:
	ldr	q1, [x12, lCPI0_0@PAGEOFF]
Lloh2:
	adrp	x12, lCPI0_1@PAGE
Lloh3:
	ldr	q2, [x12, lCPI0_1@PAGEOFF]
Lloh4:
	adrp	x12, lCPI0_2@PAGE
Lloh5:
	ldr	q3, [x12, lCPI0_2@PAGEOFF]
Lloh6:
	adrp	x12, lCPI0_3@PAGE
Lloh7:
	ldr	q4, [x12, lCPI0_3@PAGEOFF]
Lloh8:
	adrp	x12, lCPI0_4@PAGE
Lloh9:
	ldr	q5, [x12, lCPI0_4@PAGEOFF]
	mov	w12, #128
	mvni.4s	v6, #15
	dup.4s	v7, w1
	movi.4s	v16, #17
	movi.4s	v17, #32
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	lsr	w12, w12, w1
	add	w9, w9, #1
	cmp	w9, w8
	b.eq	LBB0_12
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_7 Depth 2
                                        ;     Child Loop BB0_10 Depth 2
	and	w12, w12, #0xff
	cmp	w1, #1
	b.lt	LBB0_2
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	cmp	w1, #32
	b.hs	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w14, #0
	b	LBB0_9
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
	movi.2d	v18, #0000000000000000
	mov.b	v18[0], w13
	dup.4s	v19, w12
	mov	x13, x10
	movi.2d	v20, #0000000000000000
	mov.16b	v21, v4
	mov.16b	v22, v3
	mov.16b	v23, v2
	mov.16b	v24, v1
LBB0_7:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	neg.4s	v25, v21
	ushl.4s	v25, v19, v25
	neg.4s	v26, v22
	ushl.4s	v26, v19, v26
	neg.4s	v27, v23
	ushl.4s	v27, v19, v27
	neg.4s	v28, v24
	ushl.4s	v28, v19, v28
	sub.4s	v29, v6, v21
	ushl.4s	v29, v19, v29
	sub.4s	v30, v6, v22
	ushl.4s	v30, v19, v30
	sub.4s	v31, v6, v23
	ushl.4s	v31, v19, v31
	sub.4s	v8, v6, v24
	ushl.4s	v8, v19, v8
	and.16b	v28, v28, v0
	and.16b	v27, v27, v0
	and.16b	v26, v26, v0
	and.16b	v25, v25, v0
	and.16b	v8, v8, v0
	and.16b	v31, v31, v0
	and.16b	v30, v30, v0
	and.16b	v29, v29, v0
	cmeq.4s	v25, v25, #0
	cmeq.4s	v26, v26, #0
	uzp1.8h	v25, v25, v26
	cmeq.4s	v26, v27, #0
	cmeq.4s	v27, v28, #0
	uzp1.8h	v26, v26, v27
	uzp1.16b	v25, v25, v26
	cmeq.4s	v26, v29, #0
	cmeq.4s	v27, v30, #0
	uzp1.8h	v26, v26, v27
	cmeq.4s	v27, v31, #0
	cmeq.4s	v28, v8, #0
	uzp1.8h	v27, v27, v28
	uzp1.16b	v26, v26, v27
	mvn.16b	v27, v21
	mvn.16b	v28, v22
	mvn.16b	v29, v23
	mvn.16b	v30, v24
	add.4s	v30, v7, v30
	add.4s	v29, v7, v29
	add.4s	v28, v7, v28
	add.4s	v27, v7, v27
	neg.4s	v27, v27
	ushl.4s	v8, v19, v27
	neg.4s	v27, v28
	ushl.4s	v9, v19, v27
	neg.4s	v27, v29
	ushl.4s	v10, v19, v27
	neg.4s	v27, v30
	ushl.4s	v11, v19, v27
	sub.4s	v27, v21, v7
	add.4s	v27, v27, v16
	ushl.4s	v27, v19, v27
	sub.4s	v31, v22, v7
	add.4s	v31, v31, v16
	ushl.4s	v28, v19, v31
	sub.4s	v31, v23, v7
	add.4s	v31, v31, v16
	ushl.4s	v29, v19, v31
	sub.4s	v31, v24, v7
	add.4s	v31, v31, v16
	ushl.4s	v30, v19, v31
	tbl.16b	v31, { v8, v9, v10, v11 }, v5
	tbl.16b	v27, { v27, v28, v29, v30 }, v5
	bic.16b	v25, v31, v25
	bic.16b	v26, v27, v26
	orr.16b	v18, v25, v18
	orr.16b	v20, v26, v20
	add.4s	v21, v21, v17
	add.4s	v22, v22, v17
	add.4s	v23, v23, v17
	add.4s	v24, v24, v17
	subs	w13, w13, #32
	b.ne	LBB0_7
; %bb.8:                                ;   in Loop: Header=BB0_3 Depth=1
	orr.16b	v18, v20, v18
	ext.16b	v19, v18, v18, #8
	orr.8b	v18, v18, v19
	umov.b	w13, v18[1]
	umov.b	w14, v18[0]
	orr	w13, w14, w13
	umov.b	w14, v18[2]
	orr	w13, w13, w14
	umov.b	w14, v18[3]
	orr	w13, w13, w14
	umov.b	w14, v18[4]
	orr	w13, w13, w14
	umov.b	w14, v18[5]
	orr	w13, w13, w14
	umov.b	w14, v18[6]
	orr	w13, w13, w14
	umov.b	w14, v18[7]
	orr	w13, w13, w14
	mov	x14, x10
	cmp	w10, w1
	b.eq	LBB0_2
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	sub	w15, w11, w14
LBB0_10:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsr	w16, w12, w14
	lsr	w17, w12, w15
	tst	w16, w0
	csel	w16, wzr, w17, eq
	orr	w13, w16, w13
	add	w14, w14, #1
	sub	w15, w15, #1
	cmn	w15, #1
	b.ne	LBB0_10
	b	LBB0_2
LBB0_11:
	mov	w13, #0
LBB0_12:
	and	w0, w13, #0xff
	ldp	d9, d8, [sp, #16]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdr	Lloh8, Lloh9
	.loh AdrpAdrp	Lloh6, Lloh8
	.loh AdrpLdr	Lloh6, Lloh7
	.loh AdrpAdrp	Lloh4, Lloh6
	.loh AdrpLdr	Lloh4, Lloh5
	.loh AdrpAdrp	Lloh2, Lloh4
	.loh AdrpLdr	Lloh2, Lloh3
	.loh AdrpAdrp	Lloh0, Lloh2
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_FlipBits
.subsections_via_symbols
