// File: /workspace/github_c_makefile_star2_O1/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 0x4adb
movl %edx, %r15d
testb %sil, %sil
je 0x4b40
leaq 0xe9a5(%rip), %rsi      # 0x13446
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testl %r15d, %r15d
jle 0x4ad2
leaq 0xe99d(%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 0x4aba
leaq 0xe987(%rip), %rsi      # 0x13460
jmp 0x4aeb
testb %sil, %sil
je 0x4b8e
leaq 0xe994(%rip), %rsi      # 0x1347f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testb %r14b, %r14b
je 0x4b0b
leaq 0xe96d(%rip), %rsi      # 0x1346e
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
testb %bpl, %bpl
je 0x4b21
leaq 0xe960(%rip), %rsi      # 0x13477
movq %rbx, %rdi
xorl %eax, %eax
callq 0x20e0
leaq 0xeb87(%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 0xe8ff(%rip), %rdi      # 0x13446
movl $0xd, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
testl %r15d, %r15d
jle 0x4b80
leaq 0xe8ef(%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 0x4b68
leaq 0xe8d9(%rip), %rdi      # 0x13460
movl $0xd, %esi
jmp 0x4b9a
leaq 0xe8ea(%rip), %rdi      # 0x1347f
movl $0x2a, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
testb %r14b, %r14b
je 0x4bc5
leaq 0xe8bb(%rip), %rdi      # 0x1346e
movl $0x8, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x22b0
testb %bpl, %bpl
je 0x4be3
leaq 0xe8a6(%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