// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/tools/gt_compreads_compress.c
// Function: gt_compreads_compress_runner
static int gt_compreads_compress_runner(GT_UNUSED int argc,
                                    GT_UNUSED const char **argv,
                                    GT_UNUSED int parsed_args,
                                    void *tool_arguments, GtError *err)
{
  GtCsrHcrEncodeArguments *arguments = tool_arguments;
  int had_err = 0;
  GtAlphabet *alpha = NULL;
  GtHcrEncoder *hcre = NULL;
  GtTimer *timer = NULL;

  gt_error_check(err);
  gt_assert(arguments);
  if (gt_showtime_enabled()) {
    timer = gt_timer_new_with_progress_description("start");
    gt_timer_start(timer);
    gt_assert(timer);
  }

  if (gt_str_length(arguments->smap) > 0) {
    alpha = gt_alphabet_new_from_file_no_suffix(gt_str_get(arguments->smap),
                                                err);
    if (!alpha)
      had_err = 1;
  }
  else {
    alpha = gt_alphabet_new_dna();
    if (!alpha)
      had_err = 1;
  }
  if (!had_err) {
    if (timer != NULL)
      gt_timer_show_progress(timer, "encoding", stdout);
    hcre = gt_hcr_encoder_new(arguments->files, alpha, arguments->descs,
                              arguments->qrng, timer, err);
    if (!hcre)
      had_err = 1;
    else {
      if (arguments->pagewise)
        gt_hcr_encoder_set_sampling_page(hcre);
      else if (arguments->regular)
        gt_hcr_encoder_set_sampling_regular(hcre);

      gt_hcr_encoder_set_sampling_rate(hcre, arguments->srate);

      if (gt_hcr_encoder_encode(hcre, gt_str_get(arguments->name),
                                timer, err) != 0)
        had_err = 1;
    }
    gt_hcr_encoder_delete(hcre);
  }
  gt_alphabet_delete(alpha);
  if (timer != NULL) {
    gt_timer_show_progress_final(timer, stdout);
    gt_timer_delete(timer);
  }
  return had_err;
}

// Assembly:
subq $0x58, %rsp
movl %edi, 0x54(%rsp)
movq %rsi, 0x48(%rsp)
movl %edx, 0x44(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
movl $0x0, 0x24(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq $0x0, 0x8(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x20368
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x20330
jmp 0x20368
movq 0x61bc69(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f5cd2(%rip), %rsi    # 0x516013
leaq 0x4f5e77(%rip), %rdx    # 0x5161bf
leaq 0x4f7d2c(%rip), %rcx    # 0x51807b
leaq 0x4f784e(%rip), %r8     # 0x517ba4
movl $0xf9, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2036a
jmp 0x2036c
cmpq $0x0, 0x28(%rsp)
jne 0x203ac
movq 0x61bc25(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f5c8e(%rip), %rsi    # 0x516013
leaq 0x55a7d3(%rip), %rdx    # 0x57ab5f
leaq 0x4f7ce8(%rip), %rcx    # 0x51807b
leaq 0x4f780a(%rip), %r8     # 0x517ba4
movl $0xfa, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x203ae
callq 0x11aa90
testb $0x1, %al
jne 0x203b9
jmp 0x20418
leaq 0x554391(%rip), %rdi    # 0x574751
callq 0x1213a0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x1213f0
cmpq $0x0, 0x8(%rsp)
jne 0x20414
movq 0x61bbbd(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x4f5c26(%rip), %rsi    # 0x516013
leaq 0x516158(%rip), %rdx    # 0x53654c
leaq 0x4f7c80(%rip), %rcx    # 0x51807b
leaq 0x4f77a2(%rip), %r8     # 0x517ba4
movl $0xfe, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x20416
jmp 0x20418
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dfa0
cmpq $0x0, %rax
jbe 0x2045e
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dee0
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x7fa00
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x2045c
movl $0x1, 0x24(%rsp)
jmp 0x2047a
callq 0x7e4b0
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x20478
movl $0x1, 0x24(%rsp)
jmp 0x2047a
cmpl $0x0, 0x24(%rsp)
jne 0x20578
cmpq $0x0, 0x8(%rsp)
je 0x204a8
movq 0x8(%rsp), %rdi
movq 0x61ba9f(%rip), %rax    # 0x63bf38
movq (%rax), %rdx
leaq 0x5412f1(%rip), %rsi    # 0x561794
callq 0x121930
movq 0x28(%rsp), %rax
movq 0x20(%rax), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rax
movb (%rax), %al
movq 0x28(%rsp), %rcx
movq 0x8(%rsp), %r8
movq 0x30(%rsp), %r9
movq 0x30(%rcx), %rcx
andb $0x1, %al
movzbl %al, %edx
callq 0x1872c0
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x204f1
movl $0x1, 0x24(%rsp)
jmp 0x2056e
movq 0x28(%rsp), %rax
testb $0x1, 0x1(%rax)
je 0x20508
movq 0x10(%rsp), %rdi
callq 0x1880b0
jmp 0x2051f
movq 0x28(%rsp), %rax
testb $0x1, 0x2(%rax)
je 0x2051d
movq 0x10(%rsp), %rdi
callq 0x188040
jmp 0x2051f
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rax
movq 0x28(%rax), %rsi
callq 0x188120
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x28(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11dee0
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x8(%rsp), %rdx
movq 0x30(%rsp), %rcx
callq 0x1881f0
cmpl $0x0, %eax
je 0x2056c
movl $0x1, 0x24(%rsp)
jmp 0x2056e
movq 0x10(%rsp), %rdi
callq 0x188740
movq 0x18(%rsp), %rdi
callq 0x7e3d0
cmpq $0x0, 0x8(%rsp)
je 0x205a8
movq 0x8(%rsp), %rdi
movq 0x61b9a2(%rip), %rax    # 0x63bf38
movq (%rax), %rsi
callq 0x121d70
movq 0x8(%rsp), %rdi
callq 0x121f00
movl 0x24(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)