// File: /workspace/github_c_makefile_star2_O2/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:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
leaq 0xb4c32(%rip), %rdi     # 0xcdc13
callq 0x13da9
movq %rax, %rbx
leaq 0xdc960(%rip), %rsi     # 0xf5950
movl $0x3e8, %edx            # imm = 0x3E8
movl $0x2328, %ecx           # imm = 0x2328
movq %rax, %rdi
xorl %r8d, %r8d
callq 0x18cbb
movq %rax, %r14
leaq 0xb4c0b(%rip), %rsi     # 0xcdc1a
movl $0x3e8, %edx            # imm = 0x3E8
movl $0x3f4, %ecx            # imm = 0x3F4
movq %rbx, %rdi
xorl %r8d, %r8d
callq 0x18cbb
movq %r14, %rdi
movq %rax, %rsi
callq 0x19245
leaq 0xb4bf4(%rip), %r12     # 0xcdc2a
movl $0x41a, %edx            # imm = 0x41A
movl $0x2328, %ecx           # imm = 0x2328
movq %rbx, %rdi
movq %r12, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %rax, %r13
movq %r14, %rdi
movq %rax, %rsi
callq 0x19245
leaq 0xccbbb(%rip), %r15     # 0xe5c1e
movl $0x41a, %edx            # imm = 0x41A
movl $0x5dc, %ecx            # imm = 0x5DC
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r13, %rdi
movq %rax, %rsi
callq 0x19245
movl $0xbb8, %edx            # imm = 0xBB8
movl $0xf3e, %ecx            # imm = 0xF3E
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r13, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x1388, %edx           # imm = 0x1388
movl $0x157c, %ecx           # imm = 0x157C
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r13, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x1b58, %edx           # imm = 0x1B58
movl $0x2328, %ecx           # imm = 0x2328
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r13, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x41a, %edx            # imm = 0x41A
movl $0x2328, %ecx           # imm = 0x2328
movq %rbx, %rdi
movq %r12, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %rax, %r13
movq %r14, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x41a, %edx            # imm = 0x41A
movl $0x5dc, %ecx            # imm = 0x5DC
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r13, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x1388, %edx           # imm = 0x1388
movl $0x157c, %ecx           # imm = 0x157C
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r13, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x1b58, %edx           # imm = 0x1B58
movl $0x2328, %ecx           # imm = 0x2328
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r13, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x514, %edx            # imm = 0x514
movl $0x2328, %ecx           # imm = 0x2328
movq %rbx, %rdi
movq %r12, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %rax, %r12
movq %r14, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x514, %edx            # imm = 0x514
movl $0x5dc, %ecx            # imm = 0x5DC
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r12, %rdi
movq %rax, %rsi
callq 0x19245
movl $0xbb8, %edx            # imm = 0xBB8
movl $0xf3e, %ecx            # imm = 0xF3E
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r12, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x1388, %edx           # imm = 0x1388
movl $0x157c, %ecx           # imm = 0x157C
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r12, %rdi
movq %rax, %rsi
callq 0x19245
movl $0x1b58, %edx           # imm = 0x1B58
movl $0x2328, %ecx           # imm = 0x2328
movq %rbx, %rdi
movq %r15, %rsi
xorl %r8d, %r8d
callq 0x18cbb
movq %r12, %rdi
movq %rax, %rsi
callq 0x19245
movq %rbx, %rdi
callq 0x152db
movq %r14, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq