// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/mathsupport.c
// Function: gt_mathsupport_unit_test
int gt_mathsupport_unit_test(GtError *err)
{
  int had_err = 0;
  GtUword i;
  double less_than_epsilon = 0.0000000000000001;
  gt_error_check(err);

  gt_ensure(!gt_double_equals_one(1.1));
  gt_ensure(gt_double_equals_one(1));
  gt_ensure(gt_double_equals_one(1+less_than_epsilon));
  gt_ensure(!gt_double_equals_one(-1-less_than_epsilon));

  gt_ensure(!gt_double_equals_double(1.0, 2.0));
  gt_ensure(!gt_double_equals_double(-1.0, 1.0));
  gt_ensure(!gt_double_equals_double(1.0, -1.0));
  gt_ensure(!gt_double_equals_double(-1.0, 1+less_than_epsilon));
  gt_ensure(!gt_double_equals_double(1.0, 1.1));
  gt_ensure(gt_double_equals_double(1.0, 1+less_than_epsilon));
  gt_ensure(gt_double_equals_double(1.0, 1.0));
  gt_ensure(gt_double_equals_double(0.0, 0.0));
  gt_ensure(gt_double_equals_double(-1.0, -1.0));
  gt_ensure(gt_double_equals_double(-1.0+less_than_epsilon, -1.0));
  gt_ensure(gt_double_equals_double(-1.0, -1.0+less_than_epsilon));
  gt_ensure(gt_double_equals_double(1.0+less_than_epsilon, 1.0));
  gt_ensure(gt_double_equals_double(1.0, 1.0+less_than_epsilon));

  gt_ensure(gt_double_compare(1.0, 1.0) == 0);
  gt_ensure(gt_double_compare(1.0, 1.1) < 0);
  gt_ensure(gt_double_compare(1.1, 1.0) > 0);
  gt_ensure(gt_double_compare(1.1, -1.0) > 0);
  gt_ensure(gt_double_compare(-1.1, -1.0) < 0);
  gt_ensure(gt_double_compare(1+less_than_epsilon, 1.0) == 0);
  gt_ensure(gt_double_compare(1+less_than_epsilon, -1.0) > 0);
  gt_ensure(gt_double_compare(-1+less_than_epsilon, -1.0) == 0);
  gt_ensure(gt_double_compare(-1+less_than_epsilon, 1.0) < 0);

  gt_ensure(gt_double_smaller_double(1.0, 1.1));
  gt_ensure(gt_double_smaller_double(-1.0, 1.1));
  gt_ensure(gt_double_smaller_double(-1.1, -1.0));
  gt_ensure(!gt_double_smaller_double(-1.0, -1.1));
  gt_ensure(!gt_double_smaller_double(1.0-less_than_epsilon, 1.0));

  gt_ensure(0L == gt_round_to_long(0.5));
  gt_ensure(1L == gt_round_to_long(0.51));
  gt_ensure(-1L == gt_round_to_long(-0.51));
  gt_ensure(0L == gt_round_to_long(-0.5));
  gt_ensure(-2L == gt_round_to_long(-1.5));
  gt_ensure(-2L == gt_round_to_long(-2.5));
  gt_ensure(-3L == gt_round_to_long(-2.51));

  for (i = 0; !had_err && i < GT_MAXLOG2VALUE; ++i) {
    gt_ensure(i+1 == gt_determinebitspervalue(1UL << i));
    gt_ensure((GtWord) i == gt_round_to_long(
               gt_log_base((double) (1UL << i), (double) 2.0)));
  }
  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movl $0x0, 0x2c(%rsp)
movsd 0xe217f(%rip), %xmm0    # 0x16ee88
movsd %xmm0, 0x18(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x8cd5f
movq 0x30(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x8cd27
jmp 0x8cd5f
movq 0x1272aa(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xd132e(%rip), %rsi     # 0x15e066
leaq 0xd1909(%rip), %rdx     # 0x15e648
leaq 0xe22f4(%rip), %rcx     # 0x16f03a
leaq 0xe218f(%rip), %r8      # 0x16eedc
movl $0x115, %r9d            # imm = 0x115
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x8cd61
jmp 0x8cd63
cmpl $0x0, 0x2c(%rsp)
jne 0x8cdb5
movsd 0xe211e(%rip), %xmm0    # 0x16ee90
callq 0x8c1e0
testb $0x1, %al
jne 0x8cd7d
jmp 0x8cdb3
movq 0x30(%rsp), %rdi
leaq 0xd33ee(%rip), %rsi     # 0x160177
leaq 0xe22c3(%rip), %rdx     # 0x16f053
leaq 0xe22a3(%rip), %rcx     # 0x16f03a
leaq 0xe213e(%rip), %r8      # 0x16eedc
movl $0x117, %r9d            # imm = 0x117
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8cdb5
jmp 0x8cdb7
jmp 0x8cdb9
cmpl $0x0, 0x2c(%rsp)
jne 0x8ce09
movsd 0xd1a40(%rip), %xmm0    # 0x15e808
callq 0x8c1e0
testb $0x1, %al
jne 0x8ce07
movq 0x30(%rsp), %rdi
leaq 0xd339a(%rip), %rsi     # 0x160177
leaq 0xe228a(%rip), %rdx     # 0x16f06e
leaq 0xe224f(%rip), %rcx     # 0x16f03a
leaq 0xe20ea(%rip), %r8      # 0x16eedc
movl $0x118, %r9d            # imm = 0x118
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8ce09
jmp 0x8ce0b
jmp 0x8ce0d
cmpl $0x0, 0x2c(%rsp)
jne 0x8ce63
movsd 0xd19ec(%rip), %xmm0    # 0x15e808
addsd 0x18(%rsp), %xmm0
callq 0x8c1e0
testb $0x1, %al
jne 0x8ce61
movq 0x30(%rsp), %rdi
leaq 0xd3340(%rip), %rsi     # 0x160177
leaq 0xe2248(%rip), %rdx     # 0x16f086
leaq 0xe21f5(%rip), %rcx     # 0x16f03a
leaq 0xe2090(%rip), %r8      # 0x16eedc
movl $0x119, %r9d            # imm = 0x119
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8ce63
jmp 0x8ce65
jmp 0x8ce67
cmpl $0x0, 0x2c(%rsp)
jne 0x8cebf
movsd 0xe2022(%rip), %xmm0    # 0x16ee98
subsd 0x18(%rsp), %xmm0
callq 0x8c1e0
testb $0x1, %al
jne 0x8ce87
jmp 0x8cebd
movq 0x30(%rsp), %rdi
leaq 0xd32e4(%rip), %rsi     # 0x160177
leaq 0xe2216(%rip), %rdx     # 0x16f0b0
leaq 0xe2199(%rip), %rcx     # 0x16f03a
leaq 0xe2034(%rip), %r8      # 0x16eedc
movl $0x11a, %r9d            # imm = 0x11A
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8cebf
jmp 0x8cec1
jmp 0x8cec3
cmpl $0x0, 0x2c(%rsp)
jne 0x8cf1d
movsd 0xd1936(%rip), %xmm0    # 0x15e808
movsd 0xdb44e(%rip), %xmm1    # 0x168328
callq 0x8c2d0
testb $0x1, %al
jne 0x8cee5
jmp 0x8cf1b
movq 0x30(%rsp), %rdi
leaq 0xd3286(%rip), %rsi     # 0x160177
leaq 0xe21e4(%rip), %rdx     # 0x16f0dc
leaq 0xe213b(%rip), %rcx     # 0x16f03a
leaq 0xe1fd6(%rip), %r8      # 0x16eedc
movl $0x11c, %r9d            # imm = 0x11C
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8cf1d
jmp 0x8cf1f
jmp 0x8cf21
cmpl $0x0, 0x2c(%rsp)
jne 0x8cf7b
movsd 0xe1f68(%rip), %xmm0    # 0x16ee98
movsd 0xd18d0(%rip), %xmm1    # 0x15e808
callq 0x8c2d0
testb $0x1, %al
jne 0x8cf43
jmp 0x8cf79
movq 0x30(%rsp), %rdi
leaq 0xd3228(%rip), %rsi     # 0x160177
leaq 0xe21a9(%rip), %rdx     # 0x16f0ff
leaq 0xe20dd(%rip), %rcx     # 0x16f03a
leaq 0xe1f78(%rip), %r8      # 0x16eedc
movl $0x11d, %r9d            # imm = 0x11D
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8cf7b
jmp 0x8cf7d
jmp 0x8cf7f
cmpl $0x0, 0x2c(%rsp)
jne 0x8cfd9
movsd 0xd187a(%rip), %xmm0    # 0x15e808
movsd 0xe1f02(%rip), %xmm1    # 0x16ee98
callq 0x8c2d0
testb $0x1, %al
jne 0x8cfa1
jmp 0x8cfd7
movq 0x30(%rsp), %rdi
leaq 0xd31ca(%rip), %rsi     # 0x160177
leaq 0xe216f(%rip), %rdx     # 0x16f123
leaq 0xe207f(%rip), %rcx     # 0x16f03a
leaq 0xe1f1a(%rip), %r8      # 0x16eedc
movl $0x11e, %r9d            # imm = 0x11E
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8cfd9
jmp 0x8cfdb
jmp 0x8cfdd
cmpl $0x0, 0x2c(%rsp)
jne 0x8d03d
movsd 0xd181c(%rip), %xmm1    # 0x15e808
addsd 0x18(%rsp), %xmm1
movsd 0xe1e9e(%rip), %xmm0    # 0x16ee98
callq 0x8c2d0
testb $0x1, %al
jne 0x8d005
jmp 0x8d03b
movq 0x30(%rsp), %rdi
leaq 0xd3166(%rip), %rsi     # 0x160177
leaq 0xe212f(%rip), %rdx     # 0x16f147
leaq 0xe201b(%rip), %rcx     # 0x16f03a
leaq 0xe1eb6(%rip), %r8      # 0x16eedc
movl $0x11f, %r9d            # imm = 0x11F
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d03d
jmp 0x8d03f
jmp 0x8d041
cmpl $0x0, 0x2c(%rsp)
jne 0x8d09b
movsd 0xd17b8(%rip), %xmm0    # 0x15e808
movsd 0xe1e38(%rip), %xmm1    # 0x16ee90
callq 0x8c2d0
testb $0x1, %al
jne 0x8d063
jmp 0x8d099
movq 0x30(%rsp), %rdi
leaq 0xd3108(%rip), %rsi     # 0x160177
leaq 0xe2105(%rip), %rdx     # 0x16f17b
leaq 0xe1fbd(%rip), %rcx     # 0x16f03a
leaq 0xe1e58(%rip), %r8      # 0x16eedc
movl $0x120, %r9d            # imm = 0x120
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d09b
jmp 0x8d09d
jmp 0x8d09f
cmpl $0x0, 0x2c(%rsp)
jne 0x8d0fd
movsd 0xd175a(%rip), %xmm1    # 0x15e808
addsd 0x18(%rsp), %xmm1
movsd 0xd174c(%rip), %xmm0    # 0x15e808
callq 0x8c2d0
testb $0x1, %al
jne 0x8d0fb
movq 0x30(%rsp), %rdi
leaq 0xd30a6(%rip), %rsi     # 0x160177
leaq 0xe20c6(%rip), %rdx     # 0x16f19e
leaq 0xe1f5b(%rip), %rcx     # 0x16f03a
leaq 0xe1df6(%rip), %r8      # 0x16eedc
movl $0x121, %r9d            # imm = 0x121
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d0fd
jmp 0x8d0ff
jmp 0x8d101
cmpl $0x0, 0x2c(%rsp)
jne 0x8d154
movsd 0xd16f8(%rip), %xmm1    # 0x15e808
movaps %xmm1, %xmm0
callq 0x8c2d0
testb $0x1, %al
jne 0x8d152
movq 0x30(%rsp), %rdi
leaq 0xd304f(%rip), %rsi     # 0x160177
leaq 0xe20a1(%rip), %rdx     # 0x16f1d0
leaq 0xe1f04(%rip), %rcx     # 0x16f03a
leaq 0xe1d9f(%rip), %r8      # 0x16eedc
movl $0x122, %r9d            # imm = 0x122
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d154
jmp 0x8d156
jmp 0x8d158
cmpl $0x0, 0x2c(%rsp)
jne 0x8d1a6
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x8c2d0
testb $0x1, %al
jne 0x8d1a4
movq 0x30(%rsp), %rdi
leaq 0xd2ffd(%rip), %rsi     # 0x160177
leaq 0xe2071(%rip), %rdx     # 0x16f1f2
leaq 0xe1eb2(%rip), %rcx     # 0x16f03a
leaq 0xe1d4d(%rip), %r8      # 0x16eedc
movl $0x123, %r9d            # imm = 0x123
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d1a6
jmp 0x8d1a8
jmp 0x8d1aa
cmpl $0x0, 0x2c(%rsp)
jne 0x8d1fd
movsd 0xe1cdf(%rip), %xmm1    # 0x16ee98
movaps %xmm1, %xmm0
callq 0x8c2d0
testb $0x1, %al
jne 0x8d1fb
movq 0x30(%rsp), %rdi
leaq 0xd2fa6(%rip), %rsi     # 0x160177
leaq 0xe203c(%rip), %rdx     # 0x16f214
leaq 0xe1e5b(%rip), %rcx     # 0x16f03a
leaq 0xe1cf6(%rip), %r8      # 0x16eedc
movl $0x124, %r9d            # imm = 0x124
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d1fd
jmp 0x8d1ff
jmp 0x8d201
cmpl $0x0, 0x2c(%rsp)
jne 0x8d25f
movsd 0xe1c88(%rip), %xmm0    # 0x16ee98
addsd 0x18(%rsp), %xmm0
movsd 0xe1c7a(%rip), %xmm1    # 0x16ee98
callq 0x8c2d0
testb $0x1, %al
jne 0x8d25d
movq 0x30(%rsp), %rdi
leaq 0xd2f44(%rip), %rsi     # 0x160177
leaq 0xe1ffe(%rip), %rdx     # 0x16f238
leaq 0xe1df9(%rip), %rcx     # 0x16f03a
leaq 0xe1c94(%rip), %r8      # 0x16eedc
movl $0x125, %r9d            # imm = 0x125
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d25f
jmp 0x8d261
jmp 0x8d263
cmpl $0x0, 0x2c(%rsp)
jne 0x8d2c1
movsd 0xe1c26(%rip), %xmm1    # 0x16ee98
addsd 0x18(%rsp), %xmm1
movsd 0xe1c18(%rip), %xmm0    # 0x16ee98
callq 0x8c2d0
testb $0x1, %al
jne 0x8d2bf
movq 0x30(%rsp), %rdi
leaq 0xd2ee2(%rip), %rsi     # 0x160177
leaq 0xe1fd2(%rip), %rdx     # 0x16f26e
leaq 0xe1d97(%rip), %rcx     # 0x16f03a
leaq 0xe1c32(%rip), %r8      # 0x16eedc
movl $0x126, %r9d            # imm = 0x126
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d2c1
jmp 0x8d2c3
jmp 0x8d2c5
cmpl $0x0, 0x2c(%rsp)
jne 0x8d323
movsd 0xd1534(%rip), %xmm0    # 0x15e808
addsd 0x18(%rsp), %xmm0
movsd 0xd1526(%rip), %xmm1    # 0x15e808
callq 0x8c2d0
testb $0x1, %al
jne 0x8d321
movq 0x30(%rsp), %rdi
leaq 0xd2e80(%rip), %rsi     # 0x160177
leaq 0xe1fa6(%rip), %rdx     # 0x16f2a4
leaq 0xe1d35(%rip), %rcx     # 0x16f03a
leaq 0xe1bd0(%rip), %r8      # 0x16eedc
movl $0x127, %r9d            # imm = 0x127
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d323
jmp 0x8d325
jmp 0x8d327
cmpl $0x0, 0x2c(%rsp)
jne 0x8d385
movsd 0xd14d2(%rip), %xmm1    # 0x15e808
addsd 0x18(%rsp), %xmm1
movsd 0xd14c4(%rip), %xmm0    # 0x15e808
callq 0x8c2d0
testb $0x1, %al
jne 0x8d383
movq 0x30(%rsp), %rdi
leaq 0xd2e1e(%rip), %rsi     # 0x160177
leaq 0xe1f78(%rip), %rdx     # 0x16f2d8
leaq 0xe1cd3(%rip), %rcx     # 0x16f03a
leaq 0xe1b6e(%rip), %r8      # 0x16eedc
movl $0x128, %r9d            # imm = 0x128
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d385
jmp 0x8d387
jmp 0x8d389
cmpl $0x0, 0x2c(%rsp)
jne 0x8d3dd
movsd 0xd1470(%rip), %xmm1    # 0x15e808
movaps %xmm1, %xmm0
callq 0x8c300
cmpl $0x0, %eax
je 0x8d3db
movq 0x30(%rsp), %rdi
leaq 0xd2dc6(%rip), %rsi     # 0x160177
leaq 0xe1f54(%rip), %rdx     # 0x16f30c
leaq 0xe1c7b(%rip), %rcx     # 0x16f03a
leaq 0xe1b16(%rip), %r8      # 0x16eedc
movl $0x12a, %r9d            # imm = 0x12A
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d3dd
jmp 0x8d3df
jmp 0x8d3e1
cmpl $0x0, 0x2c(%rsp)
jne 0x8d43a
movsd 0xd1418(%rip), %xmm0    # 0x15e808
movsd 0xe1a98(%rip), %xmm1    # 0x16ee90
callq 0x8c300
cmpl $0x0, %eax
jl 0x8d438
movq 0x30(%rsp), %rdi
leaq 0xd2d69(%rip), %rsi     # 0x160177
leaq 0xe1f18(%rip), %rdx     # 0x16f32d
leaq 0xe1c1e(%rip), %rcx     # 0x16f03a
leaq 0xe1ab9(%rip), %r8      # 0x16eedc
movl $0x12b, %r9d            # imm = 0x12B
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d43a
jmp 0x8d43c
jmp 0x8d43e
cmpl $0x0, 0x2c(%rsp)
jne 0x8d497
movsd 0xe1a43(%rip), %xmm0    # 0x16ee90
movsd 0xd13b3(%rip), %xmm1    # 0x15e808
callq 0x8c300
cmpl $0x0, %eax
jg 0x8d495
movq 0x30(%rsp), %rdi
leaq 0xd2d0c(%rip), %rsi     # 0x160177
leaq 0xe1edb(%rip), %rdx     # 0x16f34d
leaq 0xe1bc1(%rip), %rcx     # 0x16f03a
leaq 0xe1a5c(%rip), %r8      # 0x16eedc
movl $0x12c, %r9d            # imm = 0x12C
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d497
jmp 0x8d499
jmp 0x8d49b
cmpl $0x0, 0x2c(%rsp)
jne 0x8d4f4
movsd 0xe19e6(%rip), %xmm0    # 0x16ee90
movsd 0xe19e6(%rip), %xmm1    # 0x16ee98
callq 0x8c300
cmpl $0x0, %eax
jg 0x8d4f2
movq 0x30(%rsp), %rdi
leaq 0xd2caf(%rip), %rsi     # 0x160177
leaq 0xe1e9e(%rip), %rdx     # 0x16f36d
leaq 0xe1b64(%rip), %rcx     # 0x16f03a
leaq 0xe19ff(%rip), %r8      # 0x16eedc
movl $0x12d, %r9d            # imm = 0x12D
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d4f4
jmp 0x8d4f6
jmp 0x8d4f8
cmpl $0x0, 0x2c(%rsp)
jne 0x8d551
movsd 0xe1999(%rip), %xmm0    # 0x16eea0
movsd 0xe1989(%rip), %xmm1    # 0x16ee98
callq 0x8c300
cmpl $0x0, %eax
jl 0x8d54f
movq 0x30(%rsp), %rdi
leaq 0xd2c52(%rip), %rsi     # 0x160177
leaq 0xe1e62(%rip), %rdx     # 0x16f38e
leaq 0xe1b07(%rip), %rcx     # 0x16f03a
leaq 0xe19a2(%rip), %r8      # 0x16eedc
movl $0x12e, %r9d            # imm = 0x12E
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d551
jmp 0x8d553
jmp 0x8d555
cmpl $0x0, 0x2c(%rsp)
jne 0x8d5b4
movsd 0xd12a4(%rip), %xmm0    # 0x15e808
addsd 0x18(%rsp), %xmm0
movsd 0xd1296(%rip), %xmm1    # 0x15e808
callq 0x8c300
cmpl $0x0, %eax
je 0x8d5b2
movq 0x30(%rsp), %rdi
leaq 0xd2bef(%rip), %rsi     # 0x160177
leaq 0xe1e21(%rip), %rdx     # 0x16f3b0
leaq 0xe1aa4(%rip), %rcx     # 0x16f03a
leaq 0xe193f(%rip), %r8      # 0x16eedc
movl $0x12f, %r9d            # imm = 0x12F
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d5b4
jmp 0x8d5b6
jmp 0x8d5b8
cmpl $0x0, 0x2c(%rsp)
jne 0x8d617
movsd 0xd1241(%rip), %xmm0    # 0x15e808
addsd 0x18(%rsp), %xmm0
movsd 0xe18c3(%rip), %xmm1    # 0x16ee98
callq 0x8c300
cmpl $0x0, %eax
jg 0x8d615
movq 0x30(%rsp), %rdi
leaq 0xd2b8c(%rip), %rsi     # 0x160177
leaq 0xe1def(%rip), %rdx     # 0x16f3e1
leaq 0xe1a41(%rip), %rcx     # 0x16f03a
leaq 0xe18dc(%rip), %r8      # 0x16eedc
movl $0x130, %r9d            # imm = 0x130
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d617
jmp 0x8d619
jmp 0x8d61b
cmpl $0x0, 0x2c(%rsp)
jne 0x8d67a
movsd 0xe186e(%rip), %xmm0    # 0x16ee98
addsd 0x18(%rsp), %xmm0
movsd 0xe1860(%rip), %xmm1    # 0x16ee98
callq 0x8c300
cmpl $0x0, %eax
je 0x8d678
movq 0x30(%rsp), %rdi
leaq 0xd2b29(%rip), %rsi     # 0x160177
leaq 0xe1dbd(%rip), %rdx     # 0x16f412
leaq 0xe19de(%rip), %rcx     # 0x16f03a
leaq 0xe1879(%rip), %r8      # 0x16eedc
movl $0x131, %r9d            # imm = 0x131
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d67a
jmp 0x8d67c
jmp 0x8d67e
cmpl $0x0, 0x2c(%rsp)
jne 0x8d6dd
movsd 0xe180b(%rip), %xmm0    # 0x16ee98
addsd 0x18(%rsp), %xmm0
movsd 0xd116d(%rip), %xmm1    # 0x15e808
callq 0x8c300
cmpl $0x0, %eax
jl 0x8d6db
movq 0x30(%rsp), %rdi
leaq 0xd2ac6(%rip), %rsi     # 0x160177
leaq 0xe1d8d(%rip), %rdx     # 0x16f445
leaq 0xe197b(%rip), %rcx     # 0x16f03a
leaq 0xe1816(%rip), %r8      # 0x16eedc
movl $0x132, %r9d            # imm = 0x132
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d6dd
jmp 0x8d6df
jmp 0x8d6e1
cmpl $0x0, 0x2c(%rsp)
jne 0x8d739
movsd 0xd1118(%rip), %xmm0    # 0x15e808
movsd 0xe1798(%rip), %xmm1    # 0x16ee90
callq 0x8c360
testb $0x1, %al
jne 0x8d737
movq 0x30(%rsp), %rdi
leaq 0xd2a6a(%rip), %rsi     # 0x160177
leaq 0xe1d62(%rip), %rdx     # 0x16f476
leaq 0xe191f(%rip), %rcx     # 0x16f03a
leaq 0xe17ba(%rip), %r8      # 0x16eedc
movl $0x134, %r9d            # imm = 0x134
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d739
jmp 0x8d73b
jmp 0x8d73d
cmpl $0x0, 0x2c(%rsp)
jne 0x8d795
movsd 0xe174c(%rip), %xmm0    # 0x16ee98
movsd 0xe173c(%rip), %xmm1    # 0x16ee90
callq 0x8c360
testb $0x1, %al
jne 0x8d793
movq 0x30(%rsp), %rdi
leaq 0xd2a0e(%rip), %rsi     # 0x160177
leaq 0xe1d29(%rip), %rdx     # 0x16f499
leaq 0xe18c3(%rip), %rcx     # 0x16f03a
leaq 0xe175e(%rip), %r8      # 0x16eedc
movl $0x135, %r9d            # imm = 0x135
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d795
jmp 0x8d797
jmp 0x8d799
cmpl $0x0, 0x2c(%rsp)
jne 0x8d7f1
movsd 0xe16f8(%rip), %xmm0    # 0x16eea0
movsd 0xe16e8(%rip), %xmm1    # 0x16ee98
callq 0x8c360
testb $0x1, %al
jne 0x8d7ef
movq 0x30(%rsp), %rdi
leaq 0xd29b2(%rip), %rsi     # 0x160177
leaq 0xe1cf1(%rip), %rdx     # 0x16f4bd
leaq 0xe1867(%rip), %rcx     # 0x16f03a
leaq 0xe1702(%rip), %r8      # 0x16eedc
movl $0x136, %r9d            # imm = 0x136
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d7f1
jmp 0x8d7f3
jmp 0x8d7f5
cmpl $0x0, 0x2c(%rsp)
jne 0x8d84f
movsd 0xe1694(%rip), %xmm0    # 0x16ee98
movsd 0xe1694(%rip), %xmm1    # 0x16eea0
callq 0x8c360
testb $0x1, %al
jne 0x8d817
jmp 0x8d84d
movq 0x30(%rsp), %rdi
leaq 0xd2954(%rip), %rsi     # 0x160177
leaq 0xe1cb8(%rip), %rdx     # 0x16f4e2
leaq 0xe1809(%rip), %rcx     # 0x16f03a
leaq 0xe16a4(%rip), %r8      # 0x16eedc
movl $0x137, %r9d            # imm = 0x137
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d84f
jmp 0x8d851
jmp 0x8d853
cmpl $0x0, 0x2c(%rsp)
jne 0x8d8b3
movsd 0xd0fa6(%rip), %xmm0    # 0x15e808
subsd 0x18(%rsp), %xmm0
movsd 0xd0f98(%rip), %xmm1    # 0x15e808
callq 0x8c360
testb $0x1, %al
jne 0x8d87b
jmp 0x8d8b1
movq 0x30(%rsp), %rdi
leaq 0xd28f0(%rip), %rsi     # 0x160177
leaq 0xe1c7a(%rip), %rdx     # 0x16f508
leaq 0xe17a5(%rip), %rcx     # 0x16f03a
leaq 0xe1640(%rip), %r8      # 0x16eedc
movl $0x138, %r9d            # imm = 0x138
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d8b3
jmp 0x8d8b5
jmp 0x8d8b7
cmpl $0x0, 0x2c(%rsp)
jne 0x8d90d
movsd 0xd9f52(%rip), %xmm0    # 0x167818
callq 0x8c920
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0x8d90b
movq 0x30(%rsp), %rdi
leaq 0xd2896(%rip), %rsi     # 0x160177
leaq 0xe1c56(%rip), %rdx     # 0x16f53e
leaq 0xe174b(%rip), %rcx     # 0x16f03a
leaq 0xe15e6(%rip), %r8      # 0x16eedc
movl $0x13a, %r9d            # imm = 0x13A
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d90d
jmp 0x8d90f
jmp 0x8d911
cmpl $0x0, 0x2c(%rsp)
jne 0x8d96a
movsd 0xe1588(%rip), %xmm0    # 0x16eea8
callq 0x8c920
movq %rax, %rcx
movl $0x1, %eax
cmpq %rcx, %rax
je 0x8d968
movq 0x30(%rsp), %rdi
leaq 0xd2839(%rip), %rsi     # 0x160177
leaq 0xe1c15(%rip), %rdx     # 0x16f55a
leaq 0xe16ee(%rip), %rcx     # 0x16f03a
leaq 0xe1589(%rip), %r8      # 0x16eedc
movl $0x13b, %r9d            # imm = 0x13B
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d96a
jmp 0x8d96c
jmp 0x8d96e
cmpl $0x0, 0x2c(%rsp)
jne 0x8d9c9
movsd 0xe1533(%rip), %xmm0    # 0x16eeb0
callq 0x8c920
movq %rax, %rcx
movq $-0x1, %rax
cmpq %rcx, %rax
je 0x8d9c7
movq 0x30(%rsp), %rdi
leaq 0xd27da(%rip), %rsi     # 0x160177
leaq 0xe1bd3(%rip), %rdx     # 0x16f577
leaq 0xe168f(%rip), %rcx     # 0x16f03a
leaq 0xe152a(%rip), %r8      # 0x16eedc
movl $0x13c, %r9d            # imm = 0x13C
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8d9c9
jmp 0x8d9cb
jmp 0x8d9cd
cmpl $0x0, 0x2c(%rsp)
jne 0x8da23
movsd 0xda964(%rip), %xmm0    # 0x168340
callq 0x8c920
movq %rax, %rcx
xorl %eax, %eax
cmpq %rcx, %rax
je 0x8da21
movq 0x30(%rsp), %rdi
leaq 0xd2780(%rip), %rsi     # 0x160177
leaq 0xe1b98(%rip), %rdx     # 0x16f596
leaq 0xe1635(%rip), %rcx     # 0x16f03a
leaq 0xe14d0(%rip), %r8      # 0x16eedc
movl $0x13d, %r9d            # imm = 0x13D
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8da23
jmp 0x8da25
jmp 0x8da27
cmpl $0x0, 0x2c(%rsp)
jne 0x8da82
movsd 0xe1482(%rip), %xmm0    # 0x16eeb8
callq 0x8c920
movq %rax, %rcx
movq $-0x2, %rax
cmpq %rcx, %rax
je 0x8da80
movq 0x30(%rsp), %rdi
leaq 0xd2721(%rip), %rsi     # 0x160177
leaq 0xe1b56(%rip), %rdx     # 0x16f5b3
leaq 0xe15d6(%rip), %rcx     # 0x16f03a
leaq 0xe1471(%rip), %r8      # 0x16eedc
movl $0x13e, %r9d            # imm = 0x13E
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8da82
jmp 0x8da84
jmp 0x8da86
cmpl $0x0, 0x2c(%rsp)
jne 0x8dae1
movsd 0xe142b(%rip), %xmm0    # 0x16eec0
callq 0x8c920
movq %rax, %rcx
movq $-0x2, %rax
cmpq %rcx, %rax
je 0x8dadf
movq 0x30(%rsp), %rdi
leaq 0xd26c2(%rip), %rsi     # 0x160177
leaq 0xe1b15(%rip), %rdx     # 0x16f5d1
leaq 0xe1577(%rip), %rcx     # 0x16f03a
leaq 0xe1412(%rip), %r8      # 0x16eedc
movl $0x13f, %r9d            # imm = 0x13F
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8dae1
jmp 0x8dae3
jmp 0x8dae5
cmpl $0x0, 0x2c(%rsp)
jne 0x8db40
movsd 0xe13d4(%rip), %xmm0    # 0x16eec8
callq 0x8c920
movq %rax, %rcx
movq $-0x3, %rax
cmpq %rcx, %rax
je 0x8db3e
movq 0x30(%rsp), %rdi
leaq 0xd2663(%rip), %rsi     # 0x160177
leaq 0xe1ad4(%rip), %rdx     # 0x16f5ef
leaq 0xe1518(%rip), %rcx     # 0x16f03a
leaq 0xe13b3(%rip), %r8      # 0x16eedc
movl $0x140, %r9d            # imm = 0x140
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8db40
jmp 0x8db42
movq $0x0, 0x20(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x2c(%rsp)
movb %al, 0x17(%rsp)
jne 0x8db65
cmpq $0x3f, 0x20(%rsp)
setb %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x8db72
jmp 0x8dc97
jmp 0x8db74
cmpl $0x0, 0x2c(%rsp)
jne 0x8dbe1
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rcx
movl $0x1, %edi
shlq %cl, %rdi
callq 0x8c6d0
movl %eax, %ecx
movq 0x8(%rsp), %rax
movl %ecx, %ecx
cmpq %rcx, %rax
je 0x8dbdf
movq 0x30(%rsp), %rdi
leaq 0xd25c2(%rip), %rsi     # 0x160177
leaq 0xe1a52(%rip), %rdx     # 0x16f60e
leaq 0xe1477(%rip), %rcx     # 0x16f03a
leaq 0xe1312(%rip), %r8      # 0x16eedc
movl $0x143, %r9d            # imm = 0x143
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8dbe1
jmp 0x8dbe3
jmp 0x8dbe5
cmpl $0x0, 0x2c(%rsp)
jne 0x8dc80
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movb %al, %cl
movl $0x1, %eax
shlq %cl, %rax
movq %rax, %xmm0
movaps 0xd0871(%rip), %xmm1    # 0x15e480
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0xd0875(%rip), %xmm1    # 0x15e490
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd 0xda6f6(%rip), %xmm1    # 0x168328
callq 0x8cb80
callq 0x8c920
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
je 0x8dc7e
movq 0x30(%rsp), %rdi
leaq 0xd2523(%rip), %rsi     # 0x160177
leaq 0xe19dd(%rip), %rdx     # 0x16f638
leaq 0xe13d8(%rip), %rcx     # 0x16f03a
leaq 0xe1273(%rip), %r8      # 0x16eedc
movl $0x145, %r9d            # imm = 0x145
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x2c(%rsp) # imm = 0xFFFFFFFF
jmp 0x8dc80
jmp 0x8dc82
jmp 0x8dc84
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x8db4b
movl 0x2c(%rsp), %eax
addq $0x38, %rsp
retq