// File: /workspace/github_cpp_makefile_star2_O3/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 0x4a13
movq 0x85d3(%rip), %rdi      # 0xcfd0
leaq 0x476c(%rip), %rsi      # 0x9170
movl $0x29, %edx
callq 0x2220
jmp 0x4b46
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x477b(%rip), %r14      # 0x919a
movq 0x8592(%rip), %r12      # 0xcfb8
leaq 0x4693(%rip), %r13      # 0x90c0
movb $0x1, %r15b
movl %ebp, %edi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x2070
cmpl $0x52, %eax
jle 0x4a65
leal -0x61(%rax), %ecx
cmpl $0x14, %ecx
ja 0x4a7c
movslq (%r13,%rcx,4), %rax
addq %r13, %rax
jmpq *%rax
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x8989(%rip)      # 0xd3ec
jmp 0x4a30
cmpl $0x49, %eax
je 0x4a9b
cmpl $0x4f, %eax
jne 0x4b3d
movb $0x1, 0x896a(%rip)      # 0xd3e4
jmp 0x4a30
cmpl $0x53, %eax
je 0x4b29
cmpl $0x7a, %eax
jne 0x4a30
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x894f(%rip)      # 0xd3e8
jmp 0x4a30
movb $0x1, 0x8941(%rip)      # 0xd3e3
jmp 0x4a30
movb %r15b, 0x8935(%rip)     # 0xd3e0
movb %r15b, 0x892f(%rip)     # 0xd3e1
jmp 0x4a30
movb $0x1, 0x8924(%rip)      # 0xd3e2
jmp 0x4a30
movq (%r12), %rsi
leaq 0x87b2(%rip), %rdi      # 0xd280
callq 0x2190
jmp 0x4a30
movq (%r12), %rdi
callq 0x2240
movsd %xmm0, 0x88e7(%rip)     # 0xd3d0
jmp 0x4a30
leaq 0x8743(%rip), %rax      # 0xd238
movb $0x1, (%rax)
jmp 0x4a30
movb $0x1, 0x88dc(%rip)      # 0xd3e0
jmp 0x4a30
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x88d8(%rip)      # 0xd3f0
jmp 0x4a30
movb $0x0, 0x86c8(%rip)      # 0xd1ec
jmp 0x4a30
movq (%r12), %rdi
callq 0x22b0
movl %eax, 0x86b0(%rip)      # 0xd1e8
jmp 0x4a30
cmpl $-0x1, %eax
jne 0x4a30
cmpb $0x1, 0x8896(%rip)      # 0xd3e3
jne 0x4b58
cmpb $0x0, 0x8696(%rip)      # 0xd1ec
je 0x4b67
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8462(%rip), %rdi      # 0xcfd0
leaq 0x4639(%rip), %rsi      # 0x91ae
callq 0x21c0
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x2230