// File: /workspace/github_c_makefile_star2_O0/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:
subq $0x28, %rsp
movb %r8b, %al
movq %rdi, 0x20(%rsp)
andb $0x1, %sil
movb %sil, 0x1f(%rsp)
movl %edx, 0x18(%rsp)
andb $0x1, %cl
movb %cl, 0x17(%rsp)
andb $0x1, %al
movb %al, 0x16(%rsp)
cmpl $0x0, 0x18(%rsp)
je 0x4bbc
testb $0x1, 0x1f(%rsp)
je 0x4b14
movq 0x20(%rsp), %rdi
leaq 0x1ab4e(%rip), %rsi     # 0x1f5c6
movb $0x0, %al
callq 0x20e0
movl $0x0, 0x10(%rsp)
movl 0x10(%rsp), %eax
cmpl 0x18(%rsp), %eax
jge 0x4ab5
movq 0x20(%rsp), %rdi
movl 0x10(%rsp), %edx
leaq 0x1ab33(%rip), %rsi     # 0x1f5d4
movb $0x0, %al
callq 0x20e0
movl 0x10(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x10(%rsp)
jmp 0x4a87
movq 0x20(%rsp), %rdi
leaq 0x1ab1f(%rip), %rsi     # 0x1f5e0
movb $0x0, %al
callq 0x20e0
testb $0x1, 0x17(%rsp)
je 0x4ae2
movq 0x20(%rsp), %rdi
leaq 0x1ab13(%rip), %rsi     # 0x1f5ee
movb $0x0, %al
callq 0x20e0
testb $0x1, 0x16(%rsp)
je 0x4afc
movq 0x20(%rsp), %rdi
leaq 0x1ab02(%rip), %rsi     # 0x1f5f7
movb $0x0, %al
callq 0x20e0
movq 0x20(%rsp), %rdi
leaq 0x1ad27(%rip), %rsi     # 0x1f82f
movb $0x0, %al
callq 0x20e0
jmp 0x4bb7
movq 0x20(%rsp), %rdi
leaq 0x1aaa6(%rip), %rsi     # 0x1f5c6
movb $0x0, %al
callq 0x21c0
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x18(%rsp), %eax
jge 0x4b5d
movq 0x20(%rsp), %rdi
movl 0xc(%rsp), %edx
leaq 0x1aa8b(%rip), %rsi     # 0x1f5d4
movb $0x0, %al
callq 0x21c0
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x4b2f
movq 0x20(%rsp), %rdi
leaq 0x1aa77(%rip), %rsi     # 0x1f5e0
movb $0x0, %al
callq 0x21c0
testb $0x1, 0x17(%rsp)
je 0x4b8a
movq 0x20(%rsp), %rdi
leaq 0x1aa6b(%rip), %rsi     # 0x1f5ee
movb $0x0, %al
callq 0x21c0
testb $0x1, 0x16(%rsp)
je 0x4ba4
movq 0x20(%rsp), %rdi
leaq 0x1aa5a(%rip), %rsi     # 0x1f5f7
movb $0x0, %al
callq 0x21c0
movq 0x20(%rsp), %rdi
leaq 0x1ac7f(%rip), %rsi     # 0x1f82f
movb $0x0, %al
callq 0x21c0
jmp 0x4c7b
testb $0x1, 0x1f(%rsp)
je 0x4c1f
movq 0x20(%rsp), %rdi
leaq 0x1aa30(%rip), %rsi     # 0x1f5ff
movb $0x0, %al
callq 0x20e0
testb $0x1, 0x17(%rsp)
je 0x4bf0
movq 0x20(%rsp), %rdi
leaq 0x1aa05(%rip), %rsi     # 0x1f5ee
movb $0x0, %al
callq 0x20e0
testb $0x1, 0x16(%rsp)
je 0x4c0a
movq 0x20(%rsp), %rdi
leaq 0x1a9f4(%rip), %rsi     # 0x1f5f7
movb $0x0, %al
callq 0x20e0
movq 0x20(%rsp), %rdi
leaq 0x1ac19(%rip), %rsi     # 0x1f82f
movb $0x0, %al
callq 0x20e0
jmp 0x4c79
movq 0x20(%rsp), %rdi
leaq 0x1a9d4(%rip), %rsi     # 0x1f5ff
movb $0x0, %al
callq 0x21c0
testb $0x1, 0x17(%rsp)
je 0x4c4c
movq 0x20(%rsp), %rdi
leaq 0x1a9a9(%rip), %rsi     # 0x1f5ee
movb $0x0, %al
callq 0x21c0
testb $0x1, 0x16(%rsp)
je 0x4c66
movq 0x20(%rsp), %rdi
leaq 0x1a998(%rip), %rsi     # 0x1f5f7
movb $0x0, %al
callq 0x21c0
movq 0x20(%rsp), %rdi
leaq 0x1abbd(%rip), %rsi     # 0x1f82f
movb $0x0, %al
callq 0x21c0
jmp 0x4c7b
addq $0x28, %rsp
retq