// File: /workspace/github_c_makefile_star2_O0/lh3[P]partig/main.c
// Function: main
int main(int argc, char *argv[])
{
	ketopt_t o = KETOPT_INIT;
	int i, c;
	pt_match_t *ma;
	gfa_t *g;
	pt_pdopt_t po;

	pt_realtime();
	pt_pdopt_init(&po);
	while ((c = ketopt(&o, argc, argv, 1, "k:w:c:m:", 0)) >= 0) {
		if (c == 'k') po.k = atoi(o.arg);
		else if (c == 'w') po.w = atoi(o.arg);
		else if (c == 'c') po.max_occ = atoi(o.arg);
		else if (c == 'm') po.min_sim = atof(o.arg);
	}
	if (o.ind == argc) {
		print_usage(stderr, &po);
		return 0;
	}

	g = gfa_read(argv[o.ind]);
	if (pt_verbose >= 3)
		fprintf(stderr, "[%s::%.3f] read the graph\n", __func__, pt_realtime());

	ma = pt_pdist(&po, g);
	/*
	pt_partition(&so, ma);
	if (fn_link) {
		pt_mcgraph_t *mcg;
		mcg = pt_phase_gen_graph(g, ma, fn_link, weight);
	}
	*/
	pt_match_print(stdout, g, ma);

	pt_match_free(ma);
	gfa_destroy(g);

	if (pt_verbose >= 3) {
		fprintf(stderr, "[M::%s] Version: %s\n", __func__, PT_VERSION);
		fprintf(stderr, "[M::%s] CMD:", __func__);
		for (i = 0; i < argc; ++i)
			fprintf(stderr, " %s", argv[i]);
		fprintf(stderr, "\n[M::%s] Real time: %.3f sec; CPU: %.3f sec; Peak RSS: %.3f GB\n", __func__, pt_realtime(), pt_cputime(), pt_peakrss() / 1024.0 / 1024.0 / 1024.0);
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x4980(%rip), %rax      # 0x10240
movq %rax, -0x30(%rbp)
movq 0x497d(%rip), %rax      # 0x10248
movq %rax, -0x28(%rbp)
movq 0x497a(%rip), %rax      # 0x10250
movq %rax, -0x20(%rbp)
movq 0x4977(%rip), %rax      # 0x10258
movq %rax, -0x18(%rbp)
callq 0x8c60
leaq -0x70(%rbp), %rdi
callq 0xa1a0
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq -0x30(%rbp), %rdi
movl $0x1, %ecx
leaq 0x1f5e(%rip), %r8       # 0xd868
xorl %eax, %eax
movl %eax, %r9d
callq 0xbb50
movl %eax, -0x38(%rbp)
cmpl $0x0, %eax
jl 0xb977
cmpl $0x6b, -0x38(%rbp)
jne 0xb930
movq -0x28(%rbp), %rdi
callq 0x11f0
movl %eax, -0x70(%rbp)
jmp 0xb972
cmpl $0x77, -0x38(%rbp)
jne 0xb944
movq -0x28(%rbp), %rdi
callq 0x11f0
movl %eax, -0x6c(%rbp)
jmp 0xb970
cmpl $0x63, -0x38(%rbp)
jne 0xb958
movq -0x28(%rbp), %rdi
callq 0x11f0
movl %eax, -0x64(%rbp)
jmp 0xb96e
cmpl $0x6d, -0x38(%rbp)
jne 0xb96c
movq -0x28(%rbp), %rdi
callq 0x10a0
movsd %xmm0, -0x58(%rbp)
jmp 0xb96e
jmp 0xb970
jmp 0xb972
jmp 0xb8f3
movl -0x30(%rbp), %eax
cmpl -0x8(%rbp), %eax
jne 0xb99e
movq 0x4672(%rip), %rax      # 0xfff8
movq (%rax), %rdi
leaq -0x70(%rbp), %rsi
callq 0xc180
movl $0x0, -0x4(%rbp)
jmp 0xbb3e
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0x77e0
movq %rax, -0x48(%rbp)
leaq 0x487e(%rip), %rax      # 0x10238
cmpl $0x3, (%rax)
jb 0xb9eb
movq 0x4632(%rip), %rax      # 0xfff8
movq (%rax), %rax
movq %rax, -0x78(%rbp)
callq 0x8c60
movq -0x78(%rbp), %rdi
leaq 0x1e94(%rip), %rsi      # 0xd871
leaq 0x1ea8(%rip), %rdx      # 0xd88c
movb $0x1, %al
callq 0x1170
movq -0x48(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0xa6c0
movq %rax, -0x40(%rbp)
movq 0x45d5(%rip), %rax      # 0xffd8
movq (%rax), %rdi
movq -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
callq 0xb630
movq -0x40(%rbp), %rdi
callq 0xb7b0
movq -0x48(%rbp), %rdi
callq 0x2650
leaq 0x480c(%rip), %rax      # 0x10238
cmpl $0x3, (%rax)
jb 0xbb37
movq 0x45bc(%rip), %rax      # 0xfff8
movq (%rax), %rdi
leaq 0x1e4b(%rip), %rsi      # 0xd891
leaq 0x1e3f(%rip), %rdx      # 0xd88c
leaq 0x1e52(%rip), %rcx      # 0xd8a6
movb $0x0, %al
callq 0x1170
movq 0x4596(%rip), %rax      # 0xfff8
movq (%rax), %rdi
leaq 0x1e46(%rip), %rsi      # 0xd8b2
leaq 0x1e19(%rip), %rdx      # 0xd88c
movb $0x0, %al
callq 0x1170
movl $0x0, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0xbab8
movq 0x4568(%rip), %rax      # 0xfff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x1e19(%rip), %rsi      # 0xd8bf
movb $0x0, %al
callq 0x1170
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0xba81
movq 0x4539(%rip), %rax      # 0xfff8
movq (%rax), %rax
movq %rax, -0x90(%rbp)
callq 0x8c60
movsd %xmm0, -0x88(%rbp)
callq 0x8bd0
movsd %xmm0, -0x80(%rbp)
callq 0x8c30
movq -0x90(%rbp), %rdi
movsd -0x88(%rbp), %xmm0
movsd -0x80(%rbp), %xmm1
cvtsi2sd %rax, %xmm2
movsd 0x1d5a(%rip), %xmm3     # 0xd860
divsd %xmm3, %xmm2
movsd 0x1d4e(%rip), %xmm3     # 0xd860
divsd %xmm3, %xmm2
movsd 0x1d42(%rip), %xmm3     # 0xd860
divsd %xmm3, %xmm2
leaq 0x1d9a(%rip), %rsi      # 0xd8c3
leaq 0x1d5c(%rip), %rdx      # 0xd88c
movb $0x3, %al
callq 0x1170
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
nopw (%rax,%rax)