	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.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	$584, %rsp                      ## imm = 0x248
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, -392(%rbp)                ## 8-byte Spill
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	cmpl	$4, %edi
	je	LBB0_2
## %bb.1:
	xorl	%eax, %eax
	callq	_usage
LBB0_2:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	8(%rax), %rdi
	movq	_O_RDONLY@GOTPCREL(%rip), %r15
	movq	_O_BINARY@GOTPCREL(%rip), %r12
	movl	(%r12), %esi
	orl	(%r15), %esi
	xorl	%edx, %edx
	callq	_open
	movl	%eax, %r14d
	testl	%eax, %eax
	js	LBB0_4
## %bb.3:
	movq	_SEEK_END@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%r14d, %edi
	xorl	%esi, %esi
	callq	_lseek
	cmpl	$-1, %eax
	jne	LBB0_5
LBB0_4:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	8(%rax), %rdx
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
	movl	$-1, %eax
LBB0_5:
	movq	_SSIZE_MAX@GOTPCREL(%rip), %r13
	movslq	%eax, %rcx
	movq	%rcx, -528(%rbp)                ## 8-byte Spill
	cmpl	(%r13), %eax
	movq	%rax, -488(%rbp)                ## 8-byte Spill
	jg	LBB0_8
## %bb.6:
	movq	_SIZE_T_MAX@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rcx
	shrq	$2, %rcx
	cmpq	-528(%rbp), %rcx                ## 8-byte Folded Reload
	jbe	LBB0_8
## %bb.7:
	movq	_OFF_MAX@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_9
LBB0_8:
	movq	_EFBIG@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_errno@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	8(%rax), %rdx
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
	movq	-488(%rbp), %rax                ## 8-byte Reload
LBB0_9:
	leal	1(%rax), %ebx
	movl	%ebx, %edi
	callq	_malloc
	movq	%rax, -440(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_13
## %bb.10:
	movq	_SEEK_SET@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%r14d, %edi
	xorl	%esi, %esi
	callq	_lseek
	testq	%rax, %rax
	jne	LBB0_13
## %bb.11:
	movl	%r14d, %edi
	movq	-440(%rbp), %rsi                ## 8-byte Reload
	movq	%r12, %r13
	movq	%r15, %r12
	movq	-488(%rbp), %r15                ## 8-byte Reload
	movl	%r15d, %edx
	callq	_read
	cmpl	%r15d, %eax
	movq	%r12, %r15
	movq	%r13, %r12
	movq	_SSIZE_MAX@GOTPCREL(%rip), %r13
	jne	LBB0_13
## %bb.12:
	movl	%r14d, %edi
	callq	_close
	cmpl	$-1, %eax
	jne	LBB0_14
LBB0_13:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	8(%rax), %rdx
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_14:
	shll	$3, %ebx
	movl	%ebx, %edi
	callq	_malloc
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_16
## %bb.15:
	movl	$1, %edi
	xorl	%esi, %esi
	xorl	%eax, %eax
	callq	_err
LBB0_16:
	movq	-440(%rbp), %rdi                ## 8-byte Reload
	movq	%rbx, %rsi
	movq	-488(%rbp), %rdx                ## 8-byte Reload
                                        ## kill: def $edx killed $edx killed $rdx
	callq	_divsufsort
	testq	%rax, %rax
	je	LBB0_18
## %bb.17:
	leaq	L_.str.1(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_18:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	16(%rax), %rdi
	movl	(%r12), %esi
	orl	(%r15), %esi
	xorl	%edx, %edx
	callq	_open
	movl	%eax, %r14d
	testl	%eax, %eax
	js	LBB0_20
## %bb.19:
	movq	_SEEK_END@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%r14d, %edi
	xorl	%esi, %esi
	callq	_lseek
	cmpl	$-1, %eax
	jne	LBB0_21
LBB0_20:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	16(%rax), %rdx
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
	movl	$-1, %eax
LBB0_21:
	movq	%rbx, -552(%rbp)                ## 8-byte Spill
	cmpl	(%r13), %eax
	movq	%rax, -432(%rbp)                ## 8-byte Spill
	jg	LBB0_24
## %bb.22:
	movq	_SIZE_T_MAX@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jge	LBB0_24
## %bb.23:
	movq	_OFF_MAX@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_25
LBB0_24:
	movq	_EFBIG@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	_errno@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	16(%rax), %rdx
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
	movq	-432(%rbp), %rax                ## 8-byte Reload
LBB0_25:
	leal	1(%rax), %ebx
	movl	%ebx, %edi
	callq	_malloc
	movq	%rax, -400(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_29
## %bb.26:
	movq	_SEEK_SET@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%r14d, %edi
	xorl	%esi, %esi
	callq	_lseek
	testq	%rax, %rax
	jne	LBB0_29
## %bb.27:
	movl	%r14d, %edi
	movq	-400(%rbp), %rsi                ## 8-byte Reload
	movq	-432(%rbp), %r15                ## 8-byte Reload
	movl	%r15d, %edx
	callq	_read
	cmpl	%r15d, %eax
	jne	LBB0_29
## %bb.28:
	movl	%r14d, %edi
	callq	_close
	cmpl	$-1, %eax
	jne	LBB0_30
LBB0_29:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	16(%rax), %rdx
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_30:
	movl	%ebx, %edi
	callq	_malloc
	movq	%rax, -456(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_32
## %bb.31:
	movl	%ebx, %edi
	callq	_malloc
	movq	%rax, %rcx
	movq	%rax, -448(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	jne	LBB0_33
LBB0_32:
	xorl	%eax, %eax
	movq	%rax, -448(%rbp)                ## 8-byte Spill
	movl	$1, %edi
	xorl	%esi, %esi
	xorl	%eax, %eax
	callq	_err
LBB0_33:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	24(%rax), %rdi
	leaq	L_.str.2(%rip), %rsi
	callq	_fopen
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_35
## %bb.34:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	24(%rax), %rdx
	leaq	L_.str(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_35:
	leaq	L_.str.3(%rip), %rsi
	leaq	-368(%rbp), %r14
	movq	%r14, %rdi
	movl	$8, %edx
	callq	_memcpy
	leaq	-304(%rbp), %rsi
	xorl	%edi, %edi
	callq	_offtout
	leaq	-240(%rbp), %rsi
	xorl	%edi, %edi
	callq	_offtout
	leaq	-176(%rbp), %rsi
	movq	-432(%rbp), %rdi                ## 8-byte Reload
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_offtout
	movq	%r14, %rdi
	movl	$32, %esi
	movl	$1, %edx
	movq	%rbx, %rcx
	callq	_fwrite
	cmpl	$1, %eax
	je	LBB0_37
## %bb.36:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	24(%rax), %rdx
	leaq	L_.str.4(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_37:
	leaq	-372(%rbp), %rdi
	movl	$0, -404(%rbp)                  ## 4-byte Folded Spill
	movq	%rbx, -520(%rbp)                ## 8-byte Spill
	movq	%rbx, %rsi
	movl	$9, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_BZ2_bzWriteOpen
	movq	%rax, -504(%rbp)                ## 8-byte Spill
	testq	%rax, %rax
	jne	LBB0_39
## %bb.38:
	movl	-372(%rbp), %edx
	leaq	L_.str.5(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_39:
	movl	$0, -408(%rbp)
	movl	$0, %eax
	movq	%rax, -464(%rbp)                ## 8-byte Spill
	movq	-432(%rbp), %r9                 ## 8-byte Reload
	testl	%r9d, %r9d
	movq	-440(%rbp), %rsi                ## 8-byte Reload
	movq	-400(%rbp), %r10                ## 8-byte Reload
	jle	LBB0_122
## %bb.40:
	movl	%r9d, %eax
	movq	%rax, -624(%rbp)                ## 8-byte Spill
	leaq	8(%rsi), %rax
	movq	%rax, -544(%rbp)                ## 8-byte Spill
	leaq	-8(%r10), %rax
	movq	%rax, -592(%rbp)                ## 8-byte Spill
	leaq	-8(%rsi), %rax
	movq	%rax, -584(%rbp)                ## 8-byte Spill
	leaq	48(%r10), %rax
	movq	%rax, -536(%rbp)                ## 8-byte Spill
	leaq	48(%rsi), %rax
	movq	%rax, -568(%rbp)                ## 8-byte Spill
	movq	-456(%rbp), %rax                ## 8-byte Reload
	leaq	48(%rax), %rdx
	movq	%rdx, -560(%rbp)                ## 8-byte Spill
	addq	$8, %rax
	movq	%rax, -608(%rbp)                ## 8-byte Spill
	leaq	8(%r10), %rax
	movq	%rax, -600(%rbp)                ## 8-byte Spill
	movq	-448(%rbp), %rax                ## 8-byte Reload
	addq	$48, %rax
	movq	%rax, -576(%rbp)                ## 8-byte Spill
	xorl	%eax, %eax
	movq	%rax, -464(%rbp)                ## 8-byte Spill
	movl	$0, -404(%rbp)                  ## 4-byte Folded Spill
	movl	$0, -420(%rbp)                  ## 4-byte Folded Spill
	xorl	%eax, %eax
	movq	%rax, -472(%rbp)                ## 8-byte Spill
	xorl	%edx, %edx
	xorl	%eax, %eax
	xorl	%r15d, %r15d
	jmp	LBB0_43
	.p2align	4, 0x90
LBB0_41:                                ##   in Loop: Header=BB0_43 Depth=1
	addl	-404(%rbp), %r12d               ## 4-byte Folded Reload
	movq	-464(%rbp), %rax                ## 8-byte Reload
	addl	-384(%rbp), %eax                ## 4-byte Folded Reload
	movq	%rax, -464(%rbp)                ## 8-byte Spill
	movl	-408(%rbp), %ecx
	movl	%ecx, %eax
	subl	%r13d, %eax
	movq	%rax, -472(%rbp)                ## 8-byte Spill
	subl	%r15d, %ecx
	movl	%ecx, -420(%rbp)                ## 4-byte Spill
	movl	%r12d, %eax
	movl	%r12d, -404(%rbp)               ## 4-byte Spill
	movq	-440(%rbp), %rsi                ## 8-byte Reload
	movq	-400(%rbp), %r10                ## 8-byte Reload
	movq	-432(%rbp), %r9                 ## 8-byte Reload
	movq	-616(%rbp), %rax                ## 8-byte Reload
LBB0_42:                                ##   in Loop: Header=BB0_43 Depth=1
	movl	%r14d, %edx
	cmpl	%r9d, %r15d
	jge	LBB0_122
LBB0_43:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_46 Depth 2
                                        ##       Child Loop BB0_58 Depth 3
                                        ##     Child Loop BB0_70 Depth 2
                                        ##     Child Loop BB0_76 Depth 2
                                        ##     Child Loop BB0_81 Depth 2
                                        ##     Child Loop BB0_96 Depth 2
                                        ##     Child Loop BB0_91 Depth 2
                                        ##     Child Loop BB0_109 Depth 2
                                        ##     Child Loop BB0_114 Depth 2
	addl	%eax, %r15d
	cmpl	%r15d, %r9d
	movq	%rdx, -480(%rbp)                ## 8-byte Spill
	jle	LBB0_62
## %bb.44:                              ##   in Loop: Header=BB0_43 Depth=1
	movslq	-420(%rbp), %r12                ## 4-byte Folded Reload
	movslq	%r15d, %r14
	leaq	-1(%r14), %rax
	movq	%rax, -512(%rbp)                ## 8-byte Spill
	movq	-544(%rbp), %rax                ## 8-byte Reload
	leaq	(%rax,%r12,8), %r8
	xorl	%ebx, %ebx
	movb	$1, %al
	movq	%rax, -496(%rbp)                ## 8-byte Spill
	xorl	%r13d, %r13d
	movq	%r8, -416(%rbp)                 ## 8-byte Spill
	jmp	LBB0_46
	.p2align	4, 0x90
LBB0_45:                                ##   in Loop: Header=BB0_46 Depth=2
	movq	-432(%rbp), %r9                 ## 8-byte Reload
	movq	%r11, %rbx
	incq	%r14
	incq	%rbx
	cmpq	-624(%rbp), %r14                ## 8-byte Folded Reload
	setl	%dl
	movq	%rdx, -496(%rbp)                ## 8-byte Spill
	je	LBB0_64
LBB0_46:                                ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Loop Header: Depth=2
                                        ##       Child Loop BB0_58 Depth 3
	leaq	(%r10,%r14,8), %rcx
	movl	%r9d, %r8d
	subl	%r14d, %r8d
	movq	-552(%rbp), %rdi                ## 8-byte Reload
	movq	-488(%rbp), %rdx                ## 8-byte Reload
	movq	%rcx, -384(%rbp)                ## 8-byte Spill
	xorl	%r9d, %r9d
	leaq	-408(%rbp), %rax
	pushq	%rax
	pushq	%rdx
	callq	_search
	addq	$16, %rsp
                                        ## kill: def $eax killed $eax def $rax
	movslq	%eax, %rcx
	leaq	(%r14,%rcx), %rdi
	movslq	%r15d, %rdx
	cmpq	%rdx, %rdi
	jle	LBB0_49
## %bb.47:                              ##   in Loop: Header=BB0_46 Depth=2
	movq	-512(%rbp), %rsi                ## 8-byte Reload
	movq	%rbx, %r11
	addq	%rbx, %rsi
	leal	(%r14,%rax), %ebx
	subl	%r15d, %ebx
	addq	%rsi, %rcx
	testb	$1, %bl
	movq	-528(%rbp), %rbx                ## 8-byte Reload
	jne	LBB0_54
## %bb.48:                              ##   in Loop: Header=BB0_46 Depth=2
	movq	%rdx, %r15
	movq	-440(%rbp), %rsi                ## 8-byte Reload
	movq	-400(%rbp), %r10                ## 8-byte Reload
	movq	-416(%rbp), %r8                 ## 8-byte Reload
	cmpq	%rdx, %rcx
	jne	LBB0_58
	jmp	LBB0_50
	.p2align	4, 0x90
LBB0_49:                                ##   in Loop: Header=BB0_46 Depth=2
	movq	%rbx, %r11
	movq	-440(%rbp), %rsi                ## 8-byte Reload
	movq	-400(%rbp), %r10                ## 8-byte Reload
	movq	-528(%rbp), %rbx                ## 8-byte Reload
LBB0_50:                                ##   in Loop: Header=BB0_46 Depth=2
	cmpl	%r13d, %eax
	sete	%dl
	testl	%eax, %eax
	setne	%cl
	testb	%dl, %cl
	jne	LBB0_63
## %bb.51:                              ##   in Loop: Header=BB0_46 Depth=2
	leal	8(%r13), %ecx
	cmpl	%ecx, %eax
	jg	LBB0_63
## %bb.52:                              ##   in Loop: Header=BB0_46 Depth=2
	leaq	(%r14,%r12), %rcx
	cmpq	%rbx, %rcx
	jge	LBB0_45
## %bb.53:                              ##   in Loop: Header=BB0_46 Depth=2
	movq	(%rsi,%rcx,8), %rdx
	xorl	%ecx, %ecx
	movq	-384(%rbp), %rdi                ## 8-byte Reload
	cmpq	(%rdi), %rdx
	sete	%cl
	subl	%ecx, %r13d
	jmp	LBB0_45
	.p2align	4, 0x90
LBB0_54:                                ##   in Loop: Header=BB0_46 Depth=2
	leaq	(%rdx,%r12), %r8
	cmpq	%rbx, %r8
	movq	-440(%rbp), %rsi                ## 8-byte Reload
	movq	-400(%rbp), %r10                ## 8-byte Reload
	jge	LBB0_56
## %bb.55:                              ##   in Loop: Header=BB0_46 Depth=2
	movq	(%rsi,%r8,8), %r8
	xorl	%r9d, %r9d
	cmpq	(%r10,%rdx,8), %r8
	sete	%r9b
	addl	%r9d, %r13d
LBB0_56:                                ##   in Loop: Header=BB0_46 Depth=2
	movq	-416(%rbp), %r8                 ## 8-byte Reload
	leaq	1(%rdx), %r15
	cmpq	%rdx, %rcx
	jne	LBB0_58
	jmp	LBB0_50
	.p2align	4, 0x90
LBB0_57:                                ##   in Loop: Header=BB0_58 Depth=3
	addq	$2, %r15
	cmpq	%rdi, %r15
	jge	LBB0_50
LBB0_58:                                ##   Parent Loop BB0_43 Depth=1
                                        ##     Parent Loop BB0_46 Depth=2
                                        ## =>    This Inner Loop Header: Depth=3
	leaq	(%r12,%r15), %rcx
	cmpq	%rbx, %rcx
	jge	LBB0_60
## %bb.59:                              ##   in Loop: Header=BB0_58 Depth=3
	movq	-8(%r8,%r15,8), %rcx
	xorl	%edx, %edx
	cmpq	(%r10,%r15,8), %rcx
	sete	%dl
	addl	%edx, %r13d
LBB0_60:                                ##   in Loop: Header=BB0_58 Depth=3
	leaq	(%r12,%r15), %rcx
	incq	%rcx
	cmpq	%rbx, %rcx
	jge	LBB0_57
## %bb.61:                              ##   in Loop: Header=BB0_58 Depth=3
	movq	(%r8,%r15,8), %rcx
	xorl	%edx, %edx
	cmpq	8(%r10,%r15,8), %rcx
	sete	%dl
	addl	%edx, %r13d
	jmp	LBB0_57
	.p2align	4, 0x90
LBB0_62:                                ##   in Loop: Header=BB0_43 Depth=1
	xorl	%edi, %edi
	movq	%rdi, -496(%rbp)                ## 8-byte Spill
	xorl	%r13d, %r13d
	cmpl	%r13d, %eax
	je	LBB0_66
	jmp	LBB0_68
	.p2align	4, 0x90
LBB0_63:                                ##   in Loop: Header=BB0_43 Depth=1
	movl	%r14d, %r15d
	movq	-432(%rbp), %r9                 ## 8-byte Reload
	jmp	LBB0_65
	.p2align	4, 0x90
LBB0_64:                                ##   in Loop: Header=BB0_43 Depth=1
	movl	%r9d, %r15d
LBB0_65:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	-480(%rbp), %rdx                ## 8-byte Reload
	cmpl	%r13d, %eax
	jne	LBB0_68
LBB0_66:                                ##   in Loop: Header=BB0_43 Depth=1
	cmpl	%r15d, %r9d
	je	LBB0_68
## %bb.67:                              ##   in Loop: Header=BB0_43 Depth=1
	movl	%edx, %r14d
	jmp	LBB0_42
	.p2align	4, 0x90
LBB0_68:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	%rax, -616(%rbp)                ## 8-byte Spill
	xorl	%r13d, %r13d
	movl	%r15d, %r14d
	movslq	%edx, %rax
	movq	%rax, -384(%rbp)                ## 8-byte Spill
	movslq	-472(%rbp), %rax                ## 4-byte Folded Reload
	movq	%rax, -416(%rbp)                ## 8-byte Spill
	movl	$0, %r9d
	subl	%edx, %r14d
	jle	LBB0_72
## %bb.69:                              ##   in Loop: Header=BB0_43 Depth=1
	movq	-488(%rbp), %r12                ## 8-byte Reload
	movq	-416(%rbp), %rax                ## 8-byte Reload
	cmpl	%r12d, %eax
                                        ## kill: def $r12d killed $r12d killed $r12 def $r12
	cmovgl	-472(%rbp), %r12d               ## 4-byte Folded Reload
	subl	%eax, %r12d
	leaq	(%rsi,%rax,8), %r10
	movq	-400(%rbp), %rax                ## 8-byte Reload
	movq	-384(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rax,%rcx,8), %r11
	xorl	%edi, %edi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	xorl	%eax, %eax
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_70:                                ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	cmpq	%rdi, %r12
	je	LBB0_72
## %bb.71:                              ##   in Loop: Header=BB0_70 Depth=2
	movq	(%r10,%rdi,8), %rbx
	xorl	%ecx, %ecx
	cmpq	(%r11,%rdi,8), %rbx
	sete	%cl
	addl	%ecx, %edx
	incq	%rdi
	leal	(%r8,%rdx,2), %ecx
	leal	(%rax,%rax), %ebx
	subl	%r9d, %ebx
	cmpl	%ebx, %ecx
	cmovgl	%edx, %eax
	cmovgl	%edi, %r9d
	decl	%r8d
	cmpq	%rdi, %r14
	jne	LBB0_70
LBB0_72:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	%r9, -512(%rbp)                 ## 8-byte Spill
	testb	$1, -496(%rbp)                  ## 1-byte Folded Reload
	je	LBB0_78
## %bb.73:                              ##   in Loop: Header=BB0_43 Depth=1
	cmpl	-480(%rbp), %r15d               ## 4-byte Folded Reload
	jle	LBB0_78
## %bb.74:                              ##   in Loop: Header=BB0_43 Depth=1
	movl	-408(%rbp), %r10d
	testl	%r10d, %r10d
	jle	LBB0_78
## %bb.75:                              ##   in Loop: Header=BB0_43 Depth=1
	movslq	%r15d, %r12
	movq	-592(%rbp), %rax                ## 8-byte Reload
	leaq	(%rax,%r12,8), %r11
	movq	-584(%rbp), %rax                ## 8-byte Reload
	leaq	(%rax,%r10,8), %r14
	xorl	%edi, %edi
	movl	$1, %edx
	xorl	%r13d, %r13d
	xorl	%ecx, %ecx
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_76:                                ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	%ebx, %eax
	movl	%r13d, %r8d
	movq	(%r14,%rdi,8), %r13
	xorl	%ebx, %ebx
	cmpq	(%r11,%rdi,8), %r13
	sete	%bl
	addl	%eax, %ebx
	decq	%rdi
	leal	(%rdi,%rbx,2), %r9d
	leal	(%rcx,%rcx), %eax
	subl	%r8d, %eax
	cmpl	%eax, %r9d
	cmovgl	%ebx, %ecx
	movl	%edx, %r13d
	cmovlel	%r8d, %r13d
	movq	-384(%rbp), %rax                ## 8-byte Reload
	addq	%rdx, %rax
	incq	%rax
	cmpq	%r12, %rax
	jg	LBB0_78
## %bb.77:                              ##   in Loop: Header=BB0_76 Depth=2
	leaq	1(%rdx), %rax
	cmpq	%r10, %rdx
	movq	%rax, %rdx
	jb	LBB0_76
	.p2align	4, 0x90
LBB0_78:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	-480(%rbp), %rax                ## 8-byte Reload
	movq	-512(%rbp), %r8                 ## 8-byte Reload
	leal	(%r8,%rax), %edx
	movl	%r15d, %eax
	subl	%r13d, %eax
	cmpl	%eax, %edx
	jle	LBB0_82
## %bb.79:                              ##   in Loop: Header=BB0_43 Depth=1
	subl	%eax, %edx
	movl	%edx, -420(%rbp)                ## 4-byte Spill
	jle	LBB0_83
## %bb.80:                              ##   in Loop: Header=BB0_43 Depth=1
	movq	-472(%rbp), %rcx                ## 8-byte Reload
	addl	%r8d, %ecx
	subl	%edx, %ecx
	movl	-408(%rbp), %r14d
	movslq	%ecx, %rcx
	movl	%edx, %edx
	movq	%rdx, -496(%rbp)                ## 8-byte Spill
	subl	%r13d, %r14d
	movl	%eax, %r12d
	leaq	(%rsi,%rcx,8), %r8
	xorl	%edi, %edi
	xorl	%ecx, %ecx
	xorl	%r10d, %r10d
	xorl	%ebx, %ebx
	movq	-400(%rbp), %r11                ## 8-byte Reload
	.p2align	4, 0x90
LBB0_81:                                ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	leal	(%r12,%rdi), %eax
	cltq
	movq	(%r11,%rax,8), %rdx
	xorl	%eax, %eax
	cmpq	(%r8,%rdi,8), %rdx
	sete	%al
	addl	%ebx, %eax
	leal	(%r14,%rdi), %ebx
	movslq	%ebx, %rbx
	xorl	%r9d, %r9d
	cmpq	(%rsi,%rbx,8), %rdx
	sete	%r9b
	subl	%r9d, %eax
	incq	%rdi
	cmpl	%r10d, %eax
	cmovgl	%eax, %r10d
	cmovgl	%edi, %ecx
	movl	%eax, %ebx
	cmpq	-496(%rbp), %rdi                ## 8-byte Folded Reload
	jb	LBB0_81
	jmp	LBB0_84
	.p2align	4, 0x90
LBB0_82:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	-400(%rbp), %r11                ## 8-byte Reload
	testl	%r8d, %r8d
	jg	LBB0_85
	jmp	LBB0_102
LBB0_83:                                ##   in Loop: Header=BB0_43 Depth=1
	xorl	%ecx, %ecx
	movq	-400(%rbp), %r11                ## 8-byte Reload
LBB0_84:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	-512(%rbp), %r8                 ## 8-byte Reload
	subl	-420(%rbp), %r8d                ## 4-byte Folded Reload
	addl	%ecx, %r8d
	subl	%ecx, %r13d
	testl	%r8d, %r8d
	jle	LBB0_102
LBB0_85:                                ##   in Loop: Header=BB0_43 Depth=1
	movslq	-404(%rbp), %r10                ## 4-byte Folded Reload
	movl	%r8d, %r12d
	cmpl	$4, %r8d
	jae	LBB0_92
LBB0_86:                                ##   in Loop: Header=BB0_43 Depth=1
	xorl	%r14d, %r14d
LBB0_87:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	%r14, %rax
	testb	$1, %r12b
	je	LBB0_89
## %bb.88:                              ##   in Loop: Header=BB0_43 Depth=1
	movq	-384(%rbp), %rax                ## 8-byte Reload
	addq	%r14, %rax
	movq	(%r11,%rax,8), %rax
	movq	-416(%rbp), %rcx                ## 8-byte Reload
	addq	%r14, %rcx
	subq	(%rsi,%rcx,8), %rax
	leaq	(%r14,%r10), %rcx
	movq	-456(%rbp), %rdx                ## 8-byte Reload
	movq	%rax, (%rdx,%rcx,8)
	movq	%r14, %rax
	orq	$1, %rax
LBB0_89:                                ##   in Loop: Header=BB0_43 Depth=1
	notq	%r14
	addq	%r12, %r14
	je	LBB0_102
## %bb.90:                              ##   in Loop: Header=BB0_43 Depth=1
	movq	-608(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rcx,%r10,8), %rcx
	movq	-544(%rbp), %rdx                ## 8-byte Reload
	movq	-416(%rbp), %rsi                ## 8-byte Reload
	leaq	(%rdx,%rsi,8), %rdx
	movq	-600(%rbp), %rsi                ## 8-byte Reload
	movq	-384(%rbp), %rdi                ## 8-byte Reload
	leaq	(%rsi,%rdi,8), %rsi
	.p2align	4, 0x90
LBB0_91:                                ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	-8(%rsi,%rax,8), %rdi
	subq	-8(%rdx,%rax,8), %rdi
	movq	%rdi, -8(%rcx,%rax,8)
	movq	(%rsi,%rax,8), %rdi
	subq	(%rdx,%rax,8), %rdi
	movq	%rdi, (%rcx,%rax,8)
	addq	$2, %rax
	cmpq	%rax, %r12
	jne	LBB0_91
	jmp	LBB0_102
LBB0_92:                                ##   in Loop: Header=BB0_43 Depth=1
	movq	-456(%rbp), %rax                ## 8-byte Reload
	leaq	(%rax,%r10,8), %rax
	movq	-384(%rbp), %rcx                ## 8-byte Reload
	leaq	(%r11,%rcx,8), %rcx
	movq	%rax, %rdx
	subq	%rcx, %rdx
	cmpq	$32, %rdx
	jb	LBB0_86
## %bb.93:                              ##   in Loop: Header=BB0_43 Depth=1
	movq	-416(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rsi,%rcx,8), %rcx
	subq	%rcx, %rax
	movl	$0, %r14d
	cmpq	$32, %rax
	jb	LBB0_87
## %bb.94:                              ##   in Loop: Header=BB0_43 Depth=1
	movl	%r12d, %r14d
	andl	$-4, %r14d
	leaq	-4(%r14), %rax
	movq	%rax, %r11
	shrq	$2, %r11
	incq	%r11
	testq	%rax, %rax
	je	LBB0_98
## %bb.95:                              ##   in Loop: Header=BB0_43 Depth=1
	movq	%r11, %rcx
	movabsq	$9223372036854775806, %rax      ## imm = 0x7FFFFFFFFFFFFFFE
	andq	%rax, %rcx
	movq	-536(%rbp), %rax                ## 8-byte Reload
	movq	-384(%rbp), %rdx                ## 8-byte Reload
	leaq	(%rax,%rdx,8), %rbx
	movq	-568(%rbp), %rax                ## 8-byte Reload
	movq	-416(%rbp), %rdx                ## 8-byte Reload
	leaq	(%rax,%rdx,8), %rdi
	movq	-560(%rbp), %rax                ## 8-byte Reload
	leaq	(%rax,%r10,8), %rdx
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_96:                                ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	-48(%rbx,%rax,8), %xmm0
	movdqu	-32(%rbx,%rax,8), %xmm1
	movdqu	-48(%rdi,%rax,8), %xmm2
	psubq	%xmm2, %xmm0
	movdqu	-32(%rdi,%rax,8), %xmm2
	psubq	%xmm2, %xmm1
	movdqu	%xmm0, -48(%rdx,%rax,8)
	movdqu	%xmm1, -32(%rdx,%rax,8)
	movdqu	-16(%rbx,%rax,8), %xmm0
	movdqu	(%rbx,%rax,8), %xmm1
	movdqu	-16(%rdi,%rax,8), %xmm2
	psubq	%xmm2, %xmm0
	movdqu	(%rdi,%rax,8), %xmm2
	psubq	%xmm2, %xmm1
	movdqu	%xmm0, -16(%rdx,%rax,8)
	movdqu	%xmm1, (%rdx,%rax,8)
	addq	$8, %rax
	addq	$-2, %rcx
	jne	LBB0_96
	jmp	LBB0_99
LBB0_98:                                ##   in Loop: Header=BB0_43 Depth=1
	xorl	%eax, %eax
LBB0_99:                                ##   in Loop: Header=BB0_43 Depth=1
	testb	$1, %r11b
	movq	-400(%rbp), %r11                ## 8-byte Reload
	je	LBB0_101
## %bb.100:                             ##   in Loop: Header=BB0_43 Depth=1
	movq	-384(%rbp), %rcx                ## 8-byte Reload
	addq	%rax, %rcx
	movdqu	(%r11,%rcx,8), %xmm0
	movdqu	16(%r11,%rcx,8), %xmm1
	movq	-416(%rbp), %rcx                ## 8-byte Reload
	addq	%rax, %rcx
	movdqu	(%rsi,%rcx,8), %xmm2
	psubq	%xmm2, %xmm0
	movdqu	16(%rsi,%rcx,8), %xmm2
	psubq	%xmm2, %xmm1
	addq	%r10, %rax
	movq	-456(%rbp), %rcx                ## 8-byte Reload
	movdqu	%xmm0, (%rcx,%rax,8)
	movdqu	%xmm1, 16(%rcx,%rax,8)
LBB0_101:                               ##   in Loop: Header=BB0_43 Depth=1
	cmpq	%r12, %r14
	jne	LBB0_87
	.p2align	4, 0x90
LBB0_102:                               ##   in Loop: Header=BB0_43 Depth=1
	movl	%r15d, %r14d
	subl	%r13d, %r14d
	movq	-480(%rbp), %rax                ## 8-byte Reload
	movq	%r8, %r12
	addl	%r8d, %eax
	movl	%r14d, %ecx
	subl	%eax, %ecx
	movl	%ecx, -384(%rbp)                ## 4-byte Spill
	jle	LBB0_115
## %bb.103:                             ##   in Loop: Header=BB0_43 Depth=1
	movslq	%eax, %r8
	movslq	-464(%rbp), %r9                 ## 4-byte Folded Reload
	movl	-384(%rbp), %ecx                ## 4-byte Reload
	movl	%ecx, %eax
	cmpl	$4, %ecx
	jb	LBB0_104
## %bb.105:                             ##   in Loop: Header=BB0_43 Depth=1
	movq	-448(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rcx,%r9,8), %rcx
	leaq	(%r11,%r8,8), %rdx
	subq	%rdx, %rcx
	cmpq	$32, %rcx
	jae	LBB0_107
LBB0_104:                               ##   in Loop: Header=BB0_43 Depth=1
	xorl	%esi, %esi
LBB0_113:                               ##   in Loop: Header=BB0_43 Depth=1
	movq	-448(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rcx,%r9,8), %rcx
	leaq	(%r11,%r8,8), %rdx
	.p2align	4, 0x90
LBB0_114:                               ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	(%rdx,%rsi,8), %rdi
	movq	%rdi, (%rcx,%rsi,8)
	incq	%rsi
	cmpq	%rax, %rsi
	jb	LBB0_114
LBB0_115:                               ##   in Loop: Header=BB0_43 Depth=1
	movl	%r12d, %edi
	leaq	-112(%rbp), %rbx
	movq	%rbx, %rsi
	callq	_offtout
	leaq	-372(%rbp), %rdi
	movq	-504(%rbp), %rsi                ## 8-byte Reload
	movq	%rbx, %rdx
	movl	$8, %ecx
	callq	_BZ2_bzWrite
	movl	-372(%rbp), %edx
	movq	_BZ_OK@GOTPCREL(%rip), %rax
	cmpl	(%rax), %edx
	je	LBB0_117
## %bb.116:                             ##   in Loop: Header=BB0_43 Depth=1
	movl	$1, %edi
	leaq	L_.str.6(%rip), %rsi
	callq	_errx
LBB0_117:                               ##   in Loop: Header=BB0_43 Depth=1
	movl	-384(%rbp), %edi                ## 4-byte Reload
	leaq	-112(%rbp), %rbx
	movq	%rbx, %rsi
	callq	_offtout
	leaq	-372(%rbp), %rdi
	movq	-504(%rbp), %rsi                ## 8-byte Reload
	movq	%rbx, %rdx
	movl	$8, %ecx
	callq	_BZ2_bzWrite
	movl	-372(%rbp), %edx
	movq	_BZ_OK@GOTPCREL(%rip), %rax
	cmpl	(%rax), %edx
	je	LBB0_119
## %bb.118:                             ##   in Loop: Header=BB0_43 Depth=1
	movl	$1, %edi
	leaq	L_.str.6(%rip), %rsi
	callq	_errx
LBB0_119:                               ##   in Loop: Header=BB0_43 Depth=1
	movl	-408(%rbp), %edi
	movq	-472(%rbp), %rax                ## 8-byte Reload
	addl	%r12d, %eax
	addl	%r13d, %eax
	subl	%eax, %edi
	leaq	-112(%rbp), %rbx
	movq	%rbx, %rsi
	callq	_offtout
	leaq	-372(%rbp), %rdi
	movq	-504(%rbp), %rsi                ## 8-byte Reload
	movq	%rbx, %rdx
	movl	$8, %ecx
	callq	_BZ2_bzWrite
	movl	-372(%rbp), %edx
	movq	_BZ_OK@GOTPCREL(%rip), %rax
	cmpl	(%rax), %edx
	je	LBB0_41
## %bb.120:                             ##   in Loop: Header=BB0_43 Depth=1
	movl	$1, %edi
	leaq	L_.str.6(%rip), %rsi
	callq	_errx
	jmp	LBB0_41
LBB0_107:                               ##   in Loop: Header=BB0_43 Depth=1
	movl	%eax, %esi
	andl	$-4, %esi
	leaq	-4(%rsi), %rcx
	movq	%rcx, %r10
	shrq	$2, %r10
	incq	%r10
	testq	%rcx, %rcx
	je	LBB0_121
## %bb.108:                             ##   in Loop: Header=BB0_43 Depth=1
	movq	%r10, %rdi
	movabsq	$9223372036854775806, %rcx      ## imm = 0x7FFFFFFFFFFFFFFE
	andq	%rcx, %rdi
	movq	-536(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rcx,%r8,8), %rdx
	movq	-576(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rcx,%r9,8), %rbx
	xorl	%ecx, %ecx
	.p2align	4, 0x90
LBB0_109:                               ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movups	-48(%rdx,%rcx,8), %xmm0
	movups	-32(%rdx,%rcx,8), %xmm1
	movups	%xmm0, -48(%rbx,%rcx,8)
	movups	%xmm1, -32(%rbx,%rcx,8)
	movdqu	-16(%rdx,%rcx,8), %xmm0
	movdqu	(%rdx,%rcx,8), %xmm1
	movdqu	%xmm0, -16(%rbx,%rcx,8)
	movdqu	%xmm1, (%rbx,%rcx,8)
	addq	$8, %rcx
	addq	$-2, %rdi
	jne	LBB0_109
## %bb.110:                             ##   in Loop: Header=BB0_43 Depth=1
	testb	$1, %r10b
	je	LBB0_112
LBB0_111:                               ##   in Loop: Header=BB0_43 Depth=1
	leaq	(%rcx,%r8), %rdx
	movdqu	(%r11,%rdx,8), %xmm0
	movdqu	16(%r11,%rdx,8), %xmm1
	addq	%r9, %rcx
	movq	-448(%rbp), %rdx                ## 8-byte Reload
	movdqu	%xmm0, (%rdx,%rcx,8)
	movdqu	%xmm1, 16(%rdx,%rcx,8)
LBB0_112:                               ##   in Loop: Header=BB0_43 Depth=1
	cmpq	%rax, %rsi
	je	LBB0_115
	jmp	LBB0_113
LBB0_121:                               ##   in Loop: Header=BB0_43 Depth=1
	xorl	%ecx, %ecx
	testb	$1, %r10b
	jne	LBB0_111
	jmp	LBB0_112
LBB0_122:
	leaq	-372(%rbp), %rdi
	movq	-504(%rbp), %rsi                ## 8-byte Reload
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_BZ2_bzWriteClose
	movl	-372(%rbp), %edx
	movq	_BZ_OK@GOTPCREL(%rip), %r15
	cmpl	(%r15), %edx
	je	LBB0_124
## %bb.123:
	leaq	L_.str.7(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_124:
	movq	-520(%rbp), %rbx                ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_ftello
	movl	%eax, %r14d
	cmpl	$-1, %eax
	jne	LBB0_126
## %bb.125:
	leaq	L_.str.8(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_126:
	leal	-32(%r14), %edi
	leaq	-304(%rbp), %rsi
	callq	_offtout
	leaq	-372(%rbp), %rdi
	movq	%rbx, %rsi
	movl	$9, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_BZ2_bzWriteOpen
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_128
## %bb.127:
	movl	-372(%rbp), %edx
	leaq	L_.str.5(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_128:
	leaq	-372(%rbp), %rdi
	movq	%rbx, %rsi
	movq	-456(%rbp), %rdx                ## 8-byte Reload
	movl	-404(%rbp), %ecx                ## 4-byte Reload
	callq	_BZ2_bzWrite
	movl	-372(%rbp), %edx
	cmpl	(%r15), %edx
	je	LBB0_130
## %bb.129:
	leaq	L_.str.6(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_130:
	leaq	-372(%rbp), %rdi
	movq	%rbx, %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_BZ2_bzWriteClose
	movl	-372(%rbp), %edx
	cmpl	(%r15), %edx
	je	LBB0_132
## %bb.131:
	leaq	L_.str.7(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_132:
	movq	-520(%rbp), %r12                ## 8-byte Reload
	movq	%r12, %rdi
	callq	_ftello
	movl	%eax, %ebx
	cmpl	$-1, %eax
	jne	LBB0_134
## %bb.133:
	leaq	L_.str.8(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_134:
	subl	%r14d, %ebx
	movl	%ebx, %edi
	leaq	-240(%rbp), %rsi
	callq	_offtout
	leaq	-372(%rbp), %rdi
	movq	%r12, %rsi
	movl	$9, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_BZ2_bzWriteOpen
	movq	%rax, %rbx
	testq	%rax, %rax
	jne	LBB0_136
## %bb.135:
	movl	-372(%rbp), %edx
	leaq	L_.str.5(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_136:
	leaq	-372(%rbp), %rdi
	movq	%rbx, %rsi
	movq	-448(%rbp), %rdx                ## 8-byte Reload
	movq	-464(%rbp), %rcx                ## 8-byte Reload
                                        ## kill: def $ecx killed $ecx killed $rcx
	callq	_BZ2_bzWrite
	movl	-372(%rbp), %edx
	cmpl	(%r15), %edx
	je	LBB0_138
## %bb.137:
	leaq	L_.str.6(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_138:
	leaq	-372(%rbp), %rdi
	movq	%rbx, %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	xorl	%r8d, %r8d
	callq	_BZ2_bzWriteClose
	movl	-372(%rbp), %edx
	cmpl	(%r15), %edx
	je	LBB0_140
## %bb.139:
	leaq	L_.str.7(%rip), %rsi
	movl	$1, %edi
	callq	_errx
LBB0_140:
	movq	_SEEK_SET@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	-520(%rbp), %rbx                ## 8-byte Reload
	movq	%rbx, %rdi
	xorl	%esi, %esi
	callq	_fseeko
	testq	%rax, %rax
	movq	-552(%rbp), %r14                ## 8-byte Reload
	je	LBB0_142
## %bb.141:
	leaq	L_.str.9(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_142:
	leaq	-368(%rbp), %rdi
	movl	$32, %esi
	movl	$1, %edx
	movq	%rbx, %rcx
	callq	_fwrite
	cmpl	$1, %eax
	je	LBB0_144
## %bb.143:
	movq	-392(%rbp), %rax                ## 8-byte Reload
	movq	24(%rax), %rdx
	leaq	L_.str.4(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_144:
	movq	%rbx, %rdi
	callq	_fclose
	testq	%rax, %rax
	je	LBB0_146
## %bb.145:
	leaq	L_.str.10(%rip), %rsi
	movl	$1, %edi
	xorl	%eax, %eax
	callq	_err
LBB0_146:
	movq	-456(%rbp), %rdi                ## 8-byte Reload
	callq	_free
	movq	-448(%rbp), %rdi                ## 8-byte Reload
	callq	_free
	movq	%r14, %rdi
	callq	_free
	movq	-440(%rbp), %rdi                ## 8-byte Reload
	callq	_free
	movq	-400(%rbp), %rdi                ## 8-byte Reload
	callq	_free
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_148
## %bb.147:
	xorl	%eax, %eax
	addq	$584, %rsp                      ## imm = 0x248
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_148:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_O_RDONLY,4,2                   ## @O_RDONLY
	.comm	_O_BINARY,4,2                   ## @O_BINARY
	.comm	_SEEK_END,4,2                   ## @SEEK_END
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%s"

	.comm	_SSIZE_MAX,4,2                  ## @SSIZE_MAX
	.comm	_SIZE_T_MAX,4,2                 ## @SIZE_T_MAX
	.comm	_OFF_MAX,4,2                    ## @OFF_MAX
	.comm	_EFBIG,4,2                      ## @EFBIG
	.comm	_errno,4,2                      ## @errno
	.comm	_SEEK_SET,4,2                   ## @SEEK_SET
L_.str.1:                               ## @.str.1
	.asciz	"divsufsort"

L_.str.2:                               ## @.str.2
	.asciz	"wb"

L_.str.3:                               ## @.str.3
	.asciz	"BSDIFF40"

L_.str.4:                               ## @.str.4
	.asciz	"fwrite(%s)"

L_.str.5:                               ## @.str.5
	.asciz	"BZ2_bzWriteOpen, bz2err = %d"

	.comm	_BZ_OK,4,2                      ## @BZ_OK
L_.str.6:                               ## @.str.6
	.asciz	"BZ2_bzWrite, bz2err = %d"

L_.str.7:                               ## @.str.7
	.asciz	"BZ2_bzWriteClose, bz2err = %d"

L_.str.8:                               ## @.str.8
	.asciz	"ftello"

L_.str.9:                               ## @.str.9
	.asciz	"fseeko"

L_.str.10:                              ## @.str.10
	.asciz	"fclose"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	sub	sp, sp, #528
	mov	x20, x1
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	stur	x8, [x29, #-96]
	cmp	w0, #4
	b.eq	LBB0_2
; %bb.1:
	bl	_usage
LBB0_2:
Lloh3:
	adrp	x27, _O_RDONLY@GOTPAGE
Lloh4:
	ldr	x27, [x27, _O_RDONLY@GOTPAGEOFF]
	ldr	x0, [x20, #8]
	ldr	w8, [x27]
Lloh5:
	adrp	x28, _O_BINARY@GOTPAGE
Lloh6:
	ldr	x28, [x28, _O_BINARY@GOTPAGEOFF]
	ldr	w9, [x28]
	orr	w1, w9, w8
	mov	w2, #0
	bl	_open
	mov	x19, x0
Lloh7:
	adrp	x8, _SEEK_END@GOTPAGE
Lloh8:
	ldr	x8, [x8, _SEEK_END@GOTPAGEOFF]
	tbnz	w0, #31, LBB0_4
; %bb.3:
	ldr	w2, [x8]
	mov	x0, x19
	mov	w1, #0
	bl	_lseek
	mov	x21, x0
	cmn	w21, #1
	b.ne	LBB0_5
LBB0_4:
	ldr	x8, [x20, #8]
	str	x8, [sp]
Lloh9:
	adrp	x1, l_.str@PAGE
Lloh10:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
	mov	w21, #-1
LBB0_5:
Lloh11:
	adrp	x23, _SSIZE_MAX@GOTPAGE
Lloh12:
	ldr	x23, [x23, _SSIZE_MAX@GOTPAGEOFF]
Lloh13:
	adrp	x24, _SIZE_T_MAX@GOTPAGE
Lloh14:
	ldr	x24, [x24, _SIZE_T_MAX@GOTPAGEOFF]
Lloh15:
	adrp	x22, _OFF_MAX@GOTPAGE
Lloh16:
	ldr	x22, [x22, _OFF_MAX@GOTPAGEOFF]
	ldr	w8, [x23]
Lloh17:
	adrp	x26, _EFBIG@GOTPAGE
Lloh18:
	ldr	x26, [x26, _EFBIG@GOTPAGEOFF]
Lloh19:
	adrp	x11, _errno@GOTPAGE
Lloh20:
	ldr	x11, [x11, _errno@GOTPAGEOFF]
	cmp	w21, w8
	b.gt	LBB0_7
; %bb.6:
	mov	x8, x21
	sxtw	x8, w8
	ldrsw	x9, [x24]
	ldr	w10, [x22]
	cmp	x8, x9, lsr #2
	ccmp	w21, w10, #4, lo
	b.ne	LBB0_8
LBB0_7:
	ldr	w8, [x26]
	str	w8, [x11]
	ldr	x8, [x20, #8]
	str	x8, [sp]
Lloh21:
	adrp	x1, l_.str@PAGE
Lloh22:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_8:
	str	x20, [sp, #80]                  ; 8-byte Folded Spill
	str	x21, [sp, #168]                 ; 8-byte Folded Spill
	add	w21, w21, #1
	mov	x0, x21
	bl	_malloc
	str	x0, [sp, #176]                  ; 8-byte Folded Spill
	cbz	x0, LBB0_12
; %bb.9:
Lloh23:
	adrp	x8, _SEEK_SET@GOTPAGE
Lloh24:
	ldr	x8, [x8, _SEEK_SET@GOTPAGEOFF]
Lloh25:
	ldr	w2, [x8]
	mov	x0, x19
	mov	w1, #0
	bl	_lseek
	cbnz	x0, LBB0_12
; %bb.10:
	mov	x0, x19
	ldp	x20, x1, [sp, #168]             ; 16-byte Folded Reload
	mov	x2, x20
	bl	_read
	cmp	w0, w20
	b.ne	LBB0_12
; %bb.11:
	mov	x0, x19
	bl	_close
	cmn	w0, #1
	b.ne	LBB0_13
LBB0_12:
	ldr	x8, [sp, #80]                   ; 8-byte Folded Reload
	ldr	x8, [x8, #8]
	str	x8, [sp]
Lloh26:
	adrp	x1, l_.str@PAGE
Lloh27:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_13:
	lsl	w0, w21, #3
	bl	_malloc
	mov	x19, x0
	cbnz	x0, LBB0_15
; %bb.14:
	mov	w0, #1
	mov	x1, #0
	bl	_err
LBB0_15:
	ldp	x21, x0, [sp, #168]             ; 16-byte Folded Reload
	str	x19, [sp, #160]                 ; 8-byte Folded Spill
	mov	x1, x19
	mov	x2, x21
	bl	_divsufsort
	ldr	x20, [sp, #80]                  ; 8-byte Folded Reload
	cbz	x0, LBB0_17
; %bb.16:
Lloh28:
	adrp	x1, l_.str.1@PAGE
Lloh29:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_17:
	ldr	x0, [x20, #16]
	ldr	w8, [x27]
	ldr	w9, [x28]
	orr	w1, w9, w8
	mov	w2, #0
	bl	_open
	mov	x19, x0
	tbnz	w0, #31, LBB0_19
; %bb.18:
Lloh30:
	adrp	x8, _SEEK_END@GOTPAGE
Lloh31:
	ldr	x8, [x8, _SEEK_END@GOTPAGEOFF]
Lloh32:
	ldr	w2, [x8]
	mov	x0, x19
	mov	w1, #0
	bl	_lseek
	mov	x25, x0
	cmn	w25, #1
	b.ne	LBB0_20
LBB0_19:
	ldr	x8, [x20, #16]
	str	x8, [sp]
Lloh33:
	adrp	x1, l_.str@PAGE
Lloh34:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
	mov	w25, #-1
LBB0_20:
	ldr	w8, [x23]
	cmp	w25, w8
	b.gt	LBB0_23
; %bb.21:
	ldr	w8, [x24]
	cmp	w25, w8
	b.ge	LBB0_23
; %bb.22:
	ldr	w8, [x22]
	cmp	w25, w8
	b.ne	LBB0_24
LBB0_23:
	ldr	w8, [x26]
Lloh35:
	adrp	x9, _errno@GOTPAGE
Lloh36:
	ldr	x9, [x9, _errno@GOTPAGEOFF]
Lloh37:
	str	w8, [x9]
	ldr	x8, [x20, #16]
	str	x8, [sp]
Lloh38:
	adrp	x1, l_.str@PAGE
Lloh39:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_24:
	add	w23, w25, #1
	mov	x0, x23
	bl	_malloc
	mov	x22, x0
	cbz	x0, LBB0_28
; %bb.25:
Lloh40:
	adrp	x8, _SEEK_SET@GOTPAGE
Lloh41:
	ldr	x8, [x8, _SEEK_SET@GOTPAGEOFF]
Lloh42:
	ldr	w2, [x8]
	mov	x0, x19
	mov	w1, #0
	bl	_lseek
	cbnz	x0, LBB0_28
; %bb.26:
	mov	x0, x19
	mov	x1, x22
	mov	x2, x25
	bl	_read
	cmp	w0, w25
	b.ne	LBB0_28
; %bb.27:
	mov	x0, x19
	bl	_close
	cmn	w0, #1
	b.ne	LBB0_29
LBB0_28:
	ldr	x8, [x20, #16]
	str	x8, [sp]
Lloh43:
	adrp	x1, l_.str@PAGE
Lloh44:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_29:
	mov	x0, x23
	bl	_malloc
	str	x0, [sp, #88]                   ; 8-byte Folded Spill
	cbz	x0, LBB0_31
; %bb.30:
	mov	x0, x23
	bl	_malloc
	str	x0, [sp, #96]                   ; 8-byte Folded Spill
	cbnz	x0, LBB0_32
LBB0_31:
	mov	w0, #1
	mov	x1, #0
	bl	_err
	str	xzr, [sp, #96]                  ; 8-byte Folded Spill
LBB0_32:
	ldr	x0, [x20, #24]
Lloh45:
	adrp	x1, l_.str.2@PAGE
Lloh46:
	add	x1, x1, l_.str.2@PAGEOFF
	bl	_fopen
	mov	x23, x0
	cbnz	x0, LBB0_34
; %bb.33:
	ldr	x8, [x20, #24]
	str	x8, [sp]
Lloh47:
	adrp	x1, l_.str@PAGE
Lloh48:
	add	x1, x1, l_.str@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_34:
Lloh49:
	adrp	x1, l_.str.3@PAGE
Lloh50:
	add	x1, x1, l_.str.3@PAGEOFF
	add	x19, sp, #192
	add	x0, sp, #192
	mov	w2, #8
	bl	_memcpy
	add	x1, x19, #64
	mov	w0, #0
	str	x1, [sp, #8]                    ; 8-byte Folded Spill
	bl	_offtout
	add	x1, x19, #128
	mov	w0, #0
	str	x1, [sp, #16]                   ; 8-byte Folded Spill
	bl	_offtout
	add	x1, x19, #192
	mov	x0, x25
	bl	_offtout
	add	x0, sp, #192
	mov	w1, #32
	mov	w2, #1
	str	x23, [sp, #48]                  ; 8-byte Folded Spill
	mov	x3, x23
	bl	_fwrite
	cmp	w0, #1
	b.eq	LBB0_36
; %bb.35:
	ldr	x8, [x20, #24]
	str	x8, [sp]
Lloh51:
	adrp	x1, l_.str.4@PAGE
Lloh52:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_36:
	add	x0, sp, #184
	ldr	x1, [sp, #48]                   ; 8-byte Folded Reload
	mov	w2, #9
	mov	w3, #0
	mov	w4, #0
	bl	_BZ2_bzWriteOpen
	str	x0, [sp, #136]                  ; 8-byte Folded Spill
	cbnz	x0, LBB0_38
; %bb.37:
	ldr	w2, [sp, #184]
Lloh53:
	adrp	x1, l_.str.5@PAGE
Lloh54:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_38:
	str	wzr, [sp, #188]
	cmp	w25, #1
	b.lt	LBB0_102
; %bb.39:
	mov	w4, #0
	mov	w20, #0
	str	xzr, [sp, #128]                 ; 8-byte Folded Spill
	mov	w3, #0
	mov	w23, #0
	mov	w2, #0
	mov	x8, x21
	sxtw	x19, w8
	mov	w8, w25
	stp	xzr, x8, [sp, #144]             ; 16-byte Folded Spill
	sub	x9, x22, #8
	ldr	x1, [sp, #176]                  ; 8-byte Folded Reload
	sub	x8, x1, #8
	stp	x8, x9, [sp, #56]               ; 16-byte Folded Spill
	ldr	x8, [sp, #88]                   ; 8-byte Folded Reload
	add	x9, x8, #32
	add	x8, x22, #32
	str	x8, [sp, #72]                   ; 8-byte Folded Spill
	add	x8, x1, #32
	stp	x8, x9, [sp, #32]               ; 16-byte Folded Spill
	ldr	x8, [sp, #96]                   ; 8-byte Folded Reload
	add	x8, x8, #32
	str	x8, [sp, #24]                   ; 8-byte Folded Spill
	b	LBB0_42
LBB0_40:                                ;   in Loop: Header=BB0_42 Depth=1
	add	w20, w24, w20
	mov	x4, x21
	add	w4, w28, w4
	ldr	w8, [sp, #188]
	sub	w9, w8, w26
	str	x9, [sp, #144]                  ; 8-byte Folded Spill
	mov	x2, x27
	sub	w8, w8, w2
	str	x8, [sp, #128]                  ; 8-byte Folded Spill
	ldr	w3, [sp, #120]                  ; 4-byte Folded Reload
	ldr	x1, [sp, #176]                  ; 8-byte Folded Reload
LBB0_41:                                ;   in Loop: Header=BB0_42 Depth=1
	cmp	w2, w25
	b.ge	LBB0_103
LBB0_42:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_45 Depth 2
                                        ;       Child Loop BB0_48 Depth 3
                                        ;     Child Loop BB0_62 Depth 2
                                        ;     Child Loop BB0_69 Depth 2
                                        ;     Child Loop BB0_74 Depth 2
                                        ;     Child Loop BB0_97 Depth 2
                                        ;     Child Loop BB0_81 Depth 2
                                        ;     Child Loop BB0_100 Depth 2
                                        ;     Child Loop BB0_87 Depth 2
	add	w2, w23, w2
	cmp	w25, w2
	b.le	LBB0_55
; %bb.43:                               ;   in Loop: Header=BB0_42 Depth=1
	stp	x3, x20, [sp, #104]             ; 16-byte Folded Spill
	str	x4, [sp, #120]                  ; 8-byte Folded Spill
	mov	x21, x25
	mov	w26, #0
	ldr	x9, [sp, #128]                  ; 8-byte Folded Reload
	sxtw	x20, w9
	mov	x8, x2
	sxtw	x27, w8
	add	x25, x1, w9, sxtw #3
	mov	w28, #1
	b	LBB0_45
LBB0_44:                                ;   in Loop: Header=BB0_45 Depth=2
	add	x27, x27, #1
	ldr	x8, [sp, #152]                  ; 8-byte Folded Reload
	cmp	x27, x8
	cset	w28, lt
	b.eq	LBB0_57
LBB0_45:                                ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Loop Header: Depth=2
                                        ;       Child Loop BB0_48 Depth 3
	add	x24, x22, x27, lsl #3
	sub	w4, w21, w27
	add	x7, sp, #188
	mov	x23, x2
	ldp	x0, x2, [sp, #160]              ; 16-byte Folded Reload
	mov	x3, x24
	mov	w5, #0
	mov	x6, x2
	bl	_search
	mov	x2, x23
	mov	x23, x0
	add	x9, x27, w0, sxtw
	sxtw	x8, w2
	cmp	x9, x8
	b.le	LBB0_50
; %bb.46:                               ;   in Loop: Header=BB0_45 Depth=2
	ldr	x1, [sp, #176]                  ; 8-byte Folded Reload
	b	LBB0_48
LBB0_47:                                ;   in Loop: Header=BB0_48 Depth=3
	add	x8, x8, #1
	cmp	x8, x9
	b.ge	LBB0_51
LBB0_48:                                ;   Parent Loop BB0_42 Depth=1
                                        ;     Parent Loop BB0_45 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	add	x10, x20, x8
	cmp	x10, x19
	b.ge	LBB0_47
; %bb.49:                               ;   in Loop: Header=BB0_48 Depth=3
	lsl	x10, x8, #3
	ldr	x11, [x25, x10]
	ldr	x10, [x22, x10]
	cmp	x11, x10
	cinc	w26, w26, eq
	b	LBB0_47
LBB0_50:                                ;   in Loop: Header=BB0_45 Depth=2
	ldr	x1, [sp, #176]                  ; 8-byte Folded Reload
	b	LBB0_52
LBB0_51:                                ;   in Loop: Header=BB0_45 Depth=2
	mov	x2, x8
LBB0_52:                                ;   in Loop: Header=BB0_45 Depth=2
	cmp	w23, w26
	ccmp	w23, #0, #4, eq
	add	w8, w26, #8
	ccmp	w23, w8, #0, eq
	b.gt	LBB0_56
; %bb.53:                               ;   in Loop: Header=BB0_45 Depth=2
	add	x8, x27, x20
	cmp	x8, x19
	b.ge	LBB0_44
; %bb.54:                               ;   in Loop: Header=BB0_45 Depth=2
	ldr	x8, [x1, x8, lsl #3]
	ldr	x9, [x24]
	cmp	x8, x9
	cset	w8, eq
	sub	w26, w26, w8
	b	LBB0_44
LBB0_55:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	w28, #0
	mov	w26, #0
	cmp	w23, w26
	b.eq	LBB0_59
	b	LBB0_60
LBB0_56:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	x2, x27
	mov	x25, x21
	b	LBB0_58
LBB0_57:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	x25, x21
	mov	x2, x25
LBB0_58:                                ;   in Loop: Header=BB0_42 Depth=1
	ldp	x20, x4, [sp, #112]             ; 16-byte Folded Reload
	ldr	x3, [sp, #104]                  ; 8-byte Folded Reload
	cmp	w23, w26
	b.ne	LBB0_60
LBB0_59:                                ;   in Loop: Header=BB0_42 Depth=1
	cmp	w25, w2
	b.ne	LBB0_41
LBB0_60:                                ;   in Loop: Header=BB0_42 Depth=1
	subs	w8, w2, w3
	b.le	LBB0_64
; %bb.61:                               ;   in Loop: Header=BB0_42 Depth=1
	mov	x9, #0
	mov	w24, #0
	mov	w10, #0
	mov	w11, #0
	ldr	x12, [sp, #168]                 ; 8-byte Folded Reload
	ldr	x14, [sp, #144]                 ; 8-byte Folded Reload
	cmp	w14, w12
	csel	w12, w14, w12, gt
	sub	w12, w12, w14
	mov	w13, #-1
	add	x14, x1, w14, sxtw #3
	add	x15, x22, w3, sxtw #3
LBB0_62:                                ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	cmp	x12, x9
	b.eq	LBB0_65
; %bb.63:                               ;   in Loop: Header=BB0_62 Depth=2
	lsl	x16, x9, #3
	ldr	x17, [x14, x16]
	ldr	x16, [x15, x16]
	cmp	x17, x16
	cinc	w11, w11, eq
	add	x9, x9, #1
	add	w16, w13, w11, lsl #1
	lsl	w17, w10, #1
	sub	w17, w17, w24
	cmp	w16, w17
	csel	w10, w11, w10, gt
	csel	w24, w9, w24, gt
	sub	w13, w13, #1
	cmp	x8, x9
	b.ne	LBB0_62
	b	LBB0_65
LBB0_64:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	w24, #0
LBB0_65:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	w26, #0
	tbz	w28, #0, LBB0_71
; %bb.66:                               ;   in Loop: Header=BB0_42 Depth=1
	cmp	w2, w3
	b.le	LBB0_71
; %bb.67:                               ;   in Loop: Header=BB0_42 Depth=1
	ldr	w8, [sp, #188]
	cmp	w8, #1
	b.lt	LBB0_71
; %bb.68:                               ;   in Loop: Header=BB0_42 Depth=1
	mov	w26, #0
	mov	w9, #0
	mov	w10, #0
	mov	x11, x2
	sxtw	x11, w11
	mov	x12, x3
	sxtw	x12, w12
	mov	w13, #-1
	mov	w16, #1
	ldp	x15, x14, [sp, #56]             ; 16-byte Folded Reload
	add	x14, x14, w2, sxtw #3
	add	x15, x15, x8, lsl #3
LBB0_69:                                ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x17, [x15], #-8
	ldr	x0, [x14], #-8
	cmp	x17, x0
	cinc	w10, w10, eq
	add	w17, w13, w10, lsl #1
	lsl	w0, w9, #1
	sub	w0, w0, w26
	cmp	w17, w0
	csel	w9, w10, w9, gt
	csel	w26, w16, w26, gt
	add	x17, x12, x16
	add	x17, x17, #1
	cmp	x17, x11
	b.gt	LBB0_71
; %bb.70:                               ;   in Loop: Header=BB0_69 Depth=2
	add	x17, x16, #1
	sub	w13, w13, #1
	cmp	x16, x8
	mov	x16, x17
	b.lo	LBB0_69
LBB0_71:                                ;   in Loop: Header=BB0_42 Depth=1
	add	w8, w24, w3
	sub	w10, w2, w26
	subs	w8, w8, w10
	b.le	LBB0_77
; %bb.72:                               ;   in Loop: Header=BB0_42 Depth=1
	cmp	w8, #1
	b.lt	LBB0_75
; %bb.73:                               ;   in Loop: Header=BB0_42 Depth=1
	mov	x11, #0
	mov	w9, #0
	mov	w12, #0
	mov	w15, #0
	ldr	x13, [sp, #144]                 ; 8-byte Folded Reload
	add	w13, w24, w13
	sub	w14, w13, w8
	ldr	w13, [sp, #188]
	sub	w13, w13, w26
	add	x14, x1, w14, sxtw #3
LBB0_74:                                ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	w16, w10, w11
	ldr	x16, [x22, w16, sxtw #3]
	ldr	x17, [x14, x11, lsl #3]
	cmp	x16, x17
	cinc	w15, w15, eq
	add	w17, w13, w11
	ldr	x17, [x1, w17, sxtw #3]
	cmp	x16, x17
	cset	w16, eq
	add	x11, x11, #1
	sub	w15, w15, w16
	cmp	w15, w12
	csel	w12, w15, w12, gt
	csel	w9, w11, w9, gt
	cmp	x11, x8
	b.lo	LBB0_74
	b	LBB0_76
LBB0_75:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	w9, #0
LBB0_76:                                ;   in Loop: Header=BB0_42 Depth=1
	sub	w8, w24, w8
	add	w24, w8, w9
	sub	w26, w26, w9
LBB0_77:                                ;   in Loop: Header=BB0_42 Depth=1
	cmp	w24, #1
	b.lt	LBB0_82
; %bb.78:                               ;   in Loop: Header=BB0_42 Depth=1
	sxtw	x8, w3
	ldr	x9, [sp, #144]                  ; 8-byte Folded Reload
	sxtw	x10, w9
	sxtw	x11, w20
	mov	w9, w24
	cmp	w24, #8
	b.hs	LBB0_94
; %bb.79:                               ;   in Loop: Header=BB0_42 Depth=1
	mov	x12, #0
LBB0_80:                                ;   in Loop: Header=BB0_42 Depth=1
	add	x11, x12, x11
	ldr	x13, [sp, #88]                  ; 8-byte Folded Reload
	add	x11, x13, x11, lsl #3
	add	x10, x12, x10
	add	x10, x1, x10, lsl #3
	add	x13, x12, x8
	sub	x8, x9, x12
	add	x9, x22, x13, lsl #3
LBB0_81:                                ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x12, [x9], #8
	ldr	x13, [x10], #8
	sub	x12, x12, x13
	str	x12, [x11], #8
	subs	x8, x8, #1
	b.ne	LBB0_81
LBB0_82:                                ;   in Loop: Header=BB0_42 Depth=1
	sub	w9, w2, w26
	add	w8, w24, w3
	str	w9, [sp, #120]                  ; 4-byte Folded Spill
	sub	w28, w9, w8
	cmp	w28, #1
	b.lt	LBB0_88
; %bb.83:                               ;   in Loop: Header=BB0_42 Depth=1
	sxtw	x8, w8
	sxtw	x9, w4
	cmp	w28, #8
	b.lo	LBB0_85
; %bb.84:                               ;   in Loop: Header=BB0_42 Depth=1
	ldr	x10, [sp, #96]                  ; 8-byte Folded Reload
	add	x10, x10, x9, lsl #3
	add	x11, x22, x8, lsl #3
	sub	x10, x10, x11
	cmp	x10, #64
	b.hs	LBB0_99
LBB0_85:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	x10, #0
LBB0_86:                                ;   in Loop: Header=BB0_42 Depth=1
	ldr	x11, [sp, #96]                  ; 8-byte Folded Reload
	add	x9, x11, x9, lsl #3
	add	x8, x22, x8, lsl #3
LBB0_87:                                ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x11, x10, #3
	ldr	x12, [x8, x11]
	str	x12, [x9, x11]
	add	x10, x10, #1
	cmp	x10, x28
	b.lo	LBB0_87
LBB0_88:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	x21, x4
	mov	x27, x2
	sub	x1, x29, #160
	mov	x0, x24
	bl	_offtout
	add	x0, sp, #184
	sub	x2, x29, #160
	ldr	x1, [sp, #136]                  ; 8-byte Folded Reload
	mov	w3, #8
	bl	_BZ2_bzWrite
	ldr	w2, [sp, #184]
Lloh55:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh56:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh57:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_90
; %bb.89:                               ;   in Loop: Header=BB0_42 Depth=1
	mov	w0, #1
Lloh58:
	adrp	x1, l_.str.6@PAGE
Lloh59:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_errx
LBB0_90:                                ;   in Loop: Header=BB0_42 Depth=1
	sub	x1, x29, #160
	mov	x0, x28
	bl	_offtout
	add	x0, sp, #184
	sub	x2, x29, #160
	ldr	x1, [sp, #136]                  ; 8-byte Folded Reload
	mov	w3, #8
	bl	_BZ2_bzWrite
	ldr	w2, [sp, #184]
Lloh60:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh61:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh62:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_92
; %bb.91:                               ;   in Loop: Header=BB0_42 Depth=1
	mov	w0, #1
Lloh63:
	adrp	x1, l_.str.6@PAGE
Lloh64:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_errx
LBB0_92:                                ;   in Loop: Header=BB0_42 Depth=1
	ldr	w8, [sp, #188]
	ldr	x9, [sp, #144]                  ; 8-byte Folded Reload
	add	w9, w24, w9
	add	w9, w9, w26
	sub	w0, w8, w9
	sub	x1, x29, #160
	bl	_offtout
	add	x0, sp, #184
	sub	x2, x29, #160
	ldr	x1, [sp, #136]                  ; 8-byte Folded Reload
	mov	w3, #8
	bl	_BZ2_bzWrite
	ldr	w2, [sp, #184]
Lloh65:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh66:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh67:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_40
; %bb.93:                               ;   in Loop: Header=BB0_42 Depth=1
	mov	w0, #1
Lloh68:
	adrp	x1, l_.str.6@PAGE
Lloh69:
	add	x1, x1, l_.str.6@PAGEOFF
	bl	_errx
	b	LBB0_40
LBB0_94:                                ;   in Loop: Header=BB0_42 Depth=1
	mov	x12, #0
	ldr	x13, [sp, #88]                  ; 8-byte Folded Reload
	add	x13, x13, x11, lsl #3
	add	x14, x22, x8, lsl #3
	sub	x14, x13, x14
	cmp	x14, #64
	b.lo	LBB0_80
; %bb.95:                               ;   in Loop: Header=BB0_42 Depth=1
	add	x14, x1, x10, lsl #3
	sub	x13, x13, x14
	cmp	x13, #64
	b.lo	LBB0_80
; %bb.96:                               ;   in Loop: Header=BB0_42 Depth=1
	and	x12, x9, #0xfffffff8
	ldp	x16, x13, [sp, #32]             ; 16-byte Folded Reload
	add	x13, x13, x11, lsl #3
	ldr	x14, [sp, #72]                  ; 8-byte Folded Reload
	add	x14, x14, x8, lsl #3
	mov	x15, x12
	add	x16, x16, x10, lsl #3
LBB0_97:                                ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q0, q1, [x14, #-32]
	ldp	q2, q3, [x14], #64
	ldp	q4, q5, [x16, #-32]
	ldp	q6, q7, [x16], #64
	sub.2d	v0, v0, v4
	sub.2d	v1, v1, v5
	sub.2d	v2, v2, v6
	sub.2d	v3, v3, v7
	stp	q0, q1, [x13, #-32]
	stp	q2, q3, [x13], #64
	subs	x15, x15, #8
	b.ne	LBB0_97
; %bb.98:                               ;   in Loop: Header=BB0_42 Depth=1
	cmp	x12, x9
	b.ne	LBB0_80
	b	LBB0_82
LBB0_99:                                ;   in Loop: Header=BB0_42 Depth=1
	and	x10, x28, #0xfffffff8
	ldr	x11, [sp, #24]                  ; 8-byte Folded Reload
	add	x11, x11, x9, lsl #3
	ldr	x12, [sp, #72]                  ; 8-byte Folded Reload
	add	x12, x12, x8, lsl #3
	mov	x13, x10
LBB0_100:                               ;   Parent Loop BB0_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q0, q1, [x12, #-32]
	ldp	q2, q3, [x12], #64
	stp	q0, q1, [x11, #-32]
	stp	q2, q3, [x11], #64
	subs	x13, x13, #8
	b.ne	LBB0_100
; %bb.101:                              ;   in Loop: Header=BB0_42 Depth=1
	cmp	x10, x28
	b.eq	LBB0_88
	b	LBB0_86
LBB0_102:
	mov	w20, #0
	mov	w4, #0
LBB0_103:
	mov	x19, x20
	mov	x25, x4
	add	x0, sp, #184
	ldr	x1, [sp, #136]                  ; 8-byte Folded Reload
	mov	w2, #0
	mov	x3, #0
	mov	x4, #0
	bl	_BZ2_bzWriteClose
	ldr	w2, [sp, #184]
Lloh70:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh71:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh72:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_105
; %bb.104:
Lloh73:
	adrp	x1, l_.str.7@PAGE
Lloh74:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_105:
	ldr	x21, [sp, #48]                  ; 8-byte Folded Reload
	mov	x0, x21
	bl	_ftello
	mov	x23, x0
	cmn	w0, #1
	ldr	x20, [sp, #80]                  ; 8-byte Folded Reload
	b.ne	LBB0_107
; %bb.106:
Lloh75:
	adrp	x1, l_.str.8@PAGE
Lloh76:
	add	x1, x1, l_.str.8@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_107:
	sub	w0, w23, #32
	ldr	x1, [sp, #8]                    ; 8-byte Folded Reload
	bl	_offtout
	add	x0, sp, #184
	mov	x1, x21
	mov	w2, #9
	mov	w3, #0
	mov	w4, #0
	bl	_BZ2_bzWriteOpen
	mov	x24, x0
	cbnz	x0, LBB0_109
; %bb.108:
	ldr	w2, [sp, #184]
Lloh77:
	adrp	x1, l_.str.5@PAGE
Lloh78:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_109:
	add	x0, sp, #184
	mov	x1, x24
	ldr	x2, [sp, #88]                   ; 8-byte Folded Reload
	mov	x3, x19
	bl	_BZ2_bzWrite
	ldr	w2, [sp, #184]
Lloh79:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh80:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh81:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_111
; %bb.110:
Lloh82:
	adrp	x1, l_.str.6@PAGE
Lloh83:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_111:
	add	x0, sp, #184
	mov	x1, x24
	mov	w2, #0
	mov	x3, #0
	mov	x4, #0
	bl	_BZ2_bzWriteClose
	ldr	w2, [sp, #184]
Lloh84:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh85:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh86:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_113
; %bb.112:
Lloh87:
	adrp	x1, l_.str.7@PAGE
Lloh88:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_113:
	mov	x0, x21
	bl	_ftello
	mov	x19, x0
	cmn	w0, #1
	b.ne	LBB0_115
; %bb.114:
Lloh89:
	adrp	x1, l_.str.8@PAGE
Lloh90:
	add	x1, x1, l_.str.8@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_115:
	sub	w0, w19, w23
	ldr	x1, [sp, #16]                   ; 8-byte Folded Reload
	bl	_offtout
	add	x0, sp, #184
	mov	x1, x21
	mov	w2, #9
	mov	w3, #0
	mov	w4, #0
	bl	_BZ2_bzWriteOpen
	mov	x19, x0
	cbnz	x0, LBB0_117
; %bb.116:
	ldr	w2, [sp, #184]
Lloh91:
	adrp	x1, l_.str.5@PAGE
Lloh92:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_117:
	add	x0, sp, #184
	mov	x1, x19
	ldr	x2, [sp, #96]                   ; 8-byte Folded Reload
	mov	x3, x25
	bl	_BZ2_bzWrite
	ldr	w2, [sp, #184]
Lloh93:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh94:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh95:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_119
; %bb.118:
Lloh96:
	adrp	x1, l_.str.6@PAGE
Lloh97:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_119:
	add	x0, sp, #184
	mov	x1, x19
	mov	w2, #0
	mov	x3, #0
	mov	x4, #0
	bl	_BZ2_bzWriteClose
	ldr	w2, [sp, #184]
Lloh98:
	adrp	x8, _BZ_OK@GOTPAGE
Lloh99:
	ldr	x8, [x8, _BZ_OK@GOTPAGEOFF]
Lloh100:
	ldr	w8, [x8]
	cmp	w2, w8
	b.eq	LBB0_121
; %bb.120:
Lloh101:
	adrp	x1, l_.str.7@PAGE
Lloh102:
	add	x1, x1, l_.str.7@PAGEOFF
	mov	w0, #1
	bl	_errx
LBB0_121:
Lloh103:
	adrp	x8, _SEEK_SET@GOTPAGE
Lloh104:
	ldr	x8, [x8, _SEEK_SET@GOTPAGEOFF]
Lloh105:
	ldr	w2, [x8]
	mov	x0, x21
	mov	w1, #0
	bl	_fseeko
	ldr	x19, [sp, #160]                 ; 8-byte Folded Reload
	cbz	x0, LBB0_123
; %bb.122:
Lloh106:
	adrp	x1, l_.str.9@PAGE
Lloh107:
	add	x1, x1, l_.str.9@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_123:
	add	x0, sp, #192
	mov	w1, #32
	mov	w2, #1
	mov	x3, x21
	bl	_fwrite
	cmp	w0, #1
	b.eq	LBB0_125
; %bb.124:
	ldr	x8, [x20, #24]
	str	x8, [sp]
Lloh108:
	adrp	x1, l_.str.4@PAGE
Lloh109:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_125:
	mov	x0, x21
	bl	_fclose
	cbz	x0, LBB0_127
; %bb.126:
Lloh110:
	adrp	x1, l_.str.10@PAGE
Lloh111:
	add	x1, x1, l_.str.10@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_127:
	ldr	x0, [sp, #88]                   ; 8-byte Folded Reload
	bl	_free
	ldr	x0, [sp, #96]                   ; 8-byte Folded Reload
	bl	_free
	mov	x0, x19
	bl	_free
	ldr	x0, [sp, #176]                  ; 8-byte Folded Reload
	bl	_free
	mov	x0, x22
	bl	_free
	ldur	x8, [x29, #-96]
Lloh112:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh113:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh114:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_129
; %bb.128:
	mov	w0, #0
	add	sp, sp, #528
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_129:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpAdd	Lloh38, Lloh39
	.loh AdrpLdrGotStr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpAdd	Lloh47, Lloh48
	.loh AdrpAdd	Lloh49, Lloh50
	.loh AdrpAdd	Lloh51, Lloh52
	.loh AdrpAdd	Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpAdd	Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpAdd	Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpAdd	Lloh73, Lloh74
	.loh AdrpAdd	Lloh75, Lloh76
	.loh AdrpAdd	Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpLdrGotLdr	Lloh84, Lloh85, Lloh86
	.loh AdrpAdd	Lloh87, Lloh88
	.loh AdrpAdd	Lloh89, Lloh90
	.loh AdrpAdd	Lloh91, Lloh92
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpAdd	Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpAdd	Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpAdd	Lloh106, Lloh107
	.loh AdrpAdd	Lloh108, Lloh109
	.loh AdrpAdd	Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh112, Lloh113, Lloh114
	.cfi_endproc
                                        ; -- End function
	.comm	_O_RDONLY,4,2                   ; @O_RDONLY
	.comm	_O_BINARY,4,2                   ; @O_BINARY
	.comm	_SEEK_END,4,2                   ; @SEEK_END
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%s"

	.comm	_SSIZE_MAX,4,2                  ; @SSIZE_MAX
	.comm	_SIZE_T_MAX,4,2                 ; @SIZE_T_MAX
	.comm	_OFF_MAX,4,2                    ; @OFF_MAX
	.comm	_EFBIG,4,2                      ; @EFBIG
	.comm	_errno,4,2                      ; @errno
	.comm	_SEEK_SET,4,2                   ; @SEEK_SET
l_.str.1:                               ; @.str.1
	.asciz	"divsufsort"

l_.str.2:                               ; @.str.2
	.asciz	"wb"

l_.str.3:                               ; @.str.3
	.asciz	"BSDIFF40"

l_.str.4:                               ; @.str.4
	.asciz	"fwrite(%s)"

l_.str.5:                               ; @.str.5
	.asciz	"BZ2_bzWriteOpen, bz2err = %d"

	.comm	_BZ_OK,4,2                      ; @BZ_OK
l_.str.6:                               ; @.str.6
	.asciz	"BZ2_bzWrite, bz2err = %d"

l_.str.7:                               ; @.str.7
	.asciz	"BZ2_bzWriteClose, bz2err = %d"

l_.str.8:                               ; @.str.8
	.asciz	"ftello"

l_.str.9:                               ; @.str.9
	.asciz	"fseeko"

l_.str.10:                              ; @.str.10
	.asciz	"fclose"

.subsections_via_symbols
