// File: /workspace/github_cpp_makefile_star2_O2/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 0x462a
movq 0x89d7(%rip), %rdi      # 0xcfd0
leaq 0x3b30(%rip), %rsi      # 0x8130
callq 0x2160
cmpb $0x1, 0x8da7(%rip)      # 0xd3b3
jne 0x461b
cmpb $0x0, 0x8b9f(%rip)      # 0xd1b4
je 0x4764
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x3b24(%rip), %r14      # 0x815a
movq 0x8983(%rip), %r12      # 0xcfc0
leaq 0x3a7c(%rip), %r13      # 0x80c0
movb $0x1, %r15b
movl %ebp, %edi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x2060
leal -0x61(%rax), %ecx
cmpl $0x14, %ecx
ja 0x4677
movslq (%r13,%rcx,4), %rax
addq %r13, %rax
jmpq *%rax
movq (%r12), %rdi
callq 0x2240
movl %eax, 0x8d47(%rip)      # 0xd3bc
jmp 0x4647
cmpl $0x49, %eax
je 0x4724
cmpl $0x4f, %eax
je 0x4744
cmpl $0x53, %eax
je 0x4730
cmpl $0x7a, %eax
je 0x4750
cmpl $-0x1, %eax
jne 0x4647
jmp 0x4605
movb %r15b, 0x8d04(%rip)     # 0xd3b0
movb %r15b, 0x8cfe(%rip)     # 0xd3b1
jmp 0x4647
movb $0x1, 0x8cf6(%rip)      # 0xd3b2
jmp 0x4647
movq (%r12), %rsi
leaq 0x8b87(%rip), %rdi      # 0xd250
callq 0x2140
jmp 0x4647
movq (%r12), %rdi
callq 0x21c0
movsd %xmm0, 0x8cbc(%rip)     # 0xd3a0
jmp 0x4647
leaq 0x8b18(%rip), %rax      # 0xd208
movb $0x1, (%rax)
jmp 0x4647
movb $0x1, 0x8cb1(%rip)      # 0xd3b0
jmp 0x4647
movq (%r12), %rdi
callq 0x2240
movl %eax, 0x8cad(%rip)      # 0xd3c0
jmp 0x4647
movb $0x0, 0x8a95(%rip)      # 0xd1b4
jmp 0x4647
movb $0x1, 0x8c88(%rip)      # 0xd3b3
jmp 0x4647
movq (%r12), %rdi
callq 0x2240
movl %eax, 0x8a71(%rip)      # 0xd1b0
jmp 0x4647
movb $0x1, 0x8c69(%rip)      # 0xd3b4
jmp 0x4647
movq (%r12), %rdi
callq 0x2240
movl %eax, 0x8c59(%rip)      # 0xd3b8
jmp 0x4647
movq 0x8865(%rip), %rdi      # 0xcfd0
leaq 0x39fc(%rip), %rsi      # 0x816e
callq 0x2160
pushq $-0x1
popq %rdi
callq 0x21b0