// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/seed-extend.c
// Function: gt_sesp_from_absolute
static void gt_sesp_from_absolute(GtSeedextendSeqpair *sesp,
                                  const GtEncseq *dbencseq,
                                  GtUword pos1,
                                  const GtEncseq *queryencseq,
                                  bool same_encseq,
                                  GtUword pos2,
                                  GtUword len)
{
  gt_assert(pos1 < pos2);
  sesp->same_encseq = same_encseq;
  sesp->seedlength = len;
  sesp->dbseqnum = gt_encseq_seqnum(dbencseq,pos1),
  sesp->db_seqstart = gt_encseq_seqstartpos(dbencseq,sesp->dbseqnum),
  sesp->dbseqlength = gt_encseq_seqlength(dbencseq,sesp->dbseqnum);
  if (dbencseq == queryencseq && pos2 < sesp->db_seqstart + sesp->dbseqlength)
  { /* second match in same sequence */
    sesp->queryseqnum = sesp->dbseqnum;
    sesp->query_seqstart = sesp->db_seqstart;
    sesp->query_seqlen = sesp->dbseqlength;
  } else
  {
    sesp->queryseqnum = gt_encseq_seqnum(queryencseq,pos2);
    gt_assert(dbencseq != queryencseq || sesp->dbseqnum < sesp->queryseqnum);
    sesp->query_seqstart = gt_encseq_seqstartpos(queryencseq,sesp->queryseqnum);
    sesp->query_seqlen = gt_encseq_seqlength(queryencseq,sesp->queryseqnum);
  }
  gt_assert(sesp->db_seqstart <= pos1);
  sesp->dbstart_relative = pos1 - sesp->db_seqstart;
  gt_assert(sesp->query_seqstart <= pos2);
  sesp->querystart_relative = pos2 - sesp->query_seqstart;
  sesp->query_readmode = GT_READMODE_FORWARD;
}

// Assembly:
subq $0x38, %rsp
movb %r8b, %al
movq 0x40(%rsp), %r8
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
andb $0x1, %al
movb %al, 0x17(%rsp)
movq %r9, 0x8(%rsp)
movq 0x20(%rsp), %rax
cmpq 0x8(%rsp), %rax
jb 0x2af24f
movq 0x38cd82(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x266deb(%rip), %rsi    # 0x516013
leaq 0x27755a(%rip), %rdx    # 0x526789
leaq 0x2d8b85(%rip), %rcx    # 0x587dbb
leaq 0x2d8497(%rip), %r8     # 0x5876d4
movl $0x8a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2af251
movb 0x17(%rsp), %cl
movq 0x30(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x4c(%rax)
movq 0x40(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xb03a0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rsi
callq 0xb0530
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rax
movq (%rax), %rsi
callq 0xb09f0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
cmpq 0x18(%rsp), %rax
jne 0x2af326
movq 0x8(%rsp), %rax
movq 0x30(%rsp), %rcx
movq 0x10(%rcx), %rcx
movq 0x30(%rsp), %rdx
addq 0x8(%rdx), %rcx
cmpq %rcx, %rax
jae 0x2af326
movq 0x30(%rsp), %rax
movq (%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x28(%rax)
jmp 0x2af3d8
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xb03a0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x28(%rsp), %rax
cmpq 0x18(%rsp), %rax
jne 0x2af398
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x30(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jb 0x2af398
movq 0x38cc39(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x266ca2(%rip), %rsi    # 0x516013
leaq 0x2d8a59(%rip), %rdx    # 0x587dd1
leaq 0x2d8a3c(%rip), %rcx    # 0x587dbb
leaq 0x2d834e(%rip), %r8     # 0x5876d4
movl $0x98, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2af39a
movq 0x18(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0xb0530
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x18(%rsp), %rdi
movq 0x30(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0xb09f0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x28(%rax)
jmp 0x2af3da
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rax
cmpq 0x20(%rsp), %rax
jbe 0x2af422
movq 0x38cbaf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x266c18(%rip), %rsi    # 0x516013
leaq 0x2d8a0d(%rip), %rdx    # 0x587e0f
leaq 0x2d89b2(%rip), %rcx    # 0x587dbb
leaq 0x2d82c4(%rip), %r8     # 0x5876d4
movl $0x9c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2af424
movq 0x20(%rsp), %rcx
movq 0x30(%rsp), %rax
subq 0x10(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x30(%rsp), %rax
movq 0x30(%rax), %rax
cmpq 0x8(%rsp), %rax
jbe 0x2af483
movq 0x38cb4e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x266bb7(%rip), %rsi    # 0x516013
leaq 0x2d89c6(%rip), %rdx    # 0x587e29
leaq 0x2d8951(%rip), %rcx    # 0x587dbb
leaq 0x2d8263(%rip), %r8     # 0x5876d4
movl $0x9e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2af485
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
subq 0x30(%rax), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x30(%rsp), %rax
movl $0x0, 0x48(%rax)
addq $0x38, %rsp
retq
nopl (%rax)