	.file	"100095.c"
	.intel_syntax noprefix
	.text
	.type	vec_deinit, @function
vec_deinit:
.LFB6:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	vec_deinit, .-vec_deinit
	.type	vec_vp_init, @function
vec_vp_init:
.LFB7:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 16
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	vec_vp_init, .-vec_vp_init
	.section	.rodata
.LC0:
	.string	"the_stack_data/100095.c"
.LC1:
	.string	"p->pa != NULL"
	.text
	.type	vec_vp_add, @function
vec_vp_add:
.LFB8:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L5
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L5
	lea	rcx, __PRETTY_FUNCTION__.11[rip]
	mov	edx, 50
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L5:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rcx
	sal	rax, 3
	lea	rdx, [rsi+rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	vec_vp_add, .-vec_vp_add
	.section	.rodata
.LC2:
	.string	"i < p->i"
	.text
	.type	vec_vp_idx, @function
vec_vp_idx:
.LFB9:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L8
	lea	rcx, __PRETTY_FUNCTION__.12[rip]
	mov	edx, 57
	lea	rsi, .LC0[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L8:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	vec_vp_idx, .-vec_vp_idx
	.type	vec_size, @function
vec_size:
.LFB10:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	vec_size, .-vec_size
	.globl	lst
	.bss
	.align 8
	.type	lst, @object
	.size	lst, 8
lst:
	.zero	8
	.text
	.type	vec_seq_init, @function
vec_seq_init:
.LFB11:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 16
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	vec_seq_init, .-vec_seq_init
	.type	vec_seq_add, @function
vec_seq_add:
.LFB12:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L15
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L15
	lea	rcx, __PRETTY_FUNCTION__.15[rip]
	mov	edx, 85
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L15:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rcx
	sal	rax, 2
	lea	rdx, [rsi+rax]
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR [rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	vec_seq_add, .-vec_seq_add
	.type	vec_seq_append, @function
vec_seq_append:
.LFB13:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jb	.L17
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L17
	lea	rcx, __PRETTY_FUNCTION__.6[rip]
	mov	edx, 95
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L17:
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 16[rcx]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rcx, QWORD PTR [rcx]
	sal	rcx, 2
	add	rcx, rsi
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	add	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	vec_seq_append, .-vec_seq_append
	.type	vec_seq_dup, @function
vec_seq_dup:
.LFB14:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_append
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	vec_seq_dup, .-vec_seq_dup
	.type	vec_seq_idx, @function
vec_seq_idx:
.LFB15:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jb	.L21
	lea	rcx, __PRETTY_FUNCTION__.17[rip]
	mov	edx, 108
	lea	rsi, .LC0[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L21:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	vec_seq_idx, .-vec_seq_idx
	.type	vec_seq_elem, @function
vec_seq_elem:
.LFB16:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -8[rbp], 0
	jmp	.L24
.L27:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	cmp	DWORD PTR -28[rbp], eax
	jne	.L25
	mov	eax, 1
	jmp	.L26
.L25:
	add	QWORD PTR -8[rbp], 1
.L24:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -8[rbp], rax
	jne	.L27
	mov	eax, 0
.L26:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	vec_seq_elem, .-vec_seq_elem
	.type	vec_seq_vadd, @function
vec_seq_vadd:
.LFB17:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	mov	rbx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rbx, rax
	jnb	.L29
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	jmp	.L30
.L29:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	vec_size
.L30:
	mov	QWORD PTR -24[rbp], rax
	mov	QWORD PTR -40[rbp], 0
	jmp	.L31
.L32:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	ebx, eax
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	lea	edx, [rbx+rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_add
	add	QWORD PTR -40[rbp], 1
.L31:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jb	.L32
	jmp	.L33
.L34:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_add
	add	QWORD PTR -40[rbp], 1
.L33:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -40[rbp], rax
	jb	.L34
	jmp	.L35
.L36:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	edx, eax
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_add
	add	QWORD PTR -40[rbp], 1
.L35:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -40[rbp], rax
	jb	.L36
	mov	rax, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	vec_seq_vadd, .-vec_seq_vadd
	.type	vec_pair_init, @function
vec_pair_init:
.LFB18:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 16
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	sal	rax, 4
	mov	rdi, rax
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	vec_pair_init, .-vec_pair_init
	.type	vec_pair_add, @function
vec_pair_add:
.LFB19:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, esi
	movq	rcx, xmm0
	mov	rdx, rcx
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L41
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	sal	rax, 4
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L41
	lea	rcx, __PRETTY_FUNCTION__.3[rip]
	mov	edx, 161
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L41:
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rcx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rcx
	sal	rax, 4
	lea	rcx, [rsi+rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	vec_pair_add, .-vec_pair_add
	.type	vec_pair_idx, @function
vec_pair_idx:
.LFB20:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jb	.L43
	lea	rcx, __PRETTY_FUNCTION__.2[rip]
	mov	edx, 167
	lea	rsi, .LC0[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L43:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 4
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rcx, rax
	mov	rbx, rdx
	mov	rsi, rax
	mov	rdi, rdx
	mov	eax, ecx
	mov	rdx, rdi
	movq	xmm0, rdx
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	vec_pair_idx, .-vec_pair_idx
	.globl	cmpsize
	.type	cmpsize, @function
cmpsize:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	cmpsize, .-cmpsize
	.globl	cmppair
	.type	cmppair, @function
cmppair:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	comisd	xmm0, xmm1
	seta	al
	movzx	edx, al
	mov	rax, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR 8[rax]
	comisd	xmm0, xmm1
	seta	al
	movzx	ecx, al
	mov	eax, edx
	sub	eax, ecx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	cmppair, .-cmppair
	.type	vec_pair_sort, @function
vec_pair_sort:
.LFB23:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	lea	rcx, cmppair[rip]
	mov	edx, 16
	mov	rdi, rax
	call	qsort@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	vec_pair_sort, .-vec_pair_sort
	.section	.rodata
.LC3:
	.string	"true"
.LC4:
	.string	"false"
	.text
	.type	show_bool, @function
show_bool:
.LFB24:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	BYTE PTR -4[rbp], al
	cmp	BYTE PTR -4[rbp], 0
	je	.L51
	lea	rax, .LC3[rip]
	jmp	.L53
.L51:
	lea	rax, .LC4[rip]
.L53:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	show_bool, .-show_bool
	.globl	tbl
	.data
	.align 32
	.type	tbl, @object
	.size	tbl, 100
tbl:
	.long	0
	.long	1
	.long	2
	.long	3
	.long	4
	.long	-1
	.long	5
	.long	6
	.long	7
	.long	8
	.long	-1
	.long	-1
	.long	9
	.long	10
	.long	11
	.long	-1
	.long	-1
	.long	-1
	.long	12
	.long	-1
	.long	-1
	.long	-1
	.long	-1
	.long	-1
	.long	13
	.section	.rodata
.LC5:
	.string	"a <= K"
.LC6:
	.string	"b <= K"
.LC7:
	.string	"r != -1"
	.text
	.type	chk2idx, @function
chk2idx:
.LFB25:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	cmp	DWORD PTR -20[rbp], 4
	jle	.L55
	lea	rcx, __PRETTY_FUNCTION__.16[rip]
	mov	edx, 212
	lea	rsi, .LC0[rip]
	lea	rdi, .LC5[rip]
	call	__assert_fail@PLT
.L55:
	cmp	DWORD PTR -24[rbp], 4
	jle	.L56
	lea	rcx, __PRETTY_FUNCTION__.16[rip]
	mov	edx, 213
	lea	rsi, .LC0[rip]
	lea	rdi, .LC6[rip]
	call	__assert_fail@PLT
.L56:
	mov	eax, DWORD PTR -24[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, rcx
	lea	rdx, 0[0+rax*4]
	lea	rax, tbl[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -1
	jne	.L57
	lea	rcx, __PRETTY_FUNCTION__.16[rip]
	mov	edx, 215
	lea	rsi, .LC0[rip]
	lea	rdi, .LC7[rip]
	call	__assert_fail@PLT
.L57:
	mov	eax, DWORD PTR -4[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	chk2idx, .-chk2idx
	.section	.rodata
.LC8:
	.string	"%zu,"
	.text
	.type	print_chk, @function
print_chk:
.LFB26:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	jmp	.L60
.L61:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	add	QWORD PTR -8[rbp], 1
.L60:
	cmp	QWORD PTR -8[rbp], 14
	jne	.L61
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	print_chk, .-print_chk
	.type	is_perm, @function
is_perm:
.LFB27:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	lea	rax, -36[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L63
.L68:
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 1
	mov	QWORD PTR -16[rbp], rax
	jmp	.L64
.L67:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L65
	mov	eax, 0
	jmp	.L66
.L65:
	add	QWORD PTR -16[rbp], 1
.L64:
	cmp	QWORD PTR -16[rbp], 4
	jne	.L67
	add	QWORD PTR -24[rbp], 1
.L63:
	cmp	QWORD PTR -24[rbp], 4
	jne	.L68
	mov	eax, 1
.L66:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	is_perm, .-is_perm
	.section	.rodata
.LC9:
	.string	"%d%d%d%d"
	.text
	.type	show_seq, @function
show_seq:
.LFB28:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	lea	rax, -28[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 3
	movzx	eax, BYTE PTR [rax]
	movsx	edi, al
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 2
	movzx	eax, BYTE PTR [rax]
	movsx	esi, al
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	movzx	eax, BYTE PTR [rax]
	movsx	ecx, al
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, edi
	mov	r8d, esi
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -24[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	show_seq, .-show_seq
	.type	print_seq, @function
print_seq:
.LFB29:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edx, DWORD PTR -36[rbp]
	lea	rax, -18[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	show_seq
	mov	rdi, rax
	call	puts@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L72
	call	__stack_chk_fail@PLT
.L72:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	print_seq, .-print_seq
	.section	.rodata
.LC10:
	.string	"%s%c\n"
	.text
	.type	printf_seq_suffix, @function
printf_seq_suffix:
.LFB30:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edx, DWORD PTR -36[rbp]
	lea	rax, -18[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	show_seq
	mov	edx, 44
	mov	rsi, rax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L74
	call	__stack_chk_fail@PLT
.L74:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	printf_seq_suffix, .-printf_seq_suffix
	.type	print_seq_vec, @function
print_seq_vec:
.LFB31:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	jmp	.L76
.L77:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	edi, eax
	call	printf_seq_suffix
	add	QWORD PTR -8[rbp], 1
.L76:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -8[rbp], rax
	jne	.L77
	mov	edi, 10
	call	putchar@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	print_seq_vec, .-print_seq_vec
	.type	chk, @function
chk:
.LFB32:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	lea	rax, -52[rbp]
	mov	QWORD PTR -16[rbp], rax
	lea	rax, -56[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -24[rbp], 0
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -36[rbp], eax
	jmp	.L79
.L82:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -36[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	sete	al
	movzx	eax, al
	add	DWORD PTR -28[rbp], eax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L80
.L81:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	edx, BYTE PTR [rax]
	mov	eax, DWORD PTR -32[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	sete	al
	movzx	eax, al
	add	DWORD PTR -24[rbp], eax
	add	DWORD PTR -32[rbp], 1
.L80:
	cmp	DWORD PTR -32[rbp], 4
	jne	.L81
	add	DWORD PTR -36[rbp], 1
.L79:
	cmp	DWORD PTR -36[rbp], 4
	jne	.L82
	mov	edx, DWORD PTR -24[rbp]
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, edx
	mov	edi, eax
	call	chk2idx
	mov	DWORD PTR -20[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	chk, .-chk
	.section	.rodata
.LC11:
	.string	"idx != -1"
.LC12:
	.string	"%zu%zu"
.LC13:
	.string	"nil"
	.text
	.type	show_chk, @function
show_chk:
.LFB33:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	cmp	DWORD PTR -28[rbp], -1
	jne	.L85
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 291
	lea	rsi, .LC0[rip]
	lea	rdi, .LC11[rip]
	call	__assert_fail@PLT
.L85:
	mov	QWORD PTR -16[rbp], 0
	jmp	.L86
.L91:
	mov	QWORD PTR -8[rbp], 0
	jmp	.L87
.L90:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	mov	rdx, QWORD PTR -8[rbp]
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	lea	rax, tbl[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cmp	DWORD PTR -28[rbp], eax
	jne	.L88
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR -16[rbp]
	mov	rcx, rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L89
.L88:
	add	QWORD PTR -8[rbp], 1
.L87:
	cmp	QWORD PTR -8[rbp], 5
	jne	.L90
	add	QWORD PTR -16[rbp], 1
.L86:
	cmp	QWORD PTR -16[rbp], 5
	jne	.L91
	lea	rax, .LC13[rip]
.L89:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.size	show_chk, .-show_chk
	.globl	sieve
	.type	sieve, @function
sieve:
.LFB34:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	edi, 112
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	QWORD PTR -32[rbp], 0
	jmp	.L93
.L94:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	lea	rbx, [rdx+rax]
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR [rbx], rax
	add	QWORD PTR -32[rbp], 1
.L93:
	cmp	QWORD PTR -32[rbp], 14
	jne	.L94
	mov	QWORD PTR -32[rbp], 0
	jmp	.L95
.L96:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -40[rbp], eax
	mov	edx, DWORD PTR -60[rbp]
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	edi, eax
	call	chk
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_add
	add	QWORD PTR -32[rbp], 1
.L95:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -32[rbp], rax
	jne	.L96
	mov	rax, QWORD PTR -24[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE34:
	.size	sieve, .-sieve
	.type	free_sieve, @function
free_sieve:
.LFB35:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	jmp	.L99
.L100:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	vec_deinit
	add	QWORD PTR -8[rbp], 1
.L99:
	cmp	QWORD PTR -8[rbp], 14
	jne	.L100
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE35:
	.size	free_sieve, .-free_sieve
	.section	.rodata
.LC14:
	.string	"is_perm(pivot)"
.LC15:
	.string	"is_perm(vec_seq_idx(ss, i))"
	.text
	.globl	sieveg
	.type	sieveg, @function
sieveg:
.LFB36:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	edi, 112
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 112
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -28[rbp]
	mov	edi, eax
	call	is_perm
	test	al, al
	jne	.L102
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 423
	lea	rsi, .LC0[rip]
	lea	rdi, .LC14[rip]
	call	__assert_fail@PLT
.L102:
	mov	QWORD PTR -16[rbp], 0
	jmp	.L103
.L105:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	edi, eax
	call	is_perm
	test	al, al
	jne	.L104
	lea	rcx, __PRETTY_FUNCTION__.14[rip]
	mov	edx, 426
	lea	rsi, .LC0[rip]
	lea	rdi, .LC15[rip]
	call	__assert_fail@PLT
.L104:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	edx, eax
	mov	eax, DWORD PTR -28[rbp]
	mov	esi, eax
	mov	edi, edx
	call	chk
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	add	rdx, 1
	mov	QWORD PTR [rax], rdx
	add	QWORD PTR -16[rbp], 1
.L103:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -16[rbp], rax
	jne	.L105
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE36:
	.size	sieveg, .-sieveg
	.type	free_sieveg, @function
free_sieveg:
.LFB37:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE37:
	.size	free_sieveg, .-free_sieveg
	.type	entropy, @function
entropy:
.LFB38:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L109
.L110:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	QWORD PTR -24[rbp], rax
	add	QWORD PTR -32[rbp], 1
.L109:
	cmp	QWORD PTR -32[rbp], 14
	jne	.L110
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	mov	QWORD PTR -32[rbp], 0
	jmp	.L111
.L117:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L112
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	js	.L113
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L114
.L113:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L114:
	mov	rax, QWORD PTR -24[rbp]
	test	rax, rax
	js	.L115
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	jmp	.L116
.L115:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rdx
	addsd	xmm1, xmm1
.L116:
	pxor	xmm2, xmm2
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	xmm1, QWORD PTR .LC17[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rax
	call	log@PLT
	mulsd	xmm0, QWORD PTR -48[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L112:
	add	QWORD PTR -32[rbp], 1
.L111:
	cmp	QWORD PTR -32[rbp], 14
	jne	.L117
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE38:
	.size	entropy, .-entropy
	.type	larmount, @function
larmount:
.LFB39:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L120
.L121:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	QWORD PTR -32[rbp], rax
	add	QWORD PTR -40[rbp], 1
.L120:
	cmp	QWORD PTR -40[rbp], 14
	jne	.L121
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	mov	QWORD PTR -40[rbp], 0
	jmp	.L122
.L128:
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L123
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	js	.L124
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L125
.L124:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L125:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	js	.L126
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	jmp	.L127
.L126:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rdx
	addsd	xmm1, xmm1
.L127:
	pxor	xmm2, xmm2
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	xmm1, QWORD PTR .LC17[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -8[rbp]
	movq	xmm0, rax
	call	log@PLT
	mulsd	xmm0, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
.L123:
	add	QWORD PTR -40[rbp], 1
.L122:
	cmp	QWORD PTR -40[rbp], 14
	jne	.L128
	mov	QWORD PTR -40[rbp], 13
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L129
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	js	.L130
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L131
.L130:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L131:
	mov	rax, QWORD PTR -32[rbp]
	test	rax, rax
	js	.L132
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	jmp	.L133
.L132:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rdx
	addsd	xmm1, xmm1
.L133:
	pxor	xmm2, xmm2
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -16[rbp]
	movq	xmm1, QWORD PTR .LC17[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -16[rbp]
	movq	xmm0, rax
	call	log@PLT
	mulsd	xmm0, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
.L129:
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE39:
	.size	larmount, .-larmount
	.type	cmpg, @function
cmpg:
.LFB40:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L136
.L139:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	je	.L137
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	jmp	.L138
.L137:
	add	DWORD PTR -4[rbp], 1
.L136:
	cmp	DWORD PTR -4[rbp], 14
	jne	.L139
	mov	eax, 0
.L138:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE40:
	.size	cmpg, .-cmpg
	.type	any_eq, @function
any_eq:
.LFB41:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -8[rbp], 0
	jmp	.L141
.L144:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_vp_idx
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	cmpg
	test	eax, eax
	jne	.L142
	mov	eax, 1
	jmp	.L143
.L142:
	add	QWORD PTR -8[rbp], 1
.L141:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -8[rbp], rax
	jne	.L144
	mov	eax, 0
.L143:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE41:
	.size	any_eq, .-any_eq
	.type	onegroup, @function
onegroup:
.LFB42:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L146
.L147:
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	setne	al
	movzx	eax, al
	add	QWORD PTR -8[rbp], rax
	add	QWORD PTR -16[rbp], 1
.L146:
	cmp	QWORD PTR -16[rbp], 14
	jne	.L147
	cmp	QWORD PTR -8[rbp], 1
	setbe	al
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE42:
	.size	onegroup, .-onegroup
	.type	free_eqkg_g, @function
free_eqkg_g:
.LFB43:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	jmp	.L150
.L151:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_vp_idx
	mov	rdi, rax
	call	free_sieveg
	add	QWORD PTR -8[rbp], 1
.L150:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -8[rbp], rax
	jne	.L151
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_deinit
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE43:
	.size	free_eqkg_g, .-free_eqkg_g
	.type	free_eqkg, @function
free_eqkg:
.LFB44:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	vec_deinit
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE44:
	.size	free_eqkg, .-free_eqkg
	.section	.rodata
	.align 8
.LC18:
	.string	"vec_size(va0) == vec_size(va1)"
	.text
	.globl	eqkg
	.type	eqkg, @function
eqkg:
.LFB45:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 88
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -40[rbp], rax
	mov	eax, 0
	call	vec_vp_init
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -48[rbp], 0
	jmp	.L154
.L158:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -52[rbp], eax
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	sieveg
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, cmpsize[rip]
	mov	edx, 8
	mov	esi, 13
	mov	rdi, rax
	call	qsort@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	onegroup
	test	al, al
	jne	.L155
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	any_eq
	test	al, al
	je	.L156
.L155:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free_sieveg
	jmp	.L157
.L156:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_vp_add
	mov	edx, DWORD PTR -52[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_add
.L157:
	add	QWORD PTR -48[rbp], 1
.L154:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -48[rbp], rax
	jne	.L158
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_size
	mov	rbx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rbx, rax
	je	.L159
	lea	rcx, __PRETTY_FUNCTION__.13[rip]
	mov	edx, 535
	lea	rsi, .LC0[rip]
	lea	rdi, .LC18[rip]
	call	__assert_fail@PLT
.L159:
	cmp	QWORD PTR -88[rbp], 0
	je	.L160
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L161
.L160:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free_eqkg_g
.L161:
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE45:
	.size	eqkg, .-eqkg
	.type	eqk, @function
eqk:
.LFB46:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	eqkg
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE46:
	.size	eqk, .-eqk
	.type	eqke, @function
eqke:
.LFB47:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -64[rbp], 0
	lea	rdx, -64[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	eqkg
	mov	QWORD PTR -48[rbp], rax
	mov	eax, 0
	call	vec_pair_init
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -56[rbp], 0
	jmp	.L166
.L167:
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_vp_idx
	mov	rdi, rax
	call	larmount
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	mov	ecx, DWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, ecx
	movq	xmm0, rdx
	mov	rdi, rax
	call	vec_pair_add
	add	QWORD PTR -56[rbp], 1
.L166:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -56[rbp], rax
	jne	.L167
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	free_eqkg_g
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free_eqkg
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_pair_sort
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L169
	call	__stack_chk_fail@PLT
.L169:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE47:
	.size	eqke, .-eqke
	.type	free_eqke, @function
free_eqke:
.LFB48:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	vec_deinit
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE48:
	.size	free_eqke, .-free_eqke
	.section	.rodata
.LC19:
	.string	"vec_size(ss) >= 1"
	.text
	.globl	first
	.type	first, @function
first:
.LFB50:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	vec_size
	test	rax, rax
	jne	.L172
	lea	rcx, __PRETTY_FUNCTION__.10[rip]
	mov	edx, 602
	lea	rsi, .LC0[rip]
	lea	rdi, .LC19[rip]
	call	__assert_fail@PLT
.L172:
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE50:
	.size	first, .-first
	.section	.rodata
.LC20:
	.string	"vec_size(ss) != 0"
.LC22:
	.string	"mi != -1"
	.text
	.globl	selMaxE
	.type	selMaxE, @function
selMaxE:
.LFB51:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L175
	mov	eax, 50462976
	jmp	.L184
.L175:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 1
	jne	.L177
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L184
.L177:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	test	rax, rax
	jne	.L178
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 613
	lea	rsi, .LC0[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L178:
	mov	QWORD PTR -56[rbp], 0
	lea	rdx, -56[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	eqkg
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR .LC21[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	QWORD PTR -32[rbp], -1
	mov	QWORD PTR -40[rbp], 0
	jmp	.L179
.L182:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_vp_idx
	mov	rdi, rax
	call	entropy
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR -48[rbp]
	jbe	.L180
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
.L180:
	add	QWORD PTR -40[rbp], 1
.L179:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -40[rbp], rax
	jne	.L182
	cmp	QWORD PTR -32[rbp], -1
	jne	.L183
	lea	rcx, __PRETTY_FUNCTION__.9[rip]
	mov	edx, 626
	lea	rsi, .LC0[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L183:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free_eqkg_g
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free_eqkg
	mov	eax, DWORD PTR -60[rbp]
.L184:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L185
	call	__stack_chk_fail@PLT
.L185:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE51:
	.size	selMaxE, .-selMaxE
	.globl	selMaxL
	.type	selMaxL, @function
selMaxL:
.LFB52:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L188
	mov	eax, 50462976
	jmp	.L197
.L188:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 1
	jne	.L190
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L197
.L190:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	test	rax, rax
	jne	.L191
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 639
	lea	rsi, .LC0[rip]
	lea	rdi, .LC20[rip]
	call	__assert_fail@PLT
.L191:
	mov	QWORD PTR -56[rbp], 0
	mov	rcx, QWORD PTR lst[rip]
	lea	rdx, -56[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	eqkg
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR .LC21[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	QWORD PTR -32[rbp], -1
	mov	QWORD PTR -40[rbp], 0
	jmp	.L192
.L195:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_vp_idx
	mov	rdi, rax
	call	larmount
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR -48[rbp]
	jbe	.L193
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
.L193:
	add	QWORD PTR -40[rbp], 1
.L192:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -40[rbp], rax
	jne	.L195
	cmp	QWORD PTR -32[rbp], -1
	jne	.L196
	lea	rcx, __PRETTY_FUNCTION__.8[rip]
	mov	edx, 650
	lea	rsi, .LC0[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L196:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -60[rbp], eax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free_eqkg_g
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free_eqkg
	mov	eax, DWORD PTR -60[rbp]
.L197:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L198
	call	__stack_chk_fail@PLT
.L198:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE52:
	.size	selMaxL, .-selMaxL
	.globl	selMinH
	.type	selMinH, @function
selMinH:
.LFB53:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	cmp	QWORD PTR -72[rbp], 0
	jne	.L201
	mov	eax, 50462976
	jmp	.L202
.L201:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 2
	ja	.L203
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L202
.L203:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	eqk
	mov	QWORD PTR -24[rbp], rax
	mov	QWORD PTR -48[rbp], -1
	mov	QWORD PTR -32[rbp], -1
	mov	QWORD PTR -40[rbp], 0
	jmp	.L204
.L207:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	ecx, eax
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, selMinH[rip]
	call	buildTh1
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	height
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free_tree
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	jnb	.L205
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	sub	rax, 1
	cmp	QWORD PTR -48[rbp], rax
	je	.L209
.L205:
	add	QWORD PTR -40[rbp], 1
.L204:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -40[rbp], rax
	jne	.L207
	jmp	.L206
.L209:
	nop
.L206:
	cmp	QWORD PTR -32[rbp], -1
	jne	.L208
	lea	rcx, __PRETTY_FUNCTION__.7[rip]
	mov	edx, 681
	lea	rsi, .LC0[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L208:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -52[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free_eqkg
	mov	eax, DWORD PTR -52[rbp]
.L202:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE53:
	.size	selMinH, .-selMinH
	.globl	cache_array
	.bss
	.align 32
	.type	cache_array, @object
	.size	cache_array, 3221223576
cache_array:
	.zero	3221223576
	.globl	active
	.align 8
	.type	active, @object
	.size	active, 8
active:
	.zero	8
	.globl	hit
	.align 8
	.type	hit, @object
	.size	hit, 8
hit:
	.zero	8
	.globl	miss
	.align 8
	.type	miss, @object
	.size	miss, 8
miss:
	.zero	8
	.globl	conflict
	.align 8
	.type	conflict, @object
	.size	conflict, 8
conflict:
	.zero	8
	.text
	.globl	cache_init
	.type	cache_init, @function
cache_init:
.LFB54:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	edx, 3221223576
	mov	esi, 0
	lea	rdi, cache_array[rip]
	call	memset@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE54:
	.size	cache_init, .-cache_init
	.globl	cache_deinit
	.type	cache_deinit, @function
cache_deinit:
.LFB55:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -16[rbp], 0
	jmp	.L212
.L214:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, cache_array[rip]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L213
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	vec_deinit
.L213:
	add	QWORD PTR -16[rbp], 1
.L212:
	cmp	QWORD PTR -16[rbp], 134217649
	jne	.L214
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE55:
	.size	cache_deinit, .-cache_deinit
	.globl	hash
	.type	hash, @function
hash:
.LFB56:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	mov	QWORD PTR -16[rbp], 0
	jmp	.L216
.L217:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	cdqe
	add	QWORD PTR -8[rbp], rax
	add	QWORD PTR -16[rbp], 1
.L216:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -16[rbp], rax
	jne	.L217
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE56:
	.size	hash, .-hash
	.globl	vec_seq_eq
	.type	vec_seq_eq, @function
vec_seq_eq:
.LFB57:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	cmp	QWORD PTR -40[rbp], 0
	je	.L220
	cmp	QWORD PTR -48[rbp], 0
	jne	.L221
.L220:
	mov	eax, 0
	jmp	.L222
.L221:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_size
	mov	rbx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rbx, rax
	je	.L223
	mov	eax, 0
	jmp	.L222
.L223:
	mov	QWORD PTR -24[rbp], 0
	jmp	.L224
.L226:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	ebx, eax
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	cmp	ebx, eax
	je	.L225
	mov	eax, 0
	jmp	.L222
.L225:
	add	QWORD PTR -24[rbp], 1
.L224:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -24[rbp], rax
	jne	.L226
	mov	eax, 1
.L222:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE57:
	.size	vec_seq_eq, .-vec_seq_eq
	.globl	cache_fetch
	.type	cache_fetch, @function
cache_fetch:
.LFB58:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	hash
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -16[rbp]
	movabs	rdx, 4611688732848316673
	mov	rax, rcx
	mul	rdx
	shr	rdx, 25
	imul	rax, rdx, 134217649
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, cache_array[rip]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jne	.L228
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_eq
	test	al, al
	je	.L228
	mov	rax, QWORD PTR hit[rip]
	add	rax, 1
	mov	QWORD PTR hit[rip], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 16[rax]
	jmp	.L229
.L228:
	mov	rax, QWORD PTR miss[rip]
	add	rax, 1
	mov	QWORD PTR miss[rip], rax
	mov	eax, 0
.L229:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE58:
	.size	cache_fetch, .-cache_fetch
	.globl	cache_put
	.type	cache_put, @function
cache_put:
.LFB59:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	hash
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -16[rbp]
	movabs	rdx, 4611688732848316673
	mov	rax, rcx
	mul	rdx
	shr	rdx, 25
	imul	rax, rdx, 134217649
	sub	rcx, rax
	mov	rdx, rcx
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, cache_array[rip]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	je	.L231
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	vec_deinit
	mov	rax, QWORD PTR conflict[rip]
	add	rax, 1
	mov	QWORD PTR conflict[rip], rax
	jmp	.L232
.L231:
	mov	rax, QWORD PTR active[rip]
	add	rax, 1
	mov	QWORD PTR active[rip], rax
.L232:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_seq_dup
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR 16[rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE59:
	.size	cache_put, .-cache_put
	.section	.rodata
	.align 8
.LC23:
	.string	"h=%zu n=%zu cand=%zu eq=%zu mh=%zu self=%s\n"
	.text
	.globl	selMinHC
	.type	selMinHC, @function
selMinHC:
.LFB60:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 104
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	cmp	QWORD PTR -104[rbp], 0
	jne	.L234
	mov	eax, 50462976
	jmp	.L235
.L234:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 2
	ja	.L236
	mov	rax, QWORD PTR -112[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L235
.L236:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 1
	jne	.L237
	mov	rax, QWORD PTR -120[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L235
.L237:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	cache_fetch
	mov	DWORD PTR -88[rbp], eax
	cmp	DWORD PTR -88[rbp], 0
	je	.L238
	mov	eax, DWORD PTR -88[rbp]
	jmp	.L235
.L238:
	mov	QWORD PTR -56[rbp], 0
	mov	rdx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	eqk
	mov	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -80[rbp], -1
	mov	QWORD PTR -64[rbp], -1
	mov	QWORD PTR -72[rbp], 0
	jmp	.L239
.L242:
	mov	rdx, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	ecx, eax
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -104[rbp]
	mov	rsi, rax
	lea	rdi, selMinHC[rip]
	call	buildThc1
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	height
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	free_tree
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -80[rbp]
	jnb	.L240
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	vec_size
	sub	rax, 1
	cmp	QWORD PTR -80[rbp], rax
	je	.L245
.L240:
	add	QWORD PTR -72[rbp], 1
.L239:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -72[rbp], rax
	jne	.L242
	jmp	.L241
.L245:
	nop
.L241:
	cmp	QWORD PTR -64[rbp], -1
	jne	.L243
	lea	rcx, __PRETTY_FUNCTION__.5[rip]
	mov	edx, 821
	lea	rsi, .LC0[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L243:
	mov	rdx, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -84[rbp], eax
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	cache_put
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 100
	jbe	.L244
	mov	edx, DWORD PTR -84[rbp]
	mov	rax, QWORD PTR -112[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_elem
	movzx	eax, al
	mov	edi, eax
	call	show_bool
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	mov	r13, rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	vec_size
	mov	r12, rax
	mov	rax, QWORD PTR -112[rbp]
	mov	rdi, rax
	call	vec_size
	mov	rdx, rax
	mov	rcx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -104[rbp]
	sub	rsp, 8
	push	rbx
	mov	r9, rcx
	mov	r8, r13
	mov	rcx, r12
	mov	rsi, rax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
.L244:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free_eqkg
	mov	eax, DWORD PTR -84[rbp]
.L235:
	lea	rsp, -24[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE60:
	.size	selMinHC, .-selMinHC
	.section	.rodata
	.align 8
.LC25:
	.string	"h=%zu n=%zu cand=%zu eq=%zu mh=%zu mi=%zu self=%s\n"
	.text
	.globl	selMinHCE
	.type	selMinHCE, @function
selMinHCE:
.LFB61:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r13
	push	r12
	push	rbx
	sub	rsp, 136
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
	mov	QWORD PTR -136[rbp], rdi
	mov	QWORD PTR -144[rbp], rsi
	mov	QWORD PTR -152[rbp], rdx
	cmp	QWORD PTR -136[rbp], 0
	jne	.L247
	mov	eax, 50462976
	jmp	.L260
.L247:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 2
	ja	.L249
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L260
.L249:
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 1
	jne	.L250
	mov	rax, QWORD PTR -152[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L260
.L250:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	cache_fetch
	mov	DWORD PTR -128[rbp], eax
	cmp	DWORD PTR -128[rbp], 0
	je	.L251
	mov	eax, DWORD PTR -128[rbp]
	jmp	.L260
.L251:
	mov	rdx, QWORD PTR -152[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	eqke
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -96[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_pair_idx
	mov	edx, eax
	movq	rax, xmm0
	mov	DWORD PTR -48[rbp], edx
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -120[rbp], -1
	mov	QWORD PTR -104[rbp], -1
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	vec_size
	mov	QWORD PTR -88[rbp], rax
	mov	QWORD PTR -112[rbp], 0
	jmp	.L252
.L257:
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_pair_idx
	mov	edx, eax
	movq	rax, xmm0
	mov	DWORD PTR -64[rbp], edx
	mov	QWORD PTR -56[rbp], rax
	mov	ecx, DWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -144[rbp]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rax
	lea	rdi, selMinHCE[rip]
	call	buildThc1
	mov	QWORD PTR -80[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	height
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	free_tree
	mov	rax, QWORD PTR -72[rbp]
	cmp	rax, QWORD PTR -120[rbp]
	jnb	.L253
	mov	rax, QWORD PTR -72[rbp]
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -112[rbp]
	mov	QWORD PTR -104[rbp], rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	vec_size
	sub	rax, 1
	cmp	QWORD PTR -120[rbp], rax
	je	.L261
.L253:
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	xmm2, QWORD PTR .LC24[rip]
	subsd	xmm0, xmm2
	comisd	xmm0, xmm1
	ja	.L262
	add	QWORD PTR -112[rbp], 1
.L252:
	mov	rax, QWORD PTR -112[rbp]
	cmp	rax, QWORD PTR -88[rbp]
	jne	.L257
	jmp	.L254
.L261:
	nop
	jmp	.L254
.L262:
	nop
.L254:
	cmp	QWORD PTR -104[rbp], -1
	jne	.L258
	lea	rcx, __PRETTY_FUNCTION__.4[rip]
	mov	edx, 877
	lea	rsi, .LC0[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L258:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -96[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_pair_idx
	mov	edx, eax
	movq	rax, xmm0
	mov	DWORD PTR -64[rbp], edx
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -124[rbp], eax
	mov	edx, DWORD PTR -124[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	cache_put
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 100
	jbe	.L259
	mov	edx, DWORD PTR -124[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_elem
	movzx	eax, al
	mov	edi, eax
	call	show_bool
	mov	rbx, rax
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	vec_size
	mov	r13, rax
	mov	rax, QWORD PTR -152[rbp]
	mov	rdi, rax
	call	vec_size
	mov	r12, rax
	mov	rax, QWORD PTR -144[rbp]
	mov	rdi, rax
	call	vec_size
	mov	rdx, rax
	mov	rcx, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -136[rbp]
	push	rbx
	push	QWORD PTR -104[rbp]
	mov	r9, rcx
	mov	r8, r13
	mov	rcx, r12
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
.L259:
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	free_eqke
	mov	eax, DWORD PTR -124[rbp]
.L260:
	lea	rsp, -24[rbp]
	pop	rbx
	pop	r12
	pop	r13
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE61:
	.size	selMinHCE, .-selMinHCE
	.globl	selMaxEC
	.type	selMaxEC, @function
selMaxEC:
.LFB62:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -72[rbp], 0
	jne	.L264
	mov	eax, 50462976
	jmp	.L274
.L264:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 2
	ja	.L266
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L274
.L266:
	mov	rax, QWORD PTR -88[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 1
	jne	.L267
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	jmp	.L274
.L267:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	cache_fetch
	mov	DWORD PTR -64[rbp], eax
	cmp	DWORD PTR -64[rbp], 0
	je	.L268
	mov	eax, DWORD PTR -64[rbp]
	jmp	.L274
.L268:
	mov	QWORD PTR -56[rbp], 0
	lea	rdx, -56[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	eqkg
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR .LC21[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	QWORD PTR -32[rbp], -1
	mov	QWORD PTR -40[rbp], 0
	jmp	.L269
.L272:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_vp_idx
	mov	rdi, rax
	call	larmount
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR -48[rbp]
	jbe	.L270
	movsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -32[rbp], rax
.L270:
	add	QWORD PTR -40[rbp], 1
.L269:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -40[rbp], rax
	jne	.L272
	cmp	QWORD PTR -32[rbp], -1
	jne	.L273
	lea	rcx, __PRETTY_FUNCTION__.1[rip]
	mov	edx, 914
	lea	rsi, .LC0[rip]
	lea	rdi, .LC22[rip]
	call	__assert_fail@PLT
.L273:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -60[rbp], eax
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	cache_put
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	free_eqkg_g
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free_eqkg
	mov	eax, DWORD PTR -60[rbp]
.L274:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L275
	call	__stack_chk_fail@PLT
.L275:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE62:
	.size	selMaxEC, .-selMaxEC
	.globl	buildTh1
	.type	buildTh1, @function
buildTh1:
.LFB63:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	edi, 128
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 1
	jne	.L278
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 128
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	mov	rdx, QWORD PTR -16[rbp]
	mov	DWORD PTR 120[rdx], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 124[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L279
.L278:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	DWORD PTR 120[rax], edx
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_elem
	movzx	eax, al
	test	eax, eax
	setne	al
	xor	eax, 1
	movzx	eax, al
	and	eax, 1
	mov	rdx, QWORD PTR -16[rbp]
	mov	BYTE PTR 124[rdx], al
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	sieve
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L280
.L281:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	lea	rcx, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	buildThf
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx+rcx*8], rax
	add	QWORD PTR -24[rbp], 1
.L280:
	cmp	QWORD PTR -24[rbp], 14
	jne	.L281
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free_sieve
	mov	rax, QWORD PTR -16[rbp]
.L279:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE63:
	.size	buildTh1, .-buildTh1
	.globl	buildThf
	.type	buildThf, @function
buildThf:
.LFB64:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_size
	test	rax, rax
	jne	.L283
	mov	eax, 0
	jmp	.L284
.L283:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	rcx
	mov	DWORD PTR -12[rbp], eax
	mov	ecx, DWORD PTR -12[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	buildTh1
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L284:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE64:
	.size	buildThf, .-buildThf
	.globl	buildThc1
	.type	buildThc1, @function
buildThc1:
.LFB65:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	QWORD PTR -56[rbp], rdx
	mov	DWORD PTR -60[rbp], ecx
	mov	edi, 128
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	rax, 1
	jne	.L286
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, 128
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	vec_seq_idx
	mov	rdx, QWORD PTR -16[rbp]
	mov	DWORD PTR 120[rdx], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR 124[rax], 0
	mov	rax, QWORD PTR -16[rbp]
	jmp	.L287
.L286:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	edx, DWORD PTR -60[rbp]
	mov	DWORD PTR 120[rax], edx
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_elem
	movzx	eax, al
	test	eax, eax
	setne	al
	xor	eax, 1
	movzx	eax, al
	and	eax, 1
	mov	rdx, QWORD PTR -16[rbp]
	mov	BYTE PTR 124[rdx], al
	mov	edx, DWORD PTR -60[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	sieve
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L288
.L289:
	mov	rcx, QWORD PTR lst[rip]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, 1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	buildThc
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rdx+rcx*8], rax
	add	QWORD PTR -24[rbp], 1
.L288:
	cmp	QWORD PTR -24[rbp], 13
	jbe	.L289
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free_sieve
	mov	rax, QWORD PTR -16[rbp]
.L287:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE65:
	.size	buildThc1, .-buildThc1
	.globl	buildThc
	.type	buildThc, @function
buildThc:
.LFB66:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_size
	test	rax, rax
	jne	.L291
	mov	eax, 0
	jmp	.L292
.L291:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r8, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	r8
	mov	DWORD PTR -12[rbp], eax
	mov	ecx, DWORD PTR -12[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	buildThc1
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
.L292:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE66:
	.size	buildThc, .-buildThc
	.globl	free_tree
	.type	free_tree, @function
free_tree:
.LFB67:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	je	.L299
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L296
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L293
.L296:
	mov	QWORD PTR -8[rbp], 0
	jmp	.L297
.L298:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax+rdx*8]
	mov	rdi, rax
	call	free_tree
	add	QWORD PTR -8[rbp], 1
.L297:
	cmp	QWORD PTR -8[rbp], 14
	jne	.L298
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L293
.L299:
	nop
.L293:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE67:
	.size	free_tree, .-free_tree
	.globl	buildT
	.type	buildT, @function
buildT:
.LFB68:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	eax, 0
	call	cache_init
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, rax
	mov	esi, 0
	lea	rdi, selMaxL[rip]
	call	buildThf
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE68:
	.size	buildT, .-buildT
	.globl	cnt
	.type	cnt, @function
cnt:
.LFB69:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L303
	mov	eax, 0
	jmp	.L304
.L303:
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L305
	mov	QWORD PTR -8[rbp], 0
	jmp	.L306
.L307:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax+rdx*8]
	mov	rdi, rax
	call	cnt
	add	QWORD PTR -16[rbp], rax
	add	QWORD PTR -8[rbp], 1
.L306:
	cmp	QWORD PTR -8[rbp], 13
	jne	.L307
.L305:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 124[rax]
	xor	eax, 1
	movzx	edx, al
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
.L304:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE69:
	.size	cnt, .-cnt
	.type	height_rec, @function
height_rec:
.LFB70:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L309
	mov	eax, 0
	jmp	.L310
.L309:
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L311
	mov	QWORD PTR -8[rbp], 0
	jmp	.L312
.L313:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax+rcx*8]
	mov	rsi, rdx
	mov	rdi, rax
	call	height_rec
	add	QWORD PTR -16[rbp], rax
	add	QWORD PTR -8[rbp], 1
.L312:
	cmp	QWORD PTR -8[rbp], 13
	jne	.L313
.L311:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 124[rax]
	xor	eax, 1
	movzx	eax, al
	imul	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
.L310:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE70:
	.size	height_rec, .-height_rec
	.type	height, @function
height:
.LFB71:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	height_rec
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE71:
	.size	height, .-height
	.section	.rodata
.LC26:
	.string	"%d,"
.LC27:
	.string	"sum=%d,hsum=%d\n"
	.text
	.type	print_level, @function
print_level:
.LFB72:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	DWORD PTR -20[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	jmp	.L317
.L318:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	mov	esi, eax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -12[rbp]
	add	DWORD PTR -20[rbp], eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 1
	mov	edx, eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	imul	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	add	eax, edx
	mov	DWORD PTR -16[rbp], eax
	add	QWORD PTR -8[rbp], 1
.L317:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -8[rbp], rax
	jne	.L318
	mov	edx, DWORD PTR -16[rbp]
	mov	eax, DWORD PTR -20[rbp]
	mov	esi, eax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE72:
	.size	print_level, .-print_level
	.type	level, @function
level:
.LFB73:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L320
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	vec_seq_add
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L321
.L320:
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -32[rbp], 0
	jmp	.L322
.L325:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax+rdx*8]
	test	rax, rax
	je	.L326
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax+rdx*8]
	mov	rdi, rax
	call	level
	mov	QWORD PTR -16[rbp], rax
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_vadd
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	vec_deinit
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_deinit
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L324
.L326:
	nop
.L324:
	add	QWORD PTR -32[rbp], 1
.L322:
	cmp	QWORD PTR -32[rbp], 13
	jne	.L325
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	movzx	eax, BYTE PTR 124[rax]
	xor	eax, 1
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_add
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_append
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	vec_deinit
	mov	rax, QWORD PTR -24[rbp]
.L321:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE73:
	.size	level, .-level
	.type	probe_cnt, @function
probe_cnt:
.LFB74:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	jne	.L328
	mov	eax, 0
	jmp	.L329
.L328:
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L330
	mov	QWORD PTR -8[rbp], 0
	jmp	.L331
.L332:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax+rdx*8]
	mov	rdi, rax
	call	probe_cnt
	add	QWORD PTR -16[rbp], rax
	add	QWORD PTR -8[rbp], 1
.L331:
	cmp	QWORD PTR -8[rbp], 13
	jne	.L332
.L330:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR 124[rax]
	movzx	edx, al
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
.L329:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE74:
	.size	probe_cnt, .-probe_cnt
	.section	.rodata
.LC28:
	.string	""
.LC29:
	.string	"%*s"
	.text
	.globl	showT
	.type	showT, @function
showT:
.LFB75:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	cmp	QWORD PTR -24[rbp], 0
	je	.L338
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, .LC28[rip]
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 120[rax]
	mov	edi, eax
	call	print_seq
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L333
	mov	QWORD PTR -8[rbp], 0
	jmp	.L336
.L337:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax+rcx*8]
	mov	rsi, rdx
	mov	rdi, rax
	call	showT
	add	QWORD PTR -8[rbp], 1
.L336:
	cmp	QWORD PTR -8[rbp], 13
	jne	.L337
	jmp	.L333
.L338:
	nop
.L333:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE75:
	.size	showT, .-showT
	.section	.rodata
.LC30:
	.string	"nd%zu"
	.text
	.globl	show_node
	.type	show_node, @function
show_node:
.LFB76:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE76:
	.size	show_node, .-show_node
	.section	.rodata
.LC31:
	.string	"%s [label=%s]\n"
	.text
	.globl	dotNodeLabel
	.type	dotNodeLabel, @function
dotNodeLabel:
.LFB77:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	edx, DWORD PTR -76[rbp]
	lea	rax, -58[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	show_seq
	mov	rbx, rax
	mov	rdx, QWORD PTR -72[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	show_node
	mov	rdx, rbx
	mov	rsi, rax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L342
	call	__stack_chk_fail@PLT
.L342:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE77:
	.size	dotNodeLabel, .-dotNodeLabel
	.section	.rodata
.LC32:
	.string	"%s [label=%zu shape=circle]\n"
	.text
	.globl	dotNodeGroup
	.type	dotNodeGroup, @function
dotNodeGroup:
.LFB78:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -40[rbp]
	lea	rax, -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	show_node
	mov	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	rsi, rcx
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L344
	call	__stack_chk_fail@PLT
.L344:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE78:
	.size	dotNodeGroup, .-dotNodeGroup
	.section	.rodata
.LC33:
	.string	"%s [label=%s shape=box]\n"
	.text
	.globl	dotProbe
	.type	dotProbe, @function
dotProbe:
.LFB79:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	mov	DWORD PTR -76[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	edx, DWORD PTR -76[rbp]
	lea	rax, -58[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	show_seq
	mov	rbx, rax
	mov	rdx, QWORD PTR -72[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	show_node
	mov	rdx, rbx
	mov	rsi, rax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L346
	call	__stack_chk_fail@PLT
.L346:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE79:
	.size	dotProbe, .-dotProbe
	.section	.rodata
.LC34:
	.string	"%s -> %s [label=%s]\n"
	.text
	.globl	dotTree_rec
	.type	dotTree_rec, @function
dotTree_rec:
.LFB80:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	add	rsp, -128
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -120[rbp], rdi
	mov	QWORD PTR -128[rbp], rsi
	mov	QWORD PTR -136[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	mov	QWORD PTR -96[rbp], rax
	cmp	QWORD PTR -136[rbp], 0
	jne	.L348
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	cnt
	mov	rdx, rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	dotNodeGroup
	jmp	.L357
.L348:
	mov	rax, QWORD PTR -120[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L350
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	dotNodeLabel
	jmp	.L357
.L350:
	mov	rax, QWORD PTR -120[rbp]
	movzx	eax, BYTE PTR 124[rax]
	test	al, al
	je	.L351
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	dotProbe
	jmp	.L352
.L351:
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, DWORD PTR 120[rax]
	mov	rax, QWORD PTR -128[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	dotNodeLabel
.L352:
	mov	QWORD PTR -104[rbp], 0
	jmp	.L353
.L355:
	mov	rax, QWORD PTR -120[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 8[rax+rdx*8]
	test	rax, rax
	je	.L354
	mov	rdx, QWORD PTR -128[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	QWORD PTR -96[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, eax
	lea	rax, -87[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	show_chk
	mov	r12, rax
	mov	rdx, QWORD PTR -96[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	show_node
	mov	rbx, rax
	mov	rdx, QWORD PTR -128[rbp]
	lea	rax, -80[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	show_node
	mov	rcx, r12
	mov	rdx, rbx
	mov	rsi, rax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -136[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -120[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 8[rax+rcx*8]
	mov	rcx, QWORD PTR -96[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	dotTree_rec
.L354:
	add	QWORD PTR -104[rbp], 1
.L353:
	cmp	QWORD PTR -104[rbp], 13
	jne	.L355
.L357:
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L356
	call	__stack_chk_fail@PLT
.L356:
	sub	rsp, -128
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE80:
	.size	dotTree_rec, .-dotTree_rec
	.section	.rodata
.LC35:
	.string	"digraph tree {"
.LC36:
	.string	"}"
	.text
	.globl	dotTree
	.type	dotTree, @function
dotTree:
.LFB81:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	lea	rdi, .LC35[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 1000
	mov	esi, 1
	mov	rdi, rax
	call	dotTree_rec
	lea	rdi, .LC36[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE81:
	.size	dotTree, .-dotTree
	.globl	dotTreeh
	.type	dotTreeh, @function
dotTreeh:
.LFB82:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	lea	rdi, .LC35[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	dotTree_rec
	lea	rdi, .LC36[rip]
	call	puts@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE82:
	.size	dotTreeh, .-dotTreeh
	.type	cons_st, @function
cons_st:
.LFB83:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 4
	mov	eax, DWORD PTR [rax]
	sal	eax, 8
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 8
	mov	eax, DWORD PTR [rax]
	sal	eax, 16
	add	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, 12
	mov	eax, DWORD PTR [rax]
	sal	eax, 24
	add	eax, edx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE83:
	.size	cons_st, .-cons_st
	.type	inc_seq, @function
inc_seq:
.LFB84:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	lea	rax, -36[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	BYTE PTR -17[rbp], 0
	mov	QWORD PTR -16[rbp], 3
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	lea	ecx, 1[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
.L365:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -17[rbp]
	lea	ecx, [rdx+rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	dx, al
	imul	edx, edx, 103
	shr	dx, 8
	sar	dl, 2
	sar	al, 7
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR -17[rbp], al
	cmp	BYTE PTR -17[rbp], 0
	je	.L368
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	ecx, eax
	movzx	eax, BYTE PTR -17[rbp]
	mov	edx, -10
	imul	eax, edx
	add	ecx, eax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, ecx
	mov	BYTE PTR [rax], dl
	sub	QWORD PTR -16[rbp], 1
	jmp	.L365
.L368:
	nop
	mov	eax, DWORD PTR -36[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE84:
	.size	inc_seq, .-inc_seq
	.globl	init_lst
	.type	init_lst, @function
init_lst:
.LFB85:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -56[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	mov	DWORD PTR -44[rbp], 1
	mov	DWORD PTR -40[rbp], 2
	mov	DWORD PTR -36[rbp], 3
	mov	DWORD PTR -32[rbp], 9
	mov	DWORD PTR -28[rbp], 8
	mov	DWORD PTR -24[rbp], 7
	mov	DWORD PTR -20[rbp], 7
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	cons_st
	mov	DWORD PTR -64[rbp], eax
	lea	rax, -32[rbp]
	mov	rdi, rax
	call	cons_st
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	mov	DWORD PTR -68[rbp], eax
	jmp	.L370
.L372:
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	is_perm
	test	al, al
	je	.L371
	mov	edx, DWORD PTR -68[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	vec_seq_add
.L371:
	mov	eax, DWORD PTR -68[rbp]
	mov	edi, eax
	call	inc_seq
	mov	DWORD PTR -68[rbp], eax
.L370:
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jne	.L372
	mov	rax, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L374
	call	__stack_chk_fail@PLT
.L374:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE85:
	.size	init_lst, .-init_lst
	.globl	test_sieveg
	.type	test_sieveg, @function
test_sieveg:
.LFB86:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	eax, 0
	call	init_lst
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 50462976
	mov	rdi, rax
	call	sieveg
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	print_chk
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE86:
	.size	test_sieveg, .-test_sieveg
	.globl	test_sieve
	.type	test_sieve, @function
test_sieve:
.LFB87:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	eax, 0
	call	init_lst
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, 50462976
	mov	rdi, rax
	call	sieve
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L378
.L379:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	print_seq_vec
	add	QWORD PTR -24[rbp], 1
.L378:
	cmp	QWORD PTR -24[rbp], 14
	jne	.L379
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE87:
	.size	test_sieve, .-test_sieve
	.section	.rodata
.LC37:
	.string	"eqk: "
.LC38:
	.string	"%f\n"
	.text
	.globl	test_eqk
	.type	test_eqk, @function
test_eqk:
.LFB88:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	eax, 0
	call	init_lst
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 50462976
	mov	rdi, rax
	call	sieve
	mov	QWORD PTR -32[rbp], rax
	mov	eax, 0
	call	vec_seq_init
	mov	QWORD PTR -24[rbp], rax
	mov	QWORD PTR -56[rbp], 0
	jmp	.L382
.L383:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	eqk
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_append
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	vec_deinit
	add	QWORD PTR -56[rbp], 1
.L382:
	cmp	QWORD PTR -56[rbp], 14
	jne	.L383
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	print_seq_vec
	mov	QWORD PTR -56[rbp], 0
	jmp	.L384
.L387:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	print_seq_vec
	mov	QWORD PTR -48[rbp], 0
	jmp	.L385
.L386:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	edi, eax
	call	print_seq
	mov	rdx, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	vec_seq_idx
	mov	edx, eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	esi, edx
	mov	rdi, rax
	call	sieveg
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	print_chk
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	entropy
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC38[rip]
	mov	eax, 1
	call	printf@PLT
	add	QWORD PTR -48[rbp], 1
.L385:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	vec_size
	cmp	QWORD PTR -48[rbp], rax
	jne	.L386
	add	QWORD PTR -56[rbp], 1
.L384:
	cmp	QWORD PTR -56[rbp], 13
	jne	.L387
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE88:
	.size	test_eqk, .-test_eqk
	.section	.rodata
.LC39:
	.string	"height=%zu\n"
.LC40:
	.string	"probe=%zu\n"
	.align 8
.LC41:
	.string	"active=%zu hit=%zu miss=%zu conflict=%zu hitrate=%f conflict=%f\n"
	.text
	.globl	test_build
	.type	test_build, @function
test_build:
.LFB89:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	eax, 0
	call	init_lst
	mov	QWORD PTR lst[rip], rax
	mov	rax, QWORD PTR lst[rip]
	mov	rdi, rax
	call	buildT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	height
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	level
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	print_level
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	probe_cnt
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR conflict[rip]
	test	rax, rax
	js	.L390
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L391
.L390:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L391:
	mov	rax, QWORD PTR miss[rip]
	test	rax, rax
	js	.L392
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	jmp	.L393
.L392:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rdx
	addsd	xmm1, xmm1
.L393:
	pxor	xmm2, xmm2
	addsd	xmm1, xmm2
	movapd	xmm3, xmm0
	divsd	xmm3, xmm1
	mov	rax, QWORD PTR hit[rip]
	test	rax, rax
	js	.L394
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	jmp	.L395
.L394:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rdx
	addsd	xmm0, xmm0
.L395:
	mov	rdx, QWORD PTR hit[rip]
	mov	rax, QWORD PTR miss[rip]
	add	rax, rdx
	test	rax, rax
	js	.L396
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rax
	jmp	.L397
.L396:
	mov	rdx, rax
	shr	rdx
	and	eax, 1
	or	rdx, rax
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, rdx
	addsd	xmm1, xmm1
.L397:
	pxor	xmm2, xmm2
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	movq	rsi, xmm0
	mov	rdi, QWORD PTR conflict[rip]
	mov	rcx, QWORD PTR miss[rip]
	mov	rdx, QWORD PTR hit[rip]
	mov	rax, QWORD PTR active[rip]
	movapd	xmm1, xmm3
	movq	xmm0, rsi
	mov	r8, rdi
	mov	rsi, rax
	lea	rdi, .LC41[rip]
	mov	eax, 2
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	dotTreeh
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	vec_deinit
	mov	rax, QWORD PTR lst[rip]
	mov	rdi, rax
	call	vec_deinit
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	free_tree
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE89:
	.size	test_build, .-test_build
	.globl	main
	.type	main, @function
main:
.LFB90:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	test_build
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE90:
	.size	main, .-main
	.section	.rodata
	.align 8
	.type	__PRETTY_FUNCTION__.17, @object
	.size	__PRETTY_FUNCTION__.17, 12
__PRETTY_FUNCTION__.17:
	.string	"vec_seq_idx"
	.align 8
	.type	__PRETTY_FUNCTION__.16, @object
	.size	__PRETTY_FUNCTION__.16, 8
__PRETTY_FUNCTION__.16:
	.string	"chk2idx"
	.align 8
	.type	__PRETTY_FUNCTION__.15, @object
	.size	__PRETTY_FUNCTION__.15, 12
__PRETTY_FUNCTION__.15:
	.string	"vec_seq_add"
	.type	__PRETTY_FUNCTION__.14, @object
	.size	__PRETTY_FUNCTION__.14, 7
__PRETTY_FUNCTION__.14:
	.string	"sieveg"
	.type	__PRETTY_FUNCTION__.13, @object
	.size	__PRETTY_FUNCTION__.13, 5
__PRETTY_FUNCTION__.13:
	.string	"eqkg"
	.align 8
	.type	__PRETTY_FUNCTION__.12, @object
	.size	__PRETTY_FUNCTION__.12, 11
__PRETTY_FUNCTION__.12:
	.string	"vec_vp_idx"
	.align 8
	.type	__PRETTY_FUNCTION__.11, @object
	.size	__PRETTY_FUNCTION__.11, 11
__PRETTY_FUNCTION__.11:
	.string	"vec_vp_add"
	.type	__PRETTY_FUNCTION__.10, @object
	.size	__PRETTY_FUNCTION__.10, 6
__PRETTY_FUNCTION__.10:
	.string	"first"
	.align 8
	.type	__PRETTY_FUNCTION__.9, @object
	.size	__PRETTY_FUNCTION__.9, 8
__PRETTY_FUNCTION__.9:
	.string	"selMaxE"
	.align 8
	.type	__PRETTY_FUNCTION__.8, @object
	.size	__PRETTY_FUNCTION__.8, 8
__PRETTY_FUNCTION__.8:
	.string	"selMaxL"
	.align 8
	.type	__PRETTY_FUNCTION__.7, @object
	.size	__PRETTY_FUNCTION__.7, 8
__PRETTY_FUNCTION__.7:
	.string	"selMinH"
	.align 8
	.type	__PRETTY_FUNCTION__.6, @object
	.size	__PRETTY_FUNCTION__.6, 15
__PRETTY_FUNCTION__.6:
	.string	"vec_seq_append"
	.align 8
	.type	__PRETTY_FUNCTION__.5, @object
	.size	__PRETTY_FUNCTION__.5, 9
__PRETTY_FUNCTION__.5:
	.string	"selMinHC"
	.align 8
	.type	__PRETTY_FUNCTION__.4, @object
	.size	__PRETTY_FUNCTION__.4, 10
__PRETTY_FUNCTION__.4:
	.string	"selMinHCE"
	.align 8
	.type	__PRETTY_FUNCTION__.3, @object
	.size	__PRETTY_FUNCTION__.3, 13
__PRETTY_FUNCTION__.3:
	.string	"vec_pair_add"
	.align 8
	.type	__PRETTY_FUNCTION__.2, @object
	.size	__PRETTY_FUNCTION__.2, 13
__PRETTY_FUNCTION__.2:
	.string	"vec_pair_idx"
	.align 8
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 9
__PRETTY_FUNCTION__.1:
	.string	"selMaxEC"
	.align 8
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 9
__PRETTY_FUNCTION__.0:
	.string	"show_chk"
	.align 16
.LC17:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC21:
	.long	0
	.long	-1074790400
	.align 8
.LC24:
	.long	-1717986918
	.long	1071225241
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"100095.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_deinit, %function
vec_deinit:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vec_deinit, .-vec_deinit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_vp_init, %function
vec_vp_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #16
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vec_vp_init, .-vec_vp_init
	.section	.rodata
	.align	2
.LC2:
	.ascii	"the_stack_data/100095.c\000"
	.align	2
.LC3:
	.ascii	"p->pa != NULL\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_vp_add, %function
vec_vp_add:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L5
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L5
	ldr	r3, .L7
	mov	r2, #50
	ldr	r1, .L7+4
	ldr	r0, .L7+8
	bl	__assert_fail
.L5:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r0, r3, #1
	ldr	r1, [fp, #-8]
	str	r0, [r1]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L8:
	.align	2
.L7:
	.word	__PRETTY_FUNCTION__.6387
	.word	.LC2
	.word	.LC3
	.size	vec_vp_add, .-vec_vp_add
	.section	.rodata
	.align	2
.LC4:
	.ascii	"i < p->i\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_vp_idx, %function
vec_vp_idx:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bcc	.L10
	ldr	r3, .L12
	mov	r2, #57
	ldr	r1, .L12+4
	ldr	r0, .L12+8
	bl	__assert_fail
.L10:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L13:
	.align	2
.L12:
	.word	__PRETTY_FUNCTION__.6392
	.word	.LC2
	.word	.LC4
	.size	vec_vp_idx, .-vec_vp_idx
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_size, %function
vec_size:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	vec_size, .-vec_size
	.global	lst
	.bss
	.align	2
	.type	lst, %object
	.size	lst, 4
lst:
	.space	4
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_init, %function
vec_seq_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #16
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vec_seq_init, .-vec_seq_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_add, %function
vec_seq_add:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L19
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L19
	ldr	r3, .L20
	mov	r2, #85
	ldr	r1, .L20+4
	ldr	r0, .L20+8
	bl	__assert_fail
.L19:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r0, r3, #1
	ldr	r1, [fp, #-8]
	str	r0, [r1]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L21:
	.align	2
.L20:
	.word	__PRETTY_FUNCTION__.6410
	.word	.LC2
	.word	.LC3
	.size	vec_seq_add, .-vec_seq_add
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_append, %function
vec_seq_append:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bcc	.L23
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #2
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L23
	ldr	r3, .L24
	mov	r2, #95
	ldr	r1, .L24+4
	ldr	r0, .L24+8
	bl	__assert_fail
.L23:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r0, r2, r3
	ldr	r3, [fp, #-12]
	ldr	r1, [r3, #8]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L25:
	.align	2
.L24:
	.word	__PRETTY_FUNCTION__.6415
	.word	.LC2
	.word	.LC3
	.size	vec_seq_append, .-vec_seq_append
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_dup, %function
vec_seq_dup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	bl	vec_seq_init
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	vec_seq_append
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vec_seq_dup, .-vec_seq_dup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_idx, %function
vec_seq_idx:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bcc	.L29
	ldr	r3, .L31
	mov	r2, #108
	ldr	r1, .L31+4
	ldr	r0, .L31+8
	bl	__assert_fail
.L29:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L32:
	.align	2
.L31:
	.word	__PRETTY_FUNCTION__.6424
	.word	.LC2
	.word	.LC4
	.size	vec_seq_idx, .-vec_seq_idx
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_elem, %function
vec_seq_elem:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L34
.L37:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	vec_seq_idx
	mov	r2, r0
	ldr	r3, [fp, #-20]
	cmp	r3, r2
	bne	.L35
	mov	r3, #1
	b	.L36
.L35:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L34:
	ldr	r0, [fp, #-16]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L37
	mov	r3, #0
.L36:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vec_seq_elem, .-vec_seq_elem
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_vadd, %function
vec_seq_vadd:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	bl	vec_seq_init
	str	r0, [fp, #-20]
	ldr	r0, [fp, #-32]
	bl	vec_size
	mov	r4, r0
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r3, r0
	cmp	r4, r3
	bcs	.L39
	ldr	r0, [fp, #-32]
	bl	vec_size
	mov	r3, r0
	b	.L40
.L39:
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r3, r0
.L40:
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L41
.L42:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	vec_seq_idx
	mov	r4, r0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	mov	r3, r0
	add	r3, r4, r3
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	vec_seq_add
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L41:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L42
	b	.L43
.L44:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-32]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	vec_seq_add
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L43:
	ldr	r0, [fp, #-32]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bcc	.L44
	b	.L45
.L46:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	vec_seq_add
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L45:
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-24]
	cmp	r3, r2
	bcc	.L46
	ldr	r3, [fp, #-20]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	vec_seq_vadd, .-vec_seq_vadd
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_pair_init, %function
vec_pair_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #16
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #4
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	vec_pair_init, .-vec_pair_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_pair_add, %function
vec_pair_add:
	@ args = 16, pretend = 8, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	sub	sp, sp, #8
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	add	r1, fp, #4
	stm	r1, {r2, r3}
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L51
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #4
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L51
	ldr	r3, .L52
	mov	r2, #161
	ldr	r1, .L52+4
	ldr	r0, .L52+8
	bl	__assert_fail
.L51:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	add	r0, r3, #1
	ldr	r1, [fp, #-8]
	str	r0, [r1]
	lsl	r3, r3, #4
	add	r3, r2, r3
	mov	ip, r3
	add	r3, fp, #4
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #8
	bx	lr
.L53:
	.align	2
.L52:
	.word	__PRETTY_FUNCTION__.6465
	.word	.LC2
	.word	.LC3
	.size	vec_pair_add, .-vec_pair_add
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_pair_idx, %function
vec_pair_idx:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bcc	.L55
	ldr	r3, .L57
	mov	r2, #167
	ldr	r1, .L57+4
	ldr	r0, .L57+8
	bl	__assert_fail
.L55:
	ldr	r3, [fp, #-12]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, [fp, #-8]
	mov	ip, r2
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-8]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L58:
	.align	2
.L57:
	.word	__PRETTY_FUNCTION__.6470
	.word	.LC2
	.word	.LC4
	.size	vec_pair_idx, .-vec_pair_idx
	.align	2
	.global	cmpsize
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmpsize, %function
cmpsize:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	sub	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cmpsize, .-cmpsize
	.global	__aeabi_dcmplt
	.global	__aeabi_dcmpgt
	.align	2
	.global	cmppair
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmppair, %function
cmppair:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L62
	mov	r3, #0
	mov	r4, r3
.L62:
	and	r3, r4, #255
	mov	r5, r3
	ldr	r3, [fp, #-20]
	add	r1, r3, #8
	ldmia	r1, {r0-r1}
	ldr	r3, [fp, #-16]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	mov	ip, #1
	mov	r4, ip
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L63
	mov	r3, #0
	mov	r4, r3
.L63:
	and	r3, r4, #255
	sub	r3, r5, r3
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	cmppair, .-cmppair
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_pair_sort, %function
vec_pair_sort:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r0, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r1, [r3]
	ldr	r3, .L66
	mov	r2, #16
	bl	qsort
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L67:
	.align	2
.L66:
	.word	cmppair
	.size	vec_pair_sort, .-vec_pair_sort
	.section	.rodata
	.align	2
.LC5:
	.ascii	"true\000"
	.align	2
.LC6:
	.ascii	"false\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_bool, %function
show_bool:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, r0
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L69
	ldr	r3, .L72
	b	.L71
.L69:
	ldr	r3, .L72+4
.L71:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L73:
	.align	2
.L72:
	.word	.LC5
	.word	.LC6
	.size	show_bool, .-show_bool
	.global	tbl
	.data
	.align	2
	.type	tbl, %object
	.size	tbl, 100
tbl:
	.word	0
	.word	1
	.word	2
	.word	3
	.word	4
	.word	-1
	.word	5
	.word	6
	.word	7
	.word	8
	.word	-1
	.word	-1
	.word	9
	.word	10
	.word	11
	.word	-1
	.word	-1
	.word	-1
	.word	12
	.word	-1
	.word	-1
	.word	-1
	.word	-1
	.word	-1
	.word	13
	.section	.rodata
	.align	2
.LC7:
	.ascii	"a <= K\000"
	.align	2
.LC8:
	.ascii	"b <= K\000"
	.align	2
.LC9:
	.ascii	"r != -1\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	chk2idx, %function
chk2idx:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	ble	.L75
	ldr	r3, .L79
	mov	r2, #212
	ldr	r1, .L79+4
	ldr	r0, .L79+8
	bl	__assert_fail
.L75:
	ldr	r3, [fp, #-20]
	cmp	r3, #4
	ble	.L76
	ldr	r3, .L79
	mov	r2, #213
	ldr	r1, .L79+4
	ldr	r0, .L79+12
	bl	__assert_fail
.L76:
	ldr	r1, .L79+16
	ldr	r2, [fp, #-16]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	ldr	r2, [fp, #-20]
	add	r3, r3, r2
	ldr	r3, [r1, r3, lsl #2]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #1
	bne	.L77
	ldr	r3, .L79
	mov	r2, #215
	ldr	r1, .L79+4
	ldr	r0, .L79+20
	bl	__assert_fail
.L77:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L80:
	.align	2
.L79:
	.word	__PRETTY_FUNCTION__.6494
	.word	.LC2
	.word	.LC7
	.word	.LC8
	.word	tbl
	.word	.LC9
	.size	chk2idx, .-chk2idx
	.section	.rodata
	.align	2
.LC10:
	.ascii	"%zu,\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_chk, %function
print_chk:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L82
.L83:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L84
	bl	printf
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L82:
	ldr	r3, [fp, #-8]
	cmp	r3, #14
	bne	.L83
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L85:
	.align	2
.L84:
	.word	.LC10
	.size	print_chk, .-print_chk
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	is_perm, %function
is_perm:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	sub	r3, fp, #24
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L87
.L92:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L88
.L91:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L89
	mov	r3, #0
	b	.L90
.L89:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L88:
	ldr	r3, [fp, #-12]
	cmp	r3, #4
	bne	.L91
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L87:
	ldr	r3, [fp, #-16]
	cmp	r3, #4
	bne	.L92
	mov	r3, #1
.L90:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	is_perm, .-is_perm
	.section	.rodata
	.align	2
.LC11:
	.ascii	"%d%d%d%d\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_seq, %function
show_seq:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	sub	r3, fp, #20
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [sp, #4]
	str	r2, [sp]
	mov	r3, r0
	mov	r2, r1
	ldr	r1, .L95
	ldr	r0, [fp, #-16]
	bl	sprintf
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L96:
	.align	2
.L95:
	.word	.LC11
	.size	show_seq, .-show_seq
	.section	.rodata
	.align	2
.LC12:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_seq, %function
print_seq:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L99
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #20
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	show_seq
	mov	r3, r0
	mov	r0, r3
	bl	puts
	nop
	ldr	r3, .L99
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L98
	bl	__stack_chk_fail
.L98:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L100:
	.align	2
.L99:
	.word	.LC12
	.size	print_seq, .-print_seq
	.section	.rodata
	.align	2
.LC13:
	.ascii	"%s%c\012\000"
	.align	2
.LC14:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	printf_seq_suffix, %function
printf_seq_suffix:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, .L103
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #20
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	show_seq
	mov	r3, r0
	mov	r2, #44
	mov	r1, r3
	ldr	r0, .L103+4
	bl	printf
	nop
	ldr	r3, .L103
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L102
	bl	__stack_chk_fail
.L102:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L104:
	.align	2
.L103:
	.word	.LC14
	.word	.LC13
	.size	printf_seq_suffix, .-printf_seq_suffix
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_seq_vec, %function
print_seq_vec:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L106
.L107:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r0, r3
	bl	printf_seq_suffix
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L106:
	ldr	r0, [fp, #-16]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L107
	mov	r0, #10
	bl	putchar
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	print_seq_vec, .-print_seq_vec
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	chk, %function
chk:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	sub	r3, fp, #40
	str	r3, [fp, #-16]
	sub	r3, fp, #44
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	str	r3, [fp, #-32]
	b	.L109
.L112:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-12]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-24]
	add	r3, r3, r2
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L110
.L111:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-12]
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-20]
	add	r3, r3, r2
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L110:
	ldr	r3, [fp, #-28]
	cmp	r3, #4
	bne	.L111
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L109:
	ldr	r3, [fp, #-32]
	cmp	r3, #4
	bne	.L112
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	chk2idx
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	chk, .-chk
	.section	.rodata
	.align	2
.LC15:
	.ascii	"idx != -1\000"
	.align	2
.LC16:
	.ascii	"%zu%zu\000"
	.align	2
.LC17:
	.ascii	"nil\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_chk, %function
show_chk:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmn	r3, #1
	bne	.L115
	ldr	r3, .L122
	ldr	r2, .L122+4
	ldr	r1, .L122+8
	ldr	r0, .L122+12
	bl	__assert_fail
.L115:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L116
.L121:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L117
.L120:
	ldr	r1, .L122+16
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	ldr	r2, [fp, #-8]
	add	r3, r3, r2
	ldr	r3, [r1, r3, lsl #2]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L118
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	ldr	r2, [fp, #-12]
	ldr	r1, .L122+20
	ldr	r0, [fp, #-16]
	bl	sprintf
	ldr	r3, [fp, #-16]
	b	.L119
.L118:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L117:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	bne	.L120
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L116:
	ldr	r3, [fp, #-12]
	cmp	r3, #5
	bne	.L121
	ldr	r3, .L122+24
.L119:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L123:
	.align	2
.L122:
	.word	__PRETTY_FUNCTION__.6556
	.word	291
	.word	.LC2
	.word	.LC15
	.word	tbl
	.word	.LC16
	.word	.LC17
	.size	show_chk, .-show_chk
	.align	2
	.global	sieve
	.syntax unified
	.arm
	.fpu softvfp
	.type	sieve, %function
sieve:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r0, #56
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L125
.L126:
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r4, r2, r3
	bl	vec_seq_init
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L125:
	ldr	r3, [fp, #-28]
	cmp	r3, #14
	bne	.L126
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L127
.L128:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	vec_seq_idx
	str	r0, [fp, #-20]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-20]
	bl	chk
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	vec_seq_add
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L127:
	ldr	r0, [fp, #-32]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	bne	.L128
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	sieve, .-sieve
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_sieve, %function
free_sieve:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L131
.L132:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	vec_deinit
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L131:
	ldr	r3, [fp, #-8]
	cmp	r3, #14
	bne	.L132
	ldr	r0, [fp, #-16]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_sieve, .-free_sieve
	.section	.rodata
	.align	2
.LC18:
	.ascii	"is_perm(pivot)\000"
	.align	2
.LC19:
	.ascii	"is_perm(vec_seq_idx(ss, i))\000"
	.text
	.align	2
	.global	sieveg
	.syntax unified
	.arm
	.fpu softvfp
	.type	sieveg, %function
sieveg:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r0, #56
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	mov	r2, #56
	mov	r1, #0
	ldr	r0, [fp, #-8]
	bl	memset
	ldr	r0, [fp, #-20]
	bl	is_perm
	mov	r3, r0
	cmp	r3, #0
	bne	.L134
	ldr	r3, .L139
	ldr	r2, .L139+4
	ldr	r1, .L139+8
	ldr	r0, .L139+12
	bl	__assert_fail
.L134:
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L135
.L137:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r0, r3
	bl	is_perm
	mov	r3, r0
	cmp	r3, #0
	bne	.L136
	ldr	r3, .L139
	ldr	r2, .L139+16
	ldr	r1, .L139+8
	ldr	r0, .L139+20
	bl	__assert_fail
.L136:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	vec_seq_idx
	mov	r3, r0
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	chk
	mov	r3, r0
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L135:
	ldr	r0, [fp, #-16]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bne	.L137
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L140:
	.align	2
.L139:
	.word	__PRETTY_FUNCTION__.6591
	.word	423
	.word	.LC2
	.word	.LC18
	.word	426
	.word	.LC19
	.size	sieveg, .-sieveg
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_sieveg, %function
free_sieveg:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_sieveg, .-free_sieveg
	.global	__aeabi_ui2d
	.global	__aeabi_dadd
	.global	__aeabi_ddiv
	.global	__aeabi_dmul
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	entropy, %function
entropy:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #32
	str	r0, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-44]
	b	.L143
.L144:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L143:
	ldr	r3, [fp, #-44]
	cmp	r3, #14
	bne	.L144
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L145
.L147:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L146
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r6, r0
	mov	r7, r1
	ldr	r0, [fp, #-40]
	bl	__aeabi_ui2d
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r4, [fp, #-28]
	ldr	r3, [fp, #-24]
	eor	r5, r3, #-2147483648
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	log
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
.L146:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L145:
	ldr	r3, [fp, #-44]
	cmp	r3, #14
	bne	.L147
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
	.size	entropy, .-entropy
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	larmount, %function
larmount:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #40
	str	r0, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-60]
	b	.L150
.L151:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L150:
	ldr	r3, [fp, #-60]
	cmp	r3, #14
	bne	.L151
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-60]
	b	.L152
.L154:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L153
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r8, r0
	mov	r9, r1
	ldr	r0, [fp, #-56]
	bl	__aeabi_ui2d
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r8
	mov	r1, r9
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r6, [fp, #-36]
	ldr	r3, [fp, #-32]
	eor	r7, r3, #-2147483648
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	log
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L153:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L152:
	ldr	r3, [fp, #-60]
	cmp	r3, #14
	bne	.L154
	mov	r3, #13
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L155
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r6, r0
	mov	r7, r1
	ldr	r0, [fp, #-56]
	bl	__aeabi_ui2d
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r4, [fp, #-44]
	ldr	r3, [fp, #-40]
	eor	r5, r3, #-2147483648
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	log
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L155:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
	.size	larmount, .-larmount
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmpg, %function
cmpg:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L158
.L161:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L159
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-20]
	add	r3, r1, r3
	ldr	r3, [r3]
	sub	r3, r2, r3
	b	.L160
.L159:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L158:
	ldr	r3, [fp, #-8]
	cmp	r3, #14
	bne	.L161
	mov	r3, #0
.L160:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cmpg, .-cmpg
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	any_eq, %function
any_eq:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L163
.L166:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	vec_vp_idx
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	cmpg
	mov	r3, r0
	cmp	r3, #0
	bne	.L164
	mov	r3, #1
	b	.L165
.L164:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L163:
	ldr	r0, [fp, #-16]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L166
	mov	r3, #0
.L165:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	any_eq, .-any_eq
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	onegroup, %function
onegroup:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-12]
	b	.L168
.L169:
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L168:
	ldr	r3, [fp, #-12]
	cmp	r3, #14
	bne	.L169
	ldr	r3, [fp, #-8]
	cmp	r3, #1
	movls	r3, #1
	movhi	r3, #0
	and	r3, r3, #255
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	onegroup, .-onegroup
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_eqkg_g, %function
free_eqkg_g:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L172
.L173:
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-16]
	bl	vec_vp_idx
	mov	r3, r0
	mov	r0, r3
	bl	free_sieveg
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L172:
	ldr	r0, [fp, #-16]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-8]
	cmp	r3, r2
	bne	.L173
	ldr	r0, [fp, #-16]
	bl	vec_deinit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_eqkg_g, .-free_eqkg_g
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_eqkg, %function
free_eqkg:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	vec_deinit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_eqkg, .-free_eqkg
	.section	.rodata
	.align	2
.LC20:
	.ascii	"vec_size(va0) == vec_size(va1)\000"
	.text
	.align	2
	.global	eqkg
	.syntax unified
	.arm
	.fpu softvfp
	.type	eqkg, %function
eqkg:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-48]
	bl	vec_seq_init
	str	r0, [fp, #-28]
	bl	vec_vp_init
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L176
.L180:
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-44]
	bl	vec_seq_idx
	str	r0, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-40]
	bl	sieveg
	str	r0, [fp, #-16]
	ldr	r3, .L185
	mov	r2, #4
	mov	r1, #13
	ldr	r0, [fp, #-16]
	bl	qsort
	ldr	r0, [fp, #-16]
	bl	onegroup
	mov	r3, r0
	cmp	r3, #0
	bne	.L177
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	any_eq
	mov	r3, r0
	cmp	r3, #0
	beq	.L178
.L177:
	ldr	r0, [fp, #-16]
	bl	free_sieveg
	b	.L179
.L178:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	vec_vp_add
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-28]
	bl	vec_seq_add
.L179:
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L176:
	ldr	r0, [fp, #-44]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-32]
	cmp	r3, r2
	bne	.L180
	ldr	r0, [fp, #-28]
	bl	vec_size
	mov	r4, r0
	ldr	r0, [fp, #-24]
	bl	vec_size
	mov	r3, r0
	cmp	r4, r3
	beq	.L181
	ldr	r3, .L185+4
	ldr	r2, .L185+8
	ldr	r1, .L185+12
	ldr	r0, .L185+16
	bl	__assert_fail
.L181:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L182
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L183
.L182:
	ldr	r0, [fp, #-24]
	bl	free_eqkg_g
.L183:
	ldr	r3, [fp, #-28]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L186:
	.align	2
.L185:
	.word	cmpsize
	.word	__PRETTY_FUNCTION__.6674
	.word	535
	.word	.LC2
	.word	.LC20
	.size	eqkg, .-eqkg
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	eqk, %function
eqk:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	mov	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	eqkg
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	eqk, .-eqk
	.section	.rodata
	.align	2
.LC21:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	eqke, %function
eqke:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L194
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-44]
	sub	r3, fp, #44
	mov	r2, r3
	ldr	r1, [fp, #-52]
	ldr	r0, [fp, #-48]
	bl	eqkg
	str	r0, [fp, #-36]
	bl	vec_pair_init
	str	r0, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L190
.L191:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	mov	r3, r0
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-44]
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	vec_vp_idx
	mov	r3, r0
	mov	r0, r3
	bl	larmount
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, sp
	sub	r3, fp, #20
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	sub	r3, fp, #28
	ldm	r3, {r2, r3}
	ldr	r0, [fp, #-32]
	bl	vec_pair_add
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L190:
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-40]
	cmp	r3, r2
	bne	.L191
	ldr	r3, [fp, #-44]
	mov	r0, r3
	bl	free_eqkg_g
	ldr	r0, [fp, #-36]
	bl	free_eqkg
	ldr	r0, [fp, #-32]
	bl	vec_pair_sort
	ldr	r3, [fp, #-32]
	ldr	r2, .L194
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L193
	bl	__stack_chk_fail
.L193:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L195:
	.align	2
.L194:
	.word	.LC21
	.size	eqke, .-eqke
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_eqke, %function
free_eqke:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	vec_deinit
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_eqke, .-free_eqke
	.section	.rodata
	.align	2
.LC22:
	.ascii	"vec_size(ss) >= 1\000"
	.text
	.align	2
	.global	first
	.syntax unified
	.arm
	.fpu softvfp
	.type	first, %function
first:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, [fp, #-12]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #0
	bne	.L198
	ldr	r3, .L200
	ldr	r2, .L200+4
	ldr	r1, .L200+8
	ldr	r0, .L200+12
	bl	__assert_fail
.L198:
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L201:
	.align	2
.L200:
	.word	__PRETTY_FUNCTION__.6720
	.word	602
	.word	.LC2
	.word	.LC22
	.size	first, .-first
	.section	.rodata
	.align	2
.LC23:
	.ascii	"vec_size(ss) != 0\000"
	.align	2
.LC24:
	.ascii	"mi != -1\000"
	.align	2
.LC25:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	selMaxE
	.syntax unified
	.arm
	.fpu softvfp
	.type	selMaxE, %function
selMaxE:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L215
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L203
	ldr	r3, .L215+4
	b	.L212
.L203:
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #1
	bne	.L205
	mov	r1, #0
	ldr	r0, [fp, #-60]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L212
.L205:
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #0
	bne	.L206
	ldr	r3, .L215+8
	ldr	r2, .L215+12
	ldr	r1, .L215+16
	ldr	r0, .L215+20
	bl	__assert_fail
.L206:
	mov	r3, #0
	str	r3, [fp, #-48]
	sub	r3, fp, #48
	mov	r2, r3
	ldr	r1, [fp, #-60]
	ldr	r0, [fp, #-60]
	bl	eqkg
	str	r0, [fp, #-36]
	mov	r2, #0
	ldr	r3, .L215+24
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mvn	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L207
.L210:
	ldr	r3, [fp, #-48]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	vec_vp_idx
	mov	r3, r0
	mov	r0, r3
	bl	entropy
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L208
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
.L208:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L207:
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-44]
	cmp	r3, r2
	bne	.L210
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	bne	.L211
	ldr	r3, .L215+8
	ldr	r2, .L215+28
	ldr	r1, .L215+16
	ldr	r0, .L215+32
	bl	__assert_fail
.L211:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	free_eqkg_g
	ldr	r0, [fp, #-36]
	bl	free_eqkg
	ldr	r3, [fp, #-32]
.L212:
	ldr	r2, .L215
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L213
	bl	__stack_chk_fail
.L213:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L216:
	.align	2
.L215:
	.word	.LC25
	.word	50462976
	.word	__PRETTY_FUNCTION__.6725
	.word	613
	.word	.LC2
	.word	.LC23
	.word	-1074790400
	.word	626
	.word	.LC24
	.size	selMaxE, .-selMaxE
	.section	.rodata
	.align	2
.LC26:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	selMaxL
	.syntax unified
	.arm
	.fpu softvfp
	.type	selMaxL, %function
selMaxL:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L230
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L218
	ldr	r3, .L230+4
	b	.L227
.L218:
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #1
	bne	.L220
	mov	r1, #0
	ldr	r0, [fp, #-60]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L227
.L220:
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #0
	bne	.L221
	ldr	r3, .L230+8
	ldr	r2, .L230+12
	ldr	r1, .L230+16
	ldr	r0, .L230+20
	bl	__assert_fail
.L221:
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, .L230+24
	ldr	r3, [r3]
	sub	r2, fp, #48
	mov	r1, r3
	ldr	r0, [fp, #-60]
	bl	eqkg
	str	r0, [fp, #-36]
	mov	r2, #0
	ldr	r3, .L230+28
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mvn	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-44]
	b	.L222
.L225:
	ldr	r3, [fp, #-48]
	ldr	r1, [fp, #-44]
	mov	r0, r3
	bl	vec_vp_idx
	mov	r3, r0
	mov	r0, r3
	bl	larmount
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L223
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-40]
.L223:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-44]
.L222:
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-44]
	cmp	r3, r2
	bne	.L225
	ldr	r3, [fp, #-40]
	cmn	r3, #1
	bne	.L226
	ldr	r3, .L230+8
	ldr	r2, .L230+32
	ldr	r1, .L230+16
	ldr	r0, .L230+36
	bl	__assert_fail
.L226:
	ldr	r1, [fp, #-40]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-48]
	mov	r0, r3
	bl	free_eqkg_g
	ldr	r0, [fp, #-36]
	bl	free_eqkg
	ldr	r3, [fp, #-32]
.L227:
	ldr	r2, .L230
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L228
	bl	__stack_chk_fail
.L228:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L231:
	.align	2
.L230:
	.word	.LC26
	.word	50462976
	.word	__PRETTY_FUNCTION__.6740
	.word	639
	.word	.LC2
	.word	.LC23
	.word	lst
	.word	-1074790400
	.word	650
	.word	.LC24
	.size	selMaxL, .-selMaxL
	.align	2
	.global	selMinH
	.syntax unified
	.arm
	.fpu softvfp
	.type	selMinH, %function
selMinH:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L233
	ldr	r3, .L242
	b	.L234
.L233:
	ldr	r0, [fp, #-44]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #2
	bhi	.L235
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L234
.L235:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-44]
	bl	eqk
	str	r0, [fp, #-20]
	mvn	r3, #0
	str	r3, [fp, #-32]
	mvn	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-28]
	b	.L236
.L239:
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-20]
	bl	vec_seq_idx
	mov	r3, r0
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-40]
	ldr	r0, .L242+4
	bl	buildTh1
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	height
	str	r0, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	free_tree
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bcs	.L237
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r0, [fp, #-44]
	bl	vec_size
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	beq	.L241
.L237:
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L236:
	ldr	r0, [fp, #-20]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-28]
	cmp	r3, r2
	bne	.L239
	b	.L238
.L241:
	nop
.L238:
	ldr	r3, [fp, #-24]
	cmn	r3, #1
	bne	.L240
	ldr	r3, .L242+8
	ldr	r2, .L242+12
	ldr	r1, .L242+16
	ldr	r0, .L242+20
	bl	__assert_fail
.L240:
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	bl	vec_seq_idx
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-20]
	bl	free_eqkg
	ldr	r3, [fp, #-8]
.L234:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L243:
	.align	2
.L242:
	.word	50462976
	.word	selMinH
	.word	__PRETTY_FUNCTION__.6773
	.word	681
	.word	.LC2
	.word	.LC24
	.size	selMinH, .-selMinH
	.comm	cache_array,1610611788,4
	.global	active
	.bss
	.align	2
	.type	active, %object
	.size	active, 4
active:
	.space	4
	.global	hit
	.align	2
	.type	hit, %object
	.size	hit, 4
hit:
	.space	4
	.global	miss
	.align	2
	.type	miss, %object
	.size	miss, 4
miss:
	.space	4
	.global	conflict
	.align	2
	.type	conflict, %object
	.size	conflict, 4
conflict:
	.space	4
	.text
	.align	2
	.global	cache_init
	.syntax unified
	.arm
	.fpu softvfp
	.type	cache_init, %function
cache_init:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r2, .L245
	mov	r1, #0
	ldr	r0, .L245+4
	bl	memset
	nop
	pop	{fp, pc}
.L246:
	.align	2
.L245:
	.word	1610611788
	.word	cache_array
	.size	cache_init, .-cache_init
	.align	2
	.global	cache_deinit
	.syntax unified
	.arm
	.fpu softvfp
	.type	cache_deinit, %function
cache_deinit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L248
.L250:
	ldr	r2, [fp, #-12]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, .L251
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L249
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	vec_deinit
.L249:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L248:
	ldr	r3, [fp, #-12]
	ldr	r2, .L251+4
	cmp	r3, r2
	bne	.L250
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L252:
	.align	2
.L251:
	.word	cache_array
	.word	134217649
	.size	cache_deinit, .-cache_deinit
	.align	2
	.global	hash
	.syntax unified
	.arm
	.fpu softvfp
	.type	hash, %function
hash:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L254
.L255:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L254:
	ldr	r0, [fp, #-16]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-12]
	cmp	r3, r2
	bne	.L255
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	hash, .-hash
	.align	2
	.global	vec_seq_eq
	.syntax unified
	.arm
	.fpu softvfp
	.type	vec_seq_eq, %function
vec_seq_eq:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L258
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L259
.L258:
	mov	r3, #0
	b	.L260
.L259:
	ldr	r0, [fp, #-24]
	bl	vec_size
	mov	r4, r0
	ldr	r0, [fp, #-28]
	bl	vec_size
	mov	r3, r0
	cmp	r4, r3
	beq	.L261
	mov	r3, #0
	b	.L260
.L261:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L262
.L264:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	vec_seq_idx
	mov	r4, r0
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-28]
	bl	vec_seq_idx
	mov	r3, r0
	cmp	r4, r3
	beq	.L263
	mov	r3, #0
	b	.L260
.L263:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L262:
	ldr	r0, [fp, #-24]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-16]
	cmp	r3, r2
	bne	.L264
	mov	r3, #1
.L260:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	vec_seq_eq, .-vec_seq_eq
	.align	2
	.global	cache_fetch
	.syntax unified
	.arm
	.fpu softvfp
	.type	cache_fetch, %function
cache_fetch:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	hash
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r3, .L268
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #26
	mov	r3, r2
	lsl	r3, r3, #21
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r3, r2
	sub	r2, r1, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, .L268+4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bne	.L266
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	vec_seq_eq
	mov	r3, r0
	cmp	r3, #0
	beq	.L266
	ldr	r3, .L268+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L268+8
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	b	.L267
.L266:
	ldr	r3, .L268+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L268+12
	str	r3, [r2]
	mov	r3, #0
.L267:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L269:
	.align	2
.L268:
	.word	2529
	.word	cache_array
	.word	hit
	.word	miss
	.size	cache_fetch, .-cache_fetch
	.align	2
	.global	cache_put
	.syntax unified
	.arm
	.fpu softvfp
	.type	cache_put, %function
cache_put:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	hash
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r3, .L273
	umull	r2, r3, r1, r3
	sub	r2, r1, r3
	lsr	r2, r2, #1
	add	r3, r3, r2
	lsr	r2, r3, #26
	mov	r3, r2
	lsl	r3, r3, #21
	sub	r3, r3, r2
	lsl	r3, r3, #2
	sub	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r3, r2
	sub	r2, r1, r3
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, .L273+4
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L271
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	vec_deinit
	ldr	r3, .L273+8
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L273+8
	str	r3, [r2]
	b	.L272
.L271:
	ldr	r3, .L273+12
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L273+12
	str	r3, [r2]
.L272:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r0, [fp, #-16]
	bl	vec_seq_dup
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3, #8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L274:
	.align	2
.L273:
	.word	2529
	.word	cache_array
	.word	conflict
	.word	active
	.size	cache_put, .-cache_put
	.section	.rodata
	.align	2
.LC27:
	.ascii	"h=%zu n=%zu cand=%zu eq=%zu mh=%zu self=%s\012\000"
	.text
	.align	2
	.global	selMinHC
	.syntax unified
	.arm
	.fpu softvfp
	.type	selMinHC, %function
selMinHC:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #68
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L276
	ldr	r3, .L288
	b	.L277
.L276:
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #2
	bhi	.L278
	mov	r1, #0
	ldr	r0, [fp, #-60]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L277
.L278:
	ldr	r0, [fp, #-64]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #1
	bne	.L279
	mov	r1, #0
	ldr	r0, [fp, #-64]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L277
.L279:
	ldr	r0, [fp, #-60]
	bl	cache_fetch
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L280
	ldr	r3, [fp, #-40]
	b	.L277
.L280:
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-60]
	bl	eqk
	str	r0, [fp, #-36]
	mvn	r3, #0
	str	r3, [fp, #-52]
	mvn	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L281
.L284:
	ldr	r1, [fp, #-48]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	mov	r3, r0
	ldr	r2, [fp, #-60]
	ldr	r1, [fp, #-56]
	ldr	r0, .L288+4
	bl	buildThc1
	str	r0, [fp, #-32]
	ldr	r0, [fp, #-32]
	bl	height
	str	r0, [fp, #-28]
	ldr	r0, [fp, #-32]
	bl	free_tree
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bcs	.L282
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, [fp, #-52]
	cmp	r2, r3
	beq	.L287
.L282:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L281:
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-48]
	cmp	r3, r2
	bne	.L284
	b	.L283
.L287:
	nop
.L283:
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	bne	.L285
	ldr	r3, .L288+8
	ldr	r2, .L288+12
	ldr	r1, .L288+16
	ldr	r0, .L288+20
	bl	__assert_fail
.L285:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	str	r0, [fp, #-24]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-60]
	bl	cache_put
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #100
	bls	.L286
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r5, r0
	ldr	r0, [fp, #-64]
	bl	vec_size
	mov	r6, r0
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r4, r0
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-60]
	bl	vec_seq_elem
	mov	r3, r0
	mov	r0, r3
	bl	show_bool
	mov	r3, r0
	str	r3, [sp, #8]
	ldr	r3, [fp, #-52]
	str	r3, [sp, #4]
	str	r4, [sp]
	mov	r3, r6
	mov	r2, r5
	ldr	r1, [fp, #-56]
	ldr	r0, .L288+24
	bl	printf
.L286:
	ldr	r0, [fp, #-36]
	bl	free_eqkg
	ldr	r3, [fp, #-24]
.L277:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L289:
	.align	2
.L288:
	.word	50462976
	.word	selMinHC
	.word	__PRETTY_FUNCTION__.6850
	.word	821
	.word	.LC2
	.word	.LC24
	.word	.LC27
	.size	selMinHC, .-selMinHC
	.global	__aeabi_dsub
	.section	.rodata
	.align	2
.LC28:
	.ascii	"h=%zu n=%zu cand=%zu eq=%zu mh=%zu mi=%zu self=%s\012"
	.ascii	"\000"
	.align	2
.LC29:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	selMinHCE
	.syntax unified
	.arm
	.fpu softvfp
	.type	selMinHCE, %function
selMinHCE:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #132
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	ldr	r3, .L308
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	bne	.L291
	ldr	r3, .L308+4
	b	.L304
.L291:
	ldr	r0, [fp, #-108]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #2
	bhi	.L293
	mov	r1, #0
	ldr	r0, [fp, #-108]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L304
.L293:
	ldr	r0, [fp, #-112]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #1
	bne	.L294
	mov	r1, #0
	ldr	r0, [fp, #-112]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L304
.L294:
	ldr	r0, [fp, #-108]
	bl	cache_fetch
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L295
	ldr	r3, [fp, #-84]
	b	.L304
.L295:
	ldr	r1, [fp, #-112]
	ldr	r0, [fp, #-108]
	bl	eqke
	str	r0, [fp, #-80]
	sub	r3, fp, #44
	mov	r2, #0
	ldr	r1, [fp, #-80]
	mov	r0, r3
	bl	vec_pair_idx
	mvn	r3, #0
	str	r3, [fp, #-96]
	mvn	r3, #0
	str	r3, [fp, #-88]
	ldr	r0, [fp, #-80]
	bl	vec_size
	str	r0, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L296
.L301:
	sub	r3, fp, #60
	ldr	r2, [fp, #-92]
	ldr	r1, [fp, #-80]
	mov	r0, r3
	bl	vec_pair_idx
	ldr	r3, [fp, #-60]
	ldr	r2, [fp, #-108]
	ldr	r1, [fp, #-104]
	ldr	r0, .L308+8
	bl	buildThc1
	str	r0, [fp, #-72]
	ldr	r0, [fp, #-72]
	bl	height
	str	r0, [fp, #-68]
	ldr	r0, [fp, #-72]
	bl	free_tree
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	bcs	.L297
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-92]
	str	r3, [fp, #-88]
	ldr	r0, [fp, #-108]
	bl	vec_size
	mov	r3, r0
	sub	r3, r3, #1
	ldr	r2, [fp, #-96]
	cmp	r2, r3
	beq	.L306
.L297:
	sub	r5, fp, #52
	ldmia	r5, {r4-r5}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	ldr	r2, .L308+12
	ldr	r3, .L308+16
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L307
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L296:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-76]
	cmp	r2, r3
	bne	.L301
	b	.L298
.L306:
	nop
	b	.L298
.L307:
	nop
.L298:
	ldr	r3, [fp, #-88]
	cmn	r3, #1
	bne	.L302
	ldr	r3, .L308+20
	ldr	r2, .L308+24
	ldr	r1, .L308+28
	ldr	r0, .L308+32
	bl	__assert_fail
.L302:
	sub	r3, fp, #132
	ldr	r2, [fp, #-88]
	ldr	r1, [fp, #-80]
	mov	r0, r3
	bl	vec_pair_idx
	sub	ip, fp, #60
	sub	r3, fp, #132
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-64]
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-108]
	bl	cache_put
	ldr	r0, [fp, #-108]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #100
	bls	.L303
	ldr	r0, [fp, #-108]
	bl	vec_size
	mov	r5, r0
	ldr	r0, [fp, #-112]
	bl	vec_size
	mov	r6, r0
	ldr	r0, [fp, #-80]
	bl	vec_size
	mov	r4, r0
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-108]
	bl	vec_seq_elem
	mov	r3, r0
	mov	r0, r3
	bl	show_bool
	mov	r3, r0
	str	r3, [sp, #12]
	ldr	r3, [fp, #-88]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-96]
	str	r3, [sp, #4]
	str	r4, [sp]
	mov	r3, r6
	mov	r2, r5
	ldr	r1, [fp, #-104]
	ldr	r0, .L308+36
	bl	printf
.L303:
	ldr	r0, [fp, #-80]
	bl	free_eqke
	ldr	r3, [fp, #-64]
.L304:
	ldr	r2, .L308
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L305
	bl	__stack_chk_fail
.L305:
	mov	r0, r3
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L309:
	.align	2
.L308:
	.word	.LC29
	.word	50462976
	.word	selMinHCE
	.word	-1717986918
	.word	1071225241
	.word	__PRETTY_FUNCTION__.6870
	.word	877
	.word	.LC2
	.word	.LC24
	.word	.LC28
	.size	selMinHCE, .-selMinHCE
	.section	.rodata
	.align	2
.LC30:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	selMaxEC
	.syntax unified
	.arm
	.fpu softvfp
	.type	selMaxEC, %function
selMaxEC:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L324
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	bne	.L311
	ldr	r3, .L324+4
	b	.L321
.L311:
	ldr	r0, [fp, #-60]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #2
	bhi	.L313
	mov	r1, #0
	ldr	r0, [fp, #-60]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L321
.L313:
	ldr	r0, [fp, #-64]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #1
	bne	.L314
	mov	r1, #0
	ldr	r0, [fp, #-64]
	bl	vec_seq_idx
	mov	r3, r0
	b	.L321
.L314:
	ldr	r0, [fp, #-60]
	bl	cache_fetch
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	beq	.L315
	ldr	r3, [fp, #-40]
	b	.L321
.L315:
	mov	r3, #0
	str	r3, [fp, #-52]
	sub	r3, fp, #52
	mov	r2, r3
	ldr	r1, [fp, #-64]
	ldr	r0, [fp, #-60]
	bl	eqkg
	str	r0, [fp, #-36]
	mov	r2, #0
	ldr	r3, .L324+8
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mvn	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-48]
	b	.L316
.L319:
	ldr	r3, [fp, #-52]
	ldr	r1, [fp, #-48]
	mov	r0, r3
	bl	vec_vp_idx
	mov	r3, r0
	mov	r0, r3
	bl	larmount
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L317
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
.L317:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
.L316:
	ldr	r0, [fp, #-36]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-48]
	cmp	r3, r2
	bne	.L319
	ldr	r3, [fp, #-44]
	cmn	r3, #1
	bne	.L320
	ldr	r3, .L324+12
	ldr	r2, .L324+16
	ldr	r1, .L324+20
	ldr	r0, .L324+24
	bl	__assert_fail
.L320:
	ldr	r1, [fp, #-44]
	ldr	r0, [fp, #-36]
	bl	vec_seq_idx
	str	r0, [fp, #-32]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-60]
	bl	cache_put
	ldr	r3, [fp, #-52]
	mov	r0, r3
	bl	free_eqkg_g
	ldr	r0, [fp, #-36]
	bl	free_eqkg
	ldr	r3, [fp, #-32]
.L321:
	ldr	r2, .L324
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L322
	bl	__stack_chk_fail
.L322:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L325:
	.align	2
.L324:
	.word	.LC30
	.word	50462976
	.word	-1074790400
	.word	__PRETTY_FUNCTION__.6887
	.word	914
	.word	.LC2
	.word	.LC24
	.size	selMaxEC, .-selMaxEC
	.align	2
	.global	buildTh1
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildTh1, %function
buildTh1:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r0, #68
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #1
	bne	.L327
	mov	r2, #68
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	vec_seq_idx
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3, #64]
	ldr	r3, [fp, #-12]
	b	.L328
.L327:
	ldr	r3, [fp, #-12]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #60]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	vec_seq_elem
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	eor	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3, #64]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	sieve
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L329
.L330:
	ldr	r3, [fp, #-28]
	add	r1, r3, #1
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-24]
	bl	buildThf
	mov	r1, r0
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r1, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L329:
	ldr	r3, [fp, #-16]
	cmp	r3, #14
	bne	.L330
	ldr	r0, [fp, #-8]
	bl	free_sieve
	ldr	r3, [fp, #-12]
.L328:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	buildTh1, .-buildTh1
	.align	2
	.global	buildThf
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildThf, %function
buildThf:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #0
	bne	.L332
	mov	r3, #0
	b	.L333
.L332:
	ldr	r3, [fp, #-16]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	buildTh1
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L333:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	buildThf, .-buildThf
	.align	2
	.global	buildThc1
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildThc1, %function
buildThc1:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	mov	r0, #68
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-32]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #1
	bne	.L335
	mov	r2, #68
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	ldr	r3, [fp, #-12]
	mov	r2, #0
	str	r2, [r3]
	mov	r1, #0
	ldr	r0, [fp, #-32]
	bl	vec_seq_idx
	mov	r2, r0
	ldr	r3, [fp, #-12]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3, #64]
	ldr	r3, [fp, #-12]
	b	.L336
.L335:
	ldr	r3, [fp, #-12]
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-36]
	str	r2, [r3, #60]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	vec_seq_elem
	mov	r3, r0
	cmp	r3, #0
	movne	r3, #1
	moveq	r3, #0
	and	r3, r3, #255
	eor	r3, r3, #1
	and	r3, r3, #255
	and	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, [fp, #-12]
	strb	r2, [r3, #64]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-32]
	bl	sieve
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L337
.L338:
	ldr	r3, [fp, #-28]
	add	r1, r3, #1
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L339
	ldr	r3, [r3]
	ldr	r0, [fp, #-24]
	bl	buildThc
	mov	r1, r0
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r1, [r3, #4]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L337:
	ldr	r3, [fp, #-16]
	cmp	r3, #13
	bls	.L338
	ldr	r0, [fp, #-8]
	bl	free_sieve
	ldr	r3, [fp, #-12]
.L336:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L340:
	.align	2
.L339:
	.word	lst
	.size	buildThc1, .-buildThc1
	.align	2
	.global	buildThc
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildThc, %function
buildThc:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	vec_size
	mov	r3, r0
	cmp	r3, #0
	bne	.L342
	mov	r3, #0
	b	.L343
.L342:
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-20]
	blx	r3
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	buildThc1
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
.L343:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	buildThc, .-buildThc
	.align	2
	.global	free_tree
	.syntax unified
	.arm
	.fpu softvfp
	.type	free_tree, %function
free_tree:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L350
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L347
	ldr	r0, [fp, #-16]
	bl	free
	b	.L344
.L347:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L348
.L349:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	free_tree
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L348:
	ldr	r3, [fp, #-8]
	cmp	r3, #14
	bne	.L349
	ldr	r0, [fp, #-16]
	bl	free
	b	.L344
.L350:
	nop
.L344:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	free_tree, .-free_tree
	.align	2
	.global	buildT
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildT, %function
buildT:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	bl	cache_init
	ldr	r2, [fp, #-8]
	mov	r1, #0
	ldr	r0, .L353
	bl	buildThf
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L354:
	.align	2
.L353:
	.word	selMaxL
	.size	buildT, .-buildT
	.align	2
	.global	cnt
	.syntax unified
	.arm
	.fpu softvfp
	.type	cnt, %function
cnt:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L356
	mov	r3, #0
	b	.L357
.L356:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L358
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L359
.L360:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	cnt
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L359:
	ldr	r3, [fp, #-8]
	cmp	r3, #13
	bne	.L360
.L358:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #64]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
.L357:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	cnt, .-cnt
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	height_rec, %function
height_rec:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L362
	mov	r3, #0
	b	.L363
.L362:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L364
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L365
.L366:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	height_rec
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L365:
	ldr	r3, [fp, #-8]
	cmp	r3, #13
	bne	.L366
.L364:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #64]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	mov	r2, r3
	ldr	r3, [fp, #-20]
	mul	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
.L363:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	height_rec, .-height_rec
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	height, %function
height:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	height_rec
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	height, .-height
	.section	.rodata
	.align	2
.LC31:
	.ascii	"%d,\000"
	.align	2
.LC32:
	.ascii	"sum=%d,hsum=%d\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_level, %function
print_level:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L370
.L371:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-24]
	bl	vec_seq_idx
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, .L372
	bl	printf
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	ldr	r2, [fp, #-8]
	mul	r2, r3, r2
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L370:
	ldr	r0, [fp, #-24]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-20]
	cmp	r3, r2
	bne	.L371
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-16]
	ldr	r0, .L372+4
	bl	printf
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L373:
	.align	2
.L372:
	.word	.LC31
	.word	.LC32
	.size	print_level, .-print_level
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	level, %function
level:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L375
	bl	vec_seq_init
	str	r0, [fp, #-8]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	vec_seq_add
	ldr	r3, [fp, #-8]
	b	.L376
.L375:
	bl	vec_seq_init
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L377
.L380:
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L381
	ldr	r2, [fp, #-32]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	level
	str	r0, [fp, #-12]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	vec_seq_vadd
	str	r0, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	vec_deinit
	ldr	r0, [fp, #-24]
	bl	vec_deinit
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-24]
	b	.L379
.L381:
	nop
.L379:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L377:
	ldr	r3, [fp, #-20]
	cmp	r3, #13
	bne	.L380
	bl	vec_seq_init
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldrb	r3, [r3, #64]	@ zero_extendqisi2
	eor	r3, r3, #1
	and	r3, r3, #255
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	vec_seq_add
	ldr	r1, [fp, #-24]
	ldr	r0, [fp, #-16]
	bl	vec_seq_append
	ldr	r0, [fp, #-24]
	bl	vec_deinit
	ldr	r3, [fp, #-16]
.L376:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	level, .-level
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	probe_cnt, %function
probe_cnt:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L383
	mov	r3, #0
	b	.L384
.L383:
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L385
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L386
.L387:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	probe_cnt
	mov	r2, r0
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L386:
	ldr	r3, [fp, #-8]
	cmp	r3, #13
	bne	.L387
.L385:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3, #64]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
.L384:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	probe_cnt, .-probe_cnt
	.section	.rodata
	.align	2
.LC33:
	.ascii	"\000"
	.align	2
.LC34:
	.ascii	"%*s\000"
	.text
	.align	2
	.global	showT
	.syntax unified
	.arm
	.fpu softvfp
	.type	showT, %function
showT:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L393
	ldr	r3, [fp, #-20]
	ldr	r2, .L394
	mov	r1, r3
	ldr	r0, .L394+4
	bl	printf
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #60]
	mov	r0, r3
	bl	print_seq
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L388
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L391
.L392:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r2
	bl	showT
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L391:
	ldr	r3, [fp, #-8]
	cmp	r3, #13
	bne	.L392
	b	.L388
.L393:
	nop
.L388:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L395:
	.align	2
.L394:
	.word	.LC33
	.word	.LC34
	.size	showT, .-showT
	.section	.rodata
	.align	2
.LC35:
	.ascii	"nd%zu\000"
	.text
	.align	2
	.global	show_node
	.syntax unified
	.arm
	.fpu softvfp
	.type	show_node, %function
show_node:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r1, .L398
	ldr	r0, [fp, #-8]
	bl	sprintf
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L399:
	.align	2
.L398:
	.word	.LC35
	.size	show_node, .-show_node
	.section	.rodata
	.align	2
.LC36:
	.ascii	"%s [label=%s]\012\000"
	.align	2
.LC37:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dotNodeLabel
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotNodeLabel, %function
dotNodeLabel:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L402
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #40
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	show_node
	mov	r4, r0
	sub	r3, fp, #52
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	show_seq
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L402+4
	bl	printf
	nop
	ldr	r3, .L402
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L401
	bl	__stack_chk_fail
.L401:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L403:
	.align	2
.L402:
	.word	.LC37
	.word	.LC36
	.size	dotNodeLabel, .-dotNodeLabel
	.section	.rodata
	.align	2
.LC38:
	.ascii	"%s [label=%zu shape=circle]\012\000"
	.align	2
.LC39:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dotNodeGroup
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotNodeGroup, %function
dotNodeGroup:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L406
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #32
	ldr	r1, [fp, #-40]
	mov	r0, r3
	bl	show_node
	mov	r3, r0
	ldr	r2, [fp, #-44]
	mov	r1, r3
	ldr	r0, .L406+4
	bl	printf
	nop
	ldr	r3, .L406
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L405
	bl	__stack_chk_fail
.L405:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L407:
	.align	2
.L406:
	.word	.LC39
	.word	.LC38
	.size	dotNodeGroup, .-dotNodeGroup
	.section	.rodata
	.align	2
.LC40:
	.ascii	"%s [label=%s shape=box]\012\000"
	.align	2
.LC41:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dotProbe
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotProbe, %function
dotProbe:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #52
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	ldr	r3, .L410
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #40
	ldr	r1, [fp, #-56]
	mov	r0, r3
	bl	show_node
	mov	r4, r0
	sub	r3, fp, #52
	ldr	r1, [fp, #-60]
	mov	r0, r3
	bl	show_seq
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L410+4
	bl	printf
	nop
	ldr	r3, .L410
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L409
	bl	__stack_chk_fail
.L409:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L411:
	.align	2
.L410:
	.word	.LC41
	.word	.LC40
	.size	dotProbe, .-dotProbe
	.section	.rodata
	.align	2
.LC42:
	.ascii	"%s -> %s [label=%s]\012\000"
	.align	2
.LC43:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dotTree_rec
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotTree_rec, %function
dotTree_rec:
	@ args = 0, pretend = 0, frame = 88
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #88
	str	r0, [fp, #-88]
	str	r1, [fp, #-92]
	str	r2, [fp, #-96]
	ldr	r3, .L423
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r2, [fp, #-92]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	str	r3, [fp, #-76]
	ldr	r3, [fp, #-96]
	cmp	r3, #0
	bne	.L413
	ldr	r0, [fp, #-88]
	bl	cnt
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	dotNodeGroup
	b	.L422
.L413:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L415
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #60]
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	dotNodeLabel
	b	.L422
.L415:
	ldr	r3, [fp, #-88]
	ldrb	r3, [r3, #64]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L416
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #60]
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	dotProbe
	b	.L417
.L416:
	ldr	r3, [fp, #-88]
	ldr	r3, [r3, #60]
	mov	r1, r3
	ldr	r0, [fp, #-92]
	bl	dotNodeLabel
.L417:
	mov	r3, #0
	str	r3, [fp, #-80]
	b	.L418
.L420:
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #4]
	cmp	r3, #0
	beq	.L419
	ldr	r2, [fp, #-92]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r3
	ldr	r3, [fp, #-80]
	add	r3, r3, r2
	str	r3, [fp, #-76]
	sub	r3, fp, #64
	ldr	r1, [fp, #-92]
	mov	r0, r3
	bl	show_node
	mov	r4, r0
	sub	r3, fp, #40
	ldr	r1, [fp, #-76]
	mov	r0, r3
	bl	show_node
	mov	r5, r0
	ldr	r2, [fp, #-80]
	sub	r3, fp, #72
	mov	r1, r2
	mov	r0, r3
	bl	show_chk
	mov	r3, r0
	mov	r2, r5
	mov	r1, r4
	ldr	r0, .L423+4
	bl	printf
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-80]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-96]
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-76]
	bl	dotTree_rec
.L419:
	ldr	r3, [fp, #-80]
	add	r3, r3, #1
	str	r3, [fp, #-80]
.L418:
	ldr	r3, [fp, #-80]
	cmp	r3, #13
	bne	.L420
.L422:
	nop
	ldr	r3, .L423
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L421
	bl	__stack_chk_fail
.L421:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L424:
	.align	2
.L423:
	.word	.LC43
	.word	.LC42
	.size	dotTree_rec, .-dotTree_rec
	.section	.rodata
	.align	2
.LC44:
	.ascii	"digraph tree {\000"
	.align	2
.LC45:
	.ascii	"}\000"
	.text
	.align	2
	.global	dotTree
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotTree, %function
dotTree:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r0, .L426
	bl	puts
	mov	r2, #1000
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	dotTree_rec
	ldr	r0, .L426+4
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L427:
	.align	2
.L426:
	.word	.LC44
	.word	.LC45
	.size	dotTree, .-dotTree
	.align	2
	.global	dotTreeh
	.syntax unified
	.arm
	.fpu softvfp
	.type	dotTreeh, %function
dotTreeh:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r0, .L429
	bl	puts
	ldr	r2, [fp, #-12]
	mov	r1, #1
	ldr	r0, [fp, #-8]
	bl	dotTree_rec
	ldr	r0, .L429+4
	bl	puts
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L430:
	.align	2
.L429:
	.word	.LC44
	.word	.LC45
	.size	dotTreeh, .-dotTreeh
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	cons_st, %function
cons_st:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	ldr	r3, [r3]
	lsl	r3, r3, #8
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #8
	ldr	r3, [r3]
	lsl	r3, r3, #16
	add	r2, r2, r3
	ldr	r3, [fp, #-8]
	add	r3, r3, #12
	ldr	r3, [r3]
	lsl	r3, r3, #24
	add	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	cons_st, .-cons_st
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	inc_seq, %function
inc_seq:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	sub	r3, fp, #24
	str	r3, [fp, #-8]
	mov	r3, #0
	strb	r3, [fp, #-13]
	mov	r3, #3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r1, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r1, r3
	add	r2, r2, #1
	and	r2, r2, #255
	strb	r2, [r3]
.L436:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r2, [fp, #-13]
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, .L440
	umull	r1, r3, r2, r3
	lsr	r3, r3, #3
	strb	r3, [fp, #-13]
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L439
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r1, [r3]	@ zero_extendqisi2
	ldrb	r3, [fp, #-13]
	mov	r2, r3
	lsl	r2, r2, #5
	sub	r2, r2, r3
	lsl	r2, r2, #2
	sub	r3, r2, r3
	lsl	r3, r3, #1
	and	r2, r3, #255
	ldr	r0, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r0, r3
	add	r2, r1, r2
	and	r2, r2, #255
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	b	.L436
.L439:
	nop
	ldr	r3, [fp, #-24]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L441:
	.align	2
.L440:
	.word	-858993459
	.size	inc_seq, .-inc_seq
	.section	.rodata
	.align	2
.LC0:
	.word	0
	.word	1
	.word	2
	.word	3
	.align	2
.LC1:
	.word	9
	.word	8
	.word	7
	.word	7
	.align	2
.LC46:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	init_lst
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_lst, %function
init_lst:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #56
	ldr	r3, .L448
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	bl	vec_seq_init
	str	r0, [fp, #-52]
	ldr	r3, .L448+4
	sub	ip, fp, #40
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, .L448+8
	sub	ip, fp, #24
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	sub	r3, fp, #40
	mov	r0, r3
	bl	cons_st
	mov	r3, r0
	str	r3, [fp, #-48]
	sub	r3, fp, #24
	mov	r0, r3
	bl	cons_st
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-56]
	b	.L443
.L445:
	ldr	r0, [fp, #-56]
	bl	is_perm
	mov	r3, r0
	cmp	r3, #0
	beq	.L444
	ldr	r1, [fp, #-56]
	ldr	r0, [fp, #-52]
	bl	vec_seq_add
.L444:
	ldr	r0, [fp, #-56]
	bl	inc_seq
	str	r0, [fp, #-56]
.L443:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bne	.L445
	ldr	r3, [fp, #-52]
	ldr	r2, .L448
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L447
	bl	__stack_chk_fail
.L447:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L449:
	.align	2
.L448:
	.word	.LC46
	.word	.LC0
	.word	.LC1
	.size	init_lst, .-init_lst
	.align	2
	.global	test_sieveg
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_sieveg, %function
test_sieveg:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	bl	init_lst
	str	r0, [fp, #-12]
	ldr	r1, .L452
	ldr	r0, [fp, #-12]
	bl	sieveg
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	print_chk
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L453:
	.align	2
.L452:
	.word	50462976
	.size	test_sieveg, .-test_sieveg
	.align	2
	.global	test_sieve
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_sieve, %function
test_sieve:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	bl	init_lst
	str	r0, [fp, #-12]
	ldr	r1, .L458
	ldr	r0, [fp, #-12]
	bl	sieve
	str	r0, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L455
.L456:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	print_seq_vec
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L455:
	ldr	r3, [fp, #-16]
	cmp	r3, #14
	bne	.L456
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L459:
	.align	2
.L458:
	.word	50462976
	.size	test_sieve, .-test_sieve
	.section	.rodata
	.align	2
.LC47:
	.ascii	"eqk: \000"
	.align	2
.LC48:
	.ascii	"%f\012\000"
	.text
	.align	2
	.global	test_eqk
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_eqk, %function
test_eqk:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	bl	init_lst
	str	r0, [fp, #-32]
	ldr	r1, .L468
	ldr	r0, [fp, #-32]
	bl	sieve
	str	r0, [fp, #-28]
	bl	vec_seq_init
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L461
.L462:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	eqk
	str	r0, [fp, #-16]
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-24]
	bl	vec_seq_append
	ldr	r0, [fp, #-16]
	bl	vec_deinit
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L461:
	ldr	r3, [fp, #-40]
	cmp	r3, #14
	bne	.L462
	ldr	r0, .L468+4
	bl	printf
	ldr	r0, [fp, #-24]
	bl	print_seq_vec
	mov	r3, #0
	str	r3, [fp, #-40]
	b	.L463
.L466:
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	print_seq_vec
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L464
.L465:
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r0, r3
	bl	print_seq
	ldr	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r4, [r3]
	ldr	r1, [fp, #-36]
	ldr	r0, [fp, #-24]
	bl	vec_seq_idx
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	sieveg
	str	r0, [fp, #-20]
	ldr	r0, [fp, #-20]
	bl	print_chk
	ldr	r0, [fp, #-20]
	bl	entropy
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L468+8
	bl	printf
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L464:
	ldr	r0, [fp, #-24]
	bl	vec_size
	mov	r2, r0
	ldr	r3, [fp, #-36]
	cmp	r3, r2
	bne	.L465
	ldr	r3, [fp, #-40]
	add	r3, r3, #1
	str	r3, [fp, #-40]
.L463:
	ldr	r3, [fp, #-40]
	cmp	r3, #13
	bne	.L466
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L469:
	.align	2
.L468:
	.word	50462976
	.word	.LC47
	.word	.LC48
	.size	test_eqk, .-test_eqk
	.section	.rodata
	.align	2
.LC49:
	.ascii	"height=%zu\012\000"
	.align	2
.LC50:
	.ascii	"probe=%zu\012\000"
	.align	2
.LC51:
	.ascii	"active=%zu hit=%zu miss=%zu conflict=%zu hitrate=%f"
	.ascii	" conflict=%f\012\000"
	.text
	.align	2
	.global	test_build
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_build, %function
test_build:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #52
	bl	init_lst
	mov	r3, r0
	ldr	r2, .L472
	str	r3, [r2]
	ldr	r3, .L472
	ldr	r3, [r3]
	mov	r0, r3
	bl	buildT
	str	r0, [fp, #-52]
	ldr	r0, [fp, #-52]
	bl	height
	str	r0, [fp, #-48]
	ldr	r1, [fp, #-48]
	ldr	r0, .L472+4
	bl	printf
	ldr	r0, [fp, #-52]
	bl	level
	str	r0, [fp, #-44]
	ldr	r0, [fp, #-44]
	bl	print_level
	ldr	r0, [fp, #-52]
	bl	probe_cnt
	str	r0, [fp, #-40]
	ldr	r1, [fp, #-40]
	ldr	r0, .L472+8
	bl	printf
	ldr	r3, .L472+12
	ldr	r9, [r3]
	ldr	r3, .L472+16
	ldr	r10, [r3]
	ldr	r3, .L472+20
	ldr	r3, [r3]
	str	r3, [fp, #-56]
	ldr	r3, .L472+24
	ldr	r8, [r3]
	ldr	r3, .L472+16
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L472+16
	ldr	r2, [r3]
	ldr	r3, .L472+20
	ldr	r3, [r3]
	add	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r3, .L472+24
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r4, r0
	mov	r5, r1
	ldr	r3, .L472+20
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_ui2d
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	str	r6, [sp, #8]
	str	r7, [sp, #12]
	str	r8, [sp]
	ldr	r3, [fp, #-56]
	mov	r2, r10
	mov	r1, r9
	ldr	r0, .L472+28
	bl	printf
	mov	r1, #1
	ldr	r0, [fp, #-52]
	bl	dotTreeh
	ldr	r0, [fp, #-44]
	bl	vec_deinit
	ldr	r3, .L472
	ldr	r3, [r3]
	mov	r0, r3
	bl	vec_deinit
	ldr	r0, [fp, #-52]
	bl	free_tree
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L473:
	.align	2
.L472:
	.word	lst
	.word	.LC49
	.word	.LC50
	.word	active
	.word	hit
	.word	miss
	.word	conflict
	.word	.LC51
	.size	test_build, .-test_build
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	test_build
	mov	r3, #0
	mov	r0, r3
	pop	{fp, pc}
	.size	main, .-main
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.6424, %object
	.size	__PRETTY_FUNCTION__.6424, 12
__PRETTY_FUNCTION__.6424:
	.ascii	"vec_seq_idx\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6494, %object
	.size	__PRETTY_FUNCTION__.6494, 8
__PRETTY_FUNCTION__.6494:
	.ascii	"chk2idx\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6410, %object
	.size	__PRETTY_FUNCTION__.6410, 12
__PRETTY_FUNCTION__.6410:
	.ascii	"vec_seq_add\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6591, %object
	.size	__PRETTY_FUNCTION__.6591, 7
__PRETTY_FUNCTION__.6591:
	.ascii	"sieveg\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6674, %object
	.size	__PRETTY_FUNCTION__.6674, 5
__PRETTY_FUNCTION__.6674:
	.ascii	"eqkg\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6392, %object
	.size	__PRETTY_FUNCTION__.6392, 11
__PRETTY_FUNCTION__.6392:
	.ascii	"vec_vp_idx\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6387, %object
	.size	__PRETTY_FUNCTION__.6387, 11
__PRETTY_FUNCTION__.6387:
	.ascii	"vec_vp_add\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6720, %object
	.size	__PRETTY_FUNCTION__.6720, 6
__PRETTY_FUNCTION__.6720:
	.ascii	"first\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6725, %object
	.size	__PRETTY_FUNCTION__.6725, 8
__PRETTY_FUNCTION__.6725:
	.ascii	"selMaxE\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6740, %object
	.size	__PRETTY_FUNCTION__.6740, 8
__PRETTY_FUNCTION__.6740:
	.ascii	"selMaxL\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6773, %object
	.size	__PRETTY_FUNCTION__.6773, 8
__PRETTY_FUNCTION__.6773:
	.ascii	"selMinH\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6415, %object
	.size	__PRETTY_FUNCTION__.6415, 15
__PRETTY_FUNCTION__.6415:
	.ascii	"vec_seq_append\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6850, %object
	.size	__PRETTY_FUNCTION__.6850, 9
__PRETTY_FUNCTION__.6850:
	.ascii	"selMinHC\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6870, %object
	.size	__PRETTY_FUNCTION__.6870, 10
__PRETTY_FUNCTION__.6870:
	.ascii	"selMinHCE\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6465, %object
	.size	__PRETTY_FUNCTION__.6465, 13
__PRETTY_FUNCTION__.6465:
	.ascii	"vec_pair_add\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6470, %object
	.size	__PRETTY_FUNCTION__.6470, 13
__PRETTY_FUNCTION__.6470:
	.ascii	"vec_pair_idx\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6887, %object
	.size	__PRETTY_FUNCTION__.6887, 9
__PRETTY_FUNCTION__.6887:
	.ascii	"selMaxEC\000"
	.align	2
	.type	__PRETTY_FUNCTION__.6556, %object
	.size	__PRETTY_FUNCTION__.6556, 9
__PRETTY_FUNCTION__.6556:
	.ascii	"show_chk\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
