// File: ArashPartow[P]exprtk/exprtk_test.cpp
// Function: bool run_test15<double>()
bool run_test15()
{
   typedef exprtk::expression<T> expression_t;

   T x = T(1.1);
   T y = T(2.2);
   T z = T(3.3);

   exprtk::symbol_table<T> symbol_table;
   symbol_table.add_constants();
   symbol_table.add_variable("x",x);
   symbol_table.add_variable("y",y);
   symbol_table.add_variable("z",z);

   static const std::string expr_str_list[] =
   {
      "2 - (x + y) / z//Comment 01   ",
      "2 - (x + y) / z#Comment 02    ",
      "2 - (x + y) / z //Comment 03  ",
      "2 - (x + y) / z #Comment 04   ",
      "2 - (x + y) / z//Comment 05 \n",
      "2 - (x + y) / z#Comment 06  \n",
      "2 - (x + y) / z //Comment 07\n",
      "2 - (x + y) / z #Comment 08 \n",
      "/* Comment 09*/2 - (x + y) / z",
      "/* Comment 10*/2 - (x + y) / z\n",
      "/* Comment 11*/2 - (x + y) / z/* Comment 12*/",
      "/* Comment 13*/2 - (x + y) / z/* Comment 14*/\n",
      "2 - /* Comment 15 */(x + y) / z",
      "2 - /* Comment 16 */(x + y) /* Comment 17 *// z \n",
      "2 - /* Comment 18 */(x + y) /* Comment 19 */ / z //Comment 20\n",
      "2 - /* Comment 21 */(x + y) /* Comment 22 */ / z #Comment 23\n",
      "2 - /* Comment 24 */(x + y) /* Comment 25 */ / z //Comment 26",
      "2 - /* Comment 27 */(x + y) /* Comment 28 */ / z #Comment 29"
   };
   static const std::size_t expr_str_list_size = sizeof(expr_str_list) / sizeof(std::string);

   std::deque<expression_t> expression_list;

   for (std::size_t i = 0; i < expr_str_list_size; ++i)
   {
      expression_t expression;
      expression.register_symbol_table(symbol_table);

      exprtk::parser<T> parser;

      if (!parser.compile(expr_str_list[i],expression))
      {
         printf("run_test15() - Error: %s   Expression: %s\n",
                parser.error().c_str(),
                expr_str_list[i].c_str());

         return false;
      }
      else
         expression_list.push_back(expression);
   }

   expression_t base_expression;
   const std::string base_expr_str = "2 - (x + y) / z";

   {
      base_expression.register_symbol_table(symbol_table);

      exprtk::parser<T> parser;

      if (!parser.compile(base_expr_str,base_expression))
      {
         printf("run_test15() - Error: %s   Expression: %s\n",
                parser.error().c_str(),
                base_expr_str.c_str());

         return false;
      }
   }

   bool error_found = false;

   for (std::size_t i = 0; i < expression_list.size(); ++i)
   {
      T base_result = base_expression.value();
      T result      = expression_list[i].value();

      if (not_equal(base_result,result))
      {
         printf("run_test15() - Error in evaluation! (1)  Base: %20.10f\tResult: %20.10f\tExpression: %s\n",
                static_cast<double>(base_result),
                static_cast<double>(result),
                expr_str_list[i].c_str());

         error_found = true;
      }
   }

   return !error_found;
}

// Assembly:
subq $0x1898, %rsp           # imm = 0x1898
movabsq $0x3ff199999999999a, %rax # imm = 0x3FF199999999999A
movq %rax, 0x1888(%rsp)
movabsq $0x400199999999999a, %rax # imm = 0x400199999999999A
movq %rax, 0x1880(%rsp)
movabsq $0x400a666666666666, %rax # imm = 0x400A666666666666
movq %rax, 0x1878(%rsp)
leaq 0x1870(%rsp), %rdi
movq %rdi, 0x1a0(%rsp)
movl $0x1, %esi
callq 0x22de90
movq 0x1a0(%rsp), %rdi
callq 0x22ded0
jmp 0x1da686
leaq 0x183f(%rsp), %rdi
movq %rdi, 0x198(%rsp)
callq 0x11b6f0
movq 0x198(%rsp), %rdx
leaq 0x3f620d(%rip), %rsi    # 0x5d08b7
leaq 0x1840(%rsp), %rdi
callq 0x134520
jmp 0x1da6b9
leaq 0x1870(%rsp), %rdi
leaq 0x1840(%rsp), %rsi
leaq 0x1888(%rsp), %rdx
xorl %ecx, %ecx
callq 0x2341e0
jmp 0x1da6da
leaq 0x1840(%rsp), %rdi
callq 0x11b838
leaq 0x183f(%rsp), %rdi
callq 0x11b820
leaq 0x1817(%rsp), %rdi
movq %rdi, 0x190(%rsp)
callq 0x11b6f0
movq 0x190(%rsp), %rdx
leaq 0x3e14dd(%rip), %rsi    # 0x5bbbf5
leaq 0x1818(%rsp), %rdi
callq 0x134520
jmp 0x1da727
leaq 0x1870(%rsp), %rdi
leaq 0x1818(%rsp), %rsi
leaq 0x1880(%rsp), %rdx
xorl %ecx, %ecx
callq 0x2341e0
jmp 0x1da748
leaq 0x1818(%rsp), %rdi
callq 0x11b838
leaq 0x1817(%rsp), %rdi
callq 0x11b820
leaq 0x17ef(%rsp), %rdi
movq %rdi, 0x188(%rsp)
callq 0x11b6f0
movq 0x188(%rsp), %rdx
leaq 0x3e7196(%rip), %rsi    # 0x5c191c
leaq 0x17f0(%rsp), %rdi
callq 0x134520
jmp 0x1da795
leaq 0x1870(%rsp), %rdi
leaq 0x17f0(%rsp), %rsi
leaq 0x1878(%rsp), %rdx
xorl %ecx, %ecx
callq 0x2341e0
jmp 0x1da7b6
leaq 0x17f0(%rsp), %rdi
callq 0x11b838
leaq 0x17ef(%rsp), %rdi
callq 0x11b820
cmpb $0x0, 0x626839(%rip)    # 0x801010
jne 0x1dae31
leaq 0x62682c(%rip), %rdi    # 0x801010
callq 0x11b2c0
cmpl $0x0, %eax
je 0x1dae31
movb $0x1, 0x17cd(%rsp)
leaq 0x6265cf(%rip), %rax    # 0x800dd0
movq %rax, 0x178(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17df(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0x11b6f0
movq 0x178(%rsp), %rdi
movq 0x180(%rsp), %rdx
leaq 0x3e6fce(%rip), %rsi    # 0x5c180b
callq 0x134520
jmp 0x1da844
leaq 0x6265a5(%rip), %rax    # 0x800df0
movq %rax, 0x168(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17de(%rsp), %rdi
movq %rdi, 0x170(%rsp)
callq 0x11b6f0
movq 0x168(%rsp), %rdi
movq 0x170(%rsp), %rdx
leaq 0x3e6fa3(%rip), %rsi    # 0x5c182a
callq 0x134520
jmp 0x1da88e
leaq 0x62657b(%rip), %rax    # 0x800e10
movq %rax, 0x158(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17dd(%rsp), %rdi
movq %rdi, 0x160(%rsp)
callq 0x11b6f0
movq 0x158(%rsp), %rdi
movq 0x160(%rsp), %rdx
leaq 0x3e6f78(%rip), %rsi    # 0x5c1849
callq 0x134520
jmp 0x1da8d8
leaq 0x626551(%rip), %rax    # 0x800e30
movq %rax, 0x148(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17dc(%rsp), %rdi
movq %rdi, 0x150(%rsp)
callq 0x11b6f0
movq 0x148(%rsp), %rdi
movq 0x150(%rsp), %rdx
leaq 0x3e6f4d(%rip), %rsi    # 0x5c1868
callq 0x134520
jmp 0x1da922
leaq 0x626527(%rip), %rax    # 0x800e50
movq %rax, 0x138(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17db(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x11b6f0
movq 0x138(%rsp), %rdi
movq 0x140(%rsp), %rdx
leaq 0x3e6f22(%rip), %rsi    # 0x5c1887
callq 0x134520
jmp 0x1da96c
leaq 0x6264fd(%rip), %rax    # 0x800e70
movq %rax, 0x128(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17da(%rsp), %rdi
movq %rdi, 0x130(%rsp)
callq 0x11b6f0
movq 0x128(%rsp), %rdi
movq 0x130(%rsp), %rdx
leaq 0x3e6ef6(%rip), %rsi    # 0x5c18a5
callq 0x134520
jmp 0x1da9b6
leaq 0x6264d3(%rip), %rax    # 0x800e90
movq %rax, 0x118(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d9(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x11b6f0
movq 0x118(%rsp), %rdi
movq 0x120(%rsp), %rdx
leaq 0x3e6eca(%rip), %rsi    # 0x5c18c3
callq 0x134520
jmp 0x1daa00
leaq 0x6264a9(%rip), %rax    # 0x800eb0
movq %rax, 0x108(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d8(%rsp), %rdi
movq %rdi, 0x110(%rsp)
callq 0x11b6f0
movq 0x108(%rsp), %rdi
movq 0x110(%rsp), %rdx
leaq 0x3e6e9e(%rip), %rsi    # 0x5c18e1
callq 0x134520
jmp 0x1daa4a
leaq 0x62647f(%rip), %rax    # 0x800ed0
movq %rax, 0xf8(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d7(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x11b6f0
movq 0xf8(%rsp), %rdi
movq 0x100(%rsp), %rdx
leaq 0x3e6e72(%rip), %rsi    # 0x5c18ff
callq 0x134520
jmp 0x1daa94
leaq 0x626455(%rip), %rax    # 0x800ef0
movq %rax, 0xe8(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d6(%rsp), %rdi
movq %rdi, 0xf0(%rsp)
callq 0x11b6f0
movq 0xe8(%rsp), %rdi
movq 0xf0(%rsp), %rdx
leaq 0x3e6e47(%rip), %rsi    # 0x5c191e
callq 0x134520
jmp 0x1daade
leaq 0x62642b(%rip), %rax    # 0x800f10
movq %rax, 0xd8(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d5(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x11b6f0
movq 0xd8(%rsp), %rdi
movq 0xe0(%rsp), %rdx
leaq 0x3e6e1d(%rip), %rsi    # 0x5c193e
callq 0x134520
jmp 0x1dab28
leaq 0x626401(%rip), %rax    # 0x800f30
movq %rax, 0xc8(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d4(%rsp), %rdi
movq %rdi, 0xd0(%rsp)
callq 0x11b6f0
movq 0xc8(%rsp), %rdi
movq 0xd0(%rsp), %rdx
leaq 0x3e6e01(%rip), %rsi    # 0x5c196c
callq 0x134520
jmp 0x1dab72
leaq 0x6263d7(%rip), %rax    # 0x800f50
movq %rax, 0xb8(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d3(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x11b6f0
movq 0xb8(%rsp), %rdi
movq 0xc0(%rsp), %rdx
leaq 0x3e6de6(%rip), %rsi    # 0x5c199b
callq 0x134520
jmp 0x1dabbc
leaq 0x6263ad(%rip), %rax    # 0x800f70
movq %rax, 0xa8(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d2(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
callq 0x11b6f0
movq 0xa8(%rsp), %rdi
movq 0xb0(%rsp), %rdx
leaq 0x3e6dbc(%rip), %rsi    # 0x5c19bb
callq 0x134520
jmp 0x1dac06
leaq 0x626383(%rip), %rax    # 0x800f90
movq %rax, 0x98(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d1(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x11b6f0
movq 0x98(%rsp), %rdi
movq 0xa0(%rsp), %rdx
leaq 0x3e6da4(%rip), %rsi    # 0x5c19ed
callq 0x134520
jmp 0x1dac50
leaq 0x626359(%rip), %rax    # 0x800fb0
movq %rax, 0x88(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17d0(%rsp), %rdi
movq %rdi, 0x90(%rsp)
callq 0x11b6f0
movq 0x88(%rsp), %rdi
movq 0x90(%rsp), %rdx
leaq 0x3e6d99(%rip), %rsi    # 0x5c1a2c
callq 0x134520
jmp 0x1dac9a
leaq 0x62632f(%rip), %rax    # 0x800fd0
movq %rax, 0x78(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17cf(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x11b6f0
movq 0x78(%rsp), %rdi
movq 0x80(%rsp), %rdx
leaq 0x3e6d93(%rip), %rsi    # 0x5c1a6a
callq 0x134520
jmp 0x1dacde
leaq 0x62630b(%rip), %rax    # 0x800ff0
movq %rax, 0x68(%rsp)
movq %rax, 0x17e0(%rsp)
leaq 0x17ce(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x11b6f0
movq 0x68(%rsp), %rdi
movq 0x70(%rsp), %rdx
leaq 0x3e6d93(%rip), %rsi    # 0x5c1aa8
callq 0x134520
jmp 0x1dad1c
movb $0x0, 0x17cd(%rsp)
leaq 0x17ce(%rsp), %rdi
callq 0x11b820
leaq 0x17cf(%rsp), %rdi
callq 0x11b820
leaq 0x17d0(%rsp), %rdi
callq 0x11b820
leaq 0x17d1(%rsp), %rdi
callq 0x11b820
leaq 0x17d2(%rsp), %rdi
callq 0x11b820
leaq 0x17d3(%rsp), %rdi
callq 0x11b820
leaq 0x17d4(%rsp), %rdi
callq 0x11b820
leaq 0x17d5(%rsp), %rdi
callq 0x11b820
leaq 0x17d6(%rsp), %rdi
callq 0x11b820
leaq 0x17d7(%rsp), %rdi
callq 0x11b820
leaq 0x17d8(%rsp), %rdi
callq 0x11b820
leaq 0x17d9(%rsp), %rdi
callq 0x11b820
leaq 0x17da(%rsp), %rdi
callq 0x11b820
leaq 0x17db(%rsp), %rdi
callq 0x11b820
leaq 0x17dc(%rsp), %rdi
callq 0x11b820
leaq 0x17dd(%rsp), %rdi
callq 0x11b820
leaq 0x17de(%rsp), %rdi
callq 0x11b820
leaq 0x17df(%rsp), %rdi
callq 0x11b820
leaq -0xaa265(%rip), %rdi    # 0x130bb0
xorl %eax, %eax
movl %eax, %esi
leaq 0x5f8600(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x6261e4(%rip), %rdi    # 0x801010
callq 0x11b470
leaq 0x1778(%rsp), %rdi
callq 0x561990
jmp 0x1dae40
movq $0x0, 0x1770(%rsp)
cmpq $0x12, 0x1770(%rsp)
jae 0x1db489
leaq 0x1750(%rsp), %rdi
callq 0x22e450
jmp 0x1dae6a
leaq 0x1750(%rsp), %rdi
leaq 0x1870(%rsp), %rsi
callq 0x22e500
jmp 0x1dae81
leaq 0xcd8(%rsp), %rdi
movl $0x7f, %esi
callq 0x22e5b0
jmp 0x1dae95
leaq 0xe28(%rsp), %rdi
leaq 0xcd8(%rsp), %rsi
callq 0x22e6e0
jmp 0x1daeac
leaq 0xcd8(%rsp), %rdi
callq 0x22ef10
movq 0x1770(%rsp), %rax
shlq $0x5, %rax
leaq 0x625f04(%rip), %rsi    # 0x800dd0
addq %rax, %rsi
leaq 0xe28(%rsp), %rdi
leaq 0x1750(%rsp), %rdx
callq 0x22ef80
movb %al, 0x67(%rsp)
jmp 0x1daeea
movb 0x67(%rsp), %al
testb $0x1, %al
jne 0x1db400
jmp 0x1daef8
leaq 0xcb8(%rsp), %rdi
leaq 0xe28(%rsp), %rsi
callq 0x22f810
jmp 0x1daf0f
leaq 0xcb8(%rsp), %rdi
callq 0x11b120
movq %rax, 0x58(%rsp)
movq 0x1770(%rsp), %rax
shlq $0x5, %rax
leaq 0x625e9c(%rip), %rdi    # 0x800dd0
addq %rax, %rdi
callq 0x11b120
movq 0x58(%rsp), %rsi
movq %rax, %rdx
leaq 0x3e6b9a(%rip), %rdi    # 0x5c1ae5
xorl %eax, %eax
callq 0x11b0b0
jmp 0x1daf54
leaq 0xcb8(%rsp), %rdi
callq 0x11b838
movb $0x0, 0x1897(%rsp)
movl $0x1, 0xcb4(%rsp)
jmp 0x1db424
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db87f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1dafc9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0x1840(%rsp), %rdi
callq 0x11b838
leaq 0x183f(%rsp), %rdi
callq 0x11b820
jmp 0x1db87f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db012
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0x1818(%rsp), %rdi
callq 0x11b838
leaq 0x1817(%rsp), %rdi
callq 0x11b820
jmp 0x1db87f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db05b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0x17f0(%rsp), %rdi
callq 0x11b838
leaq 0x17ef(%rsp), %rdi
callq 0x11b820
jmp 0x1db87f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db2a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db296
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db289
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db27c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db26f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db262
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db255
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db248
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db23b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db22e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0x17ce(%rsp), %rdi
callq 0x11b820
leaq 0x17cf(%rsp), %rdi
callq 0x11b820
leaq 0x17d0(%rsp), %rdi
callq 0x11b820
leaq 0x17d1(%rsp), %rdi
callq 0x11b820
leaq 0x17d2(%rsp), %rdi
callq 0x11b820
leaq 0x17d3(%rsp), %rdi
callq 0x11b820
leaq 0x17d4(%rsp), %rdi
callq 0x11b820
leaq 0x17d5(%rsp), %rdi
callq 0x11b820
leaq 0x17d6(%rsp), %rdi
callq 0x11b820
leaq 0x17d7(%rsp), %rdi
callq 0x11b820
leaq 0x17d8(%rsp), %rdi
callq 0x11b820
leaq 0x17d9(%rsp), %rdi
callq 0x11b820
leaq 0x17da(%rsp), %rdi
callq 0x11b820
leaq 0x17db(%rsp), %rdi
callq 0x11b820
leaq 0x17dc(%rsp), %rdi
callq 0x11b820
leaq 0x17dd(%rsp), %rdi
callq 0x11b820
leaq 0x17de(%rsp), %rdi
callq 0x11b820
leaq 0x17df(%rsp), %rdi
callq 0x11b820
testb $0x1, 0x17cd(%rsp)
jne 0x1db317
jmp 0x1db35b
movq 0x17e0(%rsp), %rax
leaq 0x625aaa(%rip), %rcx    # 0x800dd0
cmpq %rax, %rcx
movq %rax, 0x50(%rsp)
je 0x1db359
movq 0x50(%rsp), %rdi
addq $-0x20, %rdi
movq %rdi, 0x48(%rsp)
callq 0x11b838
movq 0x48(%rsp), %rax
leaq 0x625a81(%rip), %rcx    # 0x800dd0
cmpq %rcx, %rax
movq %rax, 0x50(%rsp)
jne 0x1db330
jmp 0x1db35b
leaq 0x625cae(%rip), %rdi    # 0x801010
callq 0x11b360
jmp 0x1db87f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db872
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db477
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0xcd8(%rsp), %rdi
callq 0x22ef10
jmp 0x1db477
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db46a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0xcb8(%rsp), %rdi
callq 0x11b838
jmp 0x1db46a
leaq 0x1778(%rsp), %rdi
leaq 0x1750(%rsp), %rsi
callq 0x5619a0
jmp 0x1db417
jmp 0x1db419
movl $0x0, 0xcb4(%rsp)
leaq 0xe28(%rsp), %rdi
callq 0x22f8d0
leaq 0x1750(%rsp), %rdi
callq 0x22fb60
movl 0xcb4(%rsp), %eax
testl %eax, %eax
jne 0x1db847
jmp 0x1db44f
jmp 0x1db451
movq 0x1770(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1770(%rsp)
jmp 0x1dae4c
leaq 0xe28(%rsp), %rdi
callq 0x22f8d0
leaq 0x1750(%rsp), %rdi
callq 0x22fb60
jmp 0x1db872
leaq 0xc90(%rsp), %rdi
callq 0x22e450
jmp 0x1db498
leaq 0xc6f(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x11b6f0
movq 0x40(%rsp), %rdx
leaq 0x3e6458(%rip), %rsi    # 0x5c190e
leaq 0xc70(%rsp), %rdi
callq 0x134520
jmp 0x1db4c5
leaq 0xc6f(%rsp), %rdi
callq 0x11b820
leaq 0xc90(%rsp), %rdi
leaq 0x1870(%rsp), %rsi
callq 0x22e500
jmp 0x1db4e9
leaq 0x1f0(%rsp), %rdi
movl $0x7f, %esi
callq 0x22e5b0
jmp 0x1db4fd
leaq 0x340(%rsp), %rdi
leaq 0x1f0(%rsp), %rsi
callq 0x22e6e0
jmp 0x1db514
leaq 0x1f0(%rsp), %rdi
callq 0x22ef10
leaq 0x340(%rsp), %rdi
leaq 0xc70(%rsp), %rsi
leaq 0xc90(%rsp), %rdx
callq 0x22ef80
movb %al, 0x3f(%rsp)
jmp 0x1db544
movb 0x3f(%rsp), %al
testb $0x1, %al
jne 0x1db669
jmp 0x1db552
leaq 0x1d0(%rsp), %rdi
leaq 0x340(%rsp), %rsi
callq 0x22f810
jmp 0x1db569
leaq 0x1d0(%rsp), %rdi
callq 0x11b120
movq %rax, 0x30(%rsp)
leaq 0xc70(%rsp), %rdi
callq 0x11b120
movq 0x30(%rsp), %rsi
movq %rax, %rdx
leaq 0x3e654e(%rip), %rdi    # 0x5c1ae5
xorl %eax, %eax
callq 0x11b0b0
jmp 0x1db5a0
leaq 0x1d0(%rsp), %rdi
callq 0x11b838
movb $0x0, 0x1897(%rsp)
movl $0x1, 0xcb4(%rsp)
jmp 0x1db674
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0xc6f(%rsp), %rdi
callq 0x11b820
jmp 0x1db838
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db82b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0x1f0(%rsp), %rdi
callq 0x22ef10
jmp 0x1db82b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
jmp 0x1db7c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x1868(%rsp)
movl %eax, 0x1864(%rsp)
leaq 0x1d0(%rsp), %rdi
callq 0x11b838
jmp 0x1db7c8
movl $0x0, 0xcb4(%rsp)
leaq 0x340(%rsp), %rdi
callq 0x22f8d0
movl 0xcb4(%rsp), %eax
testl %eax, %eax
jne 0x1db80f
jmp 0x1db692
movb $0x0, 0x1cf(%rsp)
movq $0x0, 0x1c0(%rsp)
movq 0x1c0(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x1778(%rsp), %rdi
callq 0x561a00
movq %rax, %rcx
movq 0x28(%rsp), %rax
cmpq %rcx, %rax
jae 0x1db7f2
leaq 0xc90(%rsp), %rdi
callq 0x22fb10
movsd %xmm0, 0x20(%rsp)
jmp 0x1db6e6
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x1b8(%rsp)
movq 0x1c0(%rsp), %rsi
leaq 0x1778(%rsp), %rdi
callq 0x561a20
movq %rax, %rdi
callq 0x22fb10
movsd %xmm0, 0x18(%rsp)
jmp 0x1db71a
movsd 0x18(%rsp), %xmm0
movsd %xmm0, 0x1b0(%rsp)
movabsq $0x3ddb7cdfd9d7bdbb, %rax # imm = 0x3DDB7CDFD9D7BDBB
movq %rax, 0x1a8(%rsp)
leaq 0x1b8(%rsp), %rdi
leaq 0x1b0(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
callq 0x22fb30
movb %al, 0x17(%rsp)
jmp 0x1db75e
movb 0x17(%rsp), %al
testb $0x1, %al
jne 0x1db768
jmp 0x1db7d7
movsd 0x1b8(%rsp), %xmm0
movsd %xmm0, (%rsp)
movsd 0x1b0(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
movq 0x1c0(%rsp), %rax
shlq $0x5, %rax
leaq 0x625638(%rip), %rdi    # 0x800dd0
addq %rax, %rdi
callq 0x11b120
movsd (%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
movq %rax, %rsi
leaq 0x3e635b(%rip), %rdi    # 0x5c1b10
movb $0x2, %al
callq 0x11b0b0
jmp 0x1db7be
movb $0x1, 0x1cf(%rsp)
jmp 0x1db7d7
leaq 0x340(%rsp), %rdi
callq 0x22f8d0
jmp 0x1db82b
jmp 0x1db7d9
movq 0x1c0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1c0(%rsp)
jmp 0x1db6a6
movb 0x1cf(%rsp), %al
xorb $-0x1, %al
andb $0x1, %al
movb %al, 0x1897(%rsp)
movl $0x1, 0xcb4(%rsp)
leaq 0xc70(%rsp), %rdi
callq 0x11b838
leaq 0xc90(%rsp), %rdi
callq 0x22fb60
jmp 0x1db847
leaq 0xc70(%rsp), %rdi
callq 0x11b838
leaq 0xc90(%rsp), %rdi
callq 0x22fb60
jmp 0x1db872
leaq 0x1778(%rsp), %rdi
callq 0x561a50
leaq 0x1870(%rsp), %rdi
callq 0x22fc60
movb 0x1897(%rsp), %al
andb $0x1, %al
addq $0x1898, %rsp           # imm = 0x1898
retq
leaq 0x1778(%rsp), %rdi
callq 0x561a50
leaq 0x1870(%rsp), %rdi
callq 0x22fc60
movq 0x1868(%rsp), %rdi
callq 0x11b4e0
nopl (%rax)