// File: /workspace/github_cpp_makefile_star2_O1/ArashPartow[P]exprtk/exprtk_test.cpp
// Function: bool run_test14<double>()
bool run_test14()
{
   typedef exprtk::expression<T>             expression_t;
   typedef exprtk::parser<T>                 parser_t;
   typedef typename parser_t::settings_store settings_t;

   T x = T(0);
   T y = T(0);
   T z = T(0);
   T w = T(0);

   exprtk::polynomial<T, 1> poly01;
   exprtk::polynomial<T, 2> poly02;
   exprtk::polynomial<T, 3> poly03;
   exprtk::polynomial<T, 4> poly04;
   exprtk::polynomial<T, 5> poly05;
   exprtk::polynomial<T, 6> poly06;
   exprtk::polynomial<T, 7> poly07;
   exprtk::polynomial<T, 8> poly08;
   exprtk::polynomial<T, 9> poly09;
   exprtk::polynomial<T,10> poly10;
   exprtk::polynomial<T,11> poly11;
   exprtk::polynomial<T,12> poly12;

   exprtk::rtl::vecops::package<T> vector_package;

   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);
   symbol_table.add_variable("w",w);
   symbol_table.add_function("poly01", poly01);
   symbol_table.add_function("poly02", poly02);
   symbol_table.add_function("poly03", poly03);
   symbol_table.add_function("poly04", poly04);
   symbol_table.add_function("poly05", poly05);
   symbol_table.add_function("poly06", poly06);
   symbol_table.add_function("poly07", poly07);
   symbol_table.add_function("poly08", poly08);
   symbol_table.add_function("poly09", poly09);
   symbol_table.add_function("poly10", poly10);
   symbol_table.add_function("poly11", poly11);
   symbol_table.add_function("poly12", poly12);
   symbol_table.add_function("isnan" , isnan );

   symbol_table.add_package(vector_package);

   expression_t expression;
   expression.register_symbol_table(symbol_table);

   exprtk::parser<T> parser;

   static const std::size_t secondary_compile_options =
      settings_t::e_replacer          +
      settings_t::e_joiner            +
      settings_t::e_numeric_check     +
      settings_t::e_bracket_check     +
      settings_t::e_sequence_check    +
      settings_t::e_strength_reduction;

   const settings_t settings(secondary_compile_options);
   parser_t secondary_parser(settings);

   std::deque<std::string> expr_str_list;
   std::deque<std::string> expr_noncomm_str_list;

   load_expressions("exprtk_functional_test.txt"     , expr_str_list);
   load_expressions("exprtk_functional_ext_test.txt" , expr_str_list);

   if (expr_str_list.empty())
   {
      return true;
   }

   load_expressions("exprtk_noncommutative_test.txt" , expr_noncomm_str_list);

   std::deque<exprtk::expression<T> > expression_list;
   bool error_found = false;

   static const std::size_t rounds = 5;

   for (std::size_t r = 0; r < rounds; ++r)
   {
      for (std::size_t i = 0; i < expr_str_list.size(); ++i)
      {
         exprtk::expression<T> current_expression;

         current_expression.register_symbol_table(symbol_table);

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

            error_found = true;
         }
         else
         {
            expression_list.push_back(current_expression);
         }
      }

      for (std::size_t i = 0; i < expr_noncomm_str_list.size(); ++i)
      {
         exprtk::expression<T> current_expression;

         current_expression.register_symbol_table(symbol_table);

         if (!secondary_parser.compile(expr_noncomm_str_list[i],current_expression))
         {
            printf("run_test14() - Error: %s   Expression: %s [secondary parser]\n",
                   secondary_parser.error().c_str(),
                   expr_noncomm_str_list[i].c_str());

            error_found = true;
         }
      }

      if (error_found)
      {
         break;
      }

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

         if (result != T(1))
         {
            error_found = true;

            printf("run_test14() - Error with evaluation of expression: %s\n",
                   expr_str_list[i].c_str());
         }
      }

      expression_list.clear();

      if (error_found)
      {
         break;
      }
   }

   return !error_found;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1ef8, %rsp           # imm = 0x1EF8
xorl %eax, %eax
movq %rax, 0x118(%rsp)
movq %rax, 0x110(%rsp)
movq %rax, 0x108(%rsp)
movq %rax, 0x100(%rsp)
movw %ax, 0x358(%rsp)
movq %rax, 0x360(%rsp)
movq $-0x1, %rcx
movq %rcx, 0x368(%rsp)
movq $0x3, 0x370(%rsp)
leaq 0x35e415(%rip), %rdx    # 0x50f5b0
movq %rdx, 0x350(%rsp)
movw %ax, 0x330(%rsp)
movq %rax, 0x338(%rsp)
movq %rcx, 0x340(%rsp)
movq $0x4, 0x348(%rsp)
leaq 0x35e5c2(%rip), %rdx    # 0x50f790
movq %rdx, 0x328(%rsp)
movw %ax, 0x308(%rsp)
movq %rax, 0x310(%rsp)
movq %rcx, 0x318(%rsp)
movq $0x5, 0x320(%rsp)
leaq 0x35e66f(%rip), %rdx    # 0x50f870
movq %rdx, 0x300(%rsp)
movw %ax, 0x2e0(%rsp)
movq %rax, 0x2e8(%rsp)
movq %rcx, 0x2f0(%rsp)
movq $0x6, 0x2f8(%rsp)
leaq 0x35e71c(%rip), %rdx    # 0x50f950
movq %rdx, 0x2d8(%rsp)
movw %ax, 0x2b8(%rsp)
movq %rax, 0x2c0(%rsp)
movq %rcx, 0x2c8(%rsp)
movq $0x7, 0x2d0(%rsp)
leaq 0x35e7c9(%rip), %rdx    # 0x50fa30
movq %rdx, 0x2b0(%rsp)
movw %ax, 0x290(%rsp)
movq %rax, 0x298(%rsp)
movq %rcx, 0x2a0(%rsp)
movq $0x8, 0x2a8(%rsp)
leaq 0x35e876(%rip), %rdx    # 0x50fb10
movq %rdx, 0x288(%rsp)
movw %ax, 0x268(%rsp)
movq %rax, 0x270(%rsp)
movq %rcx, 0x278(%rsp)
movq $0x9, 0x280(%rsp)
leaq 0x35e923(%rip), %rdx    # 0x50fbf0
movq %rdx, 0x260(%rsp)
movw %ax, 0x240(%rsp)
movq %rax, 0x248(%rsp)
movq %rcx, 0x250(%rsp)
movq $0xa, 0x258(%rsp)
leaq 0x35e9d0(%rip), %rdx    # 0x50fcd0
movq %rdx, 0x238(%rsp)
movw %ax, 0x218(%rsp)
movq %rax, 0x220(%rsp)
movq %rcx, 0x228(%rsp)
movq $0xb, 0x230(%rsp)
leaq 0x35ea7d(%rip), %rdx    # 0x50fdb0
movq %rdx, 0x210(%rsp)
movw %ax, 0x1f0(%rsp)
movq %rax, 0x1f8(%rsp)
movq %rcx, 0x200(%rsp)
movq $0xc, 0x208(%rsp)
leaq 0x35eb2a(%rip), %rdx    # 0x50fe90
movq %rdx, 0x1e8(%rsp)
movw %ax, 0x1c8(%rsp)
movq %rax, 0x1d0(%rsp)
movq %rcx, 0x1d8(%rsp)
movq $0xd, 0x1e0(%rsp)
leaq 0x35ebd7(%rip), %rdx    # 0x50ff70
movq %rdx, 0x1c0(%rsp)
movw %ax, 0x1a0(%rsp)
movq %rax, 0x1a8(%rsp)
movq %rcx, 0x1b0(%rsp)
movq $0xe, 0x1b8(%rsp)
leaq 0x35ec84(%rip), %rax    # 0x510050
movq %rax, 0x198(%rsp)
leaq 0x1718(%rsp), %rdi
callq 0x39f48a
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
callq 0x1eb8c4
leaq 0x8(%rsp), %rdi
callq 0x1eb90c
leaq 0x388(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x234730(%rip), %rsi    # 0x3e5b3d
leaq 0x23472a(%rip), %rdx    # 0x3e5b3e
leaq 0x378(%rsp), %rdi
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x118(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b145a
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x2203a5(%rip), %rsi    # 0x3d1811
leaq 0x22039f(%rip), %rdx    # 0x3d1812
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x110(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b14b1
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x225ffd(%rip), %rsi    # 0x3d74c0
leaq 0x225ff7(%rip), %rdx    # 0x3d74c1
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x108(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1508
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x233cae(%rip), %rsi    # 0x3e51c8
leaq 0x233ca8(%rip), %rdx    # 0x3e51c9
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x100(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b155f
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b789(%rip), %rsi    # 0x3bccfa
leaq 0x20b788(%rip), %rdx    # 0x3bcd00
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x350(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b15b4
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b73b(%rip), %rsi    # 0x3bcd01
leaq 0x20b73a(%rip), %rdx    # 0x3bcd07
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x328(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1609
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b6ed(%rip), %rsi    # 0x3bcd08
leaq 0x20b6ec(%rip), %rdx    # 0x3bcd0e
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x300(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b165e
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b69f(%rip), %rsi    # 0x3bcd0f
leaq 0x20b69e(%rip), %rdx    # 0x3bcd15
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x2d8(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b16b3
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b651(%rip), %rsi    # 0x3bcd16
leaq 0x20b650(%rip), %rdx    # 0x3bcd1c
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1708
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b603(%rip), %rsi    # 0x3bcd1d
leaq 0x20b602(%rip), %rdx    # 0x3bcd23
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x288(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b175d
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b5b5(%rip), %rsi    # 0x3bcd24
leaq 0x20b5b4(%rip), %rdx    # 0x3bcd2a
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x260(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b17b2
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b567(%rip), %rsi    # 0x3bcd2b
leaq 0x20b566(%rip), %rdx    # 0x3bcd31
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x238(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1807
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b519(%rip), %rsi    # 0x3bcd32
leaq 0x20b518(%rip), %rdx    # 0x3bcd38
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x210(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b185c
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b4cb(%rip), %rsi    # 0x3bcd39
leaq 0x20b4ca(%rip), %rdx    # 0x3bcd3f
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x1e8(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b18b1
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b47d(%rip), %rsi    # 0x3bcd40
leaq 0x20b47c(%rip), %rdx    # 0x3bcd46
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x1c0(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1906
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x20b42f(%rip), %rsi    # 0x3bcd47
leaq 0x20b42e(%rip), %rdx    # 0x3bcd4d
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
leaq 0x198(%rsp), %rdx
callq 0x1eba52
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b195b
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x378(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x22577c(%rip), %rsi    # 0x3d70e9
leaq 0x22577a(%rip), %rdx    # 0x3d70ee
callq 0x1eabb8
leaq 0x1ee1b3(%rip), %rdx    # 0x39fb33
leaq 0x8(%rsp), %rdi
leaq 0x378(%rsp), %rsi
callq 0x39a6e6
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b19af
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x1718(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x3a6018
leaq 0x178(%rsp), %rdi
callq 0x1ebb7a
movq 0x180(%rsp), %rcx
movq 0x188(%rsp), %rax
subq %rcx, %rax
je 0x1b1a33
sarq $0x3, %rax
cmpq $0x1, %rax
movq %rax, %rsi
adcq $0x0, %rsi
cmpq %rbx, %rcx
je 0x1b1a45
movq 0x8(%rsp), %rdx
cmpq (%rcx), %rdx
je 0x1b1a45
addq $0x8, %rcx
movl $0x1, %edi
subq %rsi, %rdi
xorl %esi, %esi
cmpq %rsi, %rdi
je 0x1b1a33
decq %rsi
cmpq %rbx, %rcx
je 0x1b1a2b
leaq 0x8(%rcx), %r8
cmpq (%rcx), %rdx
movq %r8, %rcx
jne 0x1b1a12
negq %rsi
cmpq %rax, %rsi
jb 0x1b1a45
leaq 0x180(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x1f216a
leaq 0xdf0(%rsp), %rdi
movl $0x7f, %esi
callq 0x1ebc94
leaq 0x378(%rsp), %rdi
leaq 0xdf0(%rsp), %rsi
callq 0x1ebd94
leaq 0xef0(%rsp), %rdi
callq 0x1f236c
leaq 0xec0(%rsp), %rdi
callq 0x1f236c
leaq 0xe90(%rsp), %rdi
callq 0x1f236c
leaq 0xe60(%rsp), %rdi
callq 0x1f236c
leaq 0xe30(%rsp), %rdi
callq 0x1f236c
leaq 0xe00(%rsp), %rdi
callq 0x1f236c
leaq 0xca0(%rsp), %rdi
movl $0x5f, %esi
callq 0x1ebc94
leaq 0xdf0(%rsp), %rdi
leaq 0xca0(%rsp), %rsi
callq 0x1ebd94
xorpd %xmm0, %xmm0
leaq 0xa0(%rsp), %rdi
movapd %xmm0, 0x40(%rdi)
movapd %xmm0, 0x30(%rdi)
movapd %xmm0, 0x20(%rdi)
movapd %xmm0, 0x10(%rdi)
movapd %xmm0, (%rdi)
xorl %esi, %esi
callq 0x39c45e
leaq 0x120(%rsp), %rdi
xorpd %xmm0, %xmm0
movapd %xmm0, 0x40(%rdi)
movapd %xmm0, 0x30(%rdi)
movapd %xmm0, 0x20(%rdi)
movapd %xmm0, 0x10(%rdi)
movapd %xmm0, (%rdi)
xorl %esi, %esi
callq 0x39c45e
leaq 0x40(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2255a8(%rip), %rsi    # 0x3d70ef
leaq 0x2255bb(%rip), %rdx    # 0x3d7109
leaq 0x30(%rsp), %rdi
callq 0x1eabb8
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x39fb45
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1b81
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x30(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x22557a(%rip), %rsi    # 0x3d710a
leaq 0x225591(%rip), %rdx    # 0x3d7128
callq 0x1eabb8
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x39fb45
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1bc5
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
movq 0xd0(%rsp), %rax
cmpq 0xb0(%rsp), %rax
je 0x1b2343
leaq 0x30(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x22553f(%rip), %rsi    # 0x3d7129
leaq 0x225556(%rip), %rdx    # 0x3d7147
callq 0x1eabb8
leaq 0x30(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0x39fb45
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b1c1f
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
xorpd %xmm0, %xmm0
leaq 0x30(%rsp), %rdi
movapd %xmm0, 0x40(%rdi)
movapd %xmm0, 0x30(%rdi)
movapd %xmm0, 0x20(%rdi)
movapd %xmm0, 0x10(%rdi)
movapd %xmm0, (%rdi)
xorl %esi, %esi
callq 0x3998c2
movabsq $-0x1000000000000000, %rbp # imm = 0xF000000000000000
movabsq $0x726f727245206f4e, %r13 # imm = 0x726F727245206F4E
leaq 0x80(%rsp), %r12
xorl %eax, %eax
xorl %r15d, %r15d
movq %rax, 0xf8(%rsp)
xorl %r14d, %r14d
movq 0xe8(%rsp), %rax
movq %rax, %rcx
subq 0xc8(%rsp), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x4, %rcx
movq 0xd0(%rsp), %rax
subq 0xd8(%rsp), %rax
movq 0xc0(%rsp), %rdx
sarq $0x5, %rax
subq 0xb0(%rsp), %rdx
sarq $0x5, %rdx
addq %rax, %rdx
addq %rcx, %rdx
cmpq %rdx, %r14
jae 0x1b1f25
movq %r12, %rdi
callq 0x1ebb7a
movq 0x88(%rsp), %rcx
movq 0x90(%rsp), %rax
subq %rcx, %rax
je 0x1b1d37
sarq $0x3, %rax
cmpq $0x1, %rax
movq %rax, %rdi
adcq $0x0, %rdi
cmpq %rbx, %rcx
je 0x1b1d47
movq 0x8(%rsp), %rdx
cmpq (%rcx), %rdx
je 0x1b1d47
addq $0x8, %rcx
movl $0x1, %esi
subq %rdi, %rsi
xorl %edi, %edi
cmpq %rdi, %rsi
je 0x1b1d37
decq %rdi
cmpq %rbx, %rcx
je 0x1b1d2f
leaq 0x8(%rcx), %r8
cmpq (%rcx), %rdx
movq %r8, %rcx
jne 0x1b1d16
negq %rdi
cmpq %rax, %rdi
jb 0x1b1d47
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x1f216a
movq 0xb0(%rsp), %rsi
movq %rsi, %rax
subq 0xb8(%rsp), %rax
sarq $0x5, %rax
addq %r14, %rax
cmpq $0xf, %rax
ja 0x1b1d73
movq %r14, %rax
shlq $0x5, %rax
addq %rax, %rsi
jmp 0x1b1da4
movq %rax, %rcx
shrq $0x4, %rcx
movq %rcx, %rdx
orq %rbp, %rdx
testq %rax, %rax
cmovgq %rcx, %rdx
movq 0xc8(%rsp), %rcx
movq %rdx, %rsi
shlq $0x4, %rsi
subq %rsi, %rax
shlq $0x5, %rax
addq (%rcx,%rdx,8), %rax
movq %rax, %rsi
leaq 0x378(%rsp), %rdi
movq %r12, %rdx
callq 0x1ec5b8
testb %al, %al
je 0x1b1dca
leaq 0x30(%rsp), %rdi
movq %r12, %rsi
callq 0x39982a
jmp 0x1b1f15
movq 0x690(%rsp), %rdi
cmpq %rdi, 0x6b0(%rsp)
je 0x1b1e19
movq %rdi, %rcx
subq 0x698(%rsp), %rcx
movq %rcx, %rax
sarq $0x3, %rax
movabsq $-0x30c30c30c30c30c3, %rdx # imm = 0xCF3CF3CF3CF3CF3D
imulq %rdx, %rax
cmpq $0x3, %rax
jb 0x1b1e64
testq %rcx, %rcx
jle 0x1b1e38
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
jmp 0x1b1e4e
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %r13, 0x20(%rsp)
movq $0x8, 0x18(%rsp)
movb $0x0, 0x28(%rsp)
jmp 0x1b1e83
notq %rax
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
notq %rdx
movq 0x6a8(%rsp), %rax
imulq $-0x1f8, %rdx, %rdi     # imm = 0xFE08
addq (%rax,%rdx,8), %rdi
addq %rcx, %rdi
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x38(%rdi), %rsi
movq 0x40(%rdi), %rdx
addq %rsi, %rdx
leaq 0x10(%rsp), %rdi
callq 0x1eda34
movq 0xb0(%rsp), %rcx
movq %rcx, %rax
subq 0xb8(%rsp), %rax
movq 0x10(%rsp), %rsi
sarq $0x5, %rax
addq %r14, %rax
cmpq $0xf, %rax
ja 0x1b1eb4
movq %r14, %rax
shlq $0x5, %rax
addq %rax, %rcx
jmp 0x1b1ee5
movq %rax, %rcx
shrq $0x4, %rcx
movq %rcx, %rdx
orq %rbp, %rdx
testq %rax, %rax
cmovgq %rcx, %rdx
movq 0xc8(%rsp), %rcx
movq %rdx, %rdi
shlq $0x4, %rdi
subq %rdi, %rax
shlq $0x5, %rax
addq (%rcx,%rdx,8), %rax
movq %rax, %rcx
movq (%rcx), %rdx
leaq 0x225259(%rip), %rdi    # 0x3d7148
xorl %eax, %eax
callq 0x120080
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x1b1f12
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
movb $0x1, %r15b
movq %r12, %rdi
callq 0x1ed306
incq %r14
jmp 0x1b1c73
xorl %r14d, %r14d
movq 0x168(%rsp), %rax
movq %rax, %rcx
subq 0x148(%rsp), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x4, %rcx
movq 0x150(%rsp), %rax
subq 0x158(%rsp), %rax
movq 0x140(%rsp), %rdx
sarq $0x5, %rax
subq 0x130(%rsp), %rdx
sarq $0x5, %rdx
addq %rax, %rdx
addq %rcx, %rdx
cmpq %rdx, %r14
jae 0x1b21cc
movq %r12, %rdi
callq 0x1ebb7a
movq 0x88(%rsp), %rcx
movq 0x90(%rsp), %rax
subq %rcx, %rax
je 0x1b1fec
sarq $0x3, %rax
cmpq $0x1, %rax
movq %rax, %rdi
adcq $0x0, %rdi
cmpq %rbx, %rcx
je 0x1b1ffc
movq 0x8(%rsp), %rdx
cmpq (%rcx), %rdx
je 0x1b1ffc
addq $0x8, %rcx
movl $0x1, %esi
subq %rdi, %rsi
xorl %edi, %edi
cmpq %rdi, %rsi
je 0x1b1fec
decq %rdi
cmpq %rbx, %rcx
je 0x1b1fe4
leaq 0x8(%rcx), %r8
cmpq (%rcx), %rdx
movq %r8, %rcx
jne 0x1b1fcb
negq %rdi
cmpq %rax, %rdi
jb 0x1b1ffc
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x1f216a
movq 0x130(%rsp), %rsi
movq %rsi, %rax
subq 0x138(%rsp), %rax
sarq $0x5, %rax
addq %r14, %rax
cmpq $0xf, %rax
ja 0x1b2028
movq %r14, %rax
shlq $0x5, %rax
addq %rax, %rsi
jmp 0x1b2059
movq %rax, %rcx
shrq $0x4, %rcx
movq %rcx, %rdx
orq %rbp, %rdx
testq %rax, %rax
cmovgq %rcx, %rdx
movq 0x148(%rsp), %rcx
movq %rdx, %rsi
shlq $0x4, %rsi
subq %rsi, %rax
shlq $0x5, %rax
addq (%rcx,%rdx,8), %rax
movq %rax, %rsi
leaq 0xdf0(%rsp), %rdi
movq %r12, %rdx
callq 0x1ec5b8
testb %al, %al
jne 0x1b21bc
movq 0x1108(%rsp), %rdi
cmpq %rdi, 0x1128(%rsp)
je 0x1b20c0
movq %rdi, %rcx
subq 0x1110(%rsp), %rcx
movq %rcx, %rax
sarq $0x3, %rax
movabsq $-0x30c30c30c30c30c3, %rdx # imm = 0xCF3CF3CF3CF3CF3D
imulq %rdx, %rax
cmpq $0x3, %rax
jb 0x1b210b
testq %rcx, %rcx
jle 0x1b20df
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
jmp 0x1b20f5
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %r13, 0x20(%rsp)
movq $0x8, 0x18(%rsp)
movb $0x0, 0x28(%rsp)
jmp 0x1b212a
notq %rax
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
notq %rdx
movq 0x1120(%rsp), %rax
imulq $-0x1f8, %rdx, %rdi     # imm = 0xFE08
addq (%rax,%rdx,8), %rdi
addq %rcx, %rdi
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x38(%rdi), %rsi
movq 0x40(%rdi), %rdx
addq %rsi, %rdx
leaq 0x10(%rsp), %rdi
callq 0x1eda34
movq 0x130(%rsp), %rcx
movq %rcx, %rax
subq 0x138(%rsp), %rax
movq 0x10(%rsp), %rsi
sarq $0x5, %rax
addq %r14, %rax
cmpq $0xf, %rax
ja 0x1b215b
movq %r14, %rax
shlq $0x5, %rax
addq %rax, %rcx
jmp 0x1b218c
movq %rax, %rcx
shrq $0x4, %rcx
movq %rcx, %rdx
orq %rbp, %rdx
testq %rax, %rax
cmovgq %rcx, %rdx
movq 0x148(%rsp), %rcx
movq %rdx, %rdi
shlq $0x4, %rdi
subq %rdi, %rax
shlq $0x5, %rax
addq (%rcx,%rdx,8), %rax
movq %rax, %rcx
movq (%rcx), %rdx
leaq 0x224fdd(%rip), %rdi    # 0x3d7173
xorl %eax, %eax
callq 0x120080
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x1b21b9
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x1200c0
movb $0x1, %r15b
movq %r12, %rdi
callq 0x1ed306
incq %r14
jmp 0x1b1f28
testb $0x1, %r15b
jne 0x1b2333
xorl %r14d, %r14d
xorl %r13d, %r13d
movq 0x78(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x3, %rdx
cmpq $0x1, %rcx
adcq $-0x1, %rdx
shlq $0x4, %rdx
movq 0x60(%rsp), %rsi
subq 0x68(%rsp), %rsi
sarq $0x5, %rsi
movq 0x40(%rsp), %rcx
movq 0x50(%rsp), %rdi
subq %rcx, %rdi
sarq $0x5, %rdi
addq %rsi, %rdi
addq %rdx, %rdi
cmpq %rdi, %r13
jae 0x1b2304
movq %rcx, %rdx
subq 0x48(%rsp), %rdx
sarq $0x5, %rdx
leaq (%rdx,%r13), %rsi
cmpq $0xf, %rsi
ja 0x1b2245
addq %r14, %rcx
jmp 0x1b2271
movq %rsi, %rcx
shrq $0x4, %rcx
movq %rcx, %rdi
orq %rbp, %rdi
testq %rsi, %rsi
cmovgq %rcx, %rdi
movq %rdi, %rcx
shlq $0x4, %rcx
subq %rcx, %rdx
addq %r13, %rdx
shlq $0x5, %rdx
addq (%rax,%rdi,8), %rdx
movq %rdx, %rcx
movq (%rcx), %rax
movq 0x8(%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
ucomisd 0x1ffd9a(%rip), %xmm0   # 0x3b2020
jne 0x1b228a
jnp 0x1b22f8
movq 0xb0(%rsp), %rcx
movq %rcx, %rax
subq 0xb8(%rsp), %rax
sarq $0x5, %rax
leaq (%rax,%r13), %rdx
cmpq $0xf, %rdx
ja 0x1b22b0
addq %r14, %rcx
jmp 0x1b22e4
movq 0xc8(%rsp), %rcx
movq %rdx, %rsi
shrq $0x4, %rsi
movq %rsi, %rdi
orq %rbp, %rdi
testq %rdx, %rdx
cmovgq %rsi, %rdi
movq %rdi, %rdx
shlq $0x4, %rdx
subq %rdx, %rax
addq %r13, %rax
shlq $0x5, %rax
addq (%rcx,%rdi,8), %rax
movq %rax, %rcx
movq (%rcx), %rsi
leaq 0x224ec3(%rip), %rdi    # 0x3d71b1
xorl %eax, %eax
callq 0x120080
movb $0x1, %r15b
incq %r13
addq $0x20, %r14
jmp 0x1b21dc
leaq 0x30(%rsp), %rdi
callq 0x39fc6a
testb $0x1, %r15b
movq 0xf8(%rsp), %rax
jne 0x1b2333
incq %rax
cmpq $0x5, %rax
movabsq $0x726f727245206f4e, %r13 # imm = 0x726F727245206F4E
jne 0x1b1c68
xorb $0x1, %r15b
leaq 0x30(%rsp), %rdi
callq 0x399878
jmp 0x1b2346
movb $0x1, %r15b
leaq 0x120(%rsp), %rdi
callq 0x39b5c2
leaq 0xa0(%rsp), %rdi
callq 0x39b5c2
leaq 0xdf0(%rsp), %rdi
callq 0x1ed044
leaq 0xda0(%rsp), %rdi
callq 0x1f236c
leaq 0xd70(%rsp), %rdi
callq 0x1f236c
leaq 0xd40(%rsp), %rdi
callq 0x1f236c
leaq 0xd10(%rsp), %rdi
callq 0x1f236c
leaq 0xce0(%rsp), %rdi
callq 0x1f236c
leaq 0xcb0(%rsp), %rdi
callq 0x1f236c
leaq 0x378(%rsp), %rdi
callq 0x1ed044
leaq 0x178(%rsp), %rdi
callq 0x1ed306
leaq 0x8(%rsp), %rdi
callq 0x1ed354
leaq 0x1718(%rsp), %rdi
callq 0x39fc92
andb $0x1, %r15b
movl %r15d, %eax
addq $0x1ef8, %rsp           # imm = 0x1EF8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1b2471
jmp 0x1b2434
jmp 0x1b2411
jmp 0x1b2434
jmp 0x1b2411
jmp 0x1b2434
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b251c
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x1b251c
movq %rax, %rbx
jmp 0x1b251c
movq %rax, %rbx
jmp 0x1b2529
movq %rax, %rbx
jmp 0x1b2536
movq %rax, %rbx
jmp 0x1b2543
movq %rax, %rbx
jmp 0x1b2550
movq %rax, %rbx
leaq 0xdf0(%rsp), %rdi
callq 0x1ec570
jmp 0x1b255d
movq %rax, %rbx
jmp 0x1b255d
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
jmp 0x1b24bb
jmp 0x1b24ee
movq %rax, %rbx
movq 0x378(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b256a
movq 0x388(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x1b256a
jmp 0x1b24ee
movq %rax, %rbx
jmp 0x1b2574
movq %rax, %rbx
jmp 0x1b256a
jmp 0x1b2502
jmp 0x1b2502
jmp 0x1b24fb
jmp 0x1b24fb
movq %rax, %rbx
jmp 0x1b2512
jmp 0x1b2502
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1ed306
leaq 0x30(%rsp), %rdi
callq 0x399878
leaq 0x120(%rsp), %rdi
callq 0x39b5c2
leaq 0xa0(%rsp), %rdi
callq 0x39b5c2
leaq 0xdf0(%rsp), %rdi
callq 0x1ed044
leaq 0xca0(%rsp), %rdi
callq 0x1ec570
leaq 0x378(%rsp), %rdi
callq 0x1ed044
leaq 0x178(%rsp), %rdi
callq 0x1ed306
leaq 0x8(%rsp), %rdi
callq 0x1ed354
leaq 0x1718(%rsp), %rdi
callq 0x39fc92
movq %rbx, %rdi
callq 0x120330