// File: /workspace/github_c_makefile_star2_O3/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 0x4a98
movl %edx, %r15d
testb %sil, %sil
je 0x4afd
leaq 0xe9e8(%rip), %rsi      # 0x13446
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testl %r15d, %r15d
jle 0x4a8f
leaq 0xe9e0(%rip), %r12      # 0x13454
xorl %r13d, %r13d
movq %rbx, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x20e0
incl %r13d
cmpl %r13d, %r15d
jne 0x4a77
leaq 0xe9ca(%rip), %rsi      # 0x13460
jmp 0x4aa8
testb %sil, %sil
je 0x4b4b
leaq 0xe9d7(%rip), %rsi      # 0x1347f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testb %r14b, %r14b
je 0x4ac8
leaq 0xe9b0(%rip), %rsi      # 0x1346e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testb %bpl, %bpl
je 0x4ade
leaq 0xe9a3(%rip), %rsi      # 0x13477
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
leaq 0xebca(%rip), %rsi      # 0x136af
movq %rbx, %rdi
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x20e0
leaq 0xe942(%rip), %rdi      # 0x13446
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
testl %r15d, %r15d
jle 0x4b3d
leaq 0xe932(%rip), %r12      # 0x13454
xorl %r13d, %r13d
movq %rbx, %rdi
movq %r12, %rsi
movl %r13d, %edx
xorl %eax, %eax
callq 0x21d0
incl %r13d
cmpl %r13d, %r15d
jne 0x4b25
leaq 0xe91c(%rip), %rdi      # 0x13460
movl $0xd, %esi
jmp 0x4b57
leaq 0xe92d(%rip), %rdi      # 0x1347f
movl $0x2a, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
testb %r14b, %r14b
je 0x4b82
leaq 0xe8fe(%rip), %rdi      # 0x1346e
movl $0x8, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
testb %bpl, %bpl
je 0x4ba0
leaq 0xe8e9(%rip), %rdi      # 0x13477
movl $0x7, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
movl $0xa, %edi
movq %rbx, %rsi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2180