// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/annotationsketch/element.c
// Function: gt_element_unit_test
int gt_element_unit_test(GtError *err)
{
  GtRange r1, r2, r_temp;
  GtGenomeNode *gn, *gn2;
  GtElement *e, *e2, *e3;
  GtStr *seqid;
  int had_err = 0;
  gt_error_check(err);

  r1.start = 10UL;
  r1.end = 50UL;

  r2.start = 20UL;
  r2.end = 50UL;

  seqid = gt_str_new_cstr("seqid");
  gn = gt_feature_node_new(seqid, gt_ft_exon, r1.start, r1.end, GT_STRAND_BOTH);
  gn2 = gt_feature_node_new(seqid, gt_ft_exon, r2.start, r2.end,
                             GT_STRAND_BOTH);

  e = gt_element_new((GtFeatureNode*) gn);
  e2 = gt_element_new((GtFeatureNode*)gn);
  e3 = gt_element_new((GtFeatureNode*)gn2);

  /* tests gt_element_get_range */
  r_temp = gt_element_get_range(e);
  gt_ensure((0 == gt_range_compare(&r1, &r_temp)));
  gt_ensure((1 == gt_range_compare(&r2, &r_temp)));

  /* tests gt_element_get_type and gt_element_set_type*/
  gt_ensure(!strcmp(gt_ft_exon, gt_element_get_type(e)));
  gt_ensure(strcmp(gt_ft_intron, gt_element_get_type(e)));
  gt_element_set_type(e, gt_ft_intron);
  gt_ensure(!strcmp(gt_ft_intron, gt_element_get_type(e)));
  gt_element_set_type(e2, gt_ft_intron);

  /* tests elements_are_equal */
  gt_ensure(elements_are_equal(e, e2));
  gt_ensure(!elements_are_equal(e, e3));
  gt_ensure(!elements_are_equal(e2, e3));

  gt_element_delete(e);
  gt_element_delete(e2);
  gt_element_delete(e3);
  gt_genome_node_delete(gn);
  gt_genome_node_delete(gn2);
  gt_str_delete(seqid);

  return had_err;

}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movl $0x0, 0x1c(%rsp)
cmpq $0x0, 0x80(%rsp)
je 0xb6fdd
movq 0x80(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xb6fa5
jmp 0xb6fdd
movq 0xfd02c(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0xa70b0(%rip), %rsi     # 0x15e066
leaq 0xa768b(%rip), %rdx     # 0x15e648
leaq 0xbdb24(%rip), %rcx     # 0x174ae8
leaq 0xbda39(%rip), %r8      # 0x174a04
movl $0x7f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xb6fdf
movq $0xa, 0x70(%rsp)
movq $0x32, 0x78(%rsp)
movq $0x14, 0x60(%rsp)
movq $0x32, 0x68(%rsp)
leaq 0xcd966(%rip), %rdi     # 0x184970
callq 0x18f70
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movq 0x70(%rsp), %rdx
movq 0x78(%rsp), %rcx
leaq 0xc3d8c(%rip), %rsi     # 0x17adb6
movl $0x2, %r8d
callq 0x20580
movq %rax, 0x48(%rsp)
movq 0x20(%rsp), %rdi
movq 0x60(%rsp), %rdx
movq 0x68(%rsp), %rcx
leaq 0xc3d66(%rip), %rsi     # 0x17adb6
movl $0x2, %r8d
callq 0x20580
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rdi
callq 0xb6ac0
movq %rax, 0x38(%rsp)
movq 0x48(%rsp), %rdi
callq 0xb6ac0
movq %rax, 0x30(%rsp)
movq 0x40(%rsp), %rdi
callq 0xb6ac0
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
callq 0xb6d20
movq %rax, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x58(%rsp)
cmpl $0x0, 0x1c(%rsp)
jne 0xb710e
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x93850
movl %eax, %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0xb710c
movq 0x80(%rsp), %rdi
leaq 0xa9095(%rip), %rsi     # 0x160177
leaq 0xbda14(%rip), %rdx     # 0x174afd
leaq 0xbd9f8(%rip), %rcx     # 0x174ae8
leaq 0xbd90d(%rip), %r8      # 0x174a04
movl $0x92, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb710e
jmp 0xb7110
jmp 0xb7112
cmpl $0x0, 0x1c(%rsp)
jne 0xb716e
leaq 0x60(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x93850
movl %eax, %ecx
movl $0x1, %eax
cmpl %ecx, %eax
je 0xb716c
movq 0x80(%rsp), %rdi
leaq 0xa9035(%rip), %rsi     # 0x160177
leaq 0xbd1d5(%rip), %rdx     # 0x17431e
leaq 0xbd998(%rip), %rcx     # 0x174ae8
leaq 0xbd8ad(%rip), %r8      # 0x174a04
movl $0x93, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb716e
jmp 0xb7170
jmp 0xb7172
cmpl $0x0, 0x1c(%rsp)
jne 0xb71d2
movq 0x38(%rsp), %rdi
callq 0xb6d90
movq %rax, %rsi
leaq 0xc3c29(%rip), %rdi     # 0x17adb6
callq 0xb850
cmpl $0x0, %eax
je 0xb71d0
movq 0x80(%rsp), %rdi
leaq 0xa8fd1(%rip), %rsi     # 0x160177
leaq 0xbd976(%rip), %rdx     # 0x174b23
leaq 0xbd934(%rip), %rcx     # 0x174ae8
leaq 0xbd849(%rip), %r8      # 0x174a04
movl $0x96, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb71d2
jmp 0xb71d4
jmp 0xb71d6
cmpl $0x0, 0x1c(%rsp)
jne 0xb7236
movq 0x38(%rsp), %rdi
callq 0xb6d90
movq %rax, %rsi
leaq 0xbd95e(%rip), %rdi     # 0x174b4f
callq 0xb850
cmpl $0x0, %eax
jne 0xb7234
movq 0x80(%rsp), %rdi
leaq 0xa8f6d(%rip), %rsi     # 0x160177
leaq 0xbd946(%rip), %rdx     # 0x174b57
leaq 0xbd8d0(%rip), %rcx     # 0x174ae8
leaq 0xbd7e5(%rip), %r8      # 0x174a04
movl $0x97, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb7236
jmp 0xb7238
movq 0x38(%rsp), %rdi
leaq 0xbd90b(%rip), %rsi     # 0x174b4f
callq 0xb6be0
cmpl $0x0, 0x1c(%rsp)
jne 0xb72a9
movq 0x38(%rsp), %rdi
callq 0xb6d90
movq %rax, %rsi
leaq 0xbd8eb(%rip), %rdi     # 0x174b4f
callq 0xb850
cmpl $0x0, %eax
je 0xb72a7
movq 0x80(%rsp), %rdi
leaq 0xa8efa(%rip), %rsi     # 0x160177
leaq 0xbd8d2(%rip), %rdx     # 0x174b56
leaq 0xbd85d(%rip), %rcx     # 0x174ae8
leaq 0xbd772(%rip), %r8      # 0x174a04
movl $0x99, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb72a9
jmp 0xb72ab
movq 0x30(%rsp), %rdi
leaq 0xbd898(%rip), %rsi     # 0x174b4f
callq 0xb6be0
cmpl $0x0, 0x1c(%rsp)
jne 0xb7311
movq 0x38(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xb7420
testb $0x1, %al
jne 0xb730f
movq 0x80(%rsp), %rdi
leaq 0xa8e92(%rip), %rsi     # 0x160177
leaq 0xbd898(%rip), %rdx     # 0x174b84
leaq 0xbd7f5(%rip), %rcx     # 0x174ae8
leaq 0xbd70a(%rip), %r8      # 0x174a04
movl $0x9d, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb7311
jmp 0xb7313
jmp 0xb7315
cmpl $0x0, 0x1c(%rsp)
jne 0xb736c
movq 0x38(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xb7420
testb $0x1, %al
jne 0xb7331
jmp 0xb736a
movq 0x80(%rsp), %rdi
leaq 0xa8e37(%rip), %rsi     # 0x160177
leaq 0xbd857(%rip), %rdx     # 0x174b9e
leaq 0xbd79a(%rip), %rcx     # 0x174ae8
leaq 0xbd6af(%rip), %r8      # 0x174a04
movl $0x9e, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb736c
jmp 0xb736e
jmp 0xb7370
cmpl $0x0, 0x1c(%rsp)
jne 0xb73c7
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0xb7420
testb $0x1, %al
jne 0xb738c
jmp 0xb73c5
movq 0x80(%rsp), %rdi
leaq 0xa8ddc(%rip), %rsi     # 0x160177
leaq 0xbd817(%rip), %rdx     # 0x174bb9
leaq 0xbd73f(%rip), %rcx     # 0x174ae8
leaq 0xbd654(%rip), %r8      # 0x174a04
movl $0x9f, %r9d
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x1c(%rsp) # imm = 0xFFFFFFFF
jmp 0xb73c7
jmp 0xb73c9
movq 0x38(%rsp), %rdi
callq 0xb74c0
movq 0x30(%rsp), %rdi
callq 0xb74c0
movq 0x28(%rsp), %rdi
callq 0xb74c0
movq 0x48(%rsp), %rdi
callq 0x26eb0
movq 0x40(%rsp), %rdi
callq 0x26eb0
movq 0x20(%rsp), %rdi
callq 0x1afc0
movl 0x1c(%rsp), %eax
addq $0x88, %rsp
retq
nopw %cs:(%rax,%rax)