	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function filterScanline
LCPI0_0:
	.space	16,127
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_filterScanline:                        ## @filterScanline
	.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
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	cmpb	$4, %r9b
	ja	LBB0_308
## %bb.1:
	movq	%rcx, %r10
	movq	%rdx, %r13
	movq	%rsi, %r15
	movq	%rdi, %r11
	movl	%r9d, %eax
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_2:
	testq	%r10, %r10
	je	LBB0_308
## %bb.3:
	xorl	%eax, %eax
	cmpq	$8, %r10
	jb	LBB0_19
## %bb.4:
	movq	%r11, %rcx
	subq	%r15, %rcx
	cmpq	$32, %rcx
	jb	LBB0_19
## %bb.5:
	cmpq	$32, %r10
	jae	LBB0_7
## %bb.6:
	xorl	%eax, %eax
	jmp	LBB0_16
LBB0_23:
	testq	%r13, %r13
	je	LBB0_53
## %bb.24:
	testq	%r8, %r8
	je	LBB0_44
## %bb.25:
	xorl	%eax, %eax
	cmpq	$8, %r8
	jb	LBB0_41
## %bb.26:
	movq	%r11, %rcx
	subq	%r15, %rcx
	cmpq	$32, %rcx
	jb	LBB0_41
## %bb.27:
	cmpq	$32, %r8
	jae	LBB0_29
## %bb.28:
	xorl	%eax, %eax
	jmp	LBB0_38
LBB0_110:
	testq	%r13, %r13
	je	LBB0_133
## %bb.111:
	testq	%r10, %r10
	je	LBB0_308
## %bb.112:
	cmpq	$8, %r10
	jae	LBB0_114
## %bb.113:
	xorl	%eax, %eax
LBB0_129:
	movq	%rax, %rsi
	notq	%rsi
	addq	%r10, %rsi
	movq	%r10, %rdx
	andq	$3, %rdx
	je	LBB0_131
	.p2align	4, 0x90
LBB0_130:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	subb	(%r13,%rax), %cl
	movb	%cl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_130
LBB0_131:
	cmpq	$3, %rsi
	jb	LBB0_308
	.p2align	4, 0x90
LBB0_132:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	subb	(%r13,%rax), %cl
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	subb	1(%r13,%rax), %cl
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	subb	2(%r13,%rax), %cl
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	subb	3(%r13,%rax), %cl
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r10
	jne	LBB0_132
	jmp	LBB0_308
LBB0_154:
	testq	%r13, %r13
	je	LBB0_186
## %bb.155:
	testq	%r8, %r8
	je	LBB0_176
## %bb.156:
	cmpq	$8, %r8
	jae	LBB0_158
## %bb.157:
	xorl	%eax, %eax
LBB0_173:
	movq	%rax, %rcx
	notq	%rcx
	testb	$1, %r8b
	je	LBB0_175
## %bb.174:
	movb	(%r15,%rax), %sil
	movb	(%r13,%rax), %dl
	shrb	%dl
	subb	%dl, %sil
	movb	%sil, (%r11,%rax)
	orq	$1, %rax
LBB0_175:
	addq	%r8, %rcx
	je	LBB0_176
	.p2align	4, 0x90
LBB0_311:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	movzbl	(%r13,%rax), %edx
	shrb	%dl
	subb	%dl, %cl
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	movzbl	1(%r13,%rax), %edx
	shrb	%dl
	subb	%dl, %cl
	movb	%cl, 1(%r11,%rax)
	addq	$2, %rax
	cmpq	%rax, %r8
	jne	LBB0_311
LBB0_176:
	movq	%r10, %rbx
	subq	%r8, %rbx
	jbe	LBB0_308
## %bb.177:
	movq	%r8, %rcx
	cmpq	$8, %rbx
	jb	LBB0_220
## %bb.178:
	leaq	(%r11,%r8), %rax
	movq	%rax, %rdx
	subq	%r15, %rdx
	movq	%r8, %rcx
	cmpq	$32, %rdx
	jb	LBB0_220
## %bb.179:
	movq	%rax, %rdx
	subq	%r15, %rdx
	subq	%r8, %rdx
	movq	%r8, %rcx
	cmpq	$32, %rdx
	jb	LBB0_220
## %bb.180:
	subq	%r13, %rax
	subq	%r8, %rax
	movq	%r8, %rcx
	cmpq	$32, %rax
	jb	LBB0_220
## %bb.181:
	cmpq	$32, %rbx
	jae	LBB0_215
## %bb.182:
	xorl	%eax, %eax
	jmp	LBB0_183
LBB0_239:
	testq	%r13, %r13
	je	LBB0_264
## %bb.240:
	testq	%r8, %r8
	je	LBB0_261
## %bb.241:
	cmpq	$8, %r8
	jae	LBB0_243
## %bb.242:
	xorl	%eax, %eax
LBB0_258:
	movq	%rax, %rsi
	notq	%rsi
	addq	%r8, %rsi
	movq	%r8, %rdx
	andq	$3, %rdx
	je	LBB0_260
	.p2align	4, 0x90
LBB0_259:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	subb	(%r13,%rax), %cl
	movb	%cl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_259
LBB0_260:
	cmpq	$3, %rsi
	jb	LBB0_261
	.p2align	4, 0x90
LBB0_293:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	subb	(%r13,%rax), %cl
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	subb	1(%r13,%rax), %cl
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	subb	2(%r13,%rax), %cl
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	subb	3(%r13,%rax), %cl
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r8
	jne	LBB0_293
LBB0_261:
	cmpq	%r8, %r10
	jbe	LBB0_308
## %bb.262:
	xorl	%r14d, %r14d
	movq	%r15, -56(%rbp)                 ## 8-byte Spill
	movq	%r13, -48(%rbp)                 ## 8-byte Spill
	.p2align	4, 0x90
LBB0_263:                               ## =>This Inner Loop Header: Depth=1
	movq	%r8, %rbx
	movzbl	(%r15,%r8), %r12d
	movzbl	(%r15,%r14), %edi
	movzbl	(%r13,%r8), %esi
	movzbl	(%r13,%r14), %edx
	movq	%r10, %r15
	movq	%r11, %r13
	callq	_paethPredictor
	movq	%r13, %r11
	movq	-48(%rbp), %r13                 ## 8-byte Reload
	movq	%r15, %r10
	movq	-56(%rbp), %r15                 ## 8-byte Reload
	subb	%al, %r12b
	movb	%r12b, (%r11,%rbx)
	movq	%rbx, %r8
	incq	%r8
	incq	%r14
	cmpq	%r8, %r10
	jne	LBB0_263
	jmp	LBB0_308
LBB0_53:
	testq	%r8, %r8
	je	LBB0_73
## %bb.54:
	xorl	%eax, %eax
	cmpq	$8, %r8
	jb	LBB0_70
## %bb.55:
	movq	%r11, %rcx
	subq	%r15, %rcx
	cmpq	$32, %rcx
	jb	LBB0_70
## %bb.56:
	cmpq	$32, %r8
	jae	LBB0_58
## %bb.57:
	xorl	%eax, %eax
	jmp	LBB0_67
LBB0_133:
	testq	%r10, %r10
	je	LBB0_308
## %bb.134:
	xorl	%eax, %eax
	cmpq	$8, %r10
	jb	LBB0_150
## %bb.135:
	movq	%r11, %rcx
	subq	%r15, %rcx
	cmpq	$32, %rcx
	jb	LBB0_150
## %bb.136:
	cmpq	$32, %r10
	jae	LBB0_138
## %bb.137:
	xorl	%eax, %eax
	jmp	LBB0_147
LBB0_186:
	testq	%r8, %r8
	je	LBB0_206
## %bb.187:
	xorl	%eax, %eax
	cmpq	$8, %r8
	jb	LBB0_203
## %bb.188:
	movq	%r11, %rcx
	subq	%r15, %rcx
	cmpq	$32, %rcx
	jb	LBB0_203
## %bb.189:
	cmpq	$32, %r8
	jae	LBB0_191
## %bb.190:
	xorl	%eax, %eax
	jmp	LBB0_200
LBB0_264:
	testq	%r8, %r8
	je	LBB0_284
## %bb.265:
	xorl	%eax, %eax
	cmpq	$8, %r8
	jb	LBB0_281
## %bb.266:
	movq	%r11, %rcx
	subq	%r15, %rcx
	cmpq	$32, %rcx
	jb	LBB0_281
## %bb.267:
	cmpq	$32, %r8
	jae	LBB0_269
## %bb.268:
	xorl	%eax, %eax
	jmp	LBB0_278
LBB0_114:
	movq	%r11, %rcx
	subq	%r15, %rcx
	xorl	%eax, %eax
	cmpq	$32, %rcx
	jb	LBB0_129
## %bb.115:
	movq	%r11, %rcx
	subq	%r13, %rcx
	cmpq	$32, %rcx
	jb	LBB0_129
## %bb.116:
	cmpq	$32, %r10
	jae	LBB0_118
## %bb.117:
	xorl	%eax, %eax
	jmp	LBB0_126
LBB0_158:
	movq	%r11, %rcx
	subq	%r15, %rcx
	xorl	%eax, %eax
	cmpq	$32, %rcx
	jb	LBB0_173
## %bb.159:
	movq	%r11, %rcx
	subq	%r13, %rcx
	cmpq	$32, %rcx
	jb	LBB0_173
## %bb.160:
	cmpq	$32, %r8
	jae	LBB0_162
## %bb.161:
	xorl	%eax, %eax
	jmp	LBB0_170
LBB0_243:
	movq	%r11, %rcx
	subq	%r15, %rcx
	xorl	%eax, %eax
	cmpq	$32, %rcx
	jb	LBB0_258
## %bb.244:
	movq	%r11, %rcx
	subq	%r13, %rcx
	cmpq	$32, %rcx
	jb	LBB0_258
## %bb.245:
	cmpq	$32, %r8
	jae	LBB0_247
## %bb.246:
	xorl	%eax, %eax
	jmp	LBB0_255
LBB0_7:
	movq	%r10, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rsi
	movq	%rsi, %rdx
	shrq	$5, %rdx
	incq	%rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	cmpq	$96, %rsi
	jae	LBB0_9
## %bb.8:
	xorl	%esi, %esi
	jmp	LBB0_11
LBB0_29:
	movq	%r8, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rsi
	movq	%rsi, %rdx
	shrq	$5, %rdx
	incq	%rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	cmpq	$96, %rsi
	jae	LBB0_31
## %bb.30:
	xorl	%esi, %esi
	jmp	LBB0_33
LBB0_9:
	movabsq	$1152921504606846974, %rsi      ## imm = 0xFFFFFFFFFFFFFFE
	addq	$-2, %rsi
	andq	%rsi, %rdx
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	movups	(%r15,%rsi), %xmm0
	movups	16(%r15,%rsi), %xmm1
	movups	%xmm0, (%r11,%rsi)
	movups	%xmm1, 16(%r11,%rsi)
	movups	32(%r15,%rsi), %xmm0
	movups	48(%r15,%rsi), %xmm1
	movups	%xmm0, 32(%r11,%rsi)
	movups	%xmm1, 48(%r11,%rsi)
	movups	64(%r15,%rsi), %xmm0
	movups	80(%r15,%rsi), %xmm1
	movups	%xmm0, 64(%r11,%rsi)
	movups	%xmm1, 80(%r11,%rsi)
	movdqu	96(%r15,%rsi), %xmm0
	movdqu	112(%r15,%rsi), %xmm1
	movdqu	%xmm0, 96(%r11,%rsi)
	movdqu	%xmm1, 112(%r11,%rsi)
	subq	$-128, %rsi
	addq	$-4, %rdx
	jne	LBB0_10
LBB0_11:
	testq	%rcx, %rcx
	je	LBB0_14
## %bb.12:
	leaq	(%r11,%rsi), %rdx
	addq	$16, %rdx
	addq	%r15, %rsi
	addq	$16, %rsi
	shlq	$5, %rcx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_13:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%rsi,%rdi), %xmm0
	movdqu	(%rsi,%rdi), %xmm1
	movdqu	%xmm0, -16(%rdx,%rdi)
	movdqu	%xmm1, (%rdx,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %rcx
	jne	LBB0_13
LBB0_14:
	cmpq	%r10, %rax
	je	LBB0_308
## %bb.15:
	testb	$24, %r10b
	je	LBB0_19
LBB0_16:
	movq	%rax, %rcx
	movq	%r10, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_17:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %rdx
	movq	%rdx, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_17
## %bb.18:
	cmpq	%r10, %rax
	je	LBB0_308
LBB0_19:
	movq	%rax, %rcx
	notq	%rcx
	addq	%r10, %rcx
	movq	%r10, %rdx
	andq	$3, %rdx
	je	LBB0_21
	.p2align	4, 0x90
LBB0_20:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ebx
	movb	%bl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_20
LBB0_21:
	cmpq	$3, %rcx
	jb	LBB0_308
	.p2align	4, 0x90
LBB0_22:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r10
	jne	LBB0_22
	jmp	LBB0_308
LBB0_58:
	movq	%r8, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rsi
	movq	%rsi, %rdx
	shrq	$5, %rdx
	incq	%rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	cmpq	$96, %rsi
	jae	LBB0_60
## %bb.59:
	xorl	%esi, %esi
	jmp	LBB0_62
LBB0_138:
	movq	%r10, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rsi
	movq	%rsi, %rdx
	shrq	$5, %rdx
	incq	%rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	cmpq	$96, %rsi
	jae	LBB0_140
## %bb.139:
	xorl	%esi, %esi
	jmp	LBB0_142
LBB0_191:
	movq	%r8, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rsi
	movq	%rsi, %rdx
	shrq	$5, %rdx
	incq	%rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	cmpq	$96, %rsi
	jae	LBB0_193
## %bb.192:
	xorl	%esi, %esi
	jmp	LBB0_195
LBB0_269:
	movq	%r8, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rsi
	movq	%rsi, %rdx
	shrq	$5, %rdx
	incq	%rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	cmpq	$96, %rsi
	jae	LBB0_271
## %bb.270:
	xorl	%esi, %esi
	jmp	LBB0_273
LBB0_118:
	movq	%r10, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rcx
	movq	%rcx, %rdx
	shrq	$5, %rdx
	incq	%rdx
	testq	%rcx, %rcx
	je	LBB0_119
## %bb.120:
	movq	%rdx, %rsi
	andq	$-2, %rsi
	xorl	%ecx, %ecx
LBB0_121:                               ## =>This Inner Loop Header: Depth=1
	movdqu	(%r15,%rcx), %xmm0
	movdqu	16(%r15,%rcx), %xmm1
	movdqu	(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, (%r11,%rcx)
	movdqu	%xmm1, 16(%r11,%rcx)
	movdqu	32(%r15,%rcx), %xmm0
	movdqu	48(%r15,%rcx), %xmm1
	movdqu	32(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	48(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, 32(%r11,%rcx)
	movdqu	%xmm1, 48(%r11,%rcx)
	addq	$64, %rcx
	addq	$-2, %rsi
	jne	LBB0_121
	jmp	LBB0_122
LBB0_162:
	movq	%r8, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rcx
	movq	%rcx, %rdx
	shrq	$5, %rdx
	incq	%rdx
	testq	%rcx, %rcx
	je	LBB0_163
## %bb.164:
	movq	%rdx, %rsi
	andq	$-2, %rsi
	xorl	%ecx, %ecx
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127]
LBB0_165:                               ## =>This Inner Loop Header: Depth=1
	movdqu	(%r15,%rcx), %xmm1
	movdqu	16(%r15,%rcx), %xmm2
	movdqu	(%r13,%rcx), %xmm3
	movdqu	16(%r13,%rcx), %xmm4
	psrlw	$1, %xmm3
	pand	%xmm0, %xmm3
	psubb	%xmm3, %xmm1
	psrlw	$1, %xmm4
	pand	%xmm0, %xmm4
	psubb	%xmm4, %xmm2
	movdqu	%xmm1, (%r11,%rcx)
	movdqu	%xmm2, 16(%r11,%rcx)
	movdqu	32(%r15,%rcx), %xmm1
	movdqu	48(%r15,%rcx), %xmm2
	movdqu	32(%r13,%rcx), %xmm3
	movdqu	48(%r13,%rcx), %xmm4
	psrlw	$1, %xmm3
	pand	%xmm0, %xmm3
	psubb	%xmm3, %xmm1
	psrlw	$1, %xmm4
	pand	%xmm0, %xmm4
	psubb	%xmm4, %xmm2
	movdqu	%xmm1, 32(%r11,%rcx)
	movdqu	%xmm2, 48(%r11,%rcx)
	addq	$64, %rcx
	addq	$-2, %rsi
	jne	LBB0_165
	jmp	LBB0_166
LBB0_247:
	movq	%r8, %rax
	andq	$-32, %rax
	leaq	-32(%rax), %rcx
	movq	%rcx, %rdx
	shrq	$5, %rdx
	incq	%rdx
	testq	%rcx, %rcx
	je	LBB0_248
## %bb.249:
	movq	%rdx, %rsi
	andq	$-2, %rsi
	xorl	%ecx, %ecx
LBB0_250:                               ## =>This Inner Loop Header: Depth=1
	movdqu	(%r15,%rcx), %xmm0
	movdqu	16(%r15,%rcx), %xmm1
	movdqu	(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, (%r11,%rcx)
	movdqu	%xmm1, 16(%r11,%rcx)
	movdqu	32(%r15,%rcx), %xmm0
	movdqu	48(%r15,%rcx), %xmm1
	movdqu	32(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	48(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, 32(%r11,%rcx)
	movdqu	%xmm1, 48(%r11,%rcx)
	addq	$64, %rcx
	addq	$-2, %rsi
	jne	LBB0_250
	jmp	LBB0_251
LBB0_31:
	movabsq	$1152921504606846974, %rsi      ## imm = 0xFFFFFFFFFFFFFFE
	addq	$-2, %rsi
	andq	%rsi, %rdx
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_32:                                ## =>This Inner Loop Header: Depth=1
	movups	(%r15,%rsi), %xmm0
	movups	16(%r15,%rsi), %xmm1
	movups	%xmm0, (%r11,%rsi)
	movups	%xmm1, 16(%r11,%rsi)
	movups	32(%r15,%rsi), %xmm0
	movups	48(%r15,%rsi), %xmm1
	movups	%xmm0, 32(%r11,%rsi)
	movups	%xmm1, 48(%r11,%rsi)
	movups	64(%r15,%rsi), %xmm0
	movups	80(%r15,%rsi), %xmm1
	movups	%xmm0, 64(%r11,%rsi)
	movups	%xmm1, 80(%r11,%rsi)
	movdqu	96(%r15,%rsi), %xmm0
	movdqu	112(%r15,%rsi), %xmm1
	movdqu	%xmm0, 96(%r11,%rsi)
	movdqu	%xmm1, 112(%r11,%rsi)
	subq	$-128, %rsi
	addq	$-4, %rdx
	jne	LBB0_32
LBB0_33:
	testq	%rcx, %rcx
	je	LBB0_36
## %bb.34:
	leaq	(%r11,%rsi), %rdx
	addq	$16, %rdx
	addq	%r15, %rsi
	addq	$16, %rsi
	shlq	$5, %rcx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_35:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%rsi,%rdi), %xmm0
	movdqu	(%rsi,%rdi), %xmm1
	movdqu	%xmm0, -16(%rdx,%rdi)
	movdqu	%xmm1, (%rdx,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %rcx
	jne	LBB0_35
LBB0_36:
	cmpq	%r8, %rax
	je	LBB0_44
## %bb.37:
	testb	$24, %r8b
	je	LBB0_41
LBB0_38:
	movq	%rax, %rcx
	movq	%r8, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_39:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %rdx
	movq	%rdx, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_39
## %bb.40:
	cmpq	%r8, %rax
	je	LBB0_44
LBB0_41:
	movq	%rax, %rcx
	notq	%rcx
	addq	%r8, %rcx
	movq	%r8, %rdx
	andq	$3, %rdx
	je	LBB0_43
	.p2align	4, 0x90
LBB0_42:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ebx
	movb	%bl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_42
LBB0_43:
	cmpq	$3, %rcx
	jb	LBB0_44
	.p2align	4, 0x90
LBB0_309:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r8
	jne	LBB0_309
LBB0_44:
	movq	%r10, %rax
	subq	%r8, %rax
	jbe	LBB0_308
## %bb.45:
	movq	%r8, %rdx
	cmpq	$8, %rax
	jb	LBB0_91
## %bb.46:
	leaq	(%r11,%r8), %rcx
	movq	%rcx, %rsi
	subq	%r15, %rsi
	movq	%r8, %rdx
	cmpq	$32, %rsi
	jb	LBB0_91
## %bb.47:
	subq	%r15, %rcx
	subq	%r8, %rcx
	movq	%r8, %rdx
	cmpq	$32, %rcx
	jb	LBB0_91
## %bb.48:
	cmpq	$32, %rax
	jae	LBB0_82
## %bb.49:
	xorl	%ecx, %ecx
	jmp	LBB0_50
LBB0_215:
	movq	%rbx, %rax
	andq	$-32, %rax
	leaq	16(%r15), %rcx
	leaq	16(%r13), %rsi
	leaq	16(%r11), %rdi
	movq	%rax, %rdx
	.p2align	4, 0x90
LBB0_216:                               ## =>This Inner Loop Header: Depth=1
	pmovzxbw	-8(%rcx), %xmm0                 ## xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	pmovzxbw	-16(%rcx), %xmm1                ## xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	pmovzxbw	8(%rcx), %xmm2                  ## xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	pmovzxbw	(%rcx), %xmm3                   ## xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	movdqu	-16(%rcx,%r8), %xmm4
	pmovzxbw	-8(%rsi,%r8), %xmm5             ## xmm5 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	paddw	%xmm0, %xmm5
	pmovzxbw	-16(%rsi,%r8), %xmm0            ## xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	pmovzxbw	8(%rsi,%r8), %xmm6              ## xmm6 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	paddw	%xmm1, %xmm0
	paddw	%xmm2, %xmm6
	pmovzxbw	(%rsi,%r8), %xmm1               ## xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	movdqu	(%rcx,%r8), %xmm2
	paddw	%xmm3, %xmm1
	psrlw	$1, %xmm5
	psrlw	$1, %xmm0
	packuswb	%xmm5, %xmm0
	psubb	%xmm0, %xmm4
	psrlw	$1, %xmm6
	psrlw	$1, %xmm1
	packuswb	%xmm6, %xmm1
	psubb	%xmm1, %xmm2
	movdqu	%xmm4, -16(%rdi,%r8)
	movdqu	%xmm2, (%rdi,%r8)
	addq	$32, %rcx
	addq	$32, %rsi
	addq	$32, %rdi
	addq	$-32, %rdx
	jne	LBB0_216
## %bb.217:
	cmpq	%rax, %rbx
	je	LBB0_308
## %bb.218:
	testb	$24, %bl
	je	LBB0_219
LBB0_183:
	movq	%rbx, %r9
	andq	$-8, %r9
	leaq	(%r9,%r8), %rcx
	leaq	(%r15,%rax), %rsi
	movq	%rax, %rdi
	subq	%r9, %rdi
	leaq	(%rax,%r13), %rdx
	addq	%r11, %rax
	.p2align	4, 0x90
LBB0_184:                               ## =>This Inner Loop Header: Depth=1
	pmovzxbw	(%rsi), %xmm0                   ## xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	movq	(%rsi,%r8), %xmm1               ## xmm1 = mem[0],zero
	pmovzxbw	(%rdx,%r8), %xmm2               ## xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
	paddw	%xmm0, %xmm2
	psrlw	$1, %xmm2
	packuswb	%xmm2, %xmm2
	psubb	%xmm2, %xmm1
	movq	%xmm1, (%rax,%r8)
	addq	$8, %rsi
	addq	$8, %rdx
	addq	$8, %rax
	addq	$8, %rdi
	jne	LBB0_184
## %bb.185:
	cmpq	%r9, %rbx
	jne	LBB0_220
	jmp	LBB0_308
LBB0_82:
	movq	%rax, %rcx
	andq	$-32, %rcx
	leaq	-32(%rcx), %rdx
	movq	%rdx, %r9
	shrq	$5, %r9
	incq	%r9
	testq	%rdx, %rdx
	je	LBB0_83
## %bb.84:
	movq	%r9, %rdi
	andq	$-2, %rdi
	leaq	(%r11,%r8), %rbx
	addq	$48, %rbx
	leaq	(%r15,%r8), %rdx
	addq	$48, %rdx
	xorl	%esi, %esi
LBB0_85:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-48(%rdx,%rsi), %xmm0
	movdqu	-32(%rdx,%rsi), %xmm1
	movdqu	(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, -48(%rbx,%rsi)
	movdqu	%xmm1, -32(%rbx,%rsi)
	movdqu	-16(%rdx,%rsi), %xmm0
	movdqu	(%rdx,%rsi), %xmm1
	movdqu	32(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	48(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, -16(%rbx,%rsi)
	movdqu	%xmm1, (%rbx,%rsi)
	addq	$64, %rsi
	addq	$-2, %rdi
	jne	LBB0_85
	jmp	LBB0_86
LBB0_60:
	movabsq	$1152921504606846974, %rsi      ## imm = 0xFFFFFFFFFFFFFFE
	addq	$-2, %rsi
	andq	%rsi, %rdx
	xorl	%esi, %esi
LBB0_61:                                ## =>This Inner Loop Header: Depth=1
	movups	(%r15,%rsi), %xmm0
	movups	16(%r15,%rsi), %xmm1
	movups	%xmm0, (%r11,%rsi)
	movups	%xmm1, 16(%r11,%rsi)
	movups	32(%r15,%rsi), %xmm0
	movups	48(%r15,%rsi), %xmm1
	movups	%xmm0, 32(%r11,%rsi)
	movups	%xmm1, 48(%r11,%rsi)
	movups	64(%r15,%rsi), %xmm0
	movups	80(%r15,%rsi), %xmm1
	movups	%xmm0, 64(%r11,%rsi)
	movups	%xmm1, 80(%r11,%rsi)
	movdqu	96(%r15,%rsi), %xmm0
	movdqu	112(%r15,%rsi), %xmm1
	movdqu	%xmm0, 96(%r11,%rsi)
	movdqu	%xmm1, 112(%r11,%rsi)
	subq	$-128, %rsi
	addq	$-4, %rdx
	jne	LBB0_61
LBB0_62:
	testq	%rcx, %rcx
	je	LBB0_65
## %bb.63:
	leaq	(%r11,%rsi), %rdx
	addq	$16, %rdx
	addq	%r15, %rsi
	addq	$16, %rsi
	shlq	$5, %rcx
	xorl	%edi, %edi
LBB0_64:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%rsi,%rdi), %xmm0
	movdqu	(%rsi,%rdi), %xmm1
	movdqu	%xmm0, -16(%rdx,%rdi)
	movdqu	%xmm1, (%rdx,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %rcx
	jne	LBB0_64
LBB0_65:
	cmpq	%r8, %rax
	je	LBB0_73
## %bb.66:
	testb	$24, %r8b
	je	LBB0_70
LBB0_67:
	movq	%rax, %rcx
	movq	%r8, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_68:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %rdx
	movq	%rdx, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_68
## %bb.69:
	cmpq	%r8, %rax
	je	LBB0_73
LBB0_70:
	movq	%rax, %rcx
	notq	%rcx
	addq	%r8, %rcx
	movq	%r8, %rdx
	andq	$3, %rdx
	je	LBB0_72
	.p2align	4, 0x90
LBB0_71:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ebx
	movb	%bl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_71
LBB0_72:
	cmpq	$3, %rcx
	jb	LBB0_73
	.p2align	4, 0x90
LBB0_310:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r8
	jne	LBB0_310
LBB0_73:
	movq	%r10, %rax
	subq	%r8, %rax
	jbe	LBB0_308
## %bb.74:
	movq	%r8, %rdx
	cmpq	$8, %rax
	jae	LBB0_75
LBB0_105:
	movl	%r10d, %ecx
	subl	%edx, %ecx
	movq	%rdx, %rax
	notq	%rax
	testb	$1, %cl
	je	LBB0_107
## %bb.106:
	movb	(%r15,%rdx), %cl
	movq	%rdx, %rsi
	subq	%r8, %rsi
	subb	(%r15,%rsi), %cl
	movb	%cl, (%r11,%rdx)
	incq	%rdx
LBB0_107:
	addq	%r10, %rax
	je	LBB0_308
## %bb.108:
	movq	%r15, %rax
	subq	%r8, %rax
	incq	%rax
	.p2align	4, 0x90
LBB0_109:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rdx), %ecx
	subb	-1(%rax,%rdx), %cl
	movb	%cl, (%r11,%rdx)
	movzbl	1(%r15,%rdx), %ecx
	subb	(%rax,%rdx), %cl
	movb	%cl, 1(%r11,%rdx)
	addq	$2, %rdx
	cmpq	%rdx, %r10
	jne	LBB0_109
	jmp	LBB0_308
LBB0_75:
	leaq	(%r11,%r8), %rcx
	movq	%rcx, %rsi
	subq	%r15, %rsi
	movq	%r8, %rdx
	cmpq	$32, %rsi
	jb	LBB0_105
## %bb.76:
	subq	%r15, %rcx
	subq	%r8, %rcx
	movq	%r8, %rdx
	cmpq	$32, %rcx
	jb	LBB0_105
## %bb.77:
	cmpq	$32, %rax
	jae	LBB0_96
## %bb.78:
	xorl	%ecx, %ecx
	jmp	LBB0_79
LBB0_140:
	movabsq	$1152921504606846974, %rsi      ## imm = 0xFFFFFFFFFFFFFFE
	addq	$-2, %rsi
	andq	%rsi, %rdx
	xorl	%esi, %esi
LBB0_141:                               ## =>This Inner Loop Header: Depth=1
	movups	(%r15,%rsi), %xmm0
	movups	16(%r15,%rsi), %xmm1
	movups	%xmm0, (%r11,%rsi)
	movups	%xmm1, 16(%r11,%rsi)
	movups	32(%r15,%rsi), %xmm0
	movups	48(%r15,%rsi), %xmm1
	movups	%xmm0, 32(%r11,%rsi)
	movups	%xmm1, 48(%r11,%rsi)
	movups	64(%r15,%rsi), %xmm0
	movups	80(%r15,%rsi), %xmm1
	movups	%xmm0, 64(%r11,%rsi)
	movups	%xmm1, 80(%r11,%rsi)
	movdqu	96(%r15,%rsi), %xmm0
	movdqu	112(%r15,%rsi), %xmm1
	movdqu	%xmm0, 96(%r11,%rsi)
	movdqu	%xmm1, 112(%r11,%rsi)
	subq	$-128, %rsi
	addq	$-4, %rdx
	jne	LBB0_141
LBB0_142:
	testq	%rcx, %rcx
	je	LBB0_145
## %bb.143:
	leaq	(%r11,%rsi), %rdx
	addq	$16, %rdx
	addq	%r15, %rsi
	addq	$16, %rsi
	shlq	$5, %rcx
	xorl	%edi, %edi
LBB0_144:                               ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%rsi,%rdi), %xmm0
	movdqu	(%rsi,%rdi), %xmm1
	movdqu	%xmm0, -16(%rdx,%rdi)
	movdqu	%xmm1, (%rdx,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %rcx
	jne	LBB0_144
LBB0_145:
	cmpq	%r10, %rax
	je	LBB0_308
## %bb.146:
	testb	$24, %r10b
	je	LBB0_150
LBB0_147:
	movq	%rax, %rcx
	movq	%r10, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_148:                               ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %rdx
	movq	%rdx, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_148
## %bb.149:
	cmpq	%r10, %rax
	je	LBB0_308
LBB0_150:
	movq	%rax, %rcx
	notq	%rcx
	addq	%r10, %rcx
	movq	%r10, %rdx
	andq	$3, %rdx
	je	LBB0_152
	.p2align	4, 0x90
LBB0_151:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ebx
	movb	%bl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_151
LBB0_152:
	cmpq	$3, %rcx
	jb	LBB0_308
	.p2align	4, 0x90
LBB0_153:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r10
	jne	LBB0_153
	jmp	LBB0_308
LBB0_193:
	movabsq	$1152921504606846974, %rsi      ## imm = 0xFFFFFFFFFFFFFFE
	addq	$-2, %rsi
	andq	%rsi, %rdx
	xorl	%esi, %esi
LBB0_194:                               ## =>This Inner Loop Header: Depth=1
	movups	(%r15,%rsi), %xmm0
	movups	16(%r15,%rsi), %xmm1
	movups	%xmm0, (%r11,%rsi)
	movups	%xmm1, 16(%r11,%rsi)
	movups	32(%r15,%rsi), %xmm0
	movups	48(%r15,%rsi), %xmm1
	movups	%xmm0, 32(%r11,%rsi)
	movups	%xmm1, 48(%r11,%rsi)
	movups	64(%r15,%rsi), %xmm0
	movups	80(%r15,%rsi), %xmm1
	movups	%xmm0, 64(%r11,%rsi)
	movups	%xmm1, 80(%r11,%rsi)
	movdqu	96(%r15,%rsi), %xmm0
	movdqu	112(%r15,%rsi), %xmm1
	movdqu	%xmm0, 96(%r11,%rsi)
	movdqu	%xmm1, 112(%r11,%rsi)
	subq	$-128, %rsi
	addq	$-4, %rdx
	jne	LBB0_194
LBB0_195:
	testq	%rcx, %rcx
	je	LBB0_198
## %bb.196:
	leaq	(%r11,%rsi), %rdx
	addq	$16, %rdx
	addq	%r15, %rsi
	addq	$16, %rsi
	shlq	$5, %rcx
	xorl	%edi, %edi
LBB0_197:                               ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%rsi,%rdi), %xmm0
	movdqu	(%rsi,%rdi), %xmm1
	movdqu	%xmm0, -16(%rdx,%rdi)
	movdqu	%xmm1, (%rdx,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %rcx
	jne	LBB0_197
LBB0_198:
	cmpq	%r8, %rax
	je	LBB0_206
## %bb.199:
	testb	$24, %r8b
	je	LBB0_203
LBB0_200:
	movq	%rax, %rcx
	movq	%r8, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_201:                               ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %rdx
	movq	%rdx, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_201
## %bb.202:
	cmpq	%r8, %rax
	je	LBB0_206
LBB0_203:
	movq	%rax, %rcx
	notq	%rcx
	addq	%r8, %rcx
	movq	%r8, %rdx
	andq	$3, %rdx
	je	LBB0_205
	.p2align	4, 0x90
LBB0_204:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ebx
	movb	%bl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_204
LBB0_205:
	cmpq	$3, %rcx
	jb	LBB0_206
	.p2align	4, 0x90
LBB0_312:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r8
	jne	LBB0_312
LBB0_206:
	movq	%r10, %rax
	subq	%r8, %rax
	jbe	LBB0_308
## %bb.207:
	movq	%r8, %rdx
	cmpq	$8, %rax
	jae	LBB0_208
LBB0_234:
	movl	%r10d, %ecx
	subl	%edx, %ecx
	movq	%rdx, %rax
	notq	%rax
	testb	$1, %cl
	je	LBB0_236
## %bb.235:
	movb	(%r15,%rdx), %cl
	movq	%rdx, %rsi
	subq	%r8, %rsi
	movb	(%r15,%rsi), %bl
	shrb	%bl
	subb	%bl, %cl
	movb	%cl, (%r11,%rdx)
	incq	%rdx
LBB0_236:
	addq	%r10, %rax
	je	LBB0_308
## %bb.237:
	movq	%r15, %rax
	subq	%r8, %rax
	incq	%rax
	.p2align	4, 0x90
LBB0_238:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rdx), %ecx
	movzbl	-1(%rax,%rdx), %ebx
	shrb	%bl
	subb	%bl, %cl
	movb	%cl, (%r11,%rdx)
	movzbl	1(%r15,%rdx), %ecx
	movzbl	(%rax,%rdx), %ebx
	shrb	%bl
	subb	%bl, %cl
	movb	%cl, 1(%r11,%rdx)
	addq	$2, %rdx
	cmpq	%rdx, %r10
	jne	LBB0_238
	jmp	LBB0_308
LBB0_208:
	leaq	(%r11,%r8), %rcx
	movq	%rcx, %rsi
	subq	%r15, %rsi
	movq	%r8, %rdx
	cmpq	$32, %rsi
	jb	LBB0_234
## %bb.209:
	subq	%r15, %rcx
	subq	%r8, %rcx
	movq	%r8, %rdx
	cmpq	$32, %rcx
	jb	LBB0_234
## %bb.210:
	cmpq	$32, %rax
	jae	LBB0_225
## %bb.211:
	xorl	%ecx, %ecx
	jmp	LBB0_212
LBB0_271:
	movabsq	$1152921504606846974, %rsi      ## imm = 0xFFFFFFFFFFFFFFE
	addq	$-2, %rsi
	andq	%rsi, %rdx
	xorl	%esi, %esi
LBB0_272:                               ## =>This Inner Loop Header: Depth=1
	movups	(%r15,%rsi), %xmm0
	movups	16(%r15,%rsi), %xmm1
	movups	%xmm0, (%r11,%rsi)
	movups	%xmm1, 16(%r11,%rsi)
	movups	32(%r15,%rsi), %xmm0
	movups	48(%r15,%rsi), %xmm1
	movups	%xmm0, 32(%r11,%rsi)
	movups	%xmm1, 48(%r11,%rsi)
	movups	64(%r15,%rsi), %xmm0
	movups	80(%r15,%rsi), %xmm1
	movups	%xmm0, 64(%r11,%rsi)
	movups	%xmm1, 80(%r11,%rsi)
	movdqu	96(%r15,%rsi), %xmm0
	movdqu	112(%r15,%rsi), %xmm1
	movdqu	%xmm0, 96(%r11,%rsi)
	movdqu	%xmm1, 112(%r11,%rsi)
	subq	$-128, %rsi
	addq	$-4, %rdx
	jne	LBB0_272
LBB0_273:
	testq	%rcx, %rcx
	je	LBB0_276
## %bb.274:
	leaq	(%r11,%rsi), %rdx
	addq	$16, %rdx
	addq	%r15, %rsi
	addq	$16, %rsi
	shlq	$5, %rcx
	xorl	%edi, %edi
LBB0_275:                               ## =>This Inner Loop Header: Depth=1
	movdqu	-16(%rsi,%rdi), %xmm0
	movdqu	(%rsi,%rdi), %xmm1
	movdqu	%xmm0, -16(%rdx,%rdi)
	movdqu	%xmm1, (%rdx,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %rcx
	jne	LBB0_275
LBB0_276:
	cmpq	%r8, %rax
	je	LBB0_284
## %bb.277:
	testb	$24, %r8b
	je	LBB0_281
LBB0_278:
	movq	%rax, %rcx
	movq	%r8, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_279:                               ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %rdx
	movq	%rdx, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_279
## %bb.280:
	cmpq	%r8, %rax
	je	LBB0_284
LBB0_281:
	movq	%rax, %rcx
	notq	%rcx
	addq	%r8, %rcx
	movq	%r8, %rdx
	andq	$3, %rdx
	je	LBB0_283
	.p2align	4, 0x90
LBB0_282:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ebx
	movb	%bl, (%r11,%rax)
	incq	%rax
	decq	%rdx
	jne	LBB0_282
LBB0_283:
	cmpq	$3, %rcx
	jb	LBB0_284
	.p2align	4, 0x90
LBB0_313:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rax), %ecx
	movb	%cl, (%r11,%rax)
	movzbl	1(%r15,%rax), %ecx
	movb	%cl, 1(%r11,%rax)
	movzbl	2(%r15,%rax), %ecx
	movb	%cl, 2(%r11,%rax)
	movzbl	3(%r15,%rax), %ecx
	movb	%cl, 3(%r11,%rax)
	addq	$4, %rax
	cmpq	%rax, %r8
	jne	LBB0_313
LBB0_284:
	movq	%r10, %rax
	subq	%r8, %rax
	jbe	LBB0_308
## %bb.285:
	movq	%r8, %rdx
	cmpq	$8, %rax
	jae	LBB0_286
LBB0_303:
	movl	%r10d, %ecx
	subl	%edx, %ecx
	movq	%rdx, %rax
	notq	%rax
	testb	$1, %cl
	je	LBB0_305
## %bb.304:
	movb	(%r15,%rdx), %cl
	movq	%rdx, %rsi
	subq	%r8, %rsi
	subb	(%r15,%rsi), %cl
	movb	%cl, (%r11,%rdx)
	incq	%rdx
LBB0_305:
	addq	%r10, %rax
	je	LBB0_308
## %bb.306:
	movq	%r15, %rax
	subq	%r8, %rax
	incq	%rax
	.p2align	4, 0x90
LBB0_307:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rdx), %ecx
	subb	-1(%rax,%rdx), %cl
	movb	%cl, (%r11,%rdx)
	movzbl	1(%r15,%rdx), %ecx
	subb	(%rax,%rdx), %cl
	movb	%cl, 1(%r11,%rdx)
	addq	$2, %rdx
	cmpq	%rdx, %r10
	jne	LBB0_307
	jmp	LBB0_308
LBB0_286:
	leaq	(%r11,%r8), %rcx
	movq	%rcx, %rsi
	subq	%r15, %rsi
	movq	%r8, %rdx
	cmpq	$32, %rsi
	jb	LBB0_303
## %bb.287:
	subq	%r15, %rcx
	subq	%r8, %rcx
	movq	%r8, %rdx
	cmpq	$32, %rcx
	jb	LBB0_303
## %bb.288:
	cmpq	$32, %rax
	jae	LBB0_294
## %bb.289:
	xorl	%ecx, %ecx
	jmp	LBB0_290
LBB0_96:
	movq	%rax, %rcx
	andq	$-32, %rcx
	leaq	-32(%rcx), %rdx
	movq	%rdx, %r9
	shrq	$5, %r9
	incq	%r9
	testq	%rdx, %rdx
	je	LBB0_97
## %bb.98:
	movq	%r9, %rdi
	andq	$-2, %rdi
	leaq	(%r11,%r8), %rbx
	addq	$48, %rbx
	leaq	(%r15,%r8), %rdx
	addq	$48, %rdx
	xorl	%esi, %esi
LBB0_99:                                ## =>This Inner Loop Header: Depth=1
	movdqu	-48(%rdx,%rsi), %xmm0
	movdqu	-32(%rdx,%rsi), %xmm1
	movdqu	(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, -48(%rbx,%rsi)
	movdqu	%xmm1, -32(%rbx,%rsi)
	movdqu	-16(%rdx,%rsi), %xmm0
	movdqu	(%rdx,%rsi), %xmm1
	movdqu	32(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	48(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, -16(%rbx,%rsi)
	movdqu	%xmm1, (%rbx,%rsi)
	addq	$64, %rsi
	addq	$-2, %rdi
	jne	LBB0_99
	jmp	LBB0_100
LBB0_225:
	movq	%rax, %rcx
	andq	$-32, %rcx
	leaq	-32(%rcx), %rdx
	movq	%rdx, %r9
	shrq	$5, %r9
	incq	%r9
	testq	%rdx, %rdx
	je	LBB0_226
## %bb.227:
	movq	%r9, %rdi
	andq	$-2, %rdi
	leaq	(%r11,%r8), %rbx
	addq	$48, %rbx
	leaq	(%r15,%r8), %rdx
	addq	$48, %rdx
	xorl	%esi, %esi
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127]
LBB0_228:                               ## =>This Inner Loop Header: Depth=1
	movdqu	-48(%rdx,%rsi), %xmm1
	movdqu	-32(%rdx,%rsi), %xmm2
	movdqu	(%r15,%rsi), %xmm3
	movdqu	16(%r15,%rsi), %xmm4
	psrlw	$1, %xmm3
	pand	%xmm0, %xmm3
	psubb	%xmm3, %xmm1
	psrlw	$1, %xmm4
	pand	%xmm0, %xmm4
	psubb	%xmm4, %xmm2
	movdqu	%xmm1, -48(%rbx,%rsi)
	movdqu	%xmm2, -32(%rbx,%rsi)
	movdqu	-16(%rdx,%rsi), %xmm1
	movdqu	(%rdx,%rsi), %xmm2
	movdqu	32(%r15,%rsi), %xmm3
	movdqu	48(%r15,%rsi), %xmm4
	psrlw	$1, %xmm3
	pand	%xmm0, %xmm3
	psubb	%xmm3, %xmm1
	psrlw	$1, %xmm4
	pand	%xmm0, %xmm4
	psubb	%xmm4, %xmm2
	movdqu	%xmm1, -16(%rbx,%rsi)
	movdqu	%xmm2, (%rbx,%rsi)
	addq	$64, %rsi
	addq	$-2, %rdi
	jne	LBB0_228
	jmp	LBB0_229
LBB0_294:
	movq	%rax, %rcx
	andq	$-32, %rcx
	leaq	-32(%rcx), %rdx
	movq	%rdx, %r9
	shrq	$5, %r9
	incq	%r9
	testq	%rdx, %rdx
	je	LBB0_295
## %bb.296:
	movq	%r9, %rdi
	andq	$-2, %rdi
	leaq	(%r11,%r8), %rbx
	addq	$48, %rbx
	leaq	(%r15,%r8), %rdx
	addq	$48, %rdx
	xorl	%esi, %esi
LBB0_297:                               ## =>This Inner Loop Header: Depth=1
	movdqu	-48(%rdx,%rsi), %xmm0
	movdqu	-32(%rdx,%rsi), %xmm1
	movdqu	(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, -48(%rbx,%rsi)
	movdqu	%xmm1, -32(%rbx,%rsi)
	movdqu	-16(%rdx,%rsi), %xmm0
	movdqu	(%rdx,%rsi), %xmm1
	movdqu	32(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	48(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, -16(%rbx,%rsi)
	movdqu	%xmm1, (%rbx,%rsi)
	addq	$64, %rsi
	addq	$-2, %rdi
	jne	LBB0_297
	jmp	LBB0_298
LBB0_119:
	xorl	%ecx, %ecx
LBB0_122:
	testb	$1, %dl
	je	LBB0_124
## %bb.123:
	movdqu	(%r15,%rcx), %xmm0
	movdqu	16(%r15,%rcx), %xmm1
	movdqu	(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, (%r11,%rcx)
	movdqu	%xmm1, 16(%r11,%rcx)
LBB0_124:
	cmpq	%r10, %rax
	je	LBB0_308
## %bb.125:
	testb	$24, %r10b
	je	LBB0_129
LBB0_126:
	movq	%rax, %rcx
	movq	%r10, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_127:                               ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %xmm0              ## xmm0 = mem[0],zero
	movq	(%r13,%rcx), %xmm1              ## xmm1 = mem[0],zero
	psubb	%xmm1, %xmm0
	movq	%xmm0, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_127
## %bb.128:
	cmpq	%r10, %rax
	jne	LBB0_129
	jmp	LBB0_308
LBB0_163:
	xorl	%ecx, %ecx
LBB0_166:
	testb	$1, %dl
	je	LBB0_168
## %bb.167:
	movdqu	(%r15,%rcx), %xmm0
	movdqu	16(%r15,%rcx), %xmm1
	movdqu	(%r13,%rcx), %xmm2
	movdqu	16(%r13,%rcx), %xmm3
	psrlw	$1, %xmm2
	movdqa	LCPI0_0(%rip), %xmm4            ## xmm4 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127]
	pand	%xmm4, %xmm2
	psubb	%xmm2, %xmm0
	psrlw	$1, %xmm3
	pand	%xmm4, %xmm3
	psubb	%xmm3, %xmm1
	movdqu	%xmm0, (%r11,%rcx)
	movdqu	%xmm1, 16(%r11,%rcx)
LBB0_168:
	cmpq	%r8, %rax
	je	LBB0_176
## %bb.169:
	testb	$24, %r8b
	je	LBB0_173
LBB0_170:
	movq	%rax, %rcx
	movq	%r8, %rax
	andq	$-8, %rax
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127]
	.p2align	4, 0x90
LBB0_171:                               ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %xmm1              ## xmm1 = mem[0],zero
	movq	(%r13,%rcx), %xmm2              ## xmm2 = mem[0],zero
	psrlw	$1, %xmm2
	pand	%xmm0, %xmm2
	psubb	%xmm2, %xmm1
	movq	%xmm1, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_171
## %bb.172:
	cmpq	%r8, %rax
	jne	LBB0_173
	jmp	LBB0_176
LBB0_248:
	xorl	%ecx, %ecx
LBB0_251:
	testb	$1, %dl
	je	LBB0_253
## %bb.252:
	movdqu	(%r15,%rcx), %xmm0
	movdqu	16(%r15,%rcx), %xmm1
	movdqu	(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r13,%rcx), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, (%r11,%rcx)
	movdqu	%xmm1, 16(%r11,%rcx)
LBB0_253:
	cmpq	%r8, %rax
	je	LBB0_261
## %bb.254:
	testb	$24, %r8b
	je	LBB0_258
LBB0_255:
	movq	%rax, %rcx
	movq	%r8, %rax
	andq	$-8, %rax
	.p2align	4, 0x90
LBB0_256:                               ## =>This Inner Loop Header: Depth=1
	movq	(%r15,%rcx), %xmm0              ## xmm0 = mem[0],zero
	movq	(%r13,%rcx), %xmm1              ## xmm1 = mem[0],zero
	psubb	%xmm1, %xmm0
	movq	%xmm0, (%r11,%rcx)
	addq	$8, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_256
## %bb.257:
	cmpq	%r8, %rax
	jne	LBB0_258
	jmp	LBB0_261
LBB0_83:
	xorl	%esi, %esi
LBB0_86:
	testb	$1, %r9b
	je	LBB0_88
## %bb.87:
	leaq	(%rsi,%r8), %rdx
	movdqu	(%r15,%rdx), %xmm0
	movdqu	16(%r15,%rdx), %xmm1
	movdqu	(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, (%r11,%rdx)
	movdqu	%xmm1, 16(%r11,%rdx)
LBB0_88:
	cmpq	%rcx, %rax
	je	LBB0_308
## %bb.89:
	testb	$24, %al
	je	LBB0_90
LBB0_50:
	movq	%rax, %rsi
	andq	$-8, %rsi
	leaq	(%rsi,%r8), %rdx
	leaq	(%r15,%rcx), %rdi
	leaq	(%r11,%rcx), %rbx
	subq	%rsi, %rcx
	.p2align	4, 0x90
LBB0_51:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rdi,%r8), %xmm0               ## xmm0 = mem[0],zero
	movq	(%rdi), %xmm1                   ## xmm1 = mem[0],zero
	psubb	%xmm1, %xmm0
	movq	%xmm0, (%rbx,%r8)
	addq	$8, %rdi
	addq	$8, %rbx
	addq	$8, %rcx
	jne	LBB0_51
## %bb.52:
	cmpq	%rsi, %rax
	jne	LBB0_91
	jmp	LBB0_308
LBB0_97:
	xorl	%esi, %esi
LBB0_100:
	testb	$1, %r9b
	je	LBB0_102
## %bb.101:
	leaq	(%rsi,%r8), %rdx
	movdqu	(%r15,%rdx), %xmm0
	movdqu	16(%r15,%rdx), %xmm1
	movdqu	(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, (%r11,%rdx)
	movdqu	%xmm1, 16(%r11,%rdx)
LBB0_102:
	cmpq	%rcx, %rax
	je	LBB0_308
## %bb.103:
	testb	$24, %al
	je	LBB0_104
LBB0_79:
	movq	%rax, %rsi
	andq	$-8, %rsi
	leaq	(%rsi,%r8), %rdx
	leaq	(%r15,%rcx), %rdi
	leaq	(%r11,%rcx), %rbx
	subq	%rsi, %rcx
LBB0_80:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rdi,%r8), %xmm0               ## xmm0 = mem[0],zero
	movq	(%rdi), %xmm1                   ## xmm1 = mem[0],zero
	psubb	%xmm1, %xmm0
	movq	%xmm0, (%rbx,%r8)
	addq	$8, %rdi
	addq	$8, %rbx
	addq	$8, %rcx
	jne	LBB0_80
## %bb.81:
	cmpq	%rsi, %rax
	jne	LBB0_105
	jmp	LBB0_308
LBB0_226:
	xorl	%esi, %esi
LBB0_229:
	testb	$1, %r9b
	je	LBB0_231
## %bb.230:
	leaq	(%rsi,%r8), %rdx
	movdqu	(%r15,%rdx), %xmm0
	movdqu	16(%r15,%rdx), %xmm1
	movdqu	(%r15,%rsi), %xmm2
	movdqu	16(%r15,%rsi), %xmm3
	psrlw	$1, %xmm2
	movdqa	LCPI0_0(%rip), %xmm4            ## xmm4 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127]
	pand	%xmm4, %xmm2
	psubb	%xmm2, %xmm0
	psrlw	$1, %xmm3
	pand	%xmm4, %xmm3
	psubb	%xmm3, %xmm1
	movdqu	%xmm0, (%r11,%rdx)
	movdqu	%xmm1, 16(%r11,%rdx)
LBB0_231:
	cmpq	%rcx, %rax
	je	LBB0_308
## %bb.232:
	testb	$24, %al
	je	LBB0_233
LBB0_212:
	movq	%rax, %rsi
	andq	$-8, %rsi
	leaq	(%rsi,%r8), %rdx
	leaq	(%r15,%rcx), %rdi
	leaq	(%r11,%rcx), %rbx
	subq	%rsi, %rcx
	movdqa	LCPI0_0(%rip), %xmm0            ## xmm0 = [127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127]
LBB0_213:                               ## =>This Inner Loop Header: Depth=1
	movq	(%rdi,%r8), %xmm1               ## xmm1 = mem[0],zero
	movq	(%rdi), %xmm2                   ## xmm2 = mem[0],zero
	psrlw	$1, %xmm2
	pand	%xmm0, %xmm2
	psubb	%xmm2, %xmm1
	movq	%xmm1, (%rbx,%r8)
	addq	$8, %rdi
	addq	$8, %rbx
	addq	$8, %rcx
	jne	LBB0_213
## %bb.214:
	cmpq	%rsi, %rax
	jne	LBB0_234
	jmp	LBB0_308
LBB0_295:
	xorl	%esi, %esi
LBB0_298:
	testb	$1, %r9b
	je	LBB0_300
## %bb.299:
	leaq	(%rsi,%r8), %rdx
	movdqu	(%r15,%rdx), %xmm0
	movdqu	16(%r15,%rdx), %xmm1
	movdqu	(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm0
	movdqu	16(%r15,%rsi), %xmm2
	psubb	%xmm2, %xmm1
	movdqu	%xmm0, (%r11,%rdx)
	movdqu	%xmm1, 16(%r11,%rdx)
LBB0_300:
	cmpq	%rcx, %rax
	je	LBB0_308
## %bb.301:
	testb	$24, %al
	je	LBB0_302
LBB0_290:
	movq	%rax, %rsi
	andq	$-8, %rsi
	leaq	(%rsi,%r8), %rdx
	leaq	(%r15,%rcx), %rdi
	leaq	(%r11,%rcx), %rbx
	subq	%rsi, %rcx
LBB0_291:                               ## =>This Inner Loop Header: Depth=1
	movq	(%rdi,%r8), %xmm0               ## xmm0 = mem[0],zero
	movq	(%rdi), %xmm1                   ## xmm1 = mem[0],zero
	psubb	%xmm1, %xmm0
	movq	%xmm0, (%rbx,%r8)
	addq	$8, %rdi
	addq	$8, %rbx
	addq	$8, %rcx
	jne	LBB0_291
## %bb.292:
	cmpq	%rsi, %rax
	jne	LBB0_303
	jmp	LBB0_308
LBB0_219:
	addq	%r8, %rax
	movq	%rax, %rcx
LBB0_220:
	movl	%r10d, %edx
	subl	%ecx, %edx
	movq	%rcx, %rax
	notq	%rax
	testb	$1, %dl
	je	LBB0_222
## %bb.221:
	movb	(%r15,%rcx), %dl
	movq	%rcx, %rsi
	subq	%r8, %rsi
	movzbl	(%r15,%rsi), %esi
	movzbl	(%r13,%rcx), %edi
	addl	%esi, %edi
	shrl	%edi
	subb	%dil, %dl
	movb	%dl, (%r11,%rcx)
	incq	%rcx
LBB0_222:
	addq	%r10, %rax
	je	LBB0_308
## %bb.223:
	movq	%r15, %rax
	subq	%r8, %rax
	incq	%rax
	.p2align	4, 0x90
LBB0_224:                               ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rcx), %edx
	movzbl	-1(%rax,%rcx), %esi
	movzbl	(%r13,%rcx), %edi
	addl	%esi, %edi
	shrl	%edi
	subb	%dil, %dl
	movb	%dl, (%r11,%rcx)
	movzbl	1(%r15,%rcx), %edx
	movzbl	(%rax,%rcx), %esi
	movzbl	1(%r13,%rcx), %edi
	addl	%esi, %edi
	shrl	%edi
	subb	%dil, %dl
	movb	%dl, 1(%r11,%rcx)
	addq	$2, %rcx
	cmpq	%rcx, %r10
	jne	LBB0_224
	jmp	LBB0_308
LBB0_90:
	addq	%r8, %rcx
	movq	%rcx, %rdx
LBB0_91:
	movl	%r10d, %ecx
	subl	%edx, %ecx
	movq	%rdx, %rax
	notq	%rax
	testb	$1, %cl
	je	LBB0_93
## %bb.92:
	movb	(%r15,%rdx), %cl
	movq	%rdx, %rsi
	subq	%r8, %rsi
	subb	(%r15,%rsi), %cl
	movb	%cl, (%r11,%rdx)
	incq	%rdx
LBB0_93:
	addq	%r10, %rax
	je	LBB0_308
## %bb.94:
	movq	%r15, %rax
	subq	%r8, %rax
	incq	%rax
	.p2align	4, 0x90
LBB0_95:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%r15,%rdx), %ecx
	subb	-1(%rax,%rdx), %cl
	movb	%cl, (%r11,%rdx)
	movzbl	1(%r15,%rdx), %ecx
	subb	(%rax,%rdx), %cl
	movb	%cl, 1(%r11,%rdx)
	addq	$2, %rdx
	cmpq	%rdx, %r10
	jne	LBB0_95
LBB0_308:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_104:
	addq	%r8, %rcx
	movq	%rcx, %rdx
	jmp	LBB0_105
LBB0_233:
	addq	%r8, %rcx
	movq	%rcx, %rdx
	jmp	LBB0_234
LBB0_302:
	addq	%r8, %rcx
	movq	%rcx, %rdx
	jmp	LBB0_303
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_2, LBB0_2-LJTI0_0
.set L0_0_set_23, LBB0_23-LJTI0_0
.set L0_0_set_110, LBB0_110-LJTI0_0
.set L0_0_set_154, LBB0_154-LJTI0_0
.set L0_0_set_239, LBB0_239-LJTI0_0
LJTI0_0:
	.long	L0_0_set_2
	.long	L0_0_set_23
	.long	L0_0_set_110
	.long	L0_0_set_154
	.long	L0_0_set_239
	.end_data_region
                                        ## -- End function
	.no_dead_strip	_filterScanline
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function filterScanline
_filterScanline:                        ; @filterScanline
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	cmp	w5, #4
	b.hi	LBB0_218
; %bb.1:
	mov	x22, x4
	mov	x21, x3
	mov	x23, x2
	mov	x19, x1
	mov	x20, x0
	mov	w8, w5
Lloh0:
	adrp	x9, lJTI0_0@PAGE
Lloh1:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_2
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_2:
	cbz	x21, LBB0_218
; %bb.3:
	mov	x8, #0
	cmp	x21, #8
	b.lo	LBB0_79
; %bb.4:
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_79
; %bb.5:
	cmp	x21, #64
	b.hs	LBB0_72
; %bb.6:
	mov	x8, #0
	b	LBB0_76
LBB0_7:
	cbz	x23, LBB0_40
; %bb.8:
	cbz	x22, LBB0_90
; %bb.9:
	mov	x8, #0
	cmp	x22, #8
	b.lo	LBB0_88
; %bb.10:
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_88
; %bb.11:
	cmp	x22, #64
	b.hs	LBB0_81
; %bb.12:
	mov	x8, #0
	b	LBB0_85
LBB0_13:
	cbz	x23, LBB0_45
; %bb.14:
	cbz	x21, LBB0_218
; %bb.15:
	cmp	x21, #8
	b.hs	LBB0_60
; %bb.16:
	mov	x8, #0
LBB0_17:
	sub	x9, x21, x8
	add	x10, x20, x8
	add	x11, x23, x8
	add	x8, x19, x8
LBB0_18:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x8], #1
	ldrb	w13, [x11], #1
	sub	w12, w12, w13
	strb	w12, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_18
	b	LBB0_218
LBB0_19:
	cbz	x23, LBB0_50
; %bb.20:
	cbz	x22, LBB0_25
; %bb.21:
	cmp	x22, #8
	b.hs	LBB0_64
; %bb.22:
	mov	x8, #0
LBB0_23:
	sub	x9, x22, x8
	add	x10, x20, x8
	add	x11, x23, x8
	add	x8, x19, x8
LBB0_24:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x8], #1
	ldrb	w13, [x11], #1
	sub	w12, w12, w13, lsr #1
	strb	w12, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_24
LBB0_25:
	subs	x8, x21, x22
	b.ls	LBB0_218
; %bb.26:
	mov	x10, x22
	cmp	x8, #8
	b.lo	LBB0_213
; %bb.27:
	add	x9, x20, x22
	sub	x11, x9, x19
	mov	x10, x22
	cmp	x11, #64
	b.lo	LBB0_213
; %bb.28:
	add	x10, x19, x22
	sub	x11, x9, x10
	mov	x10, x22
	cmp	x11, #64
	b.lo	LBB0_213
; %bb.29:
	add	x10, x23, x22
	sub	x9, x9, x10
	mov	x10, x22
	cmp	x9, #64
	b.lo	LBB0_213
; %bb.30:
	cmp	x8, #64
	b.hs	LBB0_177
; %bb.31:
	mov	x9, #0
	b	LBB0_181
LBB0_32:
	cbz	x23, LBB0_55
; %bb.33:
	cbz	x22, LBB0_38
; %bb.34:
	cmp	x22, #8
	b.hs	LBB0_68
; %bb.35:
	mov	x8, #0
LBB0_36:
	sub	x9, x22, x8
	add	x10, x20, x8
	add	x11, x23, x8
	add	x8, x19, x8
LBB0_37:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x8], #1
	ldrb	w13, [x11], #1
	sub	w12, w12, w13
	strb	w12, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_37
LBB0_38:
	cmp	x21, x22
	b.ls	LBB0_218
LBB0_39:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w24, [x19, x22]
	ldrb	w0, [x19], #1
	ldrb	w1, [x23, x22]
	ldrb	w2, [x23], #1
	bl	_paethPredictor
	sub	w8, w24, w0
	strb	w8, [x20, x22]
	sub	x21, x21, #1
	add	x20, x20, #1
	cmp	x22, x21
	b.ne	LBB0_39
	b	LBB0_218
LBB0_40:
	cbz	x22, LBB0_105
; %bb.41:
	mov	x8, #0
	cmp	x22, #8
	b.lo	LBB0_103
; %bb.42:
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_103
; %bb.43:
	cmp	x22, #64
	b.hs	LBB0_96
; %bb.44:
	mov	x8, #0
	b	LBB0_100
LBB0_45:
	cbz	x21, LBB0_218
; %bb.46:
	mov	x8, #0
	cmp	x21, #8
	b.lo	LBB0_120
; %bb.47:
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_120
; %bb.48:
	cmp	x21, #64
	b.hs	LBB0_113
; %bb.49:
	mov	x8, #0
	b	LBB0_117
LBB0_50:
	cbz	x22, LBB0_131
; %bb.51:
	mov	x8, #0
	cmp	x22, #8
	b.lo	LBB0_129
; %bb.52:
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_129
; %bb.53:
	cmp	x22, #64
	b.hs	LBB0_122
; %bb.54:
	mov	x8, #0
	b	LBB0_126
LBB0_55:
	cbz	x22, LBB0_148
; %bb.56:
	mov	x8, #0
	cmp	x22, #8
	b.lo	LBB0_146
; %bb.57:
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_146
; %bb.58:
	cmp	x22, #64
	b.hs	LBB0_139
; %bb.59:
	mov	x8, #0
	b	LBB0_143
LBB0_60:
	mov	x8, #0
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_17
; %bb.61:
	sub	x9, x20, x23
	cmp	x9, #64
	b.lo	LBB0_17
; %bb.62:
	cmp	x21, #64
	b.hs	LBB0_156
; %bb.63:
	mov	x8, #0
	b	LBB0_160
LBB0_64:
	mov	x8, #0
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_23
; %bb.65:
	sub	x9, x20, x23
	cmp	x9, #64
	b.lo	LBB0_23
; %bb.66:
	cmp	x22, #64
	b.hs	LBB0_163
; %bb.67:
	mov	x8, #0
	b	LBB0_167
LBB0_68:
	mov	x8, #0
	sub	x9, x20, x19
	cmp	x9, #64
	b.lo	LBB0_36
; %bb.69:
	sub	x9, x20, x23
	cmp	x9, #64
	b.lo	LBB0_36
; %bb.70:
	cmp	x22, #64
	b.hs	LBB0_170
; %bb.71:
	mov	x8, #0
	b	LBB0_174
LBB0_72:
	and	x8, x21, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	mov	x11, x8
LBB0_73:                                ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x11, x11, #64
	b.ne	LBB0_73
; %bb.74:
	cmp	x8, x21
	b.eq	LBB0_218
; %bb.75:
	tst	x21, #0x38
	b.eq	LBB0_79
LBB0_76:
	mov	x11, x8
	and	x8, x21, #0xfffffffffffffff8
	add	x9, x19, x11
	add	x10, x20, x11
	sub	x11, x11, x8
LBB0_77:                                ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	str	d0, [x10], #8
	adds	x11, x11, #8
	b.ne	LBB0_77
; %bb.78:
	cmp	x8, x21
	b.eq	LBB0_218
LBB0_79:
	sub	x9, x21, x8
	add	x10, x20, x8
	add	x8, x19, x8
LBB0_80:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x8], #1
	strb	w11, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_80
	b	LBB0_218
LBB0_81:
	and	x8, x22, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	mov	x11, x8
LBB0_82:                                ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x11, x11, #64
	b.ne	LBB0_82
; %bb.83:
	cmp	x8, x22
	b.eq	LBB0_90
; %bb.84:
	tst	x22, #0x38
	b.eq	LBB0_88
LBB0_85:
	mov	x11, x8
	and	x8, x22, #0xfffffffffffffff8
	add	x9, x19, x11
	add	x10, x20, x11
	sub	x11, x11, x8
LBB0_86:                                ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	str	d0, [x10], #8
	adds	x11, x11, #8
	b.ne	LBB0_86
; %bb.87:
	cmp	x8, x22
	b.eq	LBB0_90
LBB0_88:
	sub	x9, x22, x8
	add	x10, x20, x8
	add	x8, x19, x8
LBB0_89:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x8], #1
	strb	w11, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_89
LBB0_90:
	subs	x8, x21, x22
	b.ls	LBB0_218
; %bb.91:
	mov	x10, x22
	cmp	x8, #8
	b.lo	LBB0_216
; %bb.92:
	add	x9, x20, x22
	sub	x11, x9, x19
	mov	x10, x22
	cmp	x11, #64
	b.lo	LBB0_216
; %bb.93:
	add	x10, x19, x22
	sub	x9, x9, x10
	mov	x10, x22
	cmp	x9, #64
	b.lo	LBB0_216
; %bb.94:
	cmp	x8, #64
	b.hs	LBB0_184
; %bb.95:
	mov	x9, #0
	b	LBB0_188
LBB0_96:
	and	x8, x22, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	mov	x11, x8
LBB0_97:                                ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x11, x11, #64
	b.ne	LBB0_97
; %bb.98:
	cmp	x8, x22
	b.eq	LBB0_105
; %bb.99:
	tst	x22, #0x38
	b.eq	LBB0_103
LBB0_100:
	mov	x11, x8
	and	x8, x22, #0xfffffffffffffff8
	add	x9, x19, x11
	add	x10, x20, x11
	sub	x11, x11, x8
LBB0_101:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	str	d0, [x10], #8
	adds	x11, x11, #8
	b.ne	LBB0_101
; %bb.102:
	cmp	x8, x22
	b.eq	LBB0_105
LBB0_103:
	sub	x9, x22, x8
	add	x10, x20, x8
	add	x8, x19, x8
LBB0_104:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x8], #1
	strb	w11, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_104
LBB0_105:
	subs	x8, x21, x22
	b.ls	LBB0_218
; %bb.106:
	mov	x10, x22
	cmp	x8, #8
	b.hs	LBB0_109
LBB0_107:
	sub	x8, x21, x10
	add	x9, x20, x10
	neg	x11, x22
	add	x10, x19, x10
LBB0_108:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x10, x11]
	ldrb	w13, [x10], #1
	sub	w12, w13, w12
	strb	w12, [x9], #1
	subs	x8, x8, #1
	b.ne	LBB0_108
	b	LBB0_218
LBB0_109:
	add	x9, x20, x22
	sub	x11, x9, x19
	mov	x10, x22
	cmp	x11, #64
	b.lo	LBB0_107
; %bb.110:
	add	x10, x19, x22
	sub	x9, x9, x10
	mov	x10, x22
	cmp	x9, #64
	b.lo	LBB0_107
; %bb.111:
	cmp	x8, #64
	b.hs	LBB0_191
; %bb.112:
	mov	x9, #0
	b	LBB0_195
LBB0_113:
	and	x8, x21, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	mov	x11, x8
LBB0_114:                               ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x11, x11, #64
	b.ne	LBB0_114
; %bb.115:
	cmp	x8, x21
	b.eq	LBB0_218
; %bb.116:
	tst	x21, #0x38
	b.eq	LBB0_120
LBB0_117:
	mov	x11, x8
	and	x8, x21, #0xfffffffffffffff8
	add	x9, x19, x11
	add	x10, x20, x11
	sub	x11, x11, x8
LBB0_118:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	str	d0, [x10], #8
	adds	x11, x11, #8
	b.ne	LBB0_118
; %bb.119:
	cmp	x8, x21
	b.eq	LBB0_218
LBB0_120:
	sub	x9, x21, x8
	add	x10, x20, x8
	add	x8, x19, x8
LBB0_121:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x8], #1
	strb	w11, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_121
	b	LBB0_218
LBB0_122:
	and	x8, x22, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	mov	x11, x8
LBB0_123:                               ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x11, x11, #64
	b.ne	LBB0_123
; %bb.124:
	cmp	x8, x22
	b.eq	LBB0_131
; %bb.125:
	tst	x22, #0x38
	b.eq	LBB0_129
LBB0_126:
	mov	x11, x8
	and	x8, x22, #0xfffffffffffffff8
	add	x9, x19, x11
	add	x10, x20, x11
	sub	x11, x11, x8
LBB0_127:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	str	d0, [x10], #8
	adds	x11, x11, #8
	b.ne	LBB0_127
; %bb.128:
	cmp	x8, x22
	b.eq	LBB0_131
LBB0_129:
	sub	x9, x22, x8
	add	x10, x20, x8
	add	x8, x19, x8
LBB0_130:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x8], #1
	strb	w11, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_130
LBB0_131:
	subs	x8, x21, x22
	b.ls	LBB0_218
; %bb.132:
	mov	x10, x22
	cmp	x8, #8
	b.hs	LBB0_135
LBB0_133:
	sub	x8, x21, x10
	add	x9, x20, x10
	neg	x11, x22
	add	x10, x19, x10
LBB0_134:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x10, x11]
	ldrb	w13, [x10], #1
	sub	w12, w13, w12, lsr #1
	strb	w12, [x9], #1
	subs	x8, x8, #1
	b.ne	LBB0_134
	b	LBB0_218
LBB0_135:
	add	x9, x20, x22
	sub	x11, x9, x19
	mov	x10, x22
	cmp	x11, #64
	b.lo	LBB0_133
; %bb.136:
	add	x10, x19, x22
	sub	x9, x9, x10
	mov	x10, x22
	cmp	x9, #64
	b.lo	LBB0_133
; %bb.137:
	cmp	x8, #64
	b.hs	LBB0_198
; %bb.138:
	mov	x9, #0
	b	LBB0_202
LBB0_139:
	and	x8, x22, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	mov	x11, x8
LBB0_140:                               ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x11, x11, #64
	b.ne	LBB0_140
; %bb.141:
	cmp	x8, x22
	b.eq	LBB0_148
; %bb.142:
	tst	x22, #0x38
	b.eq	LBB0_146
LBB0_143:
	mov	x11, x8
	and	x8, x22, #0xfffffffffffffff8
	add	x9, x19, x11
	add	x10, x20, x11
	sub	x11, x11, x8
LBB0_144:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	str	d0, [x10], #8
	adds	x11, x11, #8
	b.ne	LBB0_144
; %bb.145:
	cmp	x8, x22
	b.eq	LBB0_148
LBB0_146:
	sub	x9, x22, x8
	add	x10, x20, x8
	add	x8, x19, x8
LBB0_147:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w11, [x8], #1
	strb	w11, [x10], #1
	subs	x9, x9, #1
	b.ne	LBB0_147
LBB0_148:
	subs	x8, x21, x22
	b.ls	LBB0_218
; %bb.149:
	mov	x10, x22
	cmp	x8, #8
	b.hs	LBB0_152
LBB0_150:
	sub	x8, x21, x10
	add	x9, x20, x10
	neg	x11, x22
	add	x10, x19, x10
LBB0_151:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x10, x11]
	ldrb	w13, [x10], #1
	sub	w12, w13, w12
	strb	w12, [x9], #1
	subs	x8, x8, #1
	b.ne	LBB0_151
	b	LBB0_218
LBB0_152:
	add	x9, x20, x22
	sub	x11, x9, x19
	mov	x10, x22
	cmp	x11, #64
	b.lo	LBB0_150
; %bb.153:
	add	x10, x19, x22
	sub	x9, x9, x10
	mov	x10, x22
	cmp	x9, #64
	b.lo	LBB0_150
; %bb.154:
	cmp	x8, #64
	b.hs	LBB0_205
; %bb.155:
	mov	x9, #0
	b	LBB0_209
LBB0_156:
	and	x8, x21, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	add	x11, x23, #32
	mov	x12, x8
LBB0_157:                               ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x12, x12, #64
	b.ne	LBB0_157
; %bb.158:
	cmp	x8, x21
	b.eq	LBB0_218
; %bb.159:
	tst	x21, #0x38
	b.eq	LBB0_17
LBB0_160:
	mov	x12, x8
	and	x8, x21, #0xfffffffffffffff8
	add	x9, x19, x12
	add	x10, x23, x12
	add	x11, x20, x12
	sub	x12, x12, x8
LBB0_161:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	ldr	d1, [x10], #8
	sub.8b	v0, v0, v1
	str	d0, [x11], #8
	adds	x12, x12, #8
	b.ne	LBB0_161
; %bb.162:
	cmp	x8, x21
	b.ne	LBB0_17
	b	LBB0_218
LBB0_163:
	and	x8, x22, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	add	x11, x23, #32
	mov	x12, x8
LBB0_164:                               ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	ushr.16b	v4, v4, #1
	ushr.16b	v5, v5, #1
	ushr.16b	v6, v6, #1
	ushr.16b	v7, v7, #1
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x12, x12, #64
	b.ne	LBB0_164
; %bb.165:
	cmp	x8, x22
	b.eq	LBB0_25
; %bb.166:
	tst	x22, #0x38
	b.eq	LBB0_23
LBB0_167:
	mov	x12, x8
	and	x8, x22, #0xfffffffffffffff8
	add	x9, x19, x12
	add	x10, x23, x12
	add	x11, x20, x12
	sub	x12, x12, x8
LBB0_168:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	ldr	d1, [x10], #8
	ushr.8b	v1, v1, #1
	sub.8b	v0, v0, v1
	str	d0, [x11], #8
	adds	x12, x12, #8
	b.ne	LBB0_168
; %bb.169:
	cmp	x8, x22
	b.ne	LBB0_23
	b	LBB0_25
LBB0_170:
	and	x8, x22, #0xffffffffffffffc0
	add	x9, x19, #32
	add	x10, x20, #32
	add	x11, x23, #32
	mov	x12, x8
LBB0_171:                               ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x9, #-32]
	ldp	q2, q3, [x9], #64
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x12, x12, #64
	b.ne	LBB0_171
; %bb.172:
	cmp	x8, x22
	b.eq	LBB0_38
; %bb.173:
	tst	x22, #0x38
	b.eq	LBB0_36
LBB0_174:
	mov	x12, x8
	and	x8, x22, #0xfffffffffffffff8
	add	x9, x19, x12
	add	x10, x23, x12
	add	x11, x20, x12
	sub	x12, x12, x8
LBB0_175:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x9], #8
	ldr	d1, [x10], #8
	sub.8b	v0, v0, v1
	str	d0, [x11], #8
	adds	x12, x12, #8
	b.ne	LBB0_175
; %bb.176:
	cmp	x8, x22
	b.ne	LBB0_36
	b	LBB0_38
LBB0_177:
	and	x9, x8, #0xffffffffffffffc0
	add	x11, x22, #32
	add	x10, x20, x11
	add	x11, x23, x11
	add	x12, x19, #32
	mov	x13, x9
LBB0_178:                               ; =>This Inner Loop Header: Depth=1
	add	x14, x12, x22
	ldp	q0, q1, [x14, #-32]
	ldp	q2, q3, [x14]
	ldp	q4, q5, [x12, #-32]
	ldp	q6, q7, [x12], #64
	ldp	q16, q17, [x11, #-32]
	ldp	q18, q19, [x11], #64
	uhadd.16b	v4, v16, v4
	uhadd.16b	v5, v17, v5
	uhadd.16b	v6, v18, v6
	uhadd.16b	v7, v19, v7
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x13, x13, #64
	b.ne	LBB0_178
; %bb.179:
	cmp	x8, x9
	b.eq	LBB0_218
; %bb.180:
	tst	x8, #0x38
	b.eq	LBB0_212
LBB0_181:
	and	x11, x8, #0xfffffffffffffff8
	add	x10, x11, x22
	add	x12, x19, x9
	sub	x13, x9, x11
	add	x14, x23, x9
	add	x9, x20, x9
LBB0_182:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x12, x22]
	ldr	d1, [x12], #8
	ldr	d2, [x14, x22]
	uhadd.8b	v1, v2, v1
	sub.8b	v0, v0, v1
	str	d0, [x9, x22]
	add	x14, x14, #8
	add	x9, x9, #8
	adds	x13, x13, #8
	b.ne	LBB0_182
; %bb.183:
	cmp	x8, x11
	b.ne	LBB0_213
	b	LBB0_218
LBB0_184:
	and	x9, x8, #0xffffffffffffffc0
	add	x10, x22, x20
	add	x10, x10, #32
	add	x11, x19, #32
	mov	x12, x9
LBB0_185:                               ; =>This Inner Loop Header: Depth=1
	add	x13, x11, x22
	ldp	q0, q1, [x13, #-32]
	ldp	q2, q3, [x13]
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x12, x12, #64
	b.ne	LBB0_185
; %bb.186:
	cmp	x8, x9
	b.eq	LBB0_218
; %bb.187:
	tst	x8, #0x38
	b.eq	LBB0_215
LBB0_188:
	and	x11, x8, #0xfffffffffffffff8
	add	x10, x11, x22
	add	x12, x19, x9
	sub	x13, x9, x11
	add	x9, x20, x9
LBB0_189:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x12, x22]
	ldr	d1, [x12], #8
	sub.8b	v0, v0, v1
	str	d0, [x9, x22]
	add	x9, x9, #8
	adds	x13, x13, #8
	b.ne	LBB0_189
; %bb.190:
	cmp	x8, x11
	b.ne	LBB0_216
	b	LBB0_218
LBB0_191:
	and	x9, x8, #0xffffffffffffffc0
	add	x10, x22, x20
	add	x10, x10, #32
	add	x11, x19, #32
	mov	x12, x9
LBB0_192:                               ; =>This Inner Loop Header: Depth=1
	add	x13, x11, x22
	ldp	q0, q1, [x13, #-32]
	ldp	q2, q3, [x13]
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x12, x12, #64
	b.ne	LBB0_192
; %bb.193:
	cmp	x8, x9
	b.eq	LBB0_218
; %bb.194:
	tst	x8, #0x38
	b.eq	LBB0_219
LBB0_195:
	and	x11, x8, #0xfffffffffffffff8
	add	x10, x11, x22
	add	x12, x19, x9
	sub	x13, x9, x11
	add	x9, x20, x9
LBB0_196:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x12, x22]
	ldr	d1, [x12], #8
	sub.8b	v0, v0, v1
	str	d0, [x9, x22]
	add	x9, x9, #8
	adds	x13, x13, #8
	b.ne	LBB0_196
; %bb.197:
	cmp	x8, x11
	b.ne	LBB0_107
	b	LBB0_218
LBB0_198:
	and	x9, x8, #0xffffffffffffffc0
	add	x10, x22, x20
	add	x10, x10, #32
	add	x11, x19, #32
	mov	x12, x9
LBB0_199:                               ; =>This Inner Loop Header: Depth=1
	add	x13, x11, x22
	ldp	q0, q1, [x13, #-32]
	ldp	q2, q3, [x13]
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	ushr.16b	v4, v4, #1
	ushr.16b	v5, v5, #1
	ushr.16b	v6, v6, #1
	ushr.16b	v7, v7, #1
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x12, x12, #64
	b.ne	LBB0_199
; %bb.200:
	cmp	x8, x9
	b.eq	LBB0_218
; %bb.201:
	tst	x8, #0x38
	b.eq	LBB0_220
LBB0_202:
	and	x11, x8, #0xfffffffffffffff8
	add	x10, x11, x22
	add	x12, x19, x9
	sub	x13, x9, x11
	add	x9, x20, x9
LBB0_203:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x12, x22]
	ldr	d1, [x12], #8
	ushr.8b	v1, v1, #1
	sub.8b	v0, v0, v1
	str	d0, [x9, x22]
	add	x9, x9, #8
	adds	x13, x13, #8
	b.ne	LBB0_203
; %bb.204:
	cmp	x8, x11
	b.ne	LBB0_133
	b	LBB0_218
LBB0_205:
	and	x9, x8, #0xffffffffffffffc0
	add	x10, x22, x20
	add	x10, x10, #32
	add	x11, x19, #32
	mov	x12, x9
LBB0_206:                               ; =>This Inner Loop Header: Depth=1
	add	x13, x11, x22
	ldp	q0, q1, [x13, #-32]
	ldp	q2, q3, [x13]
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	sub.16b	v0, v0, v4
	sub.16b	v1, v1, v5
	sub.16b	v2, v2, v6
	sub.16b	v3, v3, v7
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x12, x12, #64
	b.ne	LBB0_206
; %bb.207:
	cmp	x8, x9
	b.eq	LBB0_218
; %bb.208:
	tst	x8, #0x38
	b.eq	LBB0_221
LBB0_209:
	and	x11, x8, #0xfffffffffffffff8
	add	x10, x11, x22
	add	x12, x19, x9
	sub	x13, x9, x11
	add	x9, x20, x9
LBB0_210:                               ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x12, x22]
	ldr	d1, [x12], #8
	sub.8b	v0, v0, v1
	str	d0, [x9, x22]
	add	x9, x9, #8
	adds	x13, x13, #8
	b.ne	LBB0_210
; %bb.211:
	cmp	x8, x11
	b.ne	LBB0_150
	b	LBB0_218
LBB0_212:
	add	x10, x9, x22
LBB0_213:
	sub	x8, x21, x10
	add	x9, x20, x10
	add	x11, x23, x10
	neg	x12, x22
	add	x10, x19, x10
LBB0_214:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w13, [x10]
	ldrb	w14, [x10, x12]
	ldrb	w15, [x11], #1
	add	w14, w15, w14
	sub	w13, w13, w14, lsr #1
	strb	w13, [x9], #1
	add	x10, x10, #1
	subs	x8, x8, #1
	b.ne	LBB0_214
	b	LBB0_218
LBB0_215:
	add	x10, x9, x22
LBB0_216:
	sub	x8, x21, x10
	add	x9, x20, x10
	neg	x11, x22
	add	x10, x19, x10
LBB0_217:                               ; =>This Inner Loop Header: Depth=1
	ldrb	w12, [x10, x11]
	ldrb	w13, [x10], #1
	sub	w12, w13, w12
	strb	w12, [x9], #1
	subs	x8, x8, #1
	b.ne	LBB0_217
LBB0_218:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
LBB0_219:
	add	x10, x9, x22
	b	LBB0_107
LBB0_220:
	add	x10, x9, x22
	b	LBB0_133
LBB0_221:
	add	x10, x9, x22
	b	LBB0_150
	.loh AdrpAdd	Lloh0, Lloh1
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_2-LBB0_2)>>2
	.byte	(LBB0_7-LBB0_2)>>2
	.byte	(LBB0_13-LBB0_2)>>2
	.byte	(LBB0_19-LBB0_2)>>2
	.byte	(LBB0_32-LBB0_2)>>2
                                        ; -- End function
	.no_dead_strip	_filterScanline
.subsections_via_symbols
