// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/gff3_parser.c
// Function: tidy_multi_feature_with_different_parent
static void tidy_multi_feature_with_different_parent(GtFeatureNode *new_gf,
                                                     GtFeatureNode *old_gf,
                                                     const char *id,
                                                     GtFeatureInfo
                                                     *feature_info)
{
  GtFeatureNode *parent;
  gt_assert(new_gf && old_gf && id && feature_info);
  gt_warning("the multi-feature with %s \"%s\" on line %u in file \"%s\" has a "
             "different attribute '%s' than its counterpart on line %u "
             "('%s' vs. '%s') -> tidy this as normal feature", GT_GFF_ID, id,
             gt_genome_node_get_line_number((GtGenomeNode*) new_gf),
             gt_genome_node_get_filename((GtGenomeNode*) new_gf), GT_GFF_PARENT,
             gt_genome_node_get_line_number((GtGenomeNode*) old_gf),
             gt_feature_node_get_attribute(new_gf, GT_GFF_PARENT),
             gt_feature_node_get_attribute(old_gf, GT_GFF_PARENT));
  /* the new feature is not a multi-feature anymore */
  gt_feature_node_unset_multi(new_gf);
  /* unset multi-feature status of the old feature, if it is the only child of
     its parent (with the given type) */
  parent = gt_feature_info_get(feature_info,
                               gt_feature_node_get_attribute(old_gf,
                                                             GT_GFF_PARENT));
  if (gt_feature_node_number_of_children_of_type(parent, old_gf) == 1)
    gt_feature_node_unset_multi(old_gf);
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq %rdx, 0x60(%rsp)
movq %rcx, 0x58(%rsp)
cmpq $0x0, 0x70(%rsp)
je 0x2ff98
cmpq $0x0, 0x68(%rsp)
je 0x2ff98
cmpq $0x0, 0x60(%rsp)
je 0x2ff98
cmpq $0x0, 0x58(%rsp)
jne 0x2ffd0
movq 0x184039(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12e0bd(%rip), %rsi    # 0x15e066
leaq 0x1352b2(%rip), %rdx    # 0x165262
leaq 0x1352d2(%rip), %rcx    # 0x165289
leaq 0x1335ed(%rip), %r8     # 0x1635ab
movl $0x3e7, %r9d            # imm = 0x3E7
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x2ffd2
movq 0x60(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x70(%rsp), %rdi
callq 0x25850
movl %eax, 0x2c(%rsp)
movq 0x70(%rsp), %rdi
callq 0x257c0
movq %rax, 0x30(%rsp)
movq 0x68(%rsp), %rdi
callq 0x25850
movl %eax, 0x3c(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x134830(%rip), %rsi    # 0x164843
callq 0x1fde0
movq %rax, 0x40(%rsp)
movq 0x68(%rsp), %rdi
leaq 0x13481a(%rip), %rsi    # 0x164843
callq 0x1fde0
movq 0x20(%rsp), %rdx
movl 0x2c(%rsp), %ecx
movq 0x30(%rsp), %r8
movl 0x3c(%rsp), %r11d
movq 0x40(%rsp), %r10
leaq 0x135265(%rip), %rdi    # 0x1652b2
leaq 0x1347ec(%rip), %rsi    # 0x164840
leaq 0x1347e8(%rip), %r9     # 0x164843
movl %r11d, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
movb $0x0, %al
callq 0x1c550
movq 0x70(%rsp), %rdi
callq 0x21bd0
movq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x68(%rsp), %rdi
leaq 0x1347b3(%rip), %rsi    # 0x164843
callq 0x1fde0
movq 0x48(%rsp), %rdi
movq %rax, %rsi
callq 0xa6220
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rdi
movq 0x68(%rsp), %rsi
callq 0x23900
cmpq $0x1, %rax
jne 0x300c6
movq 0x68(%rsp), %rdi
callq 0x21bd0
addq $0x78, %rsp
retq
nopl (%rax,%rax)