// File: /workspace/github_cpp_makefile_star2_O1/zakimjz[P]SLEUTH/treeminer.cpp
// Function: parse_args(int, char**)
void parse_args(int argc, char **argv)
{
   extern char * optarg;
   int c;

   if (argc < 2)
     cout << "usage: treeminer -i<infile> -s <support>\n";
   else{
     while ((c=getopt(argc,argv,"a:bfi:IlOop:s:S:uz:"))!=-1){
       switch(c){
       case 'a':
          alg_type = (alg_vals) atoi(optarg);
          break;
       case 'b':
          Dbase_Ctrl_Blk::binary_input= true;
          break;
        case 'f':
          use_fullpath = true;
          break;
       case 'i': //input files
	 sprintf(infile,"%s",optarg);
	 break;
       case 'I':
          mine_induced = true;
          break;
       case 'l': //print idlists along with freq subtrees
          output=true;
          output_idlist = true;
          break;
       case 'o': //print freq subtrees
	 output = true;
	 break;
       case 'O': //mine ordered
	 mine_ordered = true;
         break;
       case 'p':
          prune_type = (prune_vals) atoi(optarg);
          break;
        case 's': //support value for L2
	 MINSUP_PER = atof(optarg);
	 break;
       case 'S': //absolute support
	 MINSUPPORT = atoi(optarg);
	 break;
       case 'u': //count support multiple times per tree
	 count_unique = false;
	 break;
       case 'z':
          sort_type = (sort_vals) atoi(optarg);
          break;
       }               
     }
   }
   if (mine_induced && !count_unique){
      cout << "incuded and multiple counts not supported yet!\n";
      exit(-1);
   }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
cmpl $0x2, %edi
jge 0x4a5f
movq 0x8587(%rip), %rdi      # 0xcfd0
leaq 0x46e0(%rip), %rsi      # 0x9130
movl $0x29, %edx
callq 0x2220
jmp 0x4b92
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x46ef(%rip), %r14      # 0x915a
movq 0x8546(%rip), %r12      # 0xcfb8
leaq 0x4647(%rip), %r13      # 0x90c0
movb $0x1, %r15b
movl %ebp, %edi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x2070
cmpl $0x52, %eax
jle 0x4ab1
leal -0x61(%rax), %ecx
cmpl $0x14, %ecx
ja 0x4ac8
movslq (%r13,%rcx,4), %rax
addq %r13, %rax
jmpq *%rax
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x893d(%rip)      # 0xd3ec
jmp 0x4a7c
cmpl $0x49, %eax
je 0x4ae7
cmpl $0x4f, %eax
jne 0x4b89
movb $0x1, 0x891e(%rip)      # 0xd3e4
jmp 0x4a7c
cmpl $0x53, %eax
je 0x4b75
cmpl $0x7a, %eax
jne 0x4a7c
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x8903(%rip)      # 0xd3e8
jmp 0x4a7c
movb $0x1, 0x88f5(%rip)      # 0xd3e3
jmp 0x4a7c
movb %r15b, 0x88e9(%rip)     # 0xd3e0
movb %r15b, 0x88e3(%rip)     # 0xd3e1
jmp 0x4a7c
movb $0x1, 0x88d8(%rip)      # 0xd3e2
jmp 0x4a7c
movq (%r12), %rsi
leaq 0x8766(%rip), %rdi      # 0xd280
callq 0x2190
jmp 0x4a7c
movq (%r12), %rdi
callq 0x2240
movsd %xmm0, 0x889b(%rip)     # 0xd3d0
jmp 0x4a7c
leaq 0x86f7(%rip), %rax      # 0xd238
movb $0x1, (%rax)
jmp 0x4a7c
movb $0x1, 0x8890(%rip)      # 0xd3e0
jmp 0x4a7c
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x888c(%rip)      # 0xd3f0
jmp 0x4a7c
movb $0x0, 0x867c(%rip)      # 0xd1ec
jmp 0x4a7c
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x8664(%rip)      # 0xd1e8
jmp 0x4a7c
cmpl $-0x1, %eax
jne 0x4a7c
cmpb $0x1, 0x884a(%rip)      # 0xd3e3
jne 0x4ba4
cmpb $0x0, 0x864a(%rip)      # 0xd1ec
je 0x4bb3
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8416(%rip), %rdi      # 0xcfd0
leaq 0x45ad(%rip), %rsi      # 0x916e
callq 0x21c0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x2230