// File: /workspace/github_c_makefile_star2_O0/OpenGene[P]pecheck/src/cmdline.h
// Function: cmdline::parser::usage[abi:cxx11]() const
std::string usage() const {
    std::ostringstream oss;
    oss<<"usage: "<<prog_name<<" ";
    for (size_t i=0; i<ordered.size(); i++){
      if (ordered[i]->must())
        oss<<ordered[i]->short_description()<<" ";
    }
    
    oss<<"[options] ... "<<ftr<<std::endl;
    oss<<"options:"<<std::endl;

    size_t max_width=0;
    for (size_t i=0; i<ordered.size(); i++){
      max_width=std::max(max_width, ordered[i]->name().length());
    }
    for (size_t i=0; i<ordered.size(); i++){
      if (ordered[i]->short_name()){
        oss<<"  -"<<ordered[i]->short_name()<<", ";
      }
      else{
        oss<<"      ";
      }

      oss<<"--"<<ordered[i]->name();
      for (size_t j=ordered[i]->name().length(); j<max_width+4; j++)
        oss<<' ';
      oss<<ordered[i]->description()<<std::endl;
    }
    return oss.str();
  }

// Assembly:
subq $0x2a8, %rsp            # imm = 0x2A8
movq %rdi, 0x98(%rsp)
movq %rdi, %rax
movq %rax, 0xa0(%rsp)
movq %rdi, 0x2a0(%rsp)
movq %rsi, 0x298(%rsp)
movq 0x298(%rsp), %rax
movq %rax, 0xa8(%rsp)
leaq 0x120(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x44e0
movq 0xb0(%rsp), %rdi
leaq 0x9c37(%rip), %rsi      # 0x161d5
callq 0x4340
movq %rax, 0xb8(%rsp)
jmp 0xc5ad
movq 0xb8(%rsp), %rdi
movq 0xa8(%rsp), %rsi
addq $0x68, %rsi
callq 0x42f0
movq %rax, 0x90(%rsp)
jmp 0xc5d0
movq 0x90(%rsp), %rdi
leaq 0x9c22(%rip), %rsi      # 0x16201
callq 0x4340
jmp 0xc5e6
movq $0x0, 0x108(%rsp)
movq 0xa8(%rsp), %rdi
movq 0x108(%rsp), %rax
movq %rax, 0x88(%rsp)
addq $0x30, %rdi
callq 0xc0d0
movq %rax, %rcx
movq 0x88(%rsp), %rax
cmpq %rcx, %rax
jae 0xc72c
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0x108(%rsp), %rsi
callq 0xcc30
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
movb %al, 0x87(%rsp)
jmp 0xc655
movb 0x87(%rsp), %al
testb $0x1, %al
jne 0xc665
jmp 0xc711
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0x108(%rsp), %rsi
callq 0xcc30
movq (%rax), %rsi
movq (%rsi), %rax
movq 0x58(%rax), %rax
leaq 0xe8(%rsp), %rdi
callq *%rax
jmp 0xc694
leaq 0x120(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x42f0
movq %rax, 0x78(%rsp)
jmp 0xc6b0
movq 0x78(%rsp), %rdi
leaq 0x9b45(%rip), %rsi      # 0x16201
callq 0x4340
jmp 0xc6c3
leaq 0xe8(%rsp), %rdi
callq 0x4758
jmp 0xc711
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xcad8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x4758
jmp 0xcad8
jmp 0xc713
movq 0x108(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x108(%rsp)
jmp 0xc5f2
leaq 0x9aaa(%rip), %rsi      # 0x161dd
leaq 0x120(%rsp), %rdi
callq 0x4340
movq %rax, 0x70(%rsp)
jmp 0xc747
movq 0x70(%rsp), %rdi
movq 0xa8(%rsp), %rsi
addq $0x48, %rsi
callq 0x42f0
movq %rax, 0x68(%rsp)
jmp 0xc764
movq 0x68(%rsp), %rdi
movq 0x11838(%rip), %rsi     # 0x1dfa8
callq 0x43b0
jmp 0xc777
leaq 0x9a6e(%rip), %rsi      # 0x161ec
leaq 0x120(%rsp), %rdi
callq 0x4340
movq %rax, 0x60(%rsp)
jmp 0xc792
movq 0x60(%rsp), %rdi
movq 0x1180a(%rip), %rsi     # 0x1dfa8
callq 0x43b0
jmp 0xc7a5
movq $0x0, 0xe0(%rsp)
movq $0x0, 0xd8(%rsp)
movq 0xa8(%rsp), %rdi
movq 0xd8(%rsp), %rax
movq %rax, 0x58(%rsp)
addq $0x30, %rdi
callq 0xc0d0
movq %rax, %rcx
movq 0x58(%rsp), %rax
cmpq %rcx, %rax
jae 0xc85f
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0xd8(%rsp), %rsi
callq 0xcc30
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movq %rax, 0x50(%rsp)
jmp 0xc814
movq 0x50(%rsp), %rdi
callq 0x4590
movq %rax, 0xd0(%rsp)
leaq 0xe0(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0xc0f0
movq (%rax), %rax
movq %rax, 0xe0(%rsp)
movq 0xd8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xd8(%rsp)
jmp 0xc7bd
movq $0x0, 0xc8(%rsp)
movq 0xa8(%rsp), %rdi
movq 0xc8(%rsp), %rax
movq %rax, 0x48(%rsp)
addq $0x30, %rdi
callq 0xc0d0
movq %rax, %rcx
movq 0x48(%rsp), %rax
cmpq %rcx, %rax
jae 0xcaa4
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0xc8(%rsp), %rsi
callq 0xcc30
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movb %al, 0x47(%rsp)
jmp 0xc8c5
movb 0x47(%rsp), %al
cmpb $0x0, %al
je 0xc940
leaq 0x9921(%rip), %rsi      # 0x161f5
leaq 0x120(%rsp), %rdi
callq 0x4340
movq %rax, 0x38(%rsp)
jmp 0xc8e8
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0xc8(%rsp), %rsi
callq 0xcc30
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movb %al, 0x37(%rsp)
jmp 0xc913
movq 0x38(%rsp), %rdi
movb 0x37(%rsp), %al
movsbl %al, %esi
callq 0x4450
movq %rax, 0x28(%rsp)
jmp 0xc92b
movq 0x28(%rsp), %rdi
leaq 0x98c2(%rip), %rsi      # 0x161f9
callq 0x4340
jmp 0xc93e
jmp 0xc958
leaq 0x98b5(%rip), %rsi      # 0x161fc
leaq 0x120(%rsp), %rdi
callq 0x4340
jmp 0xc956
jmp 0xc958
leaq 0x9971(%rip), %rsi      # 0x162d0
leaq 0x120(%rsp), %rdi
callq 0x4340
movq %rax, 0x20(%rsp)
jmp 0xc973
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0xc8(%rsp), %rsi
callq 0xcc30
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movq %rax, 0x18(%rsp)
jmp 0xc99f
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdi
callq 0x42f0
jmp 0xc9b0
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0xc8(%rsp), %rsi
callq 0xcc30
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
callq *%rax
movq %rax, 0x10(%rsp)
jmp 0xc9dc
movq 0x10(%rsp), %rdi
callq 0x4590
movq %rax, 0xc0(%rsp)
movq 0xc0(%rsp), %rax
movq 0xe0(%rsp), %rcx
addq $0x4, %rcx
cmpq %rcx, %rax
jae 0xca33
leaq 0x120(%rsp), %rdi
movl $0x20, %esi
callq 0x4450
jmp 0xca1b
jmp 0xca1d
movq 0xc0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xc0(%rsp)
jmp 0xc9ee
movq 0xa8(%rsp), %rdi
addq $0x30, %rdi
movq 0xc8(%rsp), %rsi
callq 0xcc30
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x50(%rax), %rax
callq *%rax
movq %rax, 0x8(%rsp)
jmp 0xca5f
movq 0x8(%rsp), %rsi
leaq 0x120(%rsp), %rdi
callq 0x42f0
movq %rax, (%rsp)
jmp 0xca77
movq (%rsp), %rdi
movq 0x11526(%rip), %rsi     # 0x1dfa8
callq 0x43b0
jmp 0xca89
jmp 0xca8b
movq 0xc8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xc8(%rsp)
jmp 0xc86b
movq 0x98(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x4380
jmp 0xcabb
leaq 0x120(%rsp), %rdi
callq 0x40d0
movq 0xa0(%rsp), %rax
addq $0x2a8, %rsp            # imm = 0x2A8
retq
leaq 0x120(%rsp), %rdi
callq 0x40d0
movq 0x118(%rsp), %rdi
callq 0x46a0
nopw %cs:(%rax,%rax)
nopl (%rax)