	.file	"969143.c"
	.intel_syntax noprefix
	.text
	.globl	diff
	.type	diff, @function
diff:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, rsi
	mov	r8, rdi
	mov	rsi, r8
	mov	rdi, r9
	mov	rdi, rax
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -48[rbp], rdx
	mov	QWORD PTR -40[rbp], rcx
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	sub	rax, rdx
	test	rax, rax
	jns	.L2
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	sub	rax, rdx
	sub	rax, 1
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 1000000000
	mov	rdx, QWORD PTR -24[rbp]
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	jmp	.L3
.L2:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	sub	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	sub	rax, rdx
	mov	QWORD PTR -8[rbp], rax
.L3:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	diff, .-diff
	.section	.rodata
	.align 8
.LC0:
	.string	"\nUsage: ./cfm_seriation [OPTION...]"
.LC1:
	.string	" Seriation Parameters:"
	.align 8
.LC2:
	.string	"   f=[NETWORK FILE]           Network file path name"
	.align 8
.LC3:
	.string	"   o=[ORDER FILE]             Apply initial order"
	.align 8
.LC4:
	.string	"   i=[INTERVAL]               Number of isothermal steps"
	.align 8
.LC5:
	.string	"   m=[STEPS]                  Number of steps"
	.align 8
.LC6:
	.string	"   c=[FACTOR]                 Cooling factor"
	.align 8
.LC7:
	.string	"   a=[ALPHA]                  Alpha value"
	.align 8
.LC8:
	.string	"   p=[PERCENTUAL]             Percentual energy for initial temperature"
	.align 8
.LC9:
	.string	"   s=[SEDD]                   Random seed"
	.align 8
.LC10:
	.string	"   P                          Plot graphs"
	.align 8
.LC11:
	.string	"   v                          Generate video"
	.text
	.globl	print_help
	.type	print_help, @function
print_help:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, .LC3[rip]
	call	puts@PLT
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	lea	rdi, .LC11[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	print_help, .-print_help
	.globl	args_parser
	.type	args_parser, @function
args_parser:
.LFB8:
	.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, 104
	.cfi_offset 3, -24
	mov	QWORD PTR -88[rbp], rdi
	mov	DWORD PTR -92[rbp], esi
	mov	QWORD PTR -104[rbp], rdx
	mov	WORD PTR -64[rbp], 0
	mov	WORD PTR -62[rbp], 0
	movss	xmm0, DWORD PTR .LC12[rip]
	movss	DWORD PTR -60[rbp], xmm0
	mov	WORD PTR -28[rbp], 100
	mov	QWORD PTR -56[rbp], 0
	mov	QWORD PTR -48[rbp], 0
	mov	edi, 0
	call	time@PLT
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	QWORD PTR -24[rbp], xmm0
	movss	xmm0, DWORD PTR .LC13[rip]
	movss	DWORD PTR -40[rbp], xmm0
	mov	WORD PTR -36[rbp], 100
	movss	xmm0, DWORD PTR .LC14[rip]
	movss	DWORD PTR -32[rbp], xmm0
	mov	WORD PTR -66[rbp], 1
	jmp	.L7
.L21:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	sub	eax, 80
	cmp	eax, 38
	ja	.L8
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L10[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L10[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L10:
	.long	.L20-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L19-.L10
	.long	.L8-.L10
	.long	.L18-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L17-.L10
	.long	.L8-.L10
	.long	.L16-.L10
	.long	.L15-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L14-.L10
	.long	.L8-.L10
	.long	.L13-.L10
	.long	.L12-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L11-.L10
	.long	.L8-.L10
	.long	.L8-.L10
	.long	.L9-.L10
	.text
.L17:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	QWORD PTR -56[rbp], rax
	jmp	.L8
.L13:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	QWORD PTR -48[rbp], rax
	jmp	.L8
.L15:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	call	atoi@PLT
	mov	WORD PTR -36[rbp], ax
	jmp	.L8
.L14:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	call	atoi@PLT
	mov	WORD PTR -28[rbp], ax
	jmp	.L8
.L18:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	call	atof@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -40[rbp], xmm0
	jmp	.L8
.L19:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	call	atof@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -60[rbp], xmm0
	jmp	.L8
.L12:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	call	atof@PLT
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -32[rbp], xmm0
	jmp	.L8
.L11:
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -104[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	add	rax, 2
	mov	rdi, rax
	call	atoi@PLT
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L8
.L20:
	mov	WORD PTR -64[rbp], 1
	jmp	.L8
.L9:
	mov	WORD PTR -62[rbp], 1
	jmp	.L8
.L16:
	mov	eax, 0
	call	print_help
	mov	edi, 1
	call	exit@PLT
.L8:
	movzx	eax, WORD PTR -66[rbp]
	add	eax, 1
	mov	WORD PTR -66[rbp], ax
.L7:
	movsx	eax, WORD PTR -66[rbp]
	cmp	DWORD PTR -92[rbp], eax
	jg	.L21
	mov	rax, QWORD PTR -88[rbp]
	mov	rcx, QWORD PTR -64[rbp]
	mov	rbx, QWORD PTR -56[rbp]
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR 8[rax], rbx
	mov	rcx, QWORD PTR -48[rbp]
	mov	rbx, QWORD PTR -40[rbp]
	mov	QWORD PTR 16[rax], rcx
	mov	QWORD PTR 24[rax], rbx
	mov	rcx, QWORD PTR -32[rbp]
	mov	rbx, QWORD PTR -24[rbp]
	mov	QWORD PTR 32[rax], rcx
	mov	QWORD PTR 40[rax], rbx
	mov	rax, QWORD PTR -88[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	args_parser, .-args_parser
	.section	.rodata
.LC15:
	.string	"%d\n"
.LC16:
	.string	"%d, "
.LC17:
	.string	"%d] : %d\n"
	.text
	.globl	mat2str
	.type	mat2str, @function
mat2str:
.LFB9:
	.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	eax, edx
	mov	WORD PTR -36[rbp], ax
	mov	edi, 32
	call	putchar@PLT
	mov	WORD PTR -12[rbp], 0
	jmp	.L24
.L27:
	movsx	eax, WORD PTR -12[rbp]
	movzx	edx, WORD PTR -36[rbp]
	sub	edx, 1
	cmp	eax, edx
	jne	.L25
	movsx	eax, WORD PTR -12[rbp]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L26
.L25:
	movsx	eax, WORD PTR -12[rbp]
	mov	esi, eax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
.L26:
	movzx	eax, WORD PTR -12[rbp]
	add	eax, 1
	mov	WORD PTR -12[rbp], ax
.L24:
	movsx	edx, WORD PTR -12[rbp]
	movzx	eax, WORD PTR -36[rbp]
	cmp	edx, eax
	jl	.L27
	movzx	eax, WORD PTR -36[rbp]
	sub	eax, 1
	mov	WORD PTR -10[rbp], ax
	jmp	.L28
.L33:
	mov	edi, 91
	call	putchar@PLT
	movsx	rax, WORD PTR -10[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -8[rbp], eax
	mov	WORD PTR -12[rbp], 0
	jmp	.L29
.L32:
	movsx	rax, WORD PTR -12[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -4[rbp], eax
	movsx	eax, WORD PTR -12[rbp]
	movzx	edx, WORD PTR -36[rbp]
	sub	edx, 1
	cmp	eax, edx
	jne	.L30
	movsx	edx, WORD PTR -10[rbp]
	movzx	eax, WORD PTR -8[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	movzx	eax, WORD PTR -4[rbp]
	movsx	rax, ax
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L31
.L30:
	movzx	eax, WORD PTR -8[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -4[rbp]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	esi, eax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
.L31:
	movzx	eax, WORD PTR -12[rbp]
	add	eax, 1
	mov	WORD PTR -12[rbp], ax
.L29:
	movsx	edx, WORD PTR -12[rbp]
	movzx	eax, WORD PTR -36[rbp]
	cmp	edx, eax
	jl	.L32
	movzx	eax, WORD PTR -10[rbp]
	sub	eax, 1
	mov	WORD PTR -10[rbp], ax
.L28:
	cmp	WORD PTR -10[rbp], 0
	jns	.L33
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	mat2str, .-mat2str
	.globl	swap
	.type	swap, @function
swap:
.LFB10:
	.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	ecx, esi
	mov	eax, edx
	mov	edx, ecx
	mov	WORD PTR -28[rbp], dx
	mov	WORD PTR -32[rbp], ax
	movsx	rax, WORD PTR -28[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR 2[rax]
	mov	WORD PTR -2[rbp], ax
	movsx	rax, WORD PTR -32[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movsx	rdx, WORD PTR -28[rbp]
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	edx, WORD PTR [rdx]
	movsx	rdx, dx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, WORD PTR 2[rax]
	mov	WORD PTR 2[rdx], ax
	movsx	rax, WORD PTR -32[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -2[rbp]
	mov	WORD PTR 2[rdx], ax
	movsx	rax, WORD PTR -28[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR -2[rbp], ax
	movsx	rax, WORD PTR -32[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movsx	rdx, WORD PTR -28[rbp]
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	movzx	eax, WORD PTR [rax]
	mov	WORD PTR [rdx], ax
	movsx	rax, WORD PTR -32[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -2[rbp]
	mov	WORD PTR [rdx], ax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	swap, .-swap
	.globl	get_size_column
	.type	get_size_column, @function
get_size_column:
.LFB11:
	.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	eax, edx
	mov	WORD PTR -36[rbp], ax
	movzx	eax, WORD PTR -36[rbp]
	sub	eax, 1
	mov	WORD PTR -2[rbp], ax
	jmp	.L36
.L40:
	movsx	rax, WORD PTR -2[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 0
	mov	WORD PTR -4[rbp], 0
	jmp	.L37
.L39:
	movsx	rax, WORD PTR -2[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -4[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	jne	.L38
	movsx	rax, WORD PTR -2[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	movzx	edx, WORD PTR [rax]
	add	edx, 1
	mov	WORD PTR [rax], dx
.L38:
	movzx	eax, WORD PTR -4[rbp]
	add	eax, 1
	mov	WORD PTR -4[rbp], ax
.L37:
	movsx	edx, WORD PTR -4[rbp]
	movzx	eax, WORD PTR -36[rbp]
	cmp	edx, eax
	jl	.L39
	movzx	eax, WORD PTR -2[rbp]
	sub	eax, 1
	mov	WORD PTR -2[rbp], ax
.L36:
	cmp	WORD PTR -2[rbp], 0
	jns	.L40
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	get_size_column, .-get_size_column
	.globl	compress_matrix
	.type	compress_matrix, @function
compress_matrix:
.LFB12:
	.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	eax, edx
	mov	WORD PTR -36[rbp], ax
	mov	WORD PTR -4[rbp], 0
	jmp	.L42
.L46:
	mov	WORD PTR -2[rbp], 0
	mov	WORD PTR -6[rbp], 0
	jmp	.L43
.L45:
	movsx	rax, WORD PTR -4[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -6[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 1
	jne	.L44
	movsx	rax, WORD PTR -4[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -2[rbp]
	add	rax, rax
	add	rdx, rax
	movzx	eax, WORD PTR -6[rbp]
	mov	WORD PTR [rdx], ax
	movzx	eax, WORD PTR -2[rbp]
	add	eax, 1
	mov	WORD PTR -2[rbp], ax
.L44:
	movzx	eax, WORD PTR -6[rbp]
	add	eax, 1
	mov	WORD PTR -6[rbp], ax
.L43:
	movsx	edx, WORD PTR -6[rbp]
	movzx	eax, WORD PTR -36[rbp]
	cmp	edx, eax
	jl	.L45
	movzx	eax, WORD PTR -4[rbp]
	add	eax, 1
	mov	WORD PTR -4[rbp], ax
.L42:
	movsx	edx, WORD PTR -4[rbp]
	movzx	eax, WORD PTR -36[rbp]
	cmp	edx, eax
	jl	.L46
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	compress_matrix, .-compress_matrix
	.globl	getPartEnergy
	.type	getPartEnergy, @function
getPartEnergy:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -88[rbp], rdi
	mov	QWORD PTR -96[rbp], rsi
	mov	eax, ecx
	mov	QWORD PTR -112[rbp], r8
	mov	QWORD PTR -120[rbp], r9
	mov	ecx, DWORD PTR 16[rbp]
	movss	DWORD PTR -128[rbp], xmm0
	mov	WORD PTR -100[rbp], dx
	mov	WORD PTR -104[rbp], ax
	mov	eax, ecx
	mov	WORD PTR -124[rbp], ax
	movzx	eax, WORD PTR -100[rbp]
	mov	WORD PTR -70[rbp], ax
	movzx	eax, WORD PTR -104[rbp]
	mov	WORD PTR -68[rbp], ax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	movzx	eax, WORD PTR -100[rbp]
	cmp	ax, WORD PTR -104[rbp]
	jle	.L48
	movzx	eax, WORD PTR -104[rbp]
	mov	WORD PTR -70[rbp], ax
	movzx	eax, WORD PTR -100[rbp]
	mov	WORD PTR -68[rbp], ax
.L48:
	movzx	eax, WORD PTR -70[rbp]
	mov	WORD PTR -62[rbp], ax
	movzx	eax, WORD PTR -68[rbp]
	mov	WORD PTR -60[rbp], ax
	movsx	eax, WORD PTR -70[rbp]
	lea	edx, 1[rax]
	movsx	eax, WORD PTR -68[rbp]
	cmp	edx, eax
	jne	.L49
	cmp	WORD PTR -70[rbp], 0
	jne	.L50
	mov	BYTE PTR -73[rbp], 2
	jmp	.L51
.L50:
	mov	BYTE PTR -73[rbp], 3
	movzx	eax, WORD PTR -70[rbp]
	sub	eax, 1
	mov	WORD PTR -70[rbp], ax
.L51:
	movsx	eax, WORD PTR -68[rbp]
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	jne	.L52
	mov	BYTE PTR -72[rbp], 0
	jmp	.L53
.L52:
	mov	BYTE PTR -72[rbp], 1
	movzx	eax, WORD PTR -68[rbp]
	add	eax, 1
	mov	WORD PTR -68[rbp], ax
	jmp	.L53
.L49:
	movsx	eax, WORD PTR -70[rbp]
	lea	edx, 1[rax]
	movsx	eax, WORD PTR -68[rbp]
	sub	eax, 1
	cmp	edx, eax
	jne	.L54
	cmp	WORD PTR -70[rbp], 0
	jne	.L55
	mov	BYTE PTR -73[rbp], 2
	jmp	.L56
.L55:
	mov	BYTE PTR -73[rbp], 3
	movzx	eax, WORD PTR -70[rbp]
	sub	eax, 1
	mov	WORD PTR -70[rbp], ax
.L56:
	movsx	eax, WORD PTR -68[rbp]
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	jne	.L57
	mov	BYTE PTR -72[rbp], 1
	jmp	.L53
.L57:
	mov	BYTE PTR -72[rbp], 2
	jmp	.L53
.L54:
	cmp	WORD PTR -70[rbp], 0
	jne	.L58
	mov	BYTE PTR -73[rbp], 2
	jmp	.L59
.L58:
	mov	BYTE PTR -73[rbp], 3
	movzx	eax, WORD PTR -70[rbp]
	sub	eax, 1
	mov	WORD PTR -70[rbp], ax
.L59:
	movsx	eax, WORD PTR -68[rbp]
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	jne	.L60
	mov	BYTE PTR -72[rbp], 2
	jmp	.L61
.L60:
	mov	BYTE PTR -72[rbp], 3
.L61:
	movzx	eax, WORD PTR -68[rbp]
	sub	eax, 1
	mov	WORD PTR -68[rbp], ax
.L53:
	movzx	edx, BYTE PTR -73[rbp]
	movzx	eax, WORD PTR -70[rbp]
	add	eax, edx
	mov	WORD PTR -58[rbp], ax
	movzx	eax, WORD PTR -70[rbp]
	mov	WORD PTR -64[rbp], ax
	jmp	.L62
.L70:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	movsx	rax, WORD PTR -64[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
	mov	WORD PTR -66[rbp], 0
	jmp	.L63
.L69:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -66[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -64[rbp], ax
	jge	.L64
	mov	BYTE PTR -71[rbp], 0
	movzx	eax, WORD PTR -50[rbp]
	test	ax, ax
	je	.L65
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	sal	rax, 2
	lea	rcx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L65:
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L66
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L66:
	cmp	WORD PTR -64[rbp], 0
	je	.L67
	movsx	rax, WORD PTR -64[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L67:
	movsx	eax, WORD PTR -64[rbp]
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L68
	movsx	rax, WORD PTR -64[rbp]
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L68:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -128[rbp]
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -64[rbp]
	sub	eax, edx
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movq	rax, xmm2
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -71[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L64:
	movzx	eax, WORD PTR -66[rbp]
	add	eax, 1
	mov	WORD PTR -66[rbp], ax
.L63:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -66[rbp], ax
	jl	.L69
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	movzx	eax, WORD PTR -64[rbp]
	add	eax, 1
	mov	WORD PTR -64[rbp], ax
.L62:
	movzx	eax, WORD PTR -64[rbp]
	cmp	ax, WORD PTR -58[rbp]
	jl	.L70
	movzx	eax, WORD PTR -58[rbp]
	sub	eax, 1
	mov	WORD PTR -66[rbp], ax
	jmp	.L71
.L79:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
	mov	WORD PTR -64[rbp], 0
	jmp	.L72
.L78:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -64[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -66[rbp], ax
	jle	.L73
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -62[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L73
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -62[rbp], ax
	je	.L73
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -62[rbp]
	add	edx, 1
	cmp	eax, edx
	je	.L73
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -60[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L73
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -60[rbp], ax
	je	.L73
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -60[rbp]
	add	edx, 1
	cmp	eax, edx
	je	.L73
	mov	BYTE PTR -71[rbp], 0
	movzx	eax, WORD PTR -50[rbp]
	test	ax, ax
	je	.L74
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	sal	rax, 2
	lea	rcx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L74:
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L75
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L75:
	cmp	WORD PTR -66[rbp], 0
	je	.L76
	movsx	rax, WORD PTR -66[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L76:
	movsx	eax, WORD PTR -66[rbp]
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L77
	movsx	rax, WORD PTR -66[rbp]
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L77:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -128[rbp]
	movsx	eax, WORD PTR -66[rbp]
	movzx	edx, WORD PTR -50[rbp]
	movsx	edx, dx
	sub	eax, edx
	pxor	xmm3, xmm3
	cvtsi2sd	xmm3, eax
	movq	rax, xmm3
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -71[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L73:
	movzx	eax, WORD PTR -64[rbp]
	add	eax, 1
	mov	WORD PTR -64[rbp], ax
.L72:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -64[rbp], ax
	jl	.L78
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movzx	eax, WORD PTR -66[rbp]
	sub	eax, 1
	mov	WORD PTR -66[rbp], ax
.L71:
	movzx	eax, WORD PTR -66[rbp]
	cmp	ax, WORD PTR -70[rbp]
	jge	.L79
	cmp	BYTE PTR -72[rbp], 0
	je	.L80
	movzx	edx, BYTE PTR -72[rbp]
	movzx	eax, WORD PTR -68[rbp]
	add	eax, edx
	mov	WORD PTR -58[rbp], ax
	movzx	eax, WORD PTR -68[rbp]
	mov	WORD PTR -64[rbp], ax
	jmp	.L81
.L89:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	movsx	rax, WORD PTR -64[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
	mov	WORD PTR -66[rbp], 0
	jmp	.L82
.L88:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -66[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -64[rbp], ax
	jge	.L83
	mov	BYTE PTR -71[rbp], 0
	movzx	eax, WORD PTR -50[rbp]
	test	ax, ax
	je	.L84
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	sal	rax, 2
	lea	rcx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L84:
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L85
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L85:
	cmp	WORD PTR -64[rbp], 0
	je	.L86
	movsx	rax, WORD PTR -64[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L86:
	movsx	eax, WORD PTR -64[rbp]
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L87
	movsx	rax, WORD PTR -64[rbp]
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L87:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -128[rbp]
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -64[rbp]
	sub	eax, edx
	pxor	xmm4, xmm4
	cvtsi2sd	xmm4, eax
	movq	rax, xmm4
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -71[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L83:
	movzx	eax, WORD PTR -66[rbp]
	add	eax, 1
	mov	WORD PTR -66[rbp], ax
.L82:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -66[rbp], ax
	jl	.L88
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movzx	eax, WORD PTR -64[rbp]
	add	eax, 1
	mov	WORD PTR -64[rbp], ax
.L81:
	movzx	eax, WORD PTR -64[rbp]
	cmp	ax, WORD PTR -58[rbp]
	jl	.L89
	movzx	eax, WORD PTR -58[rbp]
	sub	eax, 1
	mov	WORD PTR -66[rbp], ax
	jmp	.L90
.L98:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	movsx	rax, WORD PTR -66[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
	mov	WORD PTR -64[rbp], 0
	jmp	.L91
.L97:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -64[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -66[rbp], ax
	jle	.L92
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -60[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L92
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -60[rbp], ax
	je	.L92
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -60[rbp]
	add	edx, 1
	cmp	eax, edx
	je	.L92
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -62[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L92
	movzx	eax, WORD PTR -50[rbp]
	cmp	WORD PTR -62[rbp], ax
	je	.L92
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movsx	edx, WORD PTR -62[rbp]
	add	edx, 1
	cmp	eax, edx
	je	.L92
	mov	BYTE PTR -71[rbp], 0
	movzx	eax, WORD PTR -50[rbp]
	test	ax, ax
	je	.L93
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	sal	rax, 2
	lea	rcx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L93:
	movzx	eax, WORD PTR -50[rbp]
	cwde
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L94
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L94:
	cmp	WORD PTR -66[rbp], 0
	je	.L95
	movsx	rax, WORD PTR -66[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L95:
	movsx	eax, WORD PTR -66[rbp]
	movzx	edx, WORD PTR -124[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L96
	movsx	rax, WORD PTR -66[rbp]
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -50[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -71[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -71[rbp], al
.L96:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -128[rbp]
	movsx	eax, WORD PTR -66[rbp]
	movzx	edx, WORD PTR -50[rbp]
	movsx	edx, dx
	sub	eax, edx
	pxor	xmm5, xmm5
	cvtsi2sd	xmm5, eax
	movq	rax, xmm5
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -71[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L92:
	movzx	eax, WORD PTR -64[rbp]
	add	eax, 1
	mov	WORD PTR -64[rbp], ax
.L91:
	movzx	eax, WORD PTR -56[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -64[rbp], ax
	jl	.L97
	movsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movzx	eax, WORD PTR -66[rbp]
	sub	eax, 1
	mov	WORD PTR -66[rbp], ax
.L90:
	movzx	eax, WORD PTR -66[rbp]
	cmp	ax, WORD PTR -68[rbp]
	jge	.L98
.L80:
	movsd	xmm0, QWORD PTR -48[rbp]
	addsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	getPartEnergy, .-getPartEnergy
	.globl	getMatEnergy
	.type	getMatEnergy, @function
getMatEnergy:
.LFB14:
	.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 -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	eax, r8d
	movss	DWORD PTR -88[rbp], xmm0
	mov	WORD PTR -84[rbp], ax
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	movzx	eax, WORD PTR -84[rbp]
	sub	eax, 1
	mov	WORD PTR -36[rbp], ax
	jmp	.L101
.L109:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	movsx	rax, WORD PTR -36[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	WORD PTR -34[rbp], 0
	jmp	.L102
.L108:
	movzx	eax, WORD PTR -32[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -34[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	movzx	eax, WORD PTR -26[rbp]
	cmp	WORD PTR -36[rbp], ax
	jge	.L103
	mov	BYTE PTR -37[rbp], 0
	movzx	eax, WORD PTR -26[rbp]
	test	ax, ax
	je	.L104
	movzx	eax, WORD PTR -32[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -26[rbp]
	movsx	rax, ax
	sal	rax, 2
	lea	rcx, -4[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -37[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -37[rbp], al
.L104:
	movzx	eax, WORD PTR -26[rbp]
	cwde
	movzx	edx, WORD PTR -84[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L105
	movzx	eax, WORD PTR -32[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -26[rbp]
	movsx	rax, ax
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -37[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -37[rbp], al
.L105:
	cmp	WORD PTR -36[rbp], 0
	je	.L106
	movsx	rax, WORD PTR -36[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -26[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -37[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -37[rbp], al
.L106:
	movsx	eax, WORD PTR -36[rbp]
	movzx	edx, WORD PTR -84[rbp]
	sub	edx, 1
	cmp	eax, edx
	je	.L107
	movsx	rax, WORD PTR -36[rbp]
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movzx	eax, WORD PTR -26[rbp]
	movsx	rax, ax
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rcx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	edx, eax
	movzx	eax, BYTE PTR -37[rbp]
	sub	eax, edx
	add	eax, 1
	mov	BYTE PTR -37[rbp], al
.L107:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -88[rbp]
	movzx	eax, WORD PTR -26[rbp]
	cwde
	movsx	edx, WORD PTR -36[rbp]
	sub	eax, edx
	pxor	xmm2, xmm2
	cvtsi2sd	xmm2, eax
	movq	rax, xmm2
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	movzx	eax, BYTE PTR -37[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -16[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
.L103:
	movzx	eax, WORD PTR -34[rbp]
	add	eax, 1
	mov	WORD PTR -34[rbp], ax
.L102:
	movzx	eax, WORD PTR -32[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -34[rbp], ax
	jl	.L108
	movsd	xmm0, QWORD PTR -24[rbp]
	addsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movzx	eax, WORD PTR -36[rbp]
	sub	eax, 1
	mov	WORD PTR -36[rbp], ax
.L101:
	cmp	WORD PTR -36[rbp], 0
	jns	.L109
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	getMatEnergy, .-getMatEnergy
	.section	.rodata
.LC19:
	.string	" \t\n"
	.text
	.globl	buildMat
	.type	buildMat, @function
buildMat:
.LFB15:
	.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, 184
	.cfi_offset 3, -24
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	QWORD PTR -184[rbp], rdx
	mov	eax, ecx
	mov	WORD PTR -188[rbp], ax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	WORD PTR -146[rbp], 0
	movzx	eax, WORD PTR -188[rbp]
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -136[rbp], rax
	mov	WORD PTR -152[rbp], 0
	jmp	.L112
.L113:
	movzx	eax, WORD PTR -188[rbp]
	movsx	rdx, WORD PTR -152[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	movzx	eax, WORD PTR -152[rbp]
	add	eax, 1
	mov	WORD PTR -152[rbp], ax
.L112:
	movsx	edx, WORD PTR -152[rbp]
	movzx	eax, WORD PTR -188[rbp]
	cmp	edx, eax
	jl	.L113
	jmp	.L114
.L121:
	lea	rax, -112[rbp]
	mov	QWORD PTR -144[rbp], rax
	lea	rax, -144[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strsep@PLT
	mov	QWORD PTR -128[rbp], rax
	lea	rax, -144[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strsep@PLT
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -128[rbp], 0
	je	.L115
	cmp	QWORD PTR -120[rbp], 0
	je	.L115
	mov	WORD PTR -150[rbp], -1
	mov	WORD PTR -148[rbp], -1
	mov	WORD PTR -152[rbp], 0
	jmp	.L116
.L120:
	movsx	rax, WORD PTR -152[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L117
	movzx	eax, WORD PTR -152[rbp]
	mov	WORD PTR -150[rbp], ax
.L117:
	movsx	rax, WORD PTR -152[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -184[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L118
	movzx	eax, WORD PTR -152[rbp]
	mov	WORD PTR -148[rbp], ax
.L118:
	cmp	WORD PTR -150[rbp], 0
	jle	.L119
	cmp	WORD PTR -148[rbp], 0
	jg	.L123
.L119:
	movzx	eax, WORD PTR -152[rbp]
	add	eax, 1
	mov	WORD PTR -152[rbp], ax
.L116:
	movsx	edx, WORD PTR -152[rbp]
	movzx	eax, WORD PTR -188[rbp]
	cmp	edx, eax
	jl	.L120
	jmp	.L115
.L123:
	nop
.L115:
	movsx	rax, WORD PTR -150[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -148[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
	movsx	rax, WORD PTR -148[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -150[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 1
.L114:
	mov	rdx, QWORD PTR -168[rbp]
	lea	rax, -112[rbp]
	mov	esi, 80
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L121
	mov	rax, QWORD PTR -176[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L122
	call	__stack_chk_fail@PLT
.L122:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	buildMat, .-buildMat
	.section	.rodata
.LC20:
	.string	"Protein"
.LC21:
	.string	"Invalid order file format."
	.align 8
.LC22:
	.string	"ERROR while reading order file."
	.text
	.globl	applyOrderFile
	.type	applyOrderFile, @function
applyOrderFile:
.LFB16:
	.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, 168
	.cfi_offset 3, -24
	mov	QWORD PTR -168[rbp], rdi
	mov	QWORD PTR -176[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	jmp	.L125
.L129:
	lea	rax, -112[rbp]
	mov	QWORD PTR -144[rbp], rax
	lea	rax, -144[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strsep@PLT
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	WORD PTR -150[rbp], ax
	lea	rax, -144[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strsep@PLT
	mov	QWORD PTR -120[rbp], rax
	cmp	QWORD PTR -128[rbp], 0
	je	.L126
	cmp	QWORD PTR -120[rbp], 0
	je	.L126
	mov	rax, QWORD PTR -128[rbp]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L125
	lea	rcx, -136[rbp]
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, 10
	mov	rsi, rcx
	mov	rdi, rax
	call	strtol@PLT
	mov	DWORD PTR -148[rbp], eax
	mov	rax, QWORD PTR -136[rbp]
	cmp	QWORD PTR -120[rbp], rax
	jne	.L128
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L128:
	movsx	rax, WORD PTR -150[rbp]
	mov	edx, DWORD PTR -148[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -176[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -176[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	jmp	.L125
.L126:
	lea	rdi, .LC22[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L125:
	mov	rdx, QWORD PTR -168[rbp]
	lea	rax, -112[rbp]
	mov	esi, 80
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L129
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L130
	call	__stack_chk_fail@PLT
.L130:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	applyOrderFile, .-applyOrderFile
	.section	.rodata
.LC23:
	.string	"\tProteins: %d\n"
.LC24:
	.string	"\tInteractions: %d\n"
	.text
	.globl	readProteinList
	.type	readProteinList, @function
readProteinList:
.LFB17:
	.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, 184
	.cfi_offset 3, -24
	mov	QWORD PTR -184[rbp], rdi
	mov	QWORD PTR -192[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	WORD PTR -160[rbp], 0
	mov	WORD PTR -158[rbp], 0
	mov	WORD PTR -156[rbp], 0
	mov	WORD PTR -154[rbp], 0
	mov	QWORD PTR -136[rbp], 0
	mov	DWORD PTR -148[rbp], 0
	jmp	.L132
.L148:
	lea	rax, -112[rbp]
	mov	QWORD PTR -144[rbp], rax
	lea	rax, -144[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strsep@PLT
	mov	QWORD PTR -128[rbp], rax
	mov	rax, QWORD PTR -128[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	WORD PTR -152[rbp], ax
	lea	rax, -144[rbp]
	lea	rsi, .LC19[rip]
	mov	rdi, rax
	call	strsep@PLT
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	eax, 1
	mov	WORD PTR -150[rbp], ax
	cmp	QWORD PTR -128[rbp], 0
	je	.L132
	cmp	QWORD PTR -120[rbp], 0
	je	.L132
	cmp	WORD PTR -154[rbp], 0
	jne	.L133
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -136[rbp], rax
	movsx	rax, WORD PTR -152[rbp]
	movzx	edx, WORD PTR -154[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	movzx	eax, WORD PTR -154[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	WORD PTR -158[rbp], 1
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	mov	WORD PTR -154[rbp], ax
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -136[rbp], rax
	movsx	rax, WORD PTR -150[rbp]
	movzx	edx, WORD PTR -154[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	movzx	eax, WORD PTR -154[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	WORD PTR -156[rbp], 1
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	mov	WORD PTR -154[rbp], ax
	jmp	.L134
.L133:
	movsx	rax, WORD PTR -160[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L135
	mov	WORD PTR -156[rbp], 0
	mov	WORD PTR -162[rbp], 0
	jmp	.L136
.L140:
	movsx	rax, WORD PTR -162[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L137
	mov	WORD PTR -156[rbp], 1
	jmp	.L134
.L137:
	movsx	eax, WORD PTR -162[rbp]
	movzx	edx, WORD PTR -154[rbp]
	sub	edx, 1
	cmp	eax, edx
	jne	.L139
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -136[rbp], rax
	movsx	rax, WORD PTR -150[rbp]
	movzx	edx, WORD PTR -154[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	movzx	eax, WORD PTR -154[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	WORD PTR -156[rbp], 1
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	mov	WORD PTR -154[rbp], ax
.L139:
	movzx	eax, WORD PTR -162[rbp]
	add	eax, 1
	mov	WORD PTR -162[rbp], ax
.L136:
	movsx	edx, WORD PTR -162[rbp]
	movzx	eax, WORD PTR -154[rbp]
	cmp	edx, eax
	jl	.L140
	jmp	.L134
.L135:
	mov	WORD PTR -158[rbp], 0
	mov	WORD PTR -156[rbp], 0
	mov	WORD PTR -162[rbp], 0
	jmp	.L141
.L147:
	movsx	rax, WORD PTR -162[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L142
	cmp	WORD PTR -158[rbp], 0
	jne	.L142
	mov	WORD PTR -158[rbp], 1
.L142:
	movsx	rax, WORD PTR -162[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L143
	cmp	WORD PTR -156[rbp], 0
	jne	.L143
	mov	WORD PTR -156[rbp], 1
.L143:
	cmp	WORD PTR -158[rbp], 0
	je	.L144
	cmp	WORD PTR -156[rbp], 0
	jne	.L151
.L144:
	movsx	eax, WORD PTR -162[rbp]
	movzx	edx, WORD PTR -154[rbp]
	sub	edx, 1
	cmp	eax, edx
	jne	.L145
	cmp	WORD PTR -158[rbp], 0
	jne	.L146
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -136[rbp], rax
	movsx	rax, WORD PTR -152[rbp]
	movzx	edx, WORD PTR -154[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	movzx	eax, WORD PTR -154[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -128[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	movzx	eax, WORD PTR -154[rbp]
	mov	WORD PTR -160[rbp], ax
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	mov	WORD PTR -154[rbp], ax
.L146:
	cmp	WORD PTR -156[rbp], 0
	jne	.L145
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -136[rbp], rax
	movsx	rax, WORD PTR -150[rbp]
	movzx	edx, WORD PTR -154[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -136[rbp]
	lea	rbx, [rcx+rdx]
	mov	esi, 1
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	movzx	eax, WORD PTR -154[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -136[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	movzx	eax, WORD PTR -154[rbp]
	add	eax, 1
	mov	WORD PTR -154[rbp], ax
.L145:
	movzx	eax, WORD PTR -162[rbp]
	add	eax, 1
	mov	WORD PTR -162[rbp], ax
.L141:
	movsx	edx, WORD PTR -162[rbp]
	movzx	eax, WORD PTR -154[rbp]
	cmp	edx, eax
	jl	.L147
	jmp	.L134
.L151:
	nop
.L134:
	add	DWORD PTR -148[rbp], 1
.L132:
	mov	rdx, QWORD PTR -184[rbp]
	lea	rax, -112[rbp]
	mov	esi, 80
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L148
	movzx	eax, WORD PTR -154[rbp]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -148[rbp]
	shr	eax
	mov	esi, eax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -192[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR [rax], rdx
	movzx	eax, WORD PTR -154[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L150
	call	__stack_chk_fail@PLT
.L150:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	readProteinList, .-readProteinList
	.globl	rand_values
	.type	rand_values, @function
rand_values:
.LFB18:
	.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	eax, esi
	mov	WORD PTR -28[rbp], ax
	mov	WORD PTR -8[rbp], 0
	jmp	.L153
.L160:
	mov	WORD PTR -4[rbp], 1
	movsx	rax, WORD PTR -8[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], -1
.L159:
	call	rand@PLT
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	xmm2, QWORD PTR .LC25[rip]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movzx	eax, WORD PTR -28[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	WORD PTR -2[rbp], ax
	mov	WORD PTR -6[rbp], 0
	jmp	.L154
.L158:
	movsx	rax, WORD PTR -6[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -2[rbp], ax
	je	.L161
	movzx	eax, WORD PTR -6[rbp]
	cmp	ax, WORD PTR -8[rbp]
	jne	.L157
	movsx	rax, WORD PTR -6[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -2[rbp]
	mov	WORD PTR [rdx], ax
	mov	WORD PTR -4[rbp], 0
.L157:
	movzx	eax, WORD PTR -6[rbp]
	add	eax, 1
	mov	WORD PTR -6[rbp], ax
.L154:
	movzx	eax, WORD PTR -6[rbp]
	cmp	ax, WORD PTR -8[rbp]
	jle	.L158
	jmp	.L156
.L161:
	nop
.L156:
	cmp	WORD PTR -4[rbp], 0
	jne	.L159
	movzx	eax, WORD PTR -8[rbp]
	add	eax, 1
	mov	WORD PTR -8[rbp], ax
.L153:
	movsx	edx, WORD PTR -8[rbp]
	movzx	eax, WORD PTR -28[rbp]
	cmp	edx, eax
	jl	.L160
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	rand_values, .-rand_values
	.section	.rodata
.LC27:
	.string	"%3d%% ["
.LC28:
	.string	"]\r"
	.text
	.globl	progressBar
	.type	progressBar, @function
progressBar:
.LFB19:
	.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	edx, edi
	mov	eax, esi
	mov	WORD PTR -20[rbp], dx
	mov	WORD PTR -24[rbp], ax
	movzx	eax, WORD PTR -20[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -24[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	movss	DWORD PTR -4[rbp], xmm0
	movss	xmm1, DWORD PTR -4[rbp]
	movss	xmm0, DWORD PTR .LC26[rip]
	mulss	xmm0, xmm1
	cvttss2si	eax, xmm0
	mov	WORD PTR -6[rbp], ax
	movss	xmm1, DWORD PTR -4[rbp]
	movss	xmm0, DWORD PTR .LC26[rip]
	mulss	xmm0, xmm1
	cvttss2si	eax, xmm0
	mov	esi, eax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	mov	WORD PTR -8[rbp], 0
	jmp	.L163
.L164:
	mov	edi, 61
	call	putchar@PLT
	movzx	eax, WORD PTR -8[rbp]
	add	eax, 1
	mov	WORD PTR -8[rbp], ax
.L163:
	movzx	eax, WORD PTR -8[rbp]
	cmp	ax, WORD PTR -6[rbp]
	jb	.L164
	movzx	eax, WORD PTR -6[rbp]
	mov	WORD PTR -8[rbp], ax
	jmp	.L165
.L166:
	mov	edi, 32
	call	putchar@PLT
	movzx	eax, WORD PTR -8[rbp]
	add	eax, 1
	mov	WORD PTR -8[rbp], ax
.L165:
	cmp	WORD PTR -8[rbp], 99
	jbe	.L166
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	progressBar, .-progressBar
	.section	.rodata
.LC29:
	.string	"%s/frame%d"
	.align 8
.LC30:
	.string	"gnuplot -p -e \"load '/usr/share/cfm-seriation/etc/matrix.gnu';set output '%s.png';filename='%s';set multiplot;p '%s.dat' w dots lt 0;set xrange [0:%d];load '/usr/share/cfm-seriation/etc/video.gnu'\""
.LC31:
	.string	"%s/frame%d.dat"
.LC32:
	.string	"w+"
.LC33:
	.string	"%f\t%f\n"
.LC34:
	.string	"rm %s"
	.text
	.globl	buildFrame
	.type	buildFrame, @function
buildFrame:
.LFB20:
	.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
	sub	rsp, 112
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	mov	QWORD PTR -104[rbp], r8
	mov	ecx, r9d
	mov	edx, DWORD PTR 16[rbp]
	mov	eax, DWORD PTR 24[rbp]
	mov	WORD PTR -108[rbp], cx
	mov	WORD PTR -112[rbp], dx
	mov	WORD PTR -116[rbp], ax
	mov	QWORD PTR -40[rbp], 0
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 12
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	movsx	ecx, WORD PTR -116[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC29[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	r12, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, r12
	add	rax, rbx
	add	rax, 201
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	movsx	edi, WORD PTR -108[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	r9d, edi
	mov	r8, rsi
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -96[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	QWORD PTR -40[rbp], rax
	movsx	ecx, WORD PTR -116[rbp]
	mov	rdx, QWORD PTR -96[rbp]
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC31[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -24[rbp], rax
	movzx	eax, WORD PTR -112[rbp]
	sub	eax, 1
	mov	WORD PTR -52[rbp], ax
	jmp	.L168
.L172:
	movsx	rax, WORD PTR -52[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	WORD PTR -50[rbp], 0
	jmp	.L169
.L171:
	movzx	eax, WORD PTR -48[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -88[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -50[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	movzx	eax, WORD PTR -42[rbp]
	cmp	WORD PTR -52[rbp], ax
	jge	.L170
	movsx	eax, WORD PTR -52[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -112[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movzx	eax, WORD PTR -42[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -112[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm3, xmm3
	cvtss2sd	xmm3, xmm0
	movq	rdx, xmm3
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm1, xmm2
	movq	xmm0, rdx
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	movzx	eax, WORD PTR -42[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -112[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movsx	eax, WORD PTR -52[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -112[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, xmm0
	movq	rdx, xmm4
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm1, xmm2
	movq	xmm0, rdx
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
.L170:
	movzx	eax, WORD PTR -50[rbp]
	add	eax, 1
	mov	WORD PTR -50[rbp], ax
.L169:
	movzx	eax, WORD PTR -48[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -80[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -50[rbp], ax
	jl	.L171
	movzx	eax, WORD PTR -52[rbp]
	sub	eax, 1
	mov	WORD PTR -52[rbp], ax
.L168:
	cmp	WORD PTR -52[rbp], 0
	jns	.L172
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	system@PLT
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC34[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	system@PLT
	nop
	add	rsp, 112
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	buildFrame, .-buildFrame
	.section	.rodata
	.align 8
.LC35:
	.string	"\nUsage: cfm-seriation [OPTION...]"
	.align 8
.LC36:
	.string	"   f=[NETWORK FILE].dat       Network file path name"
	.align 8
.LC37:
	.string	"   o=[ORDER FILE].dat         Apply initial order"
	.text
	.globl	print_config
	.type	print_config, @function
print_config:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC35[rip]
	call	puts@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC1[rip]
	call	puts@PLT
	lea	rdi, .LC36[rip]
	call	puts@PLT
	lea	rdi, .LC37[rip]
	call	puts@PLT
	lea	rdi, .LC4[rip]
	call	puts@PLT
	lea	rdi, .LC5[rip]
	call	puts@PLT
	lea	rdi, .LC6[rip]
	call	puts@PLT
	lea	rdi, .LC7[rip]
	call	puts@PLT
	lea	rdi, .LC8[rip]
	call	puts@PLT
	lea	rdi, .LC9[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	call	puts@PLT
	lea	rdi, .LC11[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	print_config, .-print_config
	.section	.rodata
.LC38:
	.string	".dat"
.LC39:
	.string	"r"
	.align 8
.LC40:
	.string	"ERROR! Invalid file path \"%s\".\n"
.LC41:
	.string	"%Y-%m-%d_%Hh%Mm%Ss"
.LC42:
	.string	"%s_%s"
.LC43:
	.string	"%s/frames"
.LC44:
	.string	"%s/result.txt"
	.align 8
.LC45:
	.string	"ERROR while creating %s, please check!\n"
.LC46:
	.string	"\n**** TEST Command ****\n"
.LC47:
	.string	"\n**** TEST Parameters ****\n"
.LC48:
	.string	"Network file path name: %s\n"
.LC49:
	.string	"Random seed: %.lf\n"
.LC50:
	.string	"Apply initial order: %s\n"
	.align 8
.LC51:
	.string	"Number of isothermal steps: %d\n"
.LC52:
	.string	"Number of steps: %d\n"
.LC53:
	.string	"Cooling factor: %f\n"
.LC54:
	.string	"Alpha value: %f\n"
	.align 8
.LC55:
	.string	"Percentual energy for initial temperature: %f\n"
.LC56:
	.string	"\nReading file..."
	.align 8
.LC57:
	.string	"ERROR! File %s does not exist.\n"
.LC58:
	.string	"Applying initial order..."
.LC59:
	.string	"Applying random order..."
	.align 8
.LC60:
	.string	"Saving and plotting initial order..."
.LC61:
	.string	"Saving initial order..."
.LC62:
	.string	"%s/initial_order.dat"
.LC63:
	.string	"%s/initial"
	.align 8
.LC64:
	.string	"gnuplot -p -e \"load '/usr/share/cfm-seriation/etc/matrix.gnu'; set output '%s.png';p '%s.dat' w dots lt 0\""
.LC65:
	.string	"%s/initial.dat"
.LC66:
	.string	"Protein\tdim1\n"
.LC67:
	.string	"%s\t%d\n"
.LC68:
	.string	"ERROR! Invalid file name."
.LC69:
	.string	"INITIAL Energy: %.f\n"
.LC70:
	.string	"%s/energy.dat"
	.align 8
.LC71:
	.string	"steps\tenergy\ttemperature\tswaps\tH/H0\tT/H0\n"
.LC72:
	.string	"0\t%.f\t%.3lE\t%.lf\t%.3f\t%.3lE\n"
.LC73:
	.string	"Ordering..."
.LC76:
	.string	"%d\t%.f\t%.3lE\t%.lf\t%.3f\t%.3lE\n"
.LC77:
	.string	"\nFINAL Energy: %.f\n"
	.align 8
.LC78:
	.string	"Saving and plotting final order..."
.LC79:
	.string	"Saving final order..."
	.align 8
.LC80:
	.string	"\n**** TEST Results ****\nCPU Time: %lld.%ld\n"
	.align 8
.LC81:
	.string	"INITIAL Energy: %.f\nFINAL Energy: %.f"
.LC82:
	.string	"%s/energy"
	.align 8
.LC83:
	.string	"gnuplot -p -e \"filename='%s.dat';set output '%s.png';set xrange [0:%d];load '/usr/share/cfm-seriation/etc/energy.gnu'\""
.LC84:
	.string	"%s/final"
.LC85:
	.string	"%s/final.dat"
.LC86:
	.string	"%s/final_order.dat"
.LC87:
	.string	"%d"
	.align 8
.LC88:
	.string	"avconv -v quiet -r 10 -i %s/frame%s.png -r 10 -vcodec libx264 -b 3000k %s/%s.mp4"
.LC89:
	.string	"rm -rf %s"
.LC90:
	.string	"Done!"
	.text
	.globl	main
	.type	main, @function
main:
.LFB22:
	.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, 472
	.cfi_offset 3, -24
	mov	DWORD PTR -452[rbp], edi
	mov	QWORD PTR -464[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -336[rbp], 0
	mov	QWORD PTR -328[rbp], 0
	mov	QWORD PTR -320[rbp], 0
	mov	QWORD PTR -312[rbp], 0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -376[rbp], xmm0
	mov	QWORD PTR -416[rbp], 0
	mov	QWORD PTR -408[rbp], 0
	mov	QWORD PTR -304[rbp], 0
	mov	QWORD PTR -296[rbp], 0
	mov	QWORD PTR -288[rbp], 0
	mov	QWORD PTR -280[rbp], 0
	mov	QWORD PTR -272[rbp], 0
	mov	QWORD PTR -360[rbp], 0
	mov	QWORD PTR -352[rbp], 0
	mov	QWORD PTR -264[rbp], 0
	mov	QWORD PTR -344[rbp], 0
	lea	rax, -96[rbp]
	mov	rdx, QWORD PTR -464[rbp]
	mov	ecx, DWORD PTR -452[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	args_parser
	mov	eax, 0
	call	print_config
	mov	rax, QWORD PTR -88[rbp]
	test	rax, rax
	je	.L175
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC38[rip]
	mov	rdi, rax
	call	strstr@PLT
	test	rax, rax
	je	.L175
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC39[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -256[rbp], rax
	cmp	QWORD PTR -256[rbp], 0
	jne	.L176
	mov	rax, QWORD PTR -88[rbp]
	mov	rsi, rax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L176:
	mov	edi, 0
	call	time@PLT
	mov	QWORD PTR -400[rbp], rax
	lea	rax, -400[rbp]
	mov	rdi, rax
	call	localtime@PLT
	mov	QWORD PTR -248[rbp], rax
	mov	rdx, QWORD PTR -248[rbp]
	lea	rax, -48[rbp]
	mov	rcx, rdx
	lea	rdx, .LC41[rip]
	mov	esi, 21
	mov	rdi, rax
	call	strftime@PLT
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	test	rax, rax
	jne	.L177
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC38[rip]
	mov	rdi, rax
	call	strstr@PLT
	mov	rdx, QWORD PTR -88[rbp]
	sub	rax, rdx
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -352[rbp], rax
	mov	rdx, QWORD PTR -232[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -352[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncpy@PLT
	mov	rdx, QWORD PTR -232[rbp]
	mov	rax, QWORD PTR -352[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	jmp	.L178
.L177:
	mov	rax, QWORD PTR -88[rbp]
	mov	esi, 47
	mov	rdi, rax
	call	strrchr@PLT
	mov	rdx, QWORD PTR -88[rbp]
	sub	rax, rdx
	mov	QWORD PTR -240[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC38[rip]
	mov	rdi, rax
	call	strstr@PLT
	mov	rdx, QWORD PTR -88[rbp]
	sub	rax, rdx
	mov	QWORD PTR -232[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	sub	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -352[rbp], rax
	mov	rax, QWORD PTR -232[rbp]
	sub	rax, QWORD PTR -240[rbp]
	sub	rax, 1
	mov	rdx, rax
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -240[rbp]
	add	rax, 1
	add	rcx, rax
	mov	rax, QWORD PTR -352[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncpy@PLT
	mov	rax, QWORD PTR -232[rbp]
	sub	rax, QWORD PTR -240[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -352[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -240[rbp]
	add	rax, 1
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -264[rbp], rax
	mov	rdx, QWORD PTR -240[rbp]
	mov	rcx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -264[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	strncpy@PLT
	mov	rdx, QWORD PTR -240[rbp]
	mov	rax, QWORD PTR -264[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
.L178:
	mov	rax, QWORD PTR -352[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	lea	rax, -48[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rbx
	add	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -296[rbp], rax
	lea	rcx, -48[rbp]
	mov	rdx, QWORD PTR -352[rbp]
	mov	rax, QWORD PTR -296[rbp]
	lea	rsi, .LC42[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -296[rbp]
	mov	esi, 511
	mov	rdi, rax
	mov	eax, 0
	call	mkdir@PLT
	movzx	eax, WORD PTR -94[rbp]
	cmp	ax, 1
	jne	.L179
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 8
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -344[rbp], rax
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -344[rbp]
	lea	rsi, .LC43[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -344[rbp]
	mov	esi, 511
	mov	rdi, rax
	mov	eax, 0
	call	mkdir@PLT
.L179:
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 12
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -272[rbp], rax
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -272[rbp]
	lea	rsi, .LC44[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -272[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -224[rbp], rax
	cmp	QWORD PTR -224[rbp], 0
	jne	.L180
	mov	rax, QWORD PTR -272[rbp]
	mov	rsi, rax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L180:
	mov	rax, QWORD PTR -224[rbp]
	mov	rcx, rax
	mov	edx, 24
	mov	esi, 1
	lea	rdi, .LC46[rip]
	call	fwrite@PLT
	mov	WORD PTR -434[rbp], 0
	jmp	.L181
.L182:
	movsx	rax, WORD PTR -434[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -464[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -224[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
	mov	rax, QWORD PTR -224[rbp]
	mov	rsi, rax
	mov	edi, 32
	call	fputc@PLT
	movzx	eax, WORD PTR -434[rbp]
	add	eax, 1
	mov	WORD PTR -434[rbp], ax
.L181:
	movsx	eax, WORD PTR -434[rbp]
	cmp	DWORD PTR -452[rbp], eax
	jg	.L182
	mov	rax, QWORD PTR -224[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	mov	rax, QWORD PTR -224[rbp]
	mov	rcx, rax
	mov	edx, 27
	mov	esi, 1
	lea	rdi, .LC47[rip]
	call	fwrite@PLT
	mov	rdx, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR -224[rbp]
	lea	rsi, .LC48[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	rax, QWORD PTR -80[rbp]
	test	rax, rax
	jne	.L183
	mov	rdx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -224[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC49[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	jmp	.L184
.L183:
	mov	rdx, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -224[rbp]
	lea	rsi, .LC50[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L184:
	movzx	eax, WORD PTR -68[rbp]
	movsx	edx, ax
	mov	rax, QWORD PTR -224[rbp]
	lea	rsi, .LC51[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	movzx	eax, WORD PTR -60[rbp]
	movzx	edx, ax
	mov	rax, QWORD PTR -224[rbp]
	lea	rsi, .LC52[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	movss	xmm0, DWORD PTR -72[rbp]
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, xmm0
	movq	rdx, xmm5
	mov	rax, QWORD PTR -224[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC53[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	movss	xmm0, DWORD PTR -92[rbp]
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, xmm0
	movq	rdx, xmm6
	mov	rax, QWORD PTR -224[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC54[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	movss	xmm0, DWORD PTR -64[rbp]
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, xmm0
	movq	rdx, xmm7
	mov	rax, QWORD PTR -224[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC55[rip]
	mov	rdi, rax
	mov	eax, 1
	call	fprintf@PLT
	mov	rax, QWORD PTR -88[rbp]
	lea	rsi, .LC39[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -256[rbp], rax
	lea	rdi, .LC56[rip]
	call	puts@PLT
	lea	rdx, -408[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	readProteinList
	mov	WORD PTR -430[rbp], ax
	mov	rax, QWORD PTR -256[rbp]
	mov	rdi, rax
	call	rewind@PLT
	movzx	eax, WORD PTR -430[rbp]
	sal	rax, 2
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -336[rbp], rax
	movzx	eax, WORD PTR -430[rbp]
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	test	rax, rax
	je	.L185
	mov	rax, QWORD PTR -80[rbp]
	lea	rsi, .LC39[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -216[rbp], rax
	cmp	QWORD PTR -216[rbp], 0
	jne	.L186
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L186:
	lea	rdi, .LC58[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR -304[rbp]
	mov	rax, QWORD PTR -216[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	applyOrderFile
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	WORD PTR -436[rbp], 0
	jmp	.L187
.L188:
	mov	rdx, QWORD PTR -408[rbp]
	movsx	rax, WORD PTR -436[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	movsx	rax, WORD PTR -436[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -436[rbp]
	mov	WORD PTR [rdx], ax
	movsx	rax, WORD PTR -436[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -436[rbp]
	mov	WORD PTR 2[rdx], ax
	movzx	eax, WORD PTR -436[rbp]
	add	eax, 1
	mov	WORD PTR -436[rbp], ax
.L187:
	movsx	edx, WORD PTR -436[rbp]
	movzx	eax, WORD PTR -430[rbp]
	cmp	edx, eax
	jl	.L188
	jmp	.L189
.L185:
	lea	rdi, .LC59[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR -56[rbp]
	cvttsd2si	rax, xmm0
	mov	edi, eax
	call	srand@PLT
	movzx	eax, WORD PTR -430[rbp]
	add	rax, rax
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -328[rbp], rax
	movzx	edx, WORD PTR -430[rbp]
	mov	rax, QWORD PTR -328[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	rand_values
	mov	WORD PTR -436[rbp], 0
	jmp	.L190
.L191:
	mov	rdx, QWORD PTR -408[rbp]
	movsx	rax, WORD PTR -436[rbp]
	sal	rax, 3
	add	rax, rdx
	movsx	rdx, WORD PTR -436[rbp]
	lea	rcx, [rdx+rdx]
	mov	rdx, QWORD PTR -328[rbp]
	add	rdx, rcx
	movzx	edx, WORD PTR [rdx]
	movsx	rdx, dx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -304[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	movsx	rax, WORD PTR -436[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -436[rbp]
	mov	WORD PTR [rdx], ax
	movsx	rax, WORD PTR -436[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rdx, rax
	movzx	eax, WORD PTR -436[rbp]
	mov	WORD PTR 2[rdx], ax
	movzx	eax, WORD PTR -436[rbp]
	add	eax, 1
	mov	WORD PTR -436[rbp], ax
.L190:
	movsx	edx, WORD PTR -436[rbp]
	movzx	eax, WORD PTR -430[rbp]
	cmp	edx, eax
	jl	.L191
	mov	rax, QWORD PTR -328[rbp]
	mov	rdi, rax
	call	free@PLT
.L189:
	movzx	ecx, WORD PTR -430[rbp]
	mov	rdx, QWORD PTR -304[rbp]
	lea	rsi, -416[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rdi, rax
	call	buildMat
	mov	rax, QWORD PTR -408[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -256[rbp]
	mov	rdi, rax
	call	fclose@PLT
	movzx	eax, WORD PTR -430[rbp]
	add	rax, rax
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -312[rbp], rax
	movzx	edx, WORD PTR -430[rbp]
	mov	rax, QWORD PTR -416[rbp]
	mov	rcx, QWORD PTR -312[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	get_size_column
	movzx	eax, WORD PTR -430[rbp]
	sal	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -320[rbp], rax
	mov	WORD PTR -436[rbp], 0
	jmp	.L192
.L193:
	movsx	rax, WORD PTR -436[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	add	rax, rax
	movsx	rdx, WORD PTR -436[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -320[rbp]
	lea	rbx, [rcx+rdx]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR [rbx], rax
	movzx	eax, WORD PTR -436[rbp]
	add	eax, 1
	mov	WORD PTR -436[rbp], ax
.L192:
	movsx	edx, WORD PTR -436[rbp]
	movzx	eax, WORD PTR -430[rbp]
	cmp	edx, eax
	jl	.L193
	movzx	edx, WORD PTR -430[rbp]
	mov	rax, QWORD PTR -416[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	compress_matrix
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L194
	lea	rdi, .LC60[rip]
	call	puts@PLT
	jmp	.L195
.L194:
	lea	rdi, .LC61[rip]
	call	puts@PLT
.L195:
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 19
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, 13
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -288[rbp], rax
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -280[rbp]
	lea	rsi, .LC62[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -280[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -216[rbp], rax
	cmp	QWORD PTR -216[rbp], 0
	jne	.L196
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L196:
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L197
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC63[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -288[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rax
	add	rax, rbx
	add	rax, 154
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -360[rbp], rax
	mov	rcx, QWORD PTR -288[rbp]
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -360[rbp]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC65[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -368[rbp], rax
	cmp	QWORD PTR -368[rbp], 0
	jne	.L197
	mov	rax, QWORD PTR -288[rbp]
	mov	rsi, rax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L197:
	mov	rax, QWORD PTR -216[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC66[rip]
	call	fwrite@PLT
	movzx	eax, WORD PTR -430[rbp]
	sub	eax, 1
	mov	WORD PTR -434[rbp], ax
	jmp	.L198
.L203:
	movsx	rax, WORD PTR -434[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -424[rbp], eax
	movzx	eax, WORD PTR -424[rbp]
	movsx	ecx, ax
	movzx	eax, WORD PTR -424[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -304[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC67[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L199
	mov	WORD PTR -432[rbp], 0
	jmp	.L200
.L202:
	movzx	eax, WORD PTR -424[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -432[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -420[rbp], eax
	movzx	eax, WORD PTR -418[rbp]
	cmp	WORD PTR -434[rbp], ax
	jge	.L201
	movsx	eax, WORD PTR -434[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movzx	eax, WORD PTR -418[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm4, xmm4
	cvtss2sd	xmm4, xmm0
	movq	rdx, xmm4
	mov	rax, QWORD PTR -368[rbp]
	movapd	xmm1, xmm2
	movq	xmm0, rdx
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	movzx	eax, WORD PTR -418[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movsx	eax, WORD PTR -434[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm5, xmm5
	cvtss2sd	xmm5, xmm0
	movq	rdx, xmm5
	mov	rax, QWORD PTR -368[rbp]
	movapd	xmm1, xmm2
	movq	xmm0, rdx
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
.L201:
	movzx	eax, WORD PTR -432[rbp]
	add	eax, 1
	mov	WORD PTR -432[rbp], ax
.L200:
	movzx	eax, WORD PTR -424[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -432[rbp], ax
	jl	.L202
.L199:
	movzx	eax, WORD PTR -434[rbp]
	sub	eax, 1
	mov	WORD PTR -434[rbp], ax
.L198:
	cmp	WORD PTR -434[rbp], 0
	jns	.L203
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L204
	mov	rax, QWORD PTR -368[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -368[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -360[rbp]
	mov	rdi, rax
	call	system@PLT
.L204:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	call	fclose@PLT
	nop
	mov	edi, DWORD PTR -92[rbp]
	movzx	r8d, WORD PTR -430[rbp]
	mov	rax, QWORD PTR -416[rbp]
	mov	rcx, QWORD PTR -320[rbp]
	mov	rdx, QWORD PTR -312[rbp]
	mov	rsi, QWORD PTR -336[rbp]
	movd	xmm0, edi
	mov	rdi, rax
	call	getMatEnergy
	movq	rax, xmm0
	mov	QWORD PTR -208[rbp], rax
	movsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm0
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC69[rip]
	mov	eax, 1
	call	printf@PLT
	movsd	xmm0, QWORD PTR -208[rbp]
	movsd	QWORD PTR -392[rbp], xmm0
	movss	xmm0, DWORD PTR -64[rbp]
	cvtss2sd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -392[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -384[rbp], xmm0
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC70[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -200[rbp], rax
	cmp	QWORD PTR -200[rbp], 0
	jne	.L206
	jmp	.L240
.L175:
	lea	rdi, .LC68[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L240:
	mov	rax, QWORD PTR -288[rbp]
	mov	rsi, rax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L206:
	movsd	xmm0, QWORD PTR -56[rbp]
	cvttsd2si	rax, xmm0
	mov	edi, eax
	call	srand@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	rcx, rax
	mov	edx, 41
	mov	esi, 1
	lea	rdi, .LC71[rip]
	call	fwrite@PLT
	movsd	xmm0, QWORD PTR -384[rbp]
	movapd	xmm3, xmm0
	divsd	xmm3, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -392[rbp]
	movapd	xmm2, xmm0
	divsd	xmm2, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	addsd	xmm0, xmm0
	movq	rdx, xmm0
	movsd	xmm0, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm0
	movq	xmm0, rdx
	lea	rsi, .LC72[rip]
	mov	rdi, rax
	mov	eax, 5
	call	fprintf@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	rdi, rax
	call	fflush@PLT
	movzx	eax, WORD PTR -94[rbp]
	cmp	ax, 1
	jne	.L207
	movzx	edi, WORD PTR -430[rbp]
	movzx	eax, WORD PTR -60[rbp]
	movsx	r9d, ax
	mov	r8, QWORD PTR -288[rbp]
	mov	rcx, QWORD PTR -344[rbp]
	mov	rdx, QWORD PTR -320[rbp]
	mov	rsi, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -336[rbp]
	push	0
	push	rdi
	mov	rdi, rax
	call	buildFrame
	add	rsp, 16
.L207:
	lea	rax, -144[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	clock_gettime@PLT
	lea	rdi, .LC73[rip]
	call	puts@PLT
	mov	WORD PTR -438[rbp], 1
	jmp	.L208
.L219:
	mov	WORD PTR -436[rbp], 0
	jmp	.L209
.L216:
	call	rand@PLT
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	xmm2, QWORD PTR .LC25[rip]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	WORD PTR -428[rbp], ax
.L210:
	call	rand@PLT
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	xmm2, QWORD PTR .LC25[rip]
	movapd	xmm1, xmm0
	divsd	xmm1, xmm2
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	mulsd	xmm0, xmm1
	cvttsd2si	eax, xmm0
	mov	WORD PTR -426[rbp], ax
	movzx	eax, WORD PTR -428[rbp]
	cmp	ax, WORD PTR -426[rbp]
	je	.L210
	mov	edi, DWORD PTR -92[rbp]
	movzx	r8d, WORD PTR -430[rbp]
	movsx	ecx, WORD PTR -426[rbp]
	movsx	edx, WORD PTR -428[rbp]
	mov	rax, QWORD PTR -416[rbp]
	mov	r9, QWORD PTR -320[rbp]
	mov	r10, QWORD PTR -312[rbp]
	mov	rsi, QWORD PTR -336[rbp]
	sub	rsp, 8
	push	r8
	movd	xmm0, edi
	mov	r8, r10
	mov	rdi, rax
	call	getPartEnergy
	add	rsp, 16
	movq	rax, xmm0
	mov	QWORD PTR -184[rbp], rax
	movsx	edx, WORD PTR -426[rbp]
	movsx	ecx, WORD PTR -428[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	swap
	mov	edi, DWORD PTR -92[rbp]
	movzx	r8d, WORD PTR -430[rbp]
	movsx	ecx, WORD PTR -426[rbp]
	movsx	edx, WORD PTR -428[rbp]
	mov	rax, QWORD PTR -416[rbp]
	mov	r9, QWORD PTR -320[rbp]
	mov	r10, QWORD PTR -312[rbp]
	mov	rsi, QWORD PTR -336[rbp]
	sub	rsp, 8
	push	r8
	movd	xmm0, edi
	mov	r8, r10
	mov	rdi, rax
	call	getPartEnergy
	add	rsp, 16
	movq	rax, xmm0
	mov	QWORD PTR -176[rbp], rax
	movsd	xmm0, QWORD PTR -392[rbp]
	subsd	xmm0, QWORD PTR -184[rbp]
	movsd	xmm1, QWORD PTR -176[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -168[rbp], xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	subsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -160[rbp], xmm0
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -160[rbp]
	jb	.L241
	movsd	xmm0, QWORD PTR -168[rbp]
	movsd	QWORD PTR -392[rbp], xmm0
	movsd	xmm1, QWORD PTR -376[rbp]
	movsd	xmm0, QWORD PTR .LC74[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -376[rbp], xmm0
	jmp	.L213
.L241:
	movsd	xmm0, QWORD PTR -160[rbp]
	movq	xmm1, QWORD PTR .LC75[rip]
	xorpd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -384[rbp]
	movsd	QWORD PTR -472[rbp], xmm0
	fld	QWORD PTR -472[rbp]
	lea	rsp, -16[rsp]
	fstp	TBYTE PTR [rsp]
	call	expl@PLT
	add	rsp, 16
	fstp	QWORD PTR -152[rbp]
	call	rand@PLT
	mov	edx, eax
	movsx	rcx, edx
	mov	rax, rcx
	sal	rax, 30
	add	rax, rcx
	shr	rax, 32
	sar	eax, 29
	sar	edx, 31
	sub	eax, edx
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, eax
	movsd	xmm0, QWORD PTR -152[rbp]
	comisd	xmm0, xmm1
	jbe	.L242
	movsd	xmm0, QWORD PTR -168[rbp]
	movsd	QWORD PTR -392[rbp], xmm0
	movsd	xmm1, QWORD PTR -376[rbp]
	movsd	xmm0, QWORD PTR .LC74[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -376[rbp], xmm0
	jmp	.L213
.L242:
	movsx	edx, WORD PTR -426[rbp]
	movsx	ecx, WORD PTR -428[rbp]
	mov	rax, QWORD PTR -336[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	swap
.L213:
	movzx	eax, WORD PTR -436[rbp]
	add	eax, 1
	mov	WORD PTR -436[rbp], ax
.L209:
	movsx	edx, WORD PTR -436[rbp]
	movzx	eax, WORD PTR -430[rbp]
	cmp	edx, eax
	jl	.L216
	movzx	eax, WORD PTR -438[rbp]
	movzx	edx, WORD PTR -68[rbp]
	movsx	ecx, dx
	cdq
	idiv	ecx
	mov	eax, edx
	test	eax, eax
	jne	.L217
	movss	xmm0, DWORD PTR -72[rbp]
	cvtss2sd	xmm0, xmm0
	movsd	xmm1, QWORD PTR -384[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -384[rbp], xmm0
.L217:
	movsd	xmm0, QWORD PTR -384[rbp]
	movapd	xmm3, xmm0
	divsd	xmm3, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -392[rbp]
	movapd	xmm2, xmm0
	divsd	xmm2, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -384[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -392[rbp]
	addsd	xmm0, xmm0
	movq	rcx, xmm0
	movzx	edx, WORD PTR -438[rbp]
	movsd	xmm0, QWORD PTR -376[rbp]
	mov	rax, QWORD PTR -200[rbp]
	movapd	xmm4, xmm3
	movapd	xmm3, xmm2
	movapd	xmm2, xmm0
	movq	xmm0, rcx
	lea	rsi, .LC76[rip]
	mov	rdi, rax
	mov	eax, 5
	call	fprintf@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	rdi, rax
	call	fflush@PLT
	movzx	eax, WORD PTR -94[rbp]
	cmp	ax, 1
	jne	.L218
	movzx	eax, WORD PTR -438[rbp]
	movsx	r8d, ax
	movzx	edi, WORD PTR -430[rbp]
	movzx	eax, WORD PTR -60[rbp]
	movsx	r9d, ax
	mov	r10, QWORD PTR -288[rbp]
	mov	rcx, QWORD PTR -344[rbp]
	mov	rdx, QWORD PTR -320[rbp]
	mov	rsi, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -336[rbp]
	push	r8
	push	rdi
	mov	r8, r10
	mov	rdi, rax
	call	buildFrame
	add	rsp, 16
.L218:
	movzx	eax, WORD PTR -60[rbp]
	movzx	edx, ax
	movzx	eax, WORD PTR -438[rbp]
	mov	esi, edx
	mov	edi, eax
	call	progressBar
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	movzx	eax, WORD PTR -438[rbp]
	add	eax, 1
	mov	WORD PTR -438[rbp], ax
.L208:
	movzx	eax, WORD PTR -60[rbp]
	cmp	WORD PTR -438[rbp], ax
	jbe	.L219
	lea	rax, -128[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	clock_gettime@PLT
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	rdi, QWORD PTR -144[rbp]
	mov	rsi, QWORD PTR -136[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	call	diff
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	movsd	xmm0, QWORD PTR -392[rbp]
	movsd	QWORD PTR -192[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	addsd	xmm0, xmm0
	movq	rax, xmm0
	movq	xmm0, rax
	lea	rdi, .LC77[rip]
	mov	eax, 1
	call	printf@PLT
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L220
	lea	rdi, .LC78[rip]
	call	puts@PLT
	jmp	.L221
.L220:
	lea	rdi, .LC79[rip]
	call	puts@PLT
.L221:
	mov	rcx, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR -112[rbp]
	mov	rax, QWORD PTR -224[rbp]
	lea	rsi, .LC80[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	movsd	xmm0, QWORD PTR -192[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -208[rbp]
	addsd	xmm0, xmm0
	movq	rdx, xmm0
	mov	rax, QWORD PTR -224[rbp]
	movq	xmm0, rdx
	lea	rsi, .LC81[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	mov	rax, QWORD PTR -224[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -200[rbp]
	mov	rdi, rax
	call	fclose@PLT
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L222
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC82[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	movzx	eax, WORD PTR -60[rbp]
	test	ax, ax
	je	.L223
	movzx	eax, WORD PTR -60[rbp]
	movzx	esi, ax
	mov	rcx, QWORD PTR -288[rbp]
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -360[rbp]
	mov	r8d, esi
	lea	rsi, .LC83[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -360[rbp]
	mov	rdi, rax
	call	system@PLT
.L223:
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC84[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rcx, QWORD PTR -288[rbp]
	mov	rdx, QWORD PTR -288[rbp]
	mov	rax, QWORD PTR -360[rbp]
	lea	rsi, .LC64[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC85[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -288[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -368[rbp], rax
	cmp	QWORD PTR -368[rbp], 0
	jne	.L222
	mov	rax, QWORD PTR -288[rbp]
	mov	rsi, rax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L222:
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -280[rbp]
	lea	rsi, .LC86[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -280[rbp]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -216[rbp], rax
	cmp	QWORD PTR -216[rbp], 0
	jne	.L224
	mov	rax, QWORD PTR -280[rbp]
	mov	rsi, rax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L224:
	mov	rax, QWORD PTR -216[rbp]
	mov	rcx, rax
	mov	edx, 13
	mov	esi, 1
	lea	rdi, .LC66[rip]
	call	fwrite@PLT
	movzx	eax, WORD PTR -430[rbp]
	sub	eax, 1
	mov	WORD PTR -434[rbp], ax
	jmp	.L225
.L230:
	movsx	rax, WORD PTR -434[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -424[rbp], eax
	movzx	eax, WORD PTR -424[rbp]
	movsx	ecx, ax
	movzx	eax, WORD PTR -424[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -304[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -216[rbp]
	lea	rsi, .LC67[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L226
	mov	WORD PTR -432[rbp], 0
	jmp	.L227
.L229:
	movzx	eax, WORD PTR -424[rbp]
	movsx	rax, ax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	movsx	rax, WORD PTR -432[rbp]
	add	rax, rax
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movsx	rax, ax
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -336[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -420[rbp], eax
	movzx	eax, WORD PTR -418[rbp]
	cmp	WORD PTR -434[rbp], ax
	jge	.L228
	movsx	eax, WORD PTR -434[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movzx	eax, WORD PTR -418[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm6, xmm6
	cvtss2sd	xmm6, xmm0
	movq	rdx, xmm6
	mov	rax, QWORD PTR -368[rbp]
	movapd	xmm1, xmm2
	movq	xmm0, rdx
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
	movzx	eax, WORD PTR -418[rbp]
	cwde
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm2, xmm2
	cvtss2sd	xmm2, xmm0
	movsx	eax, WORD PTR -434[rbp]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movzx	eax, WORD PTR -430[rbp]
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, eax
	divss	xmm0, xmm1
	pxor	xmm7, xmm7
	cvtss2sd	xmm7, xmm0
	movq	rdx, xmm7
	mov	rax, QWORD PTR -368[rbp]
	movapd	xmm1, xmm2
	movq	xmm0, rdx
	lea	rsi, .LC33[rip]
	mov	rdi, rax
	mov	eax, 2
	call	fprintf@PLT
.L228:
	movzx	eax, WORD PTR -432[rbp]
	add	eax, 1
	mov	WORD PTR -432[rbp], ax
.L227:
	movzx	eax, WORD PTR -424[rbp]
	movsx	rax, ax
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -312[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	cmp	WORD PTR -432[rbp], ax
	jl	.L229
.L226:
	movzx	eax, WORD PTR -434[rbp]
	sub	eax, 1
	mov	WORD PTR -434[rbp], ax
.L225:
	cmp	WORD PTR -434[rbp], 0
	jns	.L230
	movzx	eax, WORD PTR -94[rbp]
	cmp	ax, 1
	jne	.L231
	movzx	eax, WORD PTR -96[rbp]
	test	ax, ax
	jne	.L232
	mov	rax, QWORD PTR -344[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rbx, rax
	mov	rax, QWORD PTR -296[rbp]
	mov	rdi, rax
	call	strlen@PLT
	add	rax, rax
	add	rax, rbx
	add	rax, 74
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -360[rbp], rax
.L232:
	mov	rsi, QWORD PTR -296[rbp]
	mov	rcx, QWORD PTR -296[rbp]
	mov	rdx, QWORD PTR -344[rbp]
	mov	rax, QWORD PTR -360[rbp]
	mov	r9, rsi
	mov	r8, rcx
	lea	rcx, .LC87[rip]
	lea	rsi, .LC88[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -360[rbp]
	mov	rdi, rax
	call	system@PLT
	mov	rdx, QWORD PTR -344[rbp]
	mov	rax, QWORD PTR -360[rbp]
	lea	rsi, .LC89[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR -360[rbp]
	mov	rdi, rax
	call	system@PLT
.L231:
	movzx	eax, WORD PTR -96[rbp]
	cmp	ax, 1
	jne	.L233
	mov	rax, QWORD PTR -368[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -368[rbp]
	mov	rdi, rax
	call	fclose@PLT
.L233:
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	call	fflush@PLT
	mov	rax, QWORD PTR -216[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -360[rbp]
	mov	rdi, rax
	call	system@PLT
	mov	WORD PTR -436[rbp], 0
	jmp	.L234
.L235:
	movsx	rax, WORD PTR -436[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -304[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	mov	rdx, QWORD PTR -416[rbp]
	movsx	rax, WORD PTR -436[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	movsx	rax, WORD PTR -436[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -320[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	free@PLT
	movzx	eax, WORD PTR -436[rbp]
	add	eax, 1
	mov	WORD PTR -436[rbp], ax
.L234:
	movsx	edx, WORD PTR -436[rbp]
	movzx	eax, WORD PTR -430[rbp]
	cmp	edx, eax
	jl	.L235
	mov	rax, QWORD PTR -304[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -416[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -320[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -336[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC90[rip]
	call	puts@PLT
	mov	eax, 0
	mov	rbx, QWORD PTR -24[rbp]
	sub	rbx, QWORD PTR fs:40
	je	.L237
	call	__stack_chk_fail@PLT
.L237:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	main, .-main
	.section	.rodata
	.align 4
.LC12:
	.long	1065353216
	.align 4
.LC13:
	.long	1053609165
	.align 4
.LC14:
	.long	1008981770
	.align 8
.LC25:
	.long	0
	.long	1105199104
	.align 4
.LC26:
	.long	1120403456
	.align 8
.LC74:
	.long	0
	.long	1072693248
	.align 16
.LC75:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.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	"969143.c"
	.text
	.align	2
	.global	diff
	.syntax unified
	.arm
	.fpu softvfp
	.type	diff, %function
diff:
	@ args = 12, pretend = 8, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	sub	sp, sp, #8
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	sub	r0, fp, #24
	stm	r0, {r1, r2}
	str	r3, [fp, #8]
	ldr	r2, [fp, #12]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	cmp	r3, #0
	bge	.L2
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	sub	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r2, [fp, #12]
	ldr	r3, .L5
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	sub	r3, r3, r2
	str	r3, [fp, #-8]
	b	.L3
.L2:
	ldr	r2, [fp, #8]
	ldr	r3, [fp, #-24]
	sub	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r2, [fp, #12]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	str	r3, [fp, #-8]
.L3:
	ldr	r3, [fp, #-16]
	mov	r2, r3
	sub	r3, fp, #12
	ldm	r3, {r0, r1}
	stm	r2, {r0, r1}
	ldr	r0, [fp, #-16]
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	add	sp, sp, #8
	bx	lr
.L6:
	.align	2
.L5:
	.word	1000000000
	.size	diff, .-diff
	.section	.rodata
	.align	2
.LC0:
	.ascii	"\012Usage: ./cfm_seriation [OPTION...]\000"
	.align	2
.LC1:
	.ascii	" Seriation Parameters:\000"
	.align	2
.LC2:
	.ascii	"   f=[NETWORK FILE]           Network file path nam"
	.ascii	"e\000"
	.align	2
.LC3:
	.ascii	"   o=[ORDER FILE]             Apply initial order\000"
	.align	2
.LC4:
	.ascii	"   i=[INTERVAL]               Number of isothermal "
	.ascii	"steps\000"
	.align	2
.LC5:
	.ascii	"   m=[STEPS]                  Number of steps\000"
	.align	2
.LC6:
	.ascii	"   c=[FACTOR]                 Cooling factor\000"
	.align	2
.LC7:
	.ascii	"   a=[ALPHA]                  Alpha value\000"
	.align	2
.LC8:
	.ascii	"   p=[PERCENTUAL]             Percentual energy for"
	.ascii	" initial temperature\000"
	.align	2
.LC9:
	.ascii	"   s=[SEDD]                   Random seed\000"
	.align	2
.LC10:
	.ascii	"   P                          Plot graphs\000"
	.align	2
.LC11:
	.ascii	"   v                          Generate video\000"
	.text
	.align	2
	.global	print_help
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_help, %function
print_help:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L8
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L8+4
	bl	puts
	ldr	r0, .L8+8
	bl	puts
	ldr	r0, .L8+12
	bl	puts
	ldr	r0, .L8+16
	bl	puts
	ldr	r0, .L8+20
	bl	puts
	ldr	r0, .L8+24
	bl	puts
	ldr	r0, .L8+28
	bl	puts
	ldr	r0, .L8+32
	bl	puts
	ldr	r0, .L8+36
	bl	puts
	ldr	r0, .L8+40
	bl	puts
	ldr	r0, .L8+44
	bl	puts
	nop
	pop	{fp, pc}
.L9:
	.align	2
.L8:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.size	print_help, .-print_help
	.global	__aeabi_i2d
	.global	__aeabi_d2f
	.align	2
	.global	args_parser
	.syntax unified
	.arm
	.fpu softvfp
	.type	args_parser, %function
args_parser:
	@ 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]
	mov	r3, #0
	strh	r3, [fp, #-44]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-42]	@ movhi
	mov	r3, #1065353216
	str	r3, [fp, #-40]	@ float
	mov	r3, #100
	strh	r3, [fp, #-16]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r0, #0
	bl	time
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, .L27
	str	r3, [fp, #-28]	@ float
	mov	r3, #100
	strh	r3, [fp, #-24]	@ movhi
	ldr	r3, .L27+4
	str	r3, [fp, #-20]	@ float
	mov	r3, #1
	strh	r3, [fp, #-46]	@ movhi
	b	.L11
.L25:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #80
	cmp	r3, #38
	ldrls	pc, [pc, r3, asl #2]
	b	.L12
.L14:
	.word	.L24
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L23
	.word	.L12
	.word	.L22
	.word	.L12
	.word	.L12
	.word	.L21
	.word	.L12
	.word	.L20
	.word	.L19
	.word	.L12
	.word	.L12
	.word	.L12
	.word	.L18
	.word	.L12
	.word	.L17
	.word	.L16
	.word	.L12
	.word	.L12
	.word	.L15
	.word	.L12
	.word	.L12
	.word	.L13
.L21:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	str	r3, [fp, #-36]
	b	.L12
.L17:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	str	r3, [fp, #-32]
	b	.L12
.L19:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	lsl	r3, r3, #16
	asr	r3, r3, #16
	strh	r3, [fp, #-24]	@ movhi
	b	.L12
.L18:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-16]	@ movhi
	b	.L12
.L22:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	bl	atof
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	b	.L12
.L23:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	bl	atof
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-40]	@ float
	b	.L12
.L16:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	bl	atof
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	b	.L12
.L15:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldr	r3, [r3]
	add	r3, r3, #2
	mov	r0, r3
	bl	atoi
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	b	.L12
.L24:
	mov	r3, #1
	strh	r3, [fp, #-44]	@ movhi
	b	.L12
.L13:
	mov	r3, #1
	strh	r3, [fp, #-42]	@ movhi
	b	.L12
.L20:
	bl	print_help
	mov	r0, #1
	bl	exit
.L12:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-46]	@ movhi
.L11:
	ldrsh	r3, [fp, #-46]
	ldr	r2, [fp, #-60]
	cmp	r2, r3
	bgt	.L25
	ldr	r3, [fp, #-56]
	mov	lr, r3
	sub	ip, fp, #44
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1}
	stm	lr, {r0, r1}
	ldr	r0, [fp, #-56]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L28:
	.align	2
.L27:
	.word	1053609165
	.word	1008981770
	.size	args_parser, .-args_parser
	.section	.rodata
	.align	2
.LC12:
	.ascii	"%d\012\000"
	.align	2
.LC13:
	.ascii	"%d, \000"
	.align	2
.LC14:
	.ascii	"%d] : %d\012\000"
	.text
	.align	2
	.global	mat2str
	.syntax unified
	.arm
	.fpu softvfp
	.type	mat2str, %function
mat2str:
	@ 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]
	mov	r3, r2
	strh	r3, [fp, #-30]	@ movhi
	mov	r0, #32
	bl	putchar
	mov	r3, #0
	strh	r3, [fp, #-16]	@ movhi
	b	.L30
.L33:
	ldrsh	r2, [fp, #-16]
	ldrh	r3, [fp, #-30]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L31
	ldrsh	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L40
	bl	printf
	b	.L32
.L31:
	ldrsh	r3, [fp, #-16]
	mov	r1, r3
	ldr	r0, .L40+4
	bl	printf
.L32:
	ldrsh	r3, [fp, #-16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-16]	@ movhi
.L30:
	ldrsh	r2, [fp, #-16]
	ldrh	r3, [fp, #-30]
	cmp	r2, r3
	blt	.L33
	ldrh	r3, [fp, #-30]	@ movhi
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-14]	@ movhi
	b	.L34
.L39:
	mov	r0, #91
	bl	putchar
	ldrsh	r3, [fp, #-14]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r2, r2, r3
	sub	r3, fp, #12
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strh	r3, [fp, #-16]	@ movhi
	b	.L35
.L38:
	ldrsh	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r2, r2, r3
	sub	r3, fp, #8
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrsh	r2, [fp, #-16]
	ldrh	r3, [fp, #-30]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L36
	ldrsh	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldrsh	r3, [fp, #-14]
	mov	r2, r3
	ldr	r0, .L40+8
	bl	printf
	b	.L37
.L36:
	ldrsh	r3, [fp, #-12]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-8]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r0, .L40+4
	bl	printf
.L37:
	ldrsh	r3, [fp, #-16]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-16]	@ movhi
.L35:
	ldrsh	r2, [fp, #-16]
	ldrh	r3, [fp, #-30]
	cmp	r2, r3
	blt	.L38
	ldrsh	r3, [fp, #-14]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-14]	@ movhi
.L34:
	ldrsh	r3, [fp, #-14]
	cmp	r3, #0
	bge	.L39
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L41:
	.align	2
.L40:
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.size	mat2str, .-mat2str
	.align	2
	.global	swap
	.syntax unified
	.arm
	.fpu softvfp
	.type	swap, %function
swap:
	@ 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, r1
	strh	r3, [fp, #-18]	@ movhi
	mov	r3, r2	@ movhi
	strh	r3, [fp, #-20]	@ movhi
	ldrsh	r3, [fp, #-18]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrh	r3, [r3, #2]	@ movhi
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r2, r2, r3
	ldrsh	r3, [fp, #-18]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldrsh	r2, [r2, #2]
	strh	r2, [r3, #2]	@ movhi
	ldrsh	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrh	r2, [fp, #-6]	@ movhi
	strh	r2, [r3, #2]	@ movhi
	ldrsh	r3, [fp, #-18]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrh	r3, [r3]	@ movhi
	strh	r3, [fp, #-6]	@ movhi
	ldrsh	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r2, r2, r3
	ldrsh	r3, [fp, #-18]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldrsh	r2, [r2]
	strh	r2, [r3]	@ movhi
	ldrsh	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrh	r2, [fp, #-6]	@ movhi
	strh	r2, [r3]	@ movhi
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	swap, .-swap
	.align	2
	.global	get_size_column
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_size_column, %function
get_size_column:
	@ 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, #-16]
	str	r1, [fp, #-20]
	mov	r3, r2
	strh	r3, [fp, #-22]	@ movhi
	ldrh	r3, [fp, #-22]	@ movhi
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-6]	@ movhi
	b	.L44
.L48:
	ldrsh	r3, [fp, #-6]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	b	.L45
.L47:
	ldrsh	r3, [fp, #-6]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L46
	ldrsh	r3, [fp, #-6]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldrsh	r2, [r3]
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	add	r2, r2, #1
	lsl	r2, r2, #16
	lsr	r2, r2, #16
	lsl	r2, r2, #16
	asr	r2, r2, #16
	strh	r2, [r3]	@ movhi
.L46:
	ldrsh	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-8]	@ movhi
.L45:
	ldrsh	r2, [fp, #-8]
	ldrh	r3, [fp, #-22]
	cmp	r2, r3
	blt	.L47
	ldrsh	r3, [fp, #-6]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-6]	@ movhi
.L44:
	ldrsh	r3, [fp, #-6]
	cmp	r3, #0
	bge	.L48
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	get_size_column, .-get_size_column
	.align	2
	.global	compress_matrix
	.syntax unified
	.arm
	.fpu softvfp
	.type	compress_matrix, %function
compress_matrix:
	@ 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, #-16]
	str	r1, [fp, #-20]
	mov	r3, r2
	strh	r3, [fp, #-22]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-8]	@ movhi
	b	.L50
.L54:
	mov	r3, #0
	strh	r3, [fp, #-6]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-10]	@ movhi
	b	.L51
.L53:
	ldrsh	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-10]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L52
	ldrsh	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-6]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrh	r2, [fp, #-10]	@ movhi
	strh	r2, [r3]	@ movhi
	ldrsh	r3, [fp, #-6]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-6]	@ movhi
.L52:
	ldrsh	r3, [fp, #-10]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-10]	@ movhi
.L51:
	ldrsh	r2, [fp, #-10]
	ldrh	r3, [fp, #-22]
	cmp	r2, r3
	blt	.L53
	ldrsh	r3, [fp, #-8]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-8]	@ movhi
.L50:
	ldrsh	r2, [fp, #-8]
	ldrh	r3, [fp, #-22]
	cmp	r2, r3
	blt	.L54
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	compress_matrix, .-compress_matrix
	.global	__aeabi_f2d
	.global	__aeabi_dmul
	.global	__aeabi_dadd
	.align	2
	.global	getPartEnergy
	.syntax unified
	.arm
	.fpu softvfp
	.type	getPartEnergy, %function
getPartEnergy:
	@ args = 16, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #96
	str	r0, [fp, #-96]
	str	r1, [fp, #-100]
	mov	r1, r2
	mov	r2, r3
	mov	r3, r1	@ movhi
	strh	r3, [fp, #-102]	@ movhi
	mov	r3, r2	@ movhi
	strh	r3, [fp, #-104]	@ movhi
	ldrh	r3, [fp, #-102]	@ movhi
	strh	r3, [fp, #-82]	@ movhi
	ldrh	r3, [fp, #-104]	@ movhi
	strh	r3, [fp, #-80]	@ movhi
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldrsh	r2, [fp, #-102]
	ldrsh	r3, [fp, #-104]
	cmp	r2, r3
	ble	.L56
	ldrh	r3, [fp, #-104]	@ movhi
	strh	r3, [fp, #-82]	@ movhi
	ldrh	r3, [fp, #-102]	@ movhi
	strh	r3, [fp, #-80]	@ movhi
.L56:
	ldrh	r3, [fp, #-82]	@ movhi
	strh	r3, [fp, #-74]	@ movhi
	ldrh	r3, [fp, #-80]	@ movhi
	strh	r3, [fp, #-72]	@ movhi
	ldrsh	r3, [fp, #-82]
	add	r2, r3, #1
	ldrsh	r3, [fp, #-80]
	cmp	r2, r3
	bne	.L57
	ldrsh	r3, [fp, #-82]
	cmp	r3, #0
	bne	.L58
	mov	r3, #2
	strb	r3, [fp, #-85]
	b	.L59
.L58:
	mov	r3, #3
	strb	r3, [fp, #-85]
	ldrh	r3, [fp, #-82]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-82]	@ movhi
.L59:
	ldrsh	r2, [fp, #-80]
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L60
	mov	r3, #0
	strb	r3, [fp, #-84]
	b	.L61
.L60:
	mov	r3, #1
	strb	r3, [fp, #-84]
	ldrh	r3, [fp, #-80]
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-80]	@ movhi
	b	.L61
.L57:
	ldrsh	r3, [fp, #-82]
	add	r2, r3, #1
	ldrsh	r3, [fp, #-80]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L62
	ldrsh	r3, [fp, #-82]
	cmp	r3, #0
	bne	.L63
	mov	r3, #2
	strb	r3, [fp, #-85]
	b	.L64
.L63:
	mov	r3, #3
	strb	r3, [fp, #-85]
	ldrh	r3, [fp, #-82]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-82]	@ movhi
.L64:
	ldrsh	r2, [fp, #-80]
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L65
	mov	r3, #1
	strb	r3, [fp, #-84]
	b	.L61
.L65:
	mov	r3, #2
	strb	r3, [fp, #-84]
	b	.L61
.L62:
	ldrsh	r3, [fp, #-82]
	cmp	r3, #0
	bne	.L66
	mov	r3, #2
	strb	r3, [fp, #-85]
	b	.L67
.L66:
	mov	r3, #3
	strb	r3, [fp, #-85]
	ldrh	r3, [fp, #-82]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-82]	@ movhi
.L67:
	ldrsh	r2, [fp, #-80]
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L68
	mov	r3, #2
	strb	r3, [fp, #-84]
	b	.L69
.L68:
	mov	r3, #3
	strb	r3, [fp, #-84]
.L69:
	ldrh	r3, [fp, #-80]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-80]	@ movhi
.L61:
	ldrb	r3, [fp, #-85]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-82]
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-70]	@ movhi
	ldrh	r3, [fp, #-82]	@ movhi
	strh	r3, [fp, #-76]	@ movhi
	b	.L70
.L78:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #68
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strh	r3, [fp, #-78]	@ movhi
	b	.L71
.L77:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #8]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #64
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-76]
	cmp	r2, r3
	bge	.L72
	mov	r3, #0
	strb	r3, [fp, #-83]
	ldrsh	r3, [fp, #-62]
	cmp	r3, #0
	beq	.L73
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L73:
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L74
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	add	r2, r2, #1
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L74:
	ldrsh	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L75
	ldrsh	r3, [fp, #-76]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L75:
	ldrsh	r2, [fp, #-76]
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L76
	ldrsh	r3, [fp, #-76]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L76:
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-76]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #16]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	pow
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldrb	r3, [fp, #-83]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L72:
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-78]	@ movhi
.L71:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #1
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-78]
	cmp	r2, r3
	blt	.L77
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-76]	@ movhi
.L70:
	ldrsh	r2, [fp, #-76]
	ldrsh	r3, [fp, #-70]
	cmp	r2, r3
	blt	.L78
	ldrh	r3, [fp, #-70]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-78]	@ movhi
	b	.L79
.L87:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #68
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strh	r3, [fp, #-76]	@ movhi
	b	.L80
.L86:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #8]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #64
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-78]
	cmp	r2, r3
	ble	.L81
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-74]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L81
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-74]
	cmp	r2, r3
	beq	.L81
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-74]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L81
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-72]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L81
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-72]
	cmp	r2, r3
	beq	.L81
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-72]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L81
	mov	r3, #0
	strb	r3, [fp, #-83]
	ldrsh	r3, [fp, #-62]
	cmp	r3, #0
	beq	.L82
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L82:
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L83
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	add	r2, r2, #1
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L83:
	ldrsh	r3, [fp, #-78]
	cmp	r3, #0
	beq	.L84
	ldrsh	r3, [fp, #-78]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L84:
	ldrsh	r2, [fp, #-78]
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L85
	ldrsh	r3, [fp, #-78]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L85:
	ldrsh	r3, [fp, #-78]
	ldrsh	r2, [fp, #-62]
	sub	r3, r3, r2
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #16]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	pow
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldrb	r3, [fp, #-83]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L81:
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-76]	@ movhi
.L80:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #1
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-76]
	cmp	r2, r3
	blt	.L86
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-78]	@ movhi
.L79:
	ldrsh	r2, [fp, #-78]
	ldrsh	r3, [fp, #-82]
	cmp	r2, r3
	bge	.L87
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L88
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-80]
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-70]	@ movhi
	ldrh	r3, [fp, #-80]	@ movhi
	strh	r3, [fp, #-76]	@ movhi
	b	.L89
.L97:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #68
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strh	r3, [fp, #-78]	@ movhi
	b	.L90
.L96:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #8]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #64
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-76]
	cmp	r2, r3
	bge	.L91
	mov	r3, #0
	strb	r3, [fp, #-83]
	ldrsh	r3, [fp, #-62]
	cmp	r3, #0
	beq	.L92
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L92:
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L93
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	add	r2, r2, #1
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L93:
	ldrsh	r3, [fp, #-76]
	cmp	r3, #0
	beq	.L94
	ldrsh	r3, [fp, #-76]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L94:
	ldrsh	r2, [fp, #-76]
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L95
	ldrsh	r3, [fp, #-76]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L95:
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-76]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #16]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	pow
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldrb	r3, [fp, #-83]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L91:
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-78]	@ movhi
.L90:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #1
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-78]
	cmp	r2, r3
	blt	.L96
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	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]
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-76]	@ movhi
.L89:
	ldrsh	r2, [fp, #-76]
	ldrsh	r3, [fp, #-70]
	cmp	r2, r3
	blt	.L97
	ldrh	r3, [fp, #-70]
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-78]	@ movhi
	b	.L98
.L106:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #68
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strh	r3, [fp, #-76]	@ movhi
	b	.L99
.L105:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #8]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r2, r2, r3
	sub	r3, fp, #64
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-78]
	cmp	r2, r3
	ble	.L100
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-72]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L100
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-72]
	cmp	r2, r3
	beq	.L100
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-72]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L100
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-74]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L100
	ldrsh	r3, [fp, #-62]
	ldrsh	r2, [fp, #-74]
	cmp	r2, r3
	beq	.L100
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrsh	r3, [fp, #-74]
	add	r3, r3, #1
	cmp	r2, r3
	beq	.L100
	mov	r3, #0
	strb	r3, [fp, #-83]
	ldrsh	r3, [fp, #-62]
	cmp	r3, #0
	beq	.L101
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L101:
	ldrsh	r3, [fp, #-62]
	mov	r2, r3
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L102
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	add	r2, r2, #1
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L102:
	ldrsh	r3, [fp, #-78]
	cmp	r3, #0
	beq	.L103
	ldrsh	r3, [fp, #-78]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L103:
	ldrsh	r2, [fp, #-78]
	ldrh	r3, [fp, #12]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L104
	ldrsh	r3, [fp, #-78]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-100]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-96]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-62]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-100]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-83]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-83]
.L104:
	ldrsh	r3, [fp, #-78]
	ldrsh	r2, [fp, #-62]
	sub	r3, r3, r2
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #16]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	pow
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldrb	r3, [fp, #-83]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L100:
	ldrsh	r3, [fp, #-76]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-76]	@ movhi
.L99:
	ldrsh	r3, [fp, #-68]
	lsl	r3, r3, #1
	ldr	r2, [fp, #4]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-76]
	cmp	r2, r3
	blt	.L105
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	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]
	ldrsh	r3, [fp, #-78]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-78]	@ movhi
.L98:
	ldrsh	r2, [fp, #-78]
	ldrsh	r3, [fp, #-80]
	cmp	r2, r3
	bge	.L106
.L88:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	getPartEnergy, .-getPartEnergy
	.align	2
	.global	getMatEnergy
	.syntax unified
	.arm
	.fpu softvfp
	.type	getMatEnergy, %function
getMatEnergy:
	@ args = 8, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #56
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	str	r3, [fp, #-68]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldrh	r3, [fp, #4]	@ movhi
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-48]	@ movhi
	b	.L109
.L117:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldrsh	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	sub	r3, fp, #44
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strh	r3, [fp, #-46]	@ movhi
	b	.L110
.L116:
	ldrsh	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r2, r2, r3
	sub	r3, fp, #40
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrsh	r3, [fp, #-38]
	ldrsh	r2, [fp, #-48]
	cmp	r2, r3
	bge	.L111
	mov	r3, #0
	strb	r3, [fp, #-49]
	ldrsh	r3, [fp, #-38]
	cmp	r3, #0
	beq	.L112
	ldrsh	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-38]
	sub	r2, r2, #-1073741823
	lsl	r2, r2, #2
	ldr	r1, [fp, #-60]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-49]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-49]
.L112:
	ldrsh	r3, [fp, #-38]
	mov	r2, r3
	ldrh	r3, [fp, #4]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L113
	ldrsh	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-38]
	add	r2, r2, #1
	lsl	r2, r2, #2
	ldr	r1, [fp, #-60]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-49]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-49]
.L113:
	ldrsh	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L114
	ldrsh	r3, [fp, #-48]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-38]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-60]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-49]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-49]
.L114:
	ldrsh	r2, [fp, #-48]
	ldrh	r3, [fp, #4]
	sub	r3, r3, #1
	cmp	r2, r3
	beq	.L115
	ldrsh	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-60]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldrsh	r2, [fp, #-38]
	lsl	r2, r2, #2
	ldr	r1, [fp, #-60]
	add	r2, r1, r2
	ldrsh	r2, [r2]
	add	r3, r3, r2
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldrb	r2, [fp, #-49]
	sub	r3, r2, r3
	and	r3, r3, #255
	add	r3, r3, #1
	strb	r3, [fp, #-49]
.L115:
	ldrsh	r3, [fp, #-38]
	mov	r2, r3
	ldrsh	r3, [fp, #-48]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #8]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	pow
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldrb	r3, [fp, #-49]	@ zero_extendqisi2
	mov	r0, r3
	bl	__aeabi_i2d
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L111:
	ldrsh	r3, [fp, #-46]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-46]	@ movhi
.L110:
	ldrsh	r3, [fp, #-44]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-64]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-46]
	cmp	r2, r3
	blt	.L116
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	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]
	ldrsh	r3, [fp, #-48]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-48]	@ movhi
.L109:
	ldrsh	r3, [fp, #-48]
	cmp	r3, #0
	bge	.L117
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	getMatEnergy, .-getMatEnergy
	.section	.rodata
	.align	2
.LC15:
	.ascii	" \011\012\000"
	.align	2
.LC16:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	buildMat
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildMat, %function
buildMat:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #132
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	str	r2, [fp, #-136]
	strh	r3, [fp, #-138]	@ movhi
	ldr	r3, .L132
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	strh	r3, [fp, #-114]	@ movhi
	ldrh	r3, [fp, #-138]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-108]
	mov	r3, #0
	strh	r3, [fp, #-120]	@ movhi
	b	.L120
.L121:
	ldrh	r0, [fp, #-138]
	ldrsh	r3, [fp, #-120]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldrsh	r3, [fp, #-120]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-120]	@ movhi
.L120:
	ldrsh	r2, [fp, #-120]
	ldrh	r3, [fp, #-138]
	cmp	r2, r3
	blt	.L121
	b	.L122
.L129:
	sub	r3, fp, #96
	str	r3, [fp, #-112]
	sub	r3, fp, #112
	ldr	r1, .L132+4
	mov	r0, r3
	bl	strsep
	str	r0, [fp, #-104]
	sub	r3, fp, #112
	ldr	r1, .L132+4
	mov	r0, r3
	bl	strsep
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L123
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L123
	mvn	r3, #0
	strh	r3, [fp, #-118]	@ movhi
	mvn	r3, #0
	strh	r3, [fp, #-116]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-120]	@ movhi
	b	.L124
.L128:
	ldrsh	r3, [fp, #-120]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-136]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-104]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L125
	ldrh	r3, [fp, #-120]	@ movhi
	strh	r3, [fp, #-118]	@ movhi
.L125:
	ldrsh	r3, [fp, #-120]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-136]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-100]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L126
	ldrh	r3, [fp, #-120]	@ movhi
	strh	r3, [fp, #-116]	@ movhi
.L126:
	ldrsh	r3, [fp, #-118]
	cmp	r3, #0
	ble	.L127
	ldrsh	r3, [fp, #-116]
	cmp	r3, #0
	bgt	.L131
.L127:
	ldrsh	r3, [fp, #-120]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-120]	@ movhi
.L124:
	ldrsh	r2, [fp, #-120]
	ldrh	r3, [fp, #-138]
	cmp	r2, r3
	blt	.L128
	b	.L123
.L131:
	nop
.L123:
	ldrsh	r3, [fp, #-118]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-116]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
	ldrsh	r3, [fp, #-116]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-108]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-118]
	add	r3, r2, r3
	mov	r2, #1
	strb	r2, [r3]
.L122:
	sub	r3, fp, #96
	ldr	r2, [fp, #-128]
	mov	r1, #80
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L129
	ldr	r3, [fp, #-132]
	ldr	r2, [fp, #-108]
	str	r2, [r3]
	nop
	ldr	r3, .L132
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L130
	bl	__stack_chk_fail
.L130:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L133:
	.align	2
.L132:
	.word	.LC16
	.word	.LC15
	.size	buildMat, .-buildMat
	.section	.rodata
	.align	2
.LC17:
	.ascii	"Protein\000"
	.align	2
.LC18:
	.ascii	"Invalid order file format.\000"
	.align	2
.LC19:
	.ascii	"ERROR while reading order file.\000"
	.align	2
.LC20:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	applyOrderFile
	.syntax unified
	.arm
	.fpu softvfp
	.type	applyOrderFile, %function
applyOrderFile:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #124
	str	r0, [fp, #-128]
	str	r1, [fp, #-132]
	ldr	r3, .L141
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	b	.L135
.L139:
	sub	r3, fp, #96
	str	r3, [fp, #-116]
	sub	r3, fp, #116
	ldr	r1, .L141+4
	mov	r0, r3
	bl	strsep
	str	r0, [fp, #-108]
	ldr	r0, [fp, #-108]
	bl	strlen
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-118]	@ movhi
	sub	r3, fp, #116
	ldr	r1, .L141+4
	mov	r0, r3
	bl	strsep
	str	r0, [fp, #-104]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L136
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L136
	ldr	r1, .L141+8
	ldr	r0, [fp, #-108]
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L135
	sub	r3, fp, #112
	mov	r2, #10
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	strtol
	str	r0, [fp, #-100]
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	cmp	r2, r3
	bne	.L138
	ldr	r0, .L141+12
	bl	puts
	mov	r0, #1
	bl	exit
.L138:
	ldrsh	r0, [fp, #-118]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-132]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-132]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-108]
	mov	r0, r3
	bl	strcpy
	b	.L135
.L136:
	ldr	r0, .L141+16
	bl	puts
	mov	r0, #1
	bl	exit
.L135:
	sub	r3, fp, #96
	ldr	r2, [fp, #-128]
	mov	r1, #80
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L139
	nop
	ldr	r3, .L141
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L140
	bl	__stack_chk_fail
.L140:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L142:
	.align	2
.L141:
	.word	.LC20
	.word	.LC15
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.size	applyOrderFile, .-applyOrderFile
	.section	.rodata
	.align	2
.LC21:
	.ascii	"\011Proteins: %d\012\000"
	.align	2
.LC22:
	.ascii	"\011Interactions: %d\012\000"
	.align	2
.LC23:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	readProteinList
	.syntax unified
	.arm
	.fpu softvfp
	.type	readProteinList, %function
readProteinList:
	@ args = 0, pretend = 0, frame = 128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #132
	str	r0, [fp, #-136]
	str	r1, [fp, #-140]
	ldr	r3, .L164
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	strh	r3, [fp, #-128]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-126]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-124]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-122]	@ movhi
	mov	r3, #0
	str	r3, [fp, #-112]
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L144
.L160:
	sub	r3, fp, #96
	str	r3, [fp, #-116]
	sub	r3, fp, #116
	ldr	r1, .L164+4
	mov	r0, r3
	bl	strsep
	str	r0, [fp, #-104]
	ldr	r0, [fp, #-104]
	bl	strlen
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-120]	@ movhi
	sub	r3, fp, #116
	ldr	r1, .L164+4
	mov	r0, r3
	bl	strsep
	str	r0, [fp, #-100]
	ldr	r0, [fp, #-100]
	bl	strlen
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-118]	@ movhi
	ldr	r3, [fp, #-104]
	cmp	r3, #0
	beq	.L144
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L144
	ldrh	r3, [fp, #-122]
	cmp	r3, #0
	bne	.L145
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	realloc
	str	r0, [fp, #-112]
	ldrsh	r0, [fp, #-120]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-104]
	mov	r0, r3
	bl	strcpy
	mov	r3, #1
	strh	r3, [fp, #-126]	@ movhi
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	strh	r3, [fp, #-122]	@ movhi
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	realloc
	str	r0, [fp, #-112]
	ldrsh	r0, [fp, #-118]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-100]
	mov	r0, r3
	bl	strcpy
	mov	r3, #1
	strh	r3, [fp, #-124]	@ movhi
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	strh	r3, [fp, #-122]	@ movhi
	b	.L146
.L145:
	ldrsh	r3, [fp, #-128]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-104]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L147
	mov	r3, #0
	strh	r3, [fp, #-124]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-130]	@ movhi
	b	.L148
.L152:
	ldrsh	r3, [fp, #-130]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-100]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L149
	mov	r3, #1
	strh	r3, [fp, #-124]	@ movhi
	b	.L146
.L149:
	ldrsh	r2, [fp, #-130]
	ldrh	r3, [fp, #-122]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L151
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	realloc
	str	r0, [fp, #-112]
	ldrsh	r0, [fp, #-118]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-100]
	mov	r0, r3
	bl	strcpy
	mov	r3, #1
	strh	r3, [fp, #-124]	@ movhi
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	strh	r3, [fp, #-122]	@ movhi
.L151:
	ldrsh	r3, [fp, #-130]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-130]	@ movhi
.L148:
	ldrsh	r2, [fp, #-130]
	ldrh	r3, [fp, #-122]
	cmp	r2, r3
	blt	.L152
	b	.L146
.L147:
	mov	r3, #0
	strh	r3, [fp, #-126]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-124]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-130]	@ movhi
	b	.L153
.L159:
	ldrsh	r3, [fp, #-130]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-104]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L154
	ldrh	r3, [fp, #-126]
	cmp	r3, #0
	bne	.L154
	mov	r3, #1
	strh	r3, [fp, #-126]	@ movhi
.L154:
	ldrsh	r3, [fp, #-130]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-100]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L155
	ldrh	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L155
	mov	r3, #1
	strh	r3, [fp, #-124]	@ movhi
.L155:
	ldrh	r3, [fp, #-126]
	cmp	r3, #0
	beq	.L156
	ldrh	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L163
.L156:
	ldrsh	r2, [fp, #-130]
	ldrh	r3, [fp, #-122]
	sub	r3, r3, #1
	cmp	r2, r3
	bne	.L157
	ldrh	r3, [fp, #-126]
	cmp	r3, #0
	bne	.L158
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	realloc
	str	r0, [fp, #-112]
	ldrsh	r0, [fp, #-120]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-104]
	mov	r0, r3
	bl	strcpy
	ldrh	r3, [fp, #-122]	@ movhi
	strh	r3, [fp, #-128]	@ movhi
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	strh	r3, [fp, #-122]	@ movhi
.L158:
	ldrh	r3, [fp, #-124]
	cmp	r3, #0
	bne	.L157
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	lsl	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-112]
	bl	realloc
	str	r0, [fp, #-112]
	ldrsh	r0, [fp, #-118]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldrh	r3, [fp, #-122]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-112]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-100]
	mov	r0, r3
	bl	strcpy
	ldrh	r3, [fp, #-122]
	add	r3, r3, #1
	strh	r3, [fp, #-122]	@ movhi
.L157:
	ldrsh	r3, [fp, #-130]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-130]	@ movhi
.L153:
	ldrsh	r2, [fp, #-130]
	ldrh	r3, [fp, #-122]
	cmp	r2, r3
	blt	.L159
	b	.L146
.L163:
	nop
.L146:
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L144:
	sub	r3, fp, #96
	ldr	r2, [fp, #-136]
	mov	r1, #80
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L160
	ldrh	r3, [fp, #-122]
	mov	r1, r3
	ldr	r0, .L164+8
	bl	printf
	ldr	r3, [fp, #-108]
	lsr	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L164+12
	bl	printf
	ldr	r3, [fp, #-140]
	ldr	r2, [fp, #-112]
	str	r2, [r3]
	ldrh	r3, [fp, #-122]
	ldr	r2, .L164
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L162
	bl	__stack_chk_fail
.L162:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L165:
	.align	2
.L164:
	.word	.LC23
	.word	.LC15
	.word	.LC21
	.word	.LC22
	.size	readProteinList, .-readProteinList
	.global	__aeabi_ddiv
	.global	__aeabi_d2iz
	.align	2
	.global	rand_values
	.syntax unified
	.arm
	.fpu softvfp
	.type	rand_values, %function
rand_values:
	@ 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]
	mov	r3, r1
	strh	r3, [fp, #-26]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-20]	@ movhi
	b	.L167
.L174:
	mov	r3, #1
	strh	r3, [fp, #-16]	@ movhi
	ldrsh	r3, [fp, #-20]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	mvn	r2, #0
	strh	r2, [r3]	@ movhi
.L173:
	bl	rand
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L176
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldrh	r3, [fp, #-26]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	strh	r3, [fp, #-14]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-18]	@ movhi
	b	.L168
.L172:
	ldrsh	r3, [fp, #-18]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-14]
	cmp	r2, r3
	beq	.L175
	ldrsh	r2, [fp, #-18]
	ldrsh	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L171
	ldrsh	r3, [fp, #-18]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldrh	r2, [fp, #-14]	@ movhi
	strh	r2, [r3]	@ movhi
	mov	r3, #0
	strh	r3, [fp, #-16]	@ movhi
.L171:
	ldrsh	r3, [fp, #-18]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-18]	@ movhi
.L168:
	ldrsh	r2, [fp, #-18]
	ldrsh	r3, [fp, #-20]
	cmp	r2, r3
	ble	.L172
	b	.L170
.L175:
	nop
.L170:
	ldrh	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L173
	ldrsh	r3, [fp, #-20]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-20]	@ movhi
.L167:
	ldrsh	r2, [fp, #-20]
	ldrh	r3, [fp, #-26]
	cmp	r2, r3
	blt	.L174
	nop
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L177:
	.align	2
.L176:
	.word	1105199104
	.size	rand_values, .-rand_values
	.global	__aeabi_ui2f
	.global	__aeabi_i2f
	.global	__aeabi_fdiv
	.global	__aeabi_fmul
	.global	__aeabi_f2uiz
	.global	__aeabi_f2iz
	.section	.rodata
	.align	2
.LC24:
	.ascii	"%3d%% [\000"
	.align	2
.LC25:
	.ascii	"]\015\000"
	.text
	.align	2
	.global	progressBar
	.syntax unified
	.arm
	.fpu softvfp
	.type	progressBar, %function
progressBar:
	@ 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
	mov	r3, r0
	mov	r2, r1
	strh	r3, [fp, #-22]	@ movhi
	mov	r3, r2	@ movhi
	strh	r3, [fp, #-24]	@ movhi
	ldrh	r3, [fp, #-22]
	mov	r0, r3
	bl	__aeabi_ui2f
	mov	r4, r0
	ldrh	r3, [fp, #-24]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-16]	@ float
	ldr	r1, .L183
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2uiz
	mov	r3, r0
	strh	r3, [fp, #-18]	@ movhi
	ldr	r1, .L183
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2iz
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L183+4
	bl	printf
	mov	r3, #0
	strh	r3, [fp, #-20]	@ movhi
	b	.L179
.L180:
	mov	r0, #61
	bl	putchar
	ldrh	r3, [fp, #-20]
	add	r3, r3, #1
	strh	r3, [fp, #-20]	@ movhi
.L179:
	ldrh	r2, [fp, #-20]
	ldrh	r3, [fp, #-18]
	cmp	r2, r3
	bcc	.L180
	ldrh	r3, [fp, #-18]	@ movhi
	strh	r3, [fp, #-20]	@ movhi
	b	.L181
.L182:
	mov	r0, #32
	bl	putchar
	ldrh	r3, [fp, #-20]
	add	r3, r3, #1
	strh	r3, [fp, #-20]	@ movhi
.L181:
	ldrh	r3, [fp, #-20]
	cmp	r3, #99
	bls	.L182
	ldr	r0, .L183+8
	bl	printf
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L184:
	.align	2
.L183:
	.word	1120403456
	.word	.LC24
	.word	.LC25
	.size	progressBar, .-progressBar
	.section	.rodata
	.align	2
.LC26:
	.ascii	"%s/frame%d\000"
	.align	2
.LC27:
	.ascii	"gnuplot -p -e \"load '/usr/share/cfm-seriation/etc/"
	.ascii	"matrix.gnu';set output '%s.png';filename='%s';set m"
	.ascii	"ultiplot;p '%s.dat' w dots lt 0;set xrange [0:%d];l"
	.ascii	"oad '/usr/share/cfm-seriation/etc/video.gnu'\"\000"
	.align	2
.LC28:
	.ascii	"%s/frame%d.dat\000"
	.align	2
.LC29:
	.ascii	"w+\000"
	.align	2
.LC30:
	.ascii	"%f\011%f\012\000"
	.align	2
.LC31:
	.ascii	"rm %s\000"
	.text
	.align	2
	.global	buildFrame
	.syntax unified
	.arm
	.fpu softvfp
	.type	buildFrame, %function
buildFrame:
	@ args = 16, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #52
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-56]
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	ldr	r0, [fp, #-60]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #12
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-32]
	ldrsh	r3, [fp, #16]
	ldr	r2, [fp, #-60]
	ldr	r1, .L191
	ldr	r0, [fp, #-32]
	bl	sprintf
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r4, r0
	ldr	r0, [fp, #4]
	bl	strlen
	mov	r5, r0
	ldr	r0, [fp, #-32]
	bl	strlen
	mov	r3, r0
	add	r3, r5, r3
	add	r3, r4, r3
	add	r3, r3, #201
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-28]
	ldrsh	r3, [fp, #8]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-32]
	str	r3, [sp]
	ldr	r3, [fp, #4]
	ldr	r2, [fp, #-32]
	ldr	r1, .L191+4
	ldr	r0, [fp, #-28]
	bl	sprintf
	ldr	r0, [fp, #-60]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #16
	mov	r1, r3
	ldr	r0, [fp, #-32]
	bl	realloc
	str	r0, [fp, #-32]
	ldrsh	r3, [fp, #16]
	ldr	r2, [fp, #-60]
	ldr	r1, .L191+8
	ldr	r0, [fp, #-32]
	bl	sprintf
	ldr	r1, .L191+12
	ldr	r0, [fp, #-32]
	bl	fopen
	str	r0, [fp, #-24]
	ldrh	r3, [fp, #12]	@ movhi
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-44]	@ movhi
	b	.L186
.L190:
	ldrsh	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r2, r2, r3
	sub	r3, fp, #40
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	mov	r3, #0
	strh	r3, [fp, #-42]	@ movhi
	b	.L187
.L189:
	ldrsh	r3, [fp, #-40]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldrsh	r3, [fp, #-42]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-48]
	add	r2, r2, r3
	sub	r3, fp, #36
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	ldrsh	r3, [fp, #-34]
	ldrsh	r2, [fp, #-44]
	cmp	r2, r3
	bge	.L188
	ldrsh	r3, [fp, #-34]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldrh	r3, [fp, #12]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldrsh	r3, [fp, #-44]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r6, r0
	ldrh	r3, [fp, #12]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r6
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L191+16
	ldr	r0, [fp, #-24]
	bl	fprintf
	ldrsh	r3, [fp, #-44]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	ldrh	r3, [fp, #12]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldrsh	r3, [fp, #-34]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r6, r0
	ldrh	r3, [fp, #12]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r6
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L191+16
	ldr	r0, [fp, #-24]
	bl	fprintf
.L188:
	ldrsh	r3, [fp, #-42]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-42]	@ movhi
.L187:
	ldrsh	r3, [fp, #-40]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	ldrsh	r2, [fp, #-42]
	cmp	r2, r3
	blt	.L189
	ldrsh	r3, [fp, #-44]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	strh	r3, [fp, #-44]	@ movhi
.L186:
	ldrsh	r3, [fp, #-44]
	cmp	r3, #0
	bge	.L190
	ldr	r0, [fp, #-24]
	bl	fflush
	ldr	r0, [fp, #-24]
	bl	fclose
	ldr	r0, [fp, #-28]
	bl	system
	ldr	r2, [fp, #-32]
	ldr	r1, .L191+20
	ldr	r0, [fp, #-28]
	bl	sprintf
	ldr	r0, [fp, #-28]
	bl	system
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L192:
	.align	2
.L191:
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.size	buildFrame, .-buildFrame
	.section	.rodata
	.align	2
.LC32:
	.ascii	"\012Usage: cfm-seriation [OPTION...]\000"
	.align	2
.LC33:
	.ascii	"   f=[NETWORK FILE].dat       Network file path nam"
	.ascii	"e\000"
	.align	2
.LC34:
	.ascii	"   o=[ORDER FILE].dat         Apply initial order\000"
	.text
	.align	2
	.global	print_config
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_config, %function
print_config:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L194
	bl	puts
	mov	r0, #10
	bl	putchar
	ldr	r0, .L194+4
	bl	puts
	ldr	r0, .L194+8
	bl	puts
	ldr	r0, .L194+12
	bl	puts
	ldr	r0, .L194+16
	bl	puts
	ldr	r0, .L194+20
	bl	puts
	ldr	r0, .L194+24
	bl	puts
	ldr	r0, .L194+28
	bl	puts
	ldr	r0, .L194+32
	bl	puts
	ldr	r0, .L194+36
	bl	puts
	ldr	r0, .L194+40
	bl	puts
	ldr	r0, .L194+44
	bl	puts
	nop
	pop	{fp, pc}
.L195:
	.align	2
.L194:
	.word	.LC32
	.word	.LC1
	.word	.LC33
	.word	.LC34
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.size	print_config, .-print_config
	.section	.rodata
	.align	2
.LC35:
	.ascii	".dat\000"
	.align	2
.LC36:
	.ascii	"r\000"
	.align	2
.LC37:
	.ascii	"ERROR! Invalid file path \"%s\".\012\000"
	.align	2
.LC38:
	.ascii	"%Y-%m-%d_%Hh%Mm%Ss\000"
	.align	2
.LC39:
	.ascii	"%s_%s\000"
	.align	2
.LC40:
	.ascii	"%s/frames\000"
	.align	2
.LC41:
	.ascii	"%s/result.txt\000"
	.align	2
.LC42:
	.ascii	"ERROR while creating %s, please check!\012\000"
	.align	2
.LC43:
	.ascii	"\012**** TEST Command ****\012\000"
	.align	2
.LC44:
	.ascii	"\012**** TEST Parameters ****\012\000"
	.align	2
.LC45:
	.ascii	"Network file path name: %s\012\000"
	.align	2
.LC46:
	.ascii	"Random seed: %.lf\012\000"
	.align	2
.LC47:
	.ascii	"Apply initial order: %s\012\000"
	.align	2
.LC48:
	.ascii	"Number of isothermal steps: %d\012\000"
	.align	2
.LC49:
	.ascii	"Number of steps: %d\012\000"
	.align	2
.LC50:
	.ascii	"Cooling factor: %f\012\000"
	.align	2
.LC51:
	.ascii	"Alpha value: %f\012\000"
	.align	2
.LC52:
	.ascii	"Percentual energy for initial temperature: %f\012\000"
	.align	2
.LC53:
	.ascii	"\012Reading file...\000"
	.align	2
.LC54:
	.ascii	"ERROR! File %s does not exist.\012\000"
	.align	2
.LC55:
	.ascii	"Applying initial order...\000"
	.align	2
.LC56:
	.ascii	"Applying random order...\000"
	.global	__aeabi_d2uiz
	.align	2
.LC57:
	.ascii	"Saving and plotting initial order...\000"
	.align	2
.LC58:
	.ascii	"Saving initial order...\000"
	.align	2
.LC59:
	.ascii	"%s/initial_order.dat\000"
	.align	2
.LC60:
	.ascii	"%s/initial\000"
	.align	2
.LC61:
	.ascii	"gnuplot -p -e \"load '/usr/share/cfm-seriation/etc/"
	.ascii	"matrix.gnu'; set output '%s.png';p '%s.dat' w dots "
	.ascii	"lt 0\"\000"
	.align	2
.LC62:
	.ascii	"%s/initial.dat\000"
	.align	2
.LC63:
	.ascii	"Protein\011dim1\012\000"
	.align	2
.LC64:
	.ascii	"%s\011%d\012\000"
	.align	2
.LC65:
	.ascii	"ERROR! Invalid file name.\000"
	.align	2
.LC66:
	.ascii	"INITIAL Energy: %.f\012\000"
	.align	2
.LC67:
	.ascii	"%s/energy.dat\000"
	.align	2
.LC68:
	.ascii	"steps\011energy\011temperature\011swaps\011H/H0\011"
	.ascii	"T/H0\012\000"
	.align	2
.LC69:
	.ascii	"0\011%.f\011%.3lE\011%.lf\011%.3f\011%.3lE\012\000"
	.align	2
.LC70:
	.ascii	"Ordering...\000"
	.global	__aeabi_dsub
	.global	__aeabi_dcmple
	.global	__aeabi_dcmpgt
	.global	__aeabi_idivmod
	.align	2
.LC71:
	.ascii	"%d\011%.f\011%.3lE\011%.lf\011%.3f\011%.3lE\012\000"
	.align	2
.LC72:
	.ascii	"\012FINAL Energy: %.f\012\000"
	.align	2
.LC73:
	.ascii	"Saving and plotting final order...\000"
	.align	2
.LC74:
	.ascii	"Saving final order...\000"
	.align	2
.LC75:
	.ascii	"\012**** TEST Results ****\012CPU Time: %lld.%ld\012"
	.ascii	"\000"
	.align	2
.LC76:
	.ascii	"INITIAL Energy: %.f\012FINAL Energy: %.f\000"
	.align	2
.LC77:
	.ascii	"%s/energy\000"
	.align	2
.LC78:
	.ascii	"gnuplot -p -e \"filename='%s.dat';set output '%s.pn"
	.ascii	"g';set xrange [0:%d];load '/usr/share/cfm-seriation"
	.ascii	"/etc/energy.gnu'\"\000"
	.align	2
.LC79:
	.ascii	"%s/final\000"
	.align	2
.LC80:
	.ascii	"%s/final.dat\000"
	.align	2
.LC81:
	.ascii	"%s/final_order.dat\000"
	.align	2
.LC82:
	.ascii	"%d\000"
	.align	2
.LC83:
	.ascii	"avconv -v quiet -r 10 -i %s/frame%s.png -r 10 -vcod"
	.ascii	"ec libx264 -b 3000k %s/%s.mp4\000"
	.align	2
.LC84:
	.ascii	"rm -rf %s\000"
	.align	2
.LC85:
	.ascii	"Done!\000"
	.align	2
.LC86:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 304
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	fp, sp, #32
	sub	sp, sp, #348
	str	r0, [fp, #-328]
	str	r1, [fp, #-332]
	ldr	r3, .L265
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-272]
	mov	r3, #0
	str	r3, [fp, #-268]
	mov	r3, #0
	str	r3, [fp, #-264]
	mov	r3, #0
	str	r3, [fp, #-260]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	mov	r3, #0
	str	r3, [fp, #-300]
	mov	r3, #0
	str	r3, [fp, #-296]
	mov	r3, #0
	str	r3, [fp, #-256]
	mov	r3, #0
	str	r3, [fp, #-252]
	mov	r3, #0
	str	r3, [fp, #-248]
	mov	r3, #0
	str	r3, [fp, #-244]
	mov	r3, #0
	str	r3, [fp, #-240]
	mov	r3, #0
	str	r3, [fp, #-284]
	mov	r3, #0
	str	r3, [fp, #-280]
	mov	r3, #0
	str	r3, [fp, #-236]
	mov	r3, #0
	str	r3, [fp, #-276]
	sub	r3, fp, #100
	ldr	r2, [fp, #-332]
	ldr	r1, [fp, #-328]
	mov	r0, r3
	bl	args_parser
	bl	print_config
	ldr	r3, [fp, #-92]
	cmp	r3, #0
	beq	.L197
	ldr	r3, [fp, #-92]
	ldr	r1, .L265+4
	mov	r0, r3
	bl	strstr
	mov	r3, r0
	cmp	r3, #0
	beq	.L197
	ldr	r3, [fp, #-92]
	ldr	r1, .L265+8
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-232]
	ldr	r3, [fp, #-232]
	cmp	r3, #0
	bne	.L198
	ldr	r3, [fp, #-92]
	mov	r1, r3
	ldr	r0, .L265+12
	bl	printf
	mov	r0, #1
	bl	exit
.L198:
	mov	r0, #0
	bl	time
	mov	r3, r0
	str	r3, [fp, #-292]
	sub	r3, fp, #292
	mov	r0, r3
	bl	localtime
	str	r0, [fp, #-228]
	sub	r0, fp, #60
	ldr	r3, [fp, #-228]
	ldr	r2, .L265+16
	mov	r1, #21
	bl	strftime
	ldr	r3, [fp, #-92]
	mov	r1, #47
	mov	r0, r3
	bl	strrchr
	mov	r3, r0
	cmp	r3, #0
	bne	.L199
	ldr	r3, [fp, #-92]
	ldr	r1, .L265+4
	mov	r0, r3
	bl	strstr
	mov	r2, r0
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-220]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-280]
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-220]
	mov	r1, r3
	ldr	r0, [fp, #-280]
	bl	strncpy
	ldr	r3, [fp, #-220]
	ldr	r2, [fp, #-280]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	b	.L200
.L199:
	ldr	r3, [fp, #-92]
	mov	r1, #47
	mov	r0, r3
	bl	strrchr
	mov	r2, r0
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	str	r3, [fp, #-224]
	ldr	r3, [fp, #-92]
	ldr	r1, .L265+4
	mov	r0, r3
	bl	strstr
	mov	r2, r0
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	str	r3, [fp, #-220]
	ldr	r2, [fp, #-220]
	ldr	r3, [fp, #-224]
	sub	r3, r2, r3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-280]
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	add	r1, r2, r3
	ldr	r2, [fp, #-220]
	ldr	r3, [fp, #-224]
	sub	r3, r2, r3
	sub	r3, r3, #1
	mov	r2, r3
	ldr	r0, [fp, #-280]
	bl	strncpy
	ldr	r2, [fp, #-220]
	ldr	r3, [fp, #-224]
	sub	r3, r2, r3
	sub	r3, r3, #1
	ldr	r2, [fp, #-280]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-224]
	add	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-92]
	ldr	r2, [fp, #-224]
	mov	r1, r3
	ldr	r0, [fp, #-236]
	bl	strncpy
	ldr	r3, [fp, #-224]
	ldr	r2, [fp, #-236]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
.L200:
	ldr	r0, [fp, #-280]
	bl	strlen
	mov	r4, r0
	sub	r3, fp, #60
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	add	r3, r4, r3
	add	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-252]
	sub	r3, fp, #60
	ldr	r2, [fp, #-280]
	ldr	r1, .L265+20
	ldr	r0, [fp, #-252]
	bl	sprintf
	ldr	r1, .L265+24
	ldr	r0, [fp, #-252]
	bl	mkdir
	ldrsh	r3, [fp, #-98]
	cmp	r3, #1
	bne	.L201
	ldr	r0, [fp, #-252]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #8
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-276]
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+28
	ldr	r0, [fp, #-276]
	bl	sprintf
	ldr	r1, .L265+24
	ldr	r0, [fp, #-276]
	bl	mkdir
.L201:
	ldr	r0, [fp, #-252]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #12
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-240]
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+32
	ldr	r0, [fp, #-240]
	bl	sprintf
	ldr	r1, .L265+196
	ldr	r0, [fp, #-240]
	bl	fopen
	str	r0, [fp, #-216]
	ldr	r3, [fp, #-216]
	cmp	r3, #0
	bne	.L202
	ldr	r1, [fp, #-240]
	ldr	r0, .L265+36
	bl	printf
	mov	r0, #1
	bl	exit
.L202:
	ldr	r3, [fp, #-216]
	mov	r2, #24
	mov	r1, #1
	ldr	r0, .L265+40
	bl	fwrite
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L203
.L204:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-332]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-216]
	mov	r0, r3
	bl	fputs
	ldr	r1, [fp, #-216]
	mov	r0, #32
	bl	fputc
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
.L203:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	ldr	r2, [fp, #-328]
	cmp	r2, r3
	bgt	.L204
	ldr	r1, [fp, #-216]
	mov	r0, #10
	bl	fputc
	ldr	r3, [fp, #-216]
	mov	r2, #27
	mov	r1, #1
	ldr	r0, .L265+44
	bl	fwrite
	ldr	r3, [fp, #-92]
	mov	r2, r3
	ldr	r1, .L265+48
	ldr	r0, [fp, #-216]
	bl	fprintf
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L205
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r1, .L265+52
	ldr	r0, [fp, #-216]
	bl	fprintf
	b	.L206
.L205:
	ldr	r3, [fp, #-88]
	mov	r2, r3
	ldr	r1, .L265+56
	ldr	r0, [fp, #-216]
	bl	fprintf
.L206:
	ldrsh	r3, [fp, #-80]
	mov	r2, r3
	ldr	r1, .L265+60
	ldr	r0, [fp, #-216]
	bl	fprintf
	ldrh	r3, [fp, #-72]
	mov	r2, r3
	ldr	r1, .L265+64
	ldr	r0, [fp, #-216]
	bl	fprintf
	ldr	r3, [fp, #-84]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L265+68
	ldr	r0, [fp, #-216]
	bl	fprintf
	ldr	r3, [fp, #-96]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L265+72
	ldr	r0, [fp, #-216]
	bl	fprintf
	ldr	r3, [fp, #-76]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L265+76
	ldr	r0, [fp, #-216]
	bl	fprintf
	ldr	r3, [fp, #-92]
	ldr	r1, .L265+8
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-232]
	ldr	r0, .L265+80
	bl	puts
	sub	r3, fp, #36
	sub	r4, r3, #276
	sub	r4, r4, #2
	sub	r3, fp, #296
	mov	r1, r3
	ldr	r0, [fp, #-232]
	bl	readProteinList
	mov	r3, r0
	strh	r3, [r4]	@ movhi
	ldr	r0, [fp, #-232]
	bl	rewind
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-272]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-256]
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	beq	.L207
	ldr	r3, [fp, #-88]
	ldr	r1, .L265+8
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-212]
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	bne	.L208
	ldr	r3, [fp, #-88]
	mov	r1, r3
	ldr	r0, .L265+200
	bl	printf
	mov	r0, #1
	bl	exit
.L208:
	ldr	r0, .L265+84
	bl	puts
	ldr	r1, [fp, #-256]
	ldr	r0, [fp, #-212]
	bl	applyOrderFile
	ldr	r0, [fp, #-212]
	bl	fclose
	sub	r3, fp, #36
	sub	r3, r3, #284
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L209
.L210:
	ldr	r2, [fp, #-296]
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r3, r2, r3
	sub	r2, fp, #36
	sub	r2, r2, #284
	ldrh	r2, [r2]	@ movhi
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r3, r2, r3
	sub	r2, fp, #36
	sub	r2, r2, #284
	ldrh	r2, [r2]	@ movhi
	strh	r2, [r3, #2]	@ movhi
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #284
	strh	r2, [r3]	@ movhi
.L209:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	cmp	r2, r3
	blt	.L210
	b	.L211
.L207:
	ldr	r0, .L265+88
	bl	puts
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2uiz
	mov	r3, r0
	mov	r0, r3
	bl	srand
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	lsl	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-268]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	rand_values
	sub	r3, fp, #36
	sub	r3, r3, #284
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L212
.L213:
	ldr	r2, [fp, #-296]
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	add	r2, r2, r3
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #1
	ldr	r1, [fp, #-268]
	add	r3, r1, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-256]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r3, r2, r3
	sub	r2, fp, #36
	sub	r2, r2, #284
	ldrh	r2, [r2]	@ movhi
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r3, r2, r3
	sub	r2, fp, #36
	sub	r2, r2, #284
	ldrh	r2, [r2]	@ movhi
	strh	r2, [r3, #2]	@ movhi
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #284
	strh	r2, [r3]	@ movhi
.L212:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	cmp	r2, r3
	blt	.L213
	ldr	r0, [fp, #-268]
	bl	free
.L211:
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	sub	r1, fp, #300
	ldr	r2, [fp, #-256]
	ldr	r0, [fp, #-232]
	bl	buildMat
	ldr	r3, [fp, #-296]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-232]
	bl	fclose
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	lsl	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-260]
	ldr	r0, [fp, #-300]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-260]
	bl	get_size_column
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	lsl	r3, r3, #2
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-264]
	sub	r3, fp, #36
	sub	r3, r3, #284
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L214
.L215:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-260]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r1, r3, #1
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-264]
	add	r4, r2, r3
	mov	r0, r1
	bl	malloc
	mov	r3, r0
	str	r3, [r4]
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #284
	strh	r2, [r3]	@ movhi
.L214:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	cmp	r2, r3
	blt	.L215
	ldr	r0, [fp, #-300]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-264]
	bl	compress_matrix
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L216
	ldr	r0, .L265+92
	bl	puts
	b	.L217
.L216:
	ldr	r0, .L265+96
	bl	puts
.L217:
	ldr	r0, [fp, #-252]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #19
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-244]
	ldr	r0, [fp, #-252]
	bl	strlen
	mov	r3, r0
	add	r3, r3, #13
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-248]
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+100
	ldr	r0, [fp, #-244]
	bl	sprintf
	ldr	r1, .L265+196
	ldr	r0, [fp, #-244]
	bl	fopen
	str	r0, [fp, #-212]
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	bne	.L218
	ldr	r1, [fp, #-244]
	ldr	r0, .L265+200
	bl	printf
	mov	r0, #1
	bl	exit
.L218:
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L219
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+104
	ldr	r0, [fp, #-248]
	bl	sprintf
	ldr	r0, [fp, #-252]
	bl	strlen
	mov	r4, r0
	ldr	r0, [fp, #-248]
	bl	strlen
	mov	r3, r0
	lsl	r3, r3, #1
	add	r3, r4, r3
	add	r3, r3, #154
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-284]
	ldr	r3, [fp, #-248]
	ldr	r2, [fp, #-248]
	ldr	r1, .L265+184
	ldr	r0, [fp, #-284]
	bl	sprintf
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+108
	ldr	r0, [fp, #-248]
	bl	sprintf
	ldr	r1, .L265+196
	ldr	r0, [fp, #-248]
	bl	fopen
	str	r0, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	bne	.L219
	ldr	r1, [fp, #-248]
	ldr	r0, .L265+200
	bl	printf
	mov	r0, #1
	bl	exit
.L219:
	ldr	r3, [fp, #-212]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L265+204
	bl	fwrite
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]	@ movhi
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L220
.L225:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r2, r2, r3
	sub	r3, fp, #308
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-256]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	ldr	r1, .L265+208
	ldr	r0, [fp, #-212]
	bl	fprintf
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L221
	sub	r3, fp, #36
	sub	r3, r3, #280
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L222
.L224:
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-264]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #280
	ldrsh	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r2, r2, r3
	sub	r3, fp, #304
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #36
	sub	r3, r3, #268
	ldrsh	r2, [r3, #2]
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, r2
	bge	.L223
	sub	r3, fp, #36
	sub	r3, r3, #268
	ldrsh	r3, [r3, #2]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r8, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r8
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L265+212
	ldr	r0, [fp, #-288]
	bl	fprintf
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #36
	sub	r3, r3, #268
	ldrsh	r3, [r3, #2]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r8, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r8
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L265+212
	ldr	r0, [fp, #-288]
	bl	fprintf
.L223:
	sub	r3, fp, #36
	sub	r3, r3, #280
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #280
	strh	r2, [r3]	@ movhi
.L222:
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-260]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	sub	r2, fp, #36
	sub	r2, r2, #280
	ldrsh	r2, [r2]
	cmp	r2, r3
	blt	.L224
.L221:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
.L220:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	bge	.L225
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L226
	ldr	r0, [fp, #-288]
	bl	fflush
	ldr	r0, [fp, #-288]
	bl	fclose
	ldr	r0, [fp, #-284]
	bl	system
.L226:
	ldr	r0, [fp, #-212]
	bl	fflush
	ldr	r0, [fp, #-212]
	bl	fclose
	nop
	ldr	r0, [fp, #-300]
	ldr	r3, [fp, #-96]	@ float
	str	r3, [sp, #4]	@ float
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [sp]
	ldr	r3, [fp, #-264]
	ldr	r2, [fp, #-260]
	ldr	r1, [fp, #-272]
	bl	getMatEnergy
	str	r0, [fp, #-180]
	str	r1, [fp, #-176]
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L265+112
	bl	printf
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-76]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+116
	ldr	r0, [fp, #-248]
	bl	sprintf
	ldr	r1, .L265+196
	ldr	r0, [fp, #-248]
	bl	fopen
	str	r0, [fp, #-208]
	ldr	r3, [fp, #-208]
	cmp	r3, #0
	bne	.L228
	b	.L262
.L197:
	ldr	r0, .L265+120
	bl	puts
	mov	r0, #1
	bl	exit
.L262:
	ldr	r1, [fp, #-248]
	ldr	r0, .L265+200
	bl	printf
	mov	r0, #1
	bl	exit
.L266:
	.align	2
.L265:
	.word	.LC86
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	511
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC62
	.word	.LC66
	.word	.LC67
	.word	.LC65
	.word	.LC68
	.word	.LC69
	.word	.LC70
	.word	1105199104
	.word	1072693248
	.word	.LC71
	.word	stdout
	.word	.LC72
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC61
	.word	.LC80
	.word	.LC81
	.word	.LC29
	.word	.LC54
	.word	.LC63
	.word	.LC64
	.word	.LC30
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.word	.LC86
.L228:
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2uiz
	mov	r3, r0
	mov	r0, r3
	bl	srand
	ldr	r3, [fp, #-208]
	mov	r2, #41
	mov	r1, #1
	ldr	r0, .L265+124
	bl	fwrite
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	str	r8, [sp, #16]
	str	r9, [sp, #20]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	stm	sp, {r4-r5}
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	ldr	r1, .L265+128
	ldr	r0, [fp, #-208]
	bl	fprintf
	ldr	r0, [fp, #-208]
	bl	fflush
	ldrsh	r3, [fp, #-98]
	cmp	r3, #1
	bne	.L229
	ldrh	r3, [fp, #-72]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	mov	r3, #0
	str	r3, [sp, #12]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [sp, #8]
	str	r2, [sp, #4]
	ldr	r3, [fp, #-248]
	str	r3, [sp]
	ldr	r3, [fp, #-276]
	ldr	r2, [fp, #-264]
	ldr	r1, [fp, #-260]
	ldr	r0, [fp, #-272]
	bl	buildFrame
.L229:
	sub	r3, fp, #124
	mov	r1, r3
	mov	r0, #2
	bl	clock_gettime
	ldr	r0, .L265+132
	bl	puts
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	mov	r2, #1
	strh	r2, [r3]	@ movhi
	b	.L230
.L241:
	sub	r3, fp, #36
	sub	r3, r3, #284
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L231
.L238:
	bl	rand
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L265+136
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r2, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	strh	r2, [r3]	@ movhi
.L232:
	bl	rand
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L265+136
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r2, r0
	sub	r3, fp, #36
	sub	r3, r3, #272
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #36
	sub	r2, r3, #276
	sub	r3, fp, #36
	sub	r3, r3, #272
	sub	r3, r3, #2
	ldrsh	r2, [r2]
	ldrsh	r3, [r3]
	cmp	r2, r3
	beq	.L232
	ldr	r0, [fp, #-300]
	ldr	r2, [fp, #-96]	@ float
	sub	r3, fp, #36
	sub	r3, r3, #272
	sub	r3, r3, #2
	ldrsh	ip, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	ldrsh	r1, [r3]
	str	r2, [sp, #12]	@ float
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-264]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-260]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r1
	ldr	r1, [fp, #-272]
	bl	getPartEnergy
	str	r0, [fp, #-164]
	str	r1, [fp, #-160]
	sub	r3, fp, #36
	sub	r3, r3, #272
	sub	r3, r3, #2
	ldrsh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-272]
	bl	swap
	ldr	r0, [fp, #-300]
	ldr	r2, [fp, #-96]	@ float
	sub	r3, fp, #36
	sub	r3, r3, #272
	sub	r3, r3, #2
	ldrsh	ip, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	ldrsh	r1, [r3]
	str	r2, [sp, #12]	@ float
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-264]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-260]
	str	r3, [sp]
	mov	r3, ip
	mov	r2, r1
	ldr	r1, [fp, #-272]
	bl	getPartEnergy
	str	r0, [fp, #-156]
	str	r1, [fp, #-152]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #140
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L263
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	mov	r2, #0
	ldr	r3, .L265+140
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	b	.L235
.L263:
	ldr	r6, [fp, #-140]
	ldr	r3, [fp, #-136]
	eor	r7, r3, #-2147483648
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	expl
	str	r0, [fp, #-132]
	str	r1, [fp, #-128]
	bl	rand
	mov	r3, r0
	mov	r2, #1073741825
	smull	r1, r2, r3, r2
	asr	r2, r2, #29
	asr	r3, r3, #31
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L264
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	mov	r2, #0
	ldr	r3, .L265+140
	sub	r1, fp, #188
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	b	.L235
.L264:
	sub	r3, fp, #36
	sub	r3, r3, #272
	sub	r3, r3, #2
	ldrsh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	ldrsh	r3, [r3]
	mov	r1, r3
	ldr	r0, [fp, #-272]
	bl	swap
.L235:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #284
	strh	r2, [r3]	@ movhi
.L231:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	cmp	r2, r3
	blt	.L238
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	ldrh	r3, [r3]
	ldrsh	r2, [fp, #-80]
	mov	r1, r2
	mov	r0, r3
	bl	__aeabi_idivmod
	mov	r3, r1
	cmp	r3, #0
	bne	.L239
	ldr	r3, [fp, #-84]	@ float
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
.L239:
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	ldrh	r10, [r3]
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r8, r2
	mov	r9, r3
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-340]
	str	r3, [fp, #-336]
	sub	r3, fp, #180
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [sp, #32]
	str	r3, [sp, #36]
	sub	r3, fp, #340
	ldmia	r3, {r2-r3}
	str	r2, [sp, #24]
	str	r3, [sp, #28]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	str	r8, [sp, #8]
	str	r9, [sp, #12]
	stm	sp, {r4-r5}
	mov	r2, r10
	ldr	r1, .L265+144
	ldr	r0, [fp, #-208]
	bl	fprintf
	ldr	r0, [fp, #-208]
	bl	fflush
	ldrsh	r3, [fp, #-98]
	cmp	r3, #1
	bne	.L240
	ldrh	r3, [fp, #-72]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	str	r3, [sp, #8]
	str	r2, [sp, #4]
	ldr	r3, [fp, #-248]
	str	r3, [sp]
	ldr	r3, [fp, #-276]
	ldr	r2, [fp, #-264]
	ldr	r1, [fp, #-260]
	ldr	r0, [fp, #-272]
	bl	buildFrame
.L240:
	ldrh	r2, [fp, #-72]
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r1, r2
	mov	r0, r3
	bl	progressBar
	ldr	r3, .L265+148
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	ldrh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	add	r2, r2, #1
	strh	r2, [r3]	@ movhi
.L230:
	ldrh	r2, [fp, #-72]
	sub	r3, fp, #36
	sub	r3, r3, #284
	sub	r3, r3, #2
	ldrh	r3, [r3]
	cmp	r3, r2
	bls	.L241
	sub	r3, fp, #116
	mov	r1, r3
	mov	r0, #2
	bl	clock_gettime
	sub	r0, fp, #108
	ldr	r3, [fp, #-112]
	str	r3, [sp]
	ldr	r3, [fp, #-116]
	sub	r2, fp, #124
	ldm	r2, {r1, r2}
	bl	diff
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L265+152
	bl	printf
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L242
	ldr	r0, .L265+156
	bl	puts
	b	.L243
.L242:
	ldr	r0, .L265+160
	bl	puts
.L243:
	ldr	r3, [fp, #-108]
	mov	r2, r3
	asr	r3, r2, #31
	ldr	r1, [fp, #-104]
	str	r1, [sp]
	ldr	r1, .L265+164
	ldr	r0, [fp, #-216]
	bl	fprintf
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L265+168
	ldr	r0, [fp, #-216]
	bl	fprintf
	ldr	r0, [fp, #-216]
	bl	fclose
	ldr	r0, [fp, #-208]
	bl	fflush
	ldr	r0, [fp, #-208]
	bl	fclose
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L244
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+172
	ldr	r0, [fp, #-248]
	bl	sprintf
	ldrh	r3, [fp, #-72]
	cmp	r3, #0
	beq	.L245
	ldrh	r3, [fp, #-72]
	str	r3, [sp]
	ldr	r3, [fp, #-248]
	ldr	r2, [fp, #-248]
	ldr	r1, .L265+176
	ldr	r0, [fp, #-284]
	bl	sprintf
	ldr	r0, [fp, #-284]
	bl	system
.L245:
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+180
	ldr	r0, [fp, #-248]
	bl	sprintf
	ldr	r3, [fp, #-248]
	ldr	r2, [fp, #-248]
	ldr	r1, .L265+184
	ldr	r0, [fp, #-284]
	bl	sprintf
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+188
	ldr	r0, [fp, #-248]
	bl	sprintf
	ldr	r1, .L265+196
	ldr	r0, [fp, #-248]
	bl	fopen
	str	r0, [fp, #-288]
	ldr	r3, [fp, #-288]
	cmp	r3, #0
	bne	.L244
	ldr	r1, [fp, #-248]
	ldr	r0, .L265+200
	bl	printf
	mov	r0, #1
	bl	exit
.L244:
	ldr	r2, [fp, #-252]
	ldr	r1, .L265+192
	ldr	r0, [fp, #-244]
	bl	sprintf
	ldr	r1, .L265+196
	ldr	r0, [fp, #-244]
	bl	fopen
	str	r0, [fp, #-212]
	ldr	r3, [fp, #-212]
	cmp	r3, #0
	bne	.L246
	ldr	r1, [fp, #-244]
	ldr	r0, .L265+200
	bl	printf
	mov	r0, #1
	bl	exit
.L246:
	ldr	r3, [fp, #-212]
	mov	r2, #13
	mov	r1, #1
	ldr	r0, .L265+204
	bl	fwrite
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]	@ movhi
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
	b	.L247
.L252:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r2, r2, r3
	sub	r3, fp, #308
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-256]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	ldr	r1, .L265+208
	ldr	r0, [fp, #-212]
	bl	fprintf
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L248
	sub	r3, fp, #36
	sub	r3, r3, #280
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L249
.L251:
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-264]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #280
	ldrsh	r3, [r3]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-272]
	add	r2, r2, r3
	sub	r3, fp, #304
	mov	r1, r2
	mov	r2, #4
	mov	r0, r3
	bl	memcpy
	sub	r3, fp, #36
	sub	r3, r3, #268
	ldrsh	r2, [r3, #2]
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, r2
	bge	.L250
	sub	r3, fp, #36
	sub	r3, r3, #268
	ldrsh	r3, [r3, #2]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r6, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r6
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L265+212
	ldr	r0, [fp, #-288]
	bl	fprintf
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r4, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	sub	r3, fp, #36
	sub	r3, r3, #268
	ldrsh	r3, [r3, #2]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r6, r0
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	mov	r0, r6
	bl	__aeabi_fdiv
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r1, .L265+212
	ldr	r0, [fp, #-288]
	bl	fprintf
.L250:
	sub	r3, fp, #36
	sub	r3, r3, #280
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #280
	strh	r2, [r3]	@ movhi
.L249:
	sub	r3, fp, #36
	sub	r3, r3, #272
	ldrsh	r3, [r3]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-260]
	add	r3, r2, r3
	ldrsh	r3, [r3]
	sub	r2, fp, #36
	sub	r2, r2, #280
	ldrsh	r2, [r2]
	cmp	r2, r3
	blt	.L251
.L248:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	sub	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	strh	r2, [r3]	@ movhi
.L247:
	sub	r3, fp, #36
	sub	r3, r3, #280
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	bge	.L252
	ldrsh	r3, [fp, #-98]
	cmp	r3, #1
	bne	.L253
	ldrsh	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L254
	ldr	r0, [fp, #-276]
	bl	strlen
	mov	r4, r0
	ldr	r0, [fp, #-252]
	bl	strlen
	mov	r3, r0
	lsl	r3, r3, #1
	add	r3, r4, r3
	add	r3, r3, #74
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-284]
.L254:
	ldr	r3, [fp, #-252]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-252]
	str	r3, [sp]
	ldr	r3, .L265+216
	ldr	r2, [fp, #-276]
	ldr	r1, .L265+220
	ldr	r0, [fp, #-284]
	bl	sprintf
	ldr	r0, [fp, #-284]
	bl	system
	ldr	r2, [fp, #-276]
	ldr	r1, .L265+224
	ldr	r0, [fp, #-284]
	bl	sprintf
	ldr	r0, [fp, #-284]
	bl	system
.L253:
	ldrsh	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L255
	ldr	r0, [fp, #-288]
	bl	fflush
	ldr	r0, [fp, #-288]
	bl	fclose
.L255:
	ldr	r0, [fp, #-212]
	bl	fflush
	ldr	r0, [fp, #-212]
	bl	fclose
	ldr	r0, [fp, #-284]
	bl	system
	sub	r3, fp, #36
	sub	r3, r3, #284
	mov	r2, #0
	strh	r2, [r3]	@ movhi
	b	.L256
.L257:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-256]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	ldr	r2, [fp, #-300]
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-264]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	free
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r3, [r3]
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r3, #1
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #36
	sub	r3, r3, #284
	strh	r2, [r3]	@ movhi
.L256:
	sub	r3, fp, #36
	sub	r3, r3, #284
	ldrsh	r2, [r3]
	sub	r3, fp, #36
	sub	r3, r3, #276
	sub	r3, r3, #2
	ldrh	r3, [r3]
	cmp	r2, r3
	blt	.L257
	ldr	r0, [fp, #-256]
	bl	free
	ldr	r3, [fp, #-300]
	mov	r0, r3
	bl	free
	ldr	r0, [fp, #-264]
	bl	free
	ldr	r0, [fp, #-272]
	bl	free
	ldr	r0, .L265+228
	bl	puts
	mov	r3, #0
	ldr	r2, .L265+232
	ldr	r1, [r2]
	ldr	r2, [fp, #-40]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L259
	bl	__stack_chk_fail
.L259:
	mov	r0, r3
	sub	sp, fp, #32
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
