// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/tag_value_map.c
// Function: gt_tag_value_map_remove
void gt_tag_value_map_remove(GtTagValueMap *map, const char *tag)
{
  size_t tag_len, value_len, map_len;
  char *value;
  gt_assert(map && tag && get_map_nof_items(*map) > 1);
  tag_len = strlen(tag);
  gt_assert(tag_len);
  /* determine value for given tag */
  value = get_value(*map, tag, NULL);
  gt_assert(value);
  map_len = get_map_len(*map);
  value_len = strlen(value);
  /* move memory from end position of value to start position of tag */
  memmove(value - tag_len - 1, value + value_len + 1,
          map_len - ((size_t) value - (size_t) *map + value_len));
  *map = gt_realloc(*map, map_len - (tag_len + 1 + value_len + 1) + 1);
  gt_assert((*map)[map_len - (tag_len + 1 + value_len + 1)] == '\0');
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x367e1
cmpq $0x0, 0x28(%rsp)
je 0x367e1
movq 0x30(%rsp), %rax
movq (%rax), %rdi
callq 0x369e0
cmpq $0x1, %rax
ja 0x36819
movq 0x17d7f0(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x127874(%rip), %rsi    # 0x15e066
leaq 0x12feb0(%rip), %rdx    # 0x1666a9
leaq 0x12fed3(%rip), %rcx    # 0x1666d3
leaq 0x12fe2d(%rip), %r8     # 0x166634
movl $0x8e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3681b
movq 0x28(%rsp), %rdi
callq 0xb240
movq %rax, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x3686a
movq 0x17d79f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x127823(%rip), %rsi    # 0x15e066
leaq 0x12fea1(%rip), %rdx    # 0x1666eb
leaq 0x12fe82(%rip), %rcx    # 0x1666d3
leaq 0x12fddc(%rip), %r8     # 0x166634
movl $0x90, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3686c
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x36680
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x368c7
movq 0x17d742(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1277c6(%rip), %rsi    # 0x15e066
leaq 0x130ba1(%rip), %rdx    # 0x167448
leaq 0x12fe25(%rip), %rcx    # 0x1666d3
leaq 0x12fd7f(%rip), %r8     # 0x166634
movl $0x93, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x368c9
movq 0x30(%rsp), %rax
movq (%rax), %rdi
callq 0x36a70
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rdi
callq 0xb240
movq %rax, 0x18(%rsp)
movq 0x8(%rsp), %rdi
xorl %eax, %eax
subq 0x20(%rsp), %rax
addq %rax, %rdi
addq $-0x1, %rdi
movq 0x8(%rsp), %rsi
addq 0x18(%rsp), %rsi
addq $0x1, %rsi
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rax
movq 0x30(%rsp), %rcx
movq (%rcx), %rcx
subq %rcx, %rax
addq 0x18(%rsp), %rax
subq %rax, %rdx
callq 0xba20
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x20(%rsp), %rax
addq $0x1, %rax
addq 0x18(%rsp), %rax
addq $0x1, %rax
subq %rax, %rsi
addq $0x1, %rsi
leaq 0x12fcda(%rip), %rdx    # 0x166634
movl $0x99, %ecx
callq 0xd730
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq 0x20(%rsp), %rdx
addq $0x1, %rdx
addq 0x18(%rsp), %rdx
addq $0x1, %rdx
subq %rdx, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x369d2
movq 0x17d637(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1276bb(%rip), %rsi    # 0x15e066
leaq 0x12fd41(%rip), %rdx    # 0x1666f3
leaq 0x12fd1a(%rip), %rcx    # 0x1666d3
leaq 0x12fc74(%rip), %r8     # 0x166634
movl $0x9a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x369d4
addq $0x38, %rsp
retq
nopl (%rax)