// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/stream_evaluator.c
// Function: slot_new
static Slot* slot_new(bool nuceval, GtRange range)
{
  GtUword length;
  Slot *s = gt_calloc(1, sizeof (Slot));
  length = gt_range_length(&range);
  s->genes_forward = gt_array_new(sizeof (GtGenomeNode*));
  s->genes_reverse = gt_array_new(sizeof (GtGenomeNode*));
  s->mRNAs_forward = gt_array_new(sizeof (GtGenomeNode*));
  s->mRNAs_reverse = gt_array_new(sizeof (GtGenomeNode*));
  s->LTRs          = gt_array_new(sizeof (GtGenomeNode*));
  s->mRNA_exons_forward = gt_transcript_exons_new();
  s->mRNA_exons_reverse = gt_transcript_exons_new();
  s->CDS_exons_forward = gt_transcript_exons_new();
  s->CDS_exons_reverse = gt_transcript_exons_new();
  if (nuceval) {
    s->real_range = range;
    s->real_mRNA_nucleotides_forward = gt_bittab_new(length);
    s->pred_mRNA_nucleotides_forward = gt_bittab_new(length);
    s->real_mRNA_nucleotides_reverse = gt_bittab_new(length);
    s->pred_mRNA_nucleotides_reverse = gt_bittab_new(length);
    s->real_CDS_nucleotides_forward = gt_bittab_new(length);
    s->pred_CDS_nucleotides_forward = gt_bittab_new(length);
    s->real_CDS_nucleotides_reverse = gt_bittab_new(length);
    s->pred_CDS_nucleotides_reverse = gt_bittab_new(length);
  }
  s->used_mRNA_exons_forward = gt_transcript_used_exons_new();
  s->used_mRNA_exons_reverse = gt_transcript_used_exons_new();
  s->used_CDS_exons_forward = gt_transcript_used_exons_new();
  s->used_CDS_exons_reverse = gt_transcript_used_exons_new();
  return s;
}

// Assembly:
subq $0x28, %rsp
movb %dil, %al
movq %rsi, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
andb $0x1, %al
movb %al, 0x17(%rsp)
movl $0x1, %edi
movl $0x188, %esi            # imm = 0x188
leaq 0x8d730(%rip), %rdx     # 0x17a5a8
movl $0x91, %ecx
callq 0xd5b0
movq %rax, (%rsp)
leaq 0x18(%rsp), %rdi
callq 0x93bd0
movq %rax, 0x8(%rsp)
movl $0x8, %edi
callq 0x75ab0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movl $0x8, %edi
callq 0x75ab0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movl $0x8, %edi
callq 0x75ab0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movl $0x8, %edi
callq 0x75ab0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
movl $0x8, %edi
callq 0x75ab0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x20(%rax)
callq 0xf2860
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
callq 0xf2860
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
callq 0xf2860
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x38(%rax)
callq 0xf2860
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x40(%rax)
testb $0x1, 0x17(%rsp)
je 0xed01e
movq (%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rcx, 0x68(%rax)
movq 0x20(%rsp), %rcx
movq %rcx, 0x70(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x98(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0xa0(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0xa8(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0xb0(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0xb8(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0xc0(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0xc8(%rax)
movq 0x8(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0xd0(%rax)
callq 0xf2e30
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x168(%rax)
callq 0xf2e30
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x170(%rax)
callq 0xf2e30
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x178(%rax)
callq 0xf2e30
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x180(%rax)
movq (%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)