// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/feature_node.c
// Function: gt_feature_node_new_standard_gene
GtGenomeNode* gt_feature_node_new_standard_gene(void)
{
  GtGenomeNode *fn, *child, *grand;
  GtStr *seqid;
  seqid = gt_str_new_cstr("ctg123");

  /* gene */
  fn = gt_feature_node_new(seqid, gt_ft_gene, 1000, 9000, GT_STRAND_FORWARD);

  /* TF binding site */
  child = gt_feature_node_new(seqid, gt_ft_TF_binding_site, 1000, 1012,
                                GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) fn, (GtFeatureNode*) child);

  /* first mRNA */
  child = gt_feature_node_new(seqid, gt_ft_mRNA, 1050, 9000, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) fn, (GtFeatureNode*) child);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 1050, 1500, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 3000, 3902, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 5000, 5500, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 7000, 9000, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);

  /* second mRNA */
  child = gt_feature_node_new(seqid, gt_ft_mRNA, 1050, 9000, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) fn, (GtFeatureNode*) child);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 1050, 1500, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 5000, 5500, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 7000, 9000, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);

  /* third mRNA */
  child = gt_feature_node_new(seqid, gt_ft_mRNA, 1300, 9000, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) fn, (GtFeatureNode*) child);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 1300, 1500, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 3000, 3902, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 5000, 5500, GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);
  grand = gt_feature_node_new(seqid, gt_ft_exon, 7000, 9000,GT_STRAND_FORWARD);
  gt_feature_node_add_child((GtFeatureNode*) child, (GtFeatureNode*) grand);

  gt_str_delete(seqid);
  return fn;
}

// Assembly:
subq $0x28, %rsp
leaq 0x141204(%rip), %rdi    # 0x161c7f
callq 0x18f70
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x16ea7f(%rip), %rsi    # 0x18f510
movl $0x3e8, %edx            # imm = 0x3E8
movl $0x2328, %ecx           # imm = 0x2328
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x20(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x1411d2(%rip), %rsi    # 0x161c86
movl $0x3e8, %edx            # imm = 0x3E8
movl $0x3f4, %ecx            # imm = 0x3F4
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x1411b0(%rip), %rsi    # 0x161c96
movl $0x41a, %edx            # imm = 0x41A
movl $0x2328, %ecx           # imm = 0x2328
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a29e(%rip), %rsi    # 0x17adb6
movl $0x41a, %edx            # imm = 0x41A
movl $0x5dc, %ecx            # imm = 0x5DC
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a26c(%rip), %rsi    # 0x17adb6
movl $0xbb8, %edx            # imm = 0xBB8
movl $0xf3e, %ecx            # imm = 0xF3E
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a23a(%rip), %rsi    # 0x17adb6
movl $0x1388, %edx           # imm = 0x1388
movl $0x157c, %ecx           # imm = 0x157C
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a208(%rip), %rsi    # 0x17adb6
movl $0x1b58, %edx           # imm = 0x1B58
movl $0x2328, %ecx           # imm = 0x2328
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x1410b6(%rip), %rsi    # 0x161c96
movl $0x41a, %edx            # imm = 0x41A
movl $0x2328, %ecx           # imm = 0x2328
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a1a4(%rip), %rsi    # 0x17adb6
movl $0x41a, %edx            # imm = 0x41A
movl $0x5dc, %ecx            # imm = 0x5DC
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a172(%rip), %rsi    # 0x17adb6
movl $0x1388, %edx           # imm = 0x1388
movl $0x157c, %ecx           # imm = 0x157C
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a140(%rip), %rsi    # 0x17adb6
movl $0x1b58, %edx           # imm = 0x1B58
movl $0x2328, %ecx           # imm = 0x2328
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x140fee(%rip), %rsi    # 0x161c96
movl $0x514, %edx            # imm = 0x514
movl $0x2328, %ecx           # imm = 0x2328
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a0dc(%rip), %rsi    # 0x17adb6
movl $0x514, %edx            # imm = 0x514
movl $0x5dc, %ecx            # imm = 0x5DC
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a0aa(%rip), %rsi    # 0x17adb6
movl $0xbb8, %edx            # imm = 0xBB8
movl $0xf3e, %ecx            # imm = 0xF3E
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a078(%rip), %rsi    # 0x17adb6
movl $0x1388, %edx           # imm = 0x1388
movl $0x157c, %ecx           # imm = 0x157C
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
leaq 0x15a046(%rip), %rsi    # 0x17adb6
movl $0x1b58, %edx           # imm = 0x1B58
movl $0x2328, %ecx           # imm = 0x2328
xorl %r8d, %r8d
callq 0x20580
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x20db0
movq 0x8(%rsp), %rdi
callq 0x1afc0
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw (%rax,%rax)