// File: /workspace/github_c_makefile_star2_O2/jsh58[P]Genrich/Genrich.c
// Function: printLogHeader
void printLogHeader(File log, bool gzOut, int n,
    bool qvalOpt, bool sigOpt) {
  if (n) {
    // multiple samples: logfile has multiple p-values, no pileups
    if (gzOut) {
      gzprintf(log.gzf, "chr\tstart\tend");
      for (int i = 0; i < n; i++)
        gzprintf(log.gzf, "\t-log(p)_%d", i);
      gzprintf(log.gzf, "\t-log(p)_comb");
      if (qvalOpt)
        gzprintf(log.gzf, "\t-log(q)");
      if (sigOpt)
        gzprintf(log.gzf, "\tsignif");
      gzprintf(log.gzf, "\n");
    } else {
      fprintf(log.f, "chr\tstart\tend");
      for (int i = 0; i < n; i++)
        fprintf(log.f, "\t-log(p)_%d", i);
      fprintf(log.f, "\t-log(p)_comb");
      if (qvalOpt)
        fprintf(log.f, "\t-log(q)");
      if (sigOpt)
        fprintf(log.f, "\tsignif");
      fprintf(log.f, "\n");
    }
  } else {
    // single sample: logfile has pileups and p-/q-values
    if (gzOut) {
      gzprintf(log.gzf, "chr\tstart\tend\texperimental\tcontrol\t-log(p)");
      if (qvalOpt)
        gzprintf(log.gzf, "\t-log(q)");
      if (sigOpt)
        gzprintf(log.gzf, "\tsignif");
      gzprintf(log.gzf, "\n");
    } else {
      fprintf(log.f, "chr\tstart\tend\texperimental\tcontrol\t-log(p)");
      if (qvalOpt)
        fprintf(log.f, "\t-log(q)");
      if (sigOpt)
        fprintf(log.f, "\tsignif");
      fprintf(log.f, "\n");
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebp
movl %ecx, %r14d
movq %rdi, %rbx
testl %edx, %edx
je 0x387a
movl %edx, %r15d
xorl %eax, %eax
testl %edx, %edx
cmovlel %eax, %r15d
testb %sil, %sil
je 0x388c
leaq 0xdb4a(%rip), %rsi      # 0x11396
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
leaq 0xdb47(%rip), %r12      # 0x113a4
xorl %r13d, %r13d
cmpl %r13d, %r15d
je 0x38c5
movq %rbx, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x20e0
incl %r13d
jmp 0x3860
testb %sil, %sil
je 0x392c
leaq 0xdb45(%rip), %rsi      # 0x113cf
jmp 0x38cc
leaq 0xdb03(%rip), %rdi      # 0x11396
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x22b0
leaq 0xdafc(%rip), %r12      # 0x113a4
xorl %r13d, %r13d
cmpl %r13d, %r15d
je 0x3921
movq %rbx, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x21c0
incl %r13d
jmp 0x38ab
leaq 0xdae4(%rip), %rsi      # 0x113b0
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testb %r14b, %r14b
je 0x38ec
leaq 0xdadc(%rip), %rsi      # 0x113be
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testb %bpl, %bpl
je 0x3902
leaq 0xdacf(%rip), %rsi      # 0x113c7
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
leaq 0xdcf6(%rip), %rsi      # 0x115ff
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x20e0
leaq 0xda88(%rip), %rdi      # 0x113b0
pushq $0xd
jmp 0x3935
leaq 0xda9c(%rip), %rdi      # 0x113cf
pushq $0x2a
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x22b0
testb %r14b, %r14b
je 0x395b
leaq 0xda71(%rip), %rdi      # 0x113be
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x22b0
testb %bpl, %bpl
je 0x3975
leaq 0xda60(%rip), %rdi      # 0x113c7
pushq $0x7
popq %rsi
pushq $0x1
popq %rdx
movq %rbx, %rcx
callq 0x22b0
pushq $0xa
popq %rdi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2170