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

   T x = T(1.1);
   T y = T(2.2);
   T z = T(3.3);
   T w = T(4.4);
   T u = T(5.5);
   T v = T(6.6);
   T t = T(7.7);

   T one  = T(1);
   T zero = T(0);

   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_variable("u",u);
   symbol_table.add_variable("v",v);
   symbol_table.add_variable("t",t);

   symbol_table.add_variable("one",one);
   symbol_table.add_variable("zero",zero);

   static const std::string expr_str_list[] =
   {
      "equal(mand(one,one),1.0)",
      "equal(mand(one,zero),0.0)",
      "equal(mand(zero,one),0.0)",
      "equal(mand(zero,zero),0.0)",
      "equal(mand(one,one),1.0)",
      "equal(mand(one,one,one),1.0)",
      "equal(mand(one,one,one,one),1.0)",
      "equal(mand(one,one,one,one,one),1.0)",
      "equal(mand(one,one,zero),0.0)",
      "equal(mand(one,one,one,zero),0.0)",
      "equal(mand(one,one,one,one,zero),0.0)",
      "equal(mand(one,one,one,one,one,zero),0.0)",
      "equal(mor(one,one),1.0)",
      "equal(mor(one,zero),1.0)",
      "equal(mor(zero,one),1.0)",
      "equal(mor(zero,zero),0.0)",
      "equal(mor(one,one),1.0)",
      "equal(mor(one,one,zero),1.0)",
      "equal(mor(one,zero,one),1.0)",
      "equal(mor(one,zero,one,zero),1.0)",
      "equal(mor(zero,one),1.0)",
      "equal(mor(zero,zero,one),1.0)",
      "equal(mor(zero,zero,zero,zero,one),1.0)",
      "equal(mor(zero,zero,zero,zero,zero,one),1.0)",
      "equal(mor(zero,zero,zero,zero,zero,zero,zero,zero),0.0)",
      "equal((one nand one),not(mand(one,one)))",
      "equal((one nand zero),not(mand(one,zero)))",
      "equal((zero nand one),not(mand(zero,one)))",
      "equal((zero nand zero),not(mand(zero,zero)))",
      "equal((one nor one),not(mor(one,one)))",
      "equal((one nor zero),not(mor(one,zero)))",
      "equal((zero nor one),not(mor(zero,one)))",
      "equal((zero nor zero),not(mor(zero,zero)))",
      "equal(sum(x,y,z,w,u,v,t),(x+y+z+w+u+v+t))",
      "equal(sum(x+t,y+v,z+u,w+w,u+z,v+y,t+x),2*(x+y+z+w+u+v+t))",
      "equal(mul(x,y,z,w,u,v,t),(x*y*z*w*u*v*t))",
      "equal(mul(x*t,y*v,z*u,w*w,u*z,v*y,t*x),(x*y*z*w*u*v*t)^2)",
      "equal(sum(x,1.0,y,2.0,z,3.0,w,4.0,u,5.0,v,6.0,t),(x+y+z+w+u+v+t+21.0))",
      "equal(sum(x+1.0,y+2.0,z+3.0,w+4.0,u+5.0,v+6.0,t),(x+y+z+w+u+v+t+21.0))",
      "equal(mul(x,1.0,y,2.0,z,3.0,w,4.0,u,5.0,v,6.0,t),(x*y*z*w*u*v*t*720.0))",
      "equal(mul(x*1.0,y*2.0,z*3.0,w*4.0,u*5.0,v*6.0,t),(x*y*z*w*u*v*t*720.0))",
      "equal(min(x,y,z,w,u,v,t,zero),zero)",
      "equal(min(x+y,z+w,u+v,t,zero),zero)",
      "equal(max(one,x,y,z,w,u,v,t),t)",
      "equal(max(x+y,z+w,u+v,t,one),u+v)",
      "equal(avg(x,y,z,w,u,v,t),(x+y+z+w+u+v+t)/7.0)",
      "equal(avg(x+t,y+v,z+u,w+w,u+z,v+y,t+x),2/7*(x+y+z+w+u+v+t))"
   };
   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_test17() - Error: %s   Expression: %s\n",
                parser.error().c_str(),
                expr_str_list[i].c_str());

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

   bool error_found = false;

   for (std::size_t i = 0; i < expression_list.size(); ++i)
   {
      if (T(1) != expression_list[i].value())
      {
         printf("run_test17() - Error in evaluation! (1) Expression: %s\n",
                expr_str_list[i].c_str());

         error_found = true;
      }
   }

   return !error_found;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb38, %rsp            # imm = 0xB38
movabsq $0x3ff199999999999a, %rax # imm = 0x3FF199999999999A
movq %rax, 0x68(%rsp)
movabsq $0x400199999999999a, %rax # imm = 0x400199999999999A
movq %rax, 0x60(%rsp)
movabsq $0x400a666666666666, %rax # imm = 0x400A666666666666
movq %rax, 0x58(%rsp)
movabsq $0x401199999999999a, %rax # imm = 0x401199999999999A
movq %rax, 0x50(%rsp)
movabsq $0x4016000000000000, %rax # imm = 0x4016000000000000
movq %rax, 0x48(%rsp)
movabsq $0x401a666666666666, %rax # imm = 0x401A666666666666
movq %rax, 0x40(%rsp)
movabsq $0x401ecccccccccccd, %rax # imm = 0x401ECCCCCCCCCCCD
movq %rax, 0x38(%rsp)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x30(%rsp)
movq $0x0, 0x28(%rsp)
movq %rsp, %rbx
movq %rbx, %rdi
movl $0x1, %esi
callq 0x1e5424
movq %rbx, %rdi
callq 0x1e546c
leaq 0x220(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x20ad1b(%rip), %rsi    # 0x3bcb67
leaq 0x20ad15(%rip), %rdx    # 0x3bcb68
leaq 0x210(%rsp), %rdi
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x68(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b1e94
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x1f6995(%rip), %rsi    # 0x3a883b
leaq 0x1f698f(%rip), %rdx    # 0x3a883c
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x60(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b1ee6
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x1fc5f2(%rip), %rsi    # 0x3ae4ea
leaq 0x1fc5ec(%rip), %rdx    # 0x3ae4eb
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x58(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b1f38
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x20a2a8(%rip), %rsi    # 0x3bc1f2
leaq 0x20a2a2(%rip), %rdx    # 0x3bc1f3
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x50(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b1f8a
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x1f15e7(%rip), %rsi    # 0x3a3583
leaq 0x1f15e1(%rip), %rdx    # 0x3a3584
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x48(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b1fdc
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x209f91(%rip), %rsi    # 0x3bbf7f
leaq 0x209f8b(%rip), %rdx    # 0x3bbf80
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x40(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b202e
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x1edb53(%rip), %rsi    # 0x39fb93
leaq 0x1edb4d(%rip), %rdx    # 0x39fb94
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x38(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b2080
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x1fb252(%rip), %rsi    # 0x3ad2e4
leaq 0x1fb24e(%rip), %rdx    # 0x3ad2e7
callq 0x1e4740
movq %rsp, %rdi
leaq 0x210(%rsp), %rsi
leaq 0x30(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b20d2
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
leaq 0x210(%rsp), %rdi
movq %rbx, (%rdi)
leaq 0x1fb1fb(%rip), %rsi    # 0x3ad2df
leaq 0x1fb1f8(%rip), %rdx    # 0x3ad2e3
callq 0x1e4740
movq %rsp, %r14
leaq 0x210(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %r14, %rdi
xorl %ecx, %ecx
callq 0x1e7f1a
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b2127
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movb 0x3bcbb3(%rip), %al     # 0x56ece0
testb %al, %al
je 0x1b24dc
xorpd %xmm0, %xmm0
leaq 0x70(%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 0x371386
leaq 0xd0(%rsp), %rbx
leaq 0xc0(%rsp), %r15
leaq 0x210(%rsp), %r12
xorl %r13d, %r13d
leaq 0x8(%rsp), %rdi
callq 0x1e56bc
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
subq %rax, %rcx
je 0x1b21b4
sarq $0x3, %rcx
movq (%rsp), %rdx
cmpq $0x1, %rcx
adcq $0x0, %rcx
cmpq %r14, %rax
je 0x1b21c1
cmpq (%rax), %rdx
je 0x1b21c1
addq $0x8, %rax
decq %rcx
jne 0x1b21a1
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0x1eb0e8
movl $0x7f, %esi
movq %r15, %rdi
callq 0x1e57c8
movq %r12, %rdi
movq %r15, %rsi
callq 0x1e58c8
leaq 0x1c0(%rsp), %rdi
callq 0x1eb2ea
leaq 0x190(%rsp), %rdi
callq 0x1eb2ea
leaq 0x160(%rsp), %rdi
callq 0x1eb2ea
leaq 0x130(%rsp), %rdi
callq 0x1eb2ea
leaq 0x100(%rsp), %rdi
callq 0x1eb2ea
movq %rbx, %rdi
callq 0x1eb2ea
movq %r13, %r15
shlq $0x5, %r15
leaq 0x3bc4d0(%rip), %rax    # 0x56e700
addq %rax, %r15
movq %r12, %rbp
movq %r12, %rdi
movq %r15, %rsi
leaq 0x8(%rsp), %rdx
callq 0x1e60ec
movl %eax, %ebx
testb %al, %al
je 0x1b2260
leaq 0x70(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x3712ee
jmp 0x1b2383
movq 0x528(%rsp), %rdi
cmpq %rdi, 0x548(%rsp)
je 0x1b22bb
movq 0x540(%rsp), %rsi
movq %rdi, %rcx
subq 0x530(%rsp), %rcx
movq %rcx, %rax
sarq $0x3, %rax
movabsq $-0x30c30c30c30c30c3, %rdx # imm = 0xCF3CF3CF3CF3CF3D
imulq %rdx, %rax
cmpq $-0xa7, %rcx
jl 0x1b22f6
cmpq $0x3, %rax
jb 0x1b231a
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
jmp 0x1b230c
leaq 0xd0(%rsp), %r14
movq %r14, 0xc0(%rsp)
movabsq $0x726f727245206f4e, %rax # imm = 0x726F727245206F4E
movq %rax, 0xd0(%rsp)
movq $0x8, 0xc8(%rsp)
movb $0x0, 0xd8(%rsp)
movq %r14, %rsi
jmp 0x1b2352
notq %rax
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
notq %rdx
imulq $-0x1f8, %rdx, %rdi     # imm = 0xFE08
addq (%rsi,%rdx,8), %rdi
addq %rcx, %rdi
leaq 0xd0(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x38(%rdi), %rsi
movq 0x40(%rdi), %rdx
addq %rsi, %rdx
leaq 0xc0(%rsp), %rdi
callq 0x1e7738
movq 0xc0(%rsp), %rsi
leaq 0xd0(%rsp), %r14
movq (%r15), %rdx
leaq 0x1fd72a(%rip), %rdi    # 0x3afa86
xorl %eax, %eax
callq 0x11e080
movq 0xc0(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b2380
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x11e0c0
movq %rsp, %r14
movq %rbp, %rdi
callq 0x1e6d46
leaq 0x8(%rsp), %rdi
callq 0x1e7008
testb %bl, %bl
je 0x1b24ac
incq %r13
cmpq $0x2f, %r13
leaq 0xd0(%rsp), %rbx
leaq 0xc0(%rsp), %r15
movq %rbp, %r12
jne 0x1b2178
xorl %ebx, %ebx
leaq 0x1fd6eb(%rip), %r14    # 0x3afab1
xorl %r15d, %r15d
xorl %r12d, %r12d
movq 0xb8(%rsp), %rcx
movq 0x98(%rsp), %rax
movq %rcx, %rsi
subq %rax, %rsi
shrq $0x3, %rsi
cmpq $0x1, %rcx
adcq $-0x1, %rsi
shlq $0x4, %rsi
movq 0xa0(%rsp), %rcx
subq 0xa8(%rsp), %rcx
sarq $0x5, %rcx
movq 0x80(%rsp), %rdx
movq 0x90(%rsp), %rdi
subq %rdx, %rdi
sarq $0x5, %rdi
addq %rcx, %rdi
addq %rsi, %rdi
cmpq %rdi, %r12
jae 0x1b24b0
movq %rdx, %rcx
subq 0x88(%rsp), %rcx
sarq $0x5, %rcx
addq %r12, %rcx
js 0x1b244e
cmpq $0xf, %rcx
ja 0x1b2457
addq %r15, %rdx
movq %rdx, %rcx
jmp 0x1b2470
movq %rcx, %rdx
sarq $0x4, %rdx
jmp 0x1b245e
movq %rcx, %rdx
shrq $0x4, %rdx
movq %rdx, %rsi
shlq $0x4, %rsi
subq %rsi, %rcx
shlq $0x5, %rcx
addq (%rax,%rdx,8), %rcx
movq (%rcx), %rax
movq 0x8(%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
ucomisd 0x1d6b9b(%rip), %xmm0   # 0x389020
jne 0x1b2489
jnp 0x1b24a0
leaq 0x3bc270(%rip), %rax    # 0x56e700
movq (%r15,%rax), %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0x11e080
movb $0x1, %bl
incq %r12
addq $0x20, %r15
jmp 0x1b23cc
xorl %ebx, %ebx
jmp 0x1b24b3
xorb $0x1, %bl
leaq 0x70(%rsp), %rdi
callq 0x37133c
movq %rsp, %rdi
callq 0x1e7056
andb $0x1, %bl
movl %ebx, %eax
addq $0xb38, %rsp            # imm = 0xB38
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3bc7fd(%rip), %rdi    # 0x56ece0
callq 0x11e1a0
testl %eax, %eax
je 0x1b2135
leaq 0x3bc219(%rip), %rax    # 0x56e710
movq %rax, 0x3bc202(%rip)    # 0x56e700
leaq 0x3bc1fb(%rip), %rbx    # 0x56e700
leaq 0x1fce8a(%rip), %rsi    # 0x3af396
leaq 0x1fce9b(%rip), %rdx    # 0x3af3ae
movq %rbx, %rdi
callq 0x1e4740
leaq 0x3bc20e(%rip), %rax    # 0x56e730
movq %rax, 0x3bc1f7(%rip)    # 0x56e720
leaq 0x3bc1f0(%rip), %r15    # 0x56e720
leaq 0x1fce78(%rip), %rsi    # 0x3af3af
leaq 0x1fce8a(%rip), %rdx    # 0x3af3c8
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc203(%rip), %rax    # 0x56e750
movq %rax, 0x3bc1ec(%rip)    # 0x56e740
leaq 0x3bc1e5(%rip), %r15    # 0x56e740
leaq 0x1fce67(%rip), %rsi    # 0x3af3c9
leaq 0x1fce79(%rip), %rdx    # 0x3af3e2
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1f8(%rip), %rax    # 0x56e770
movq %rax, 0x3bc1e1(%rip)    # 0x56e760
leaq 0x3bc1da(%rip), %r15    # 0x56e760
leaq 0x1fce56(%rip), %rsi    # 0x3af3e3
leaq 0x1fce69(%rip), %rdx    # 0x3af3fd
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1ed(%rip), %rax    # 0x56e790
movq %rax, 0x3bc1d6(%rip)    # 0x56e780
leaq 0x3bc1cf(%rip), %r15    # 0x56e780
leaq 0x1fcdde(%rip), %rsi    # 0x3af396
leaq 0x1fcdef(%rip), %rdx    # 0x3af3ae
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1e2(%rip), %rax    # 0x56e7b0
movq %rax, 0x3bc1cb(%rip)    # 0x56e7a0
leaq 0x3bc1c4(%rip), %r15    # 0x56e7a0
leaq 0x1fce1b(%rip), %rsi    # 0x3af3fe
leaq 0x1fce30(%rip), %rdx    # 0x3af41a
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1d7(%rip), %rax    # 0x56e7d0
movq %rax, 0x3bc1c0(%rip)    # 0x56e7c0
leaq 0x3bc1b9(%rip), %r15    # 0x56e7c0
leaq 0x1fce0d(%rip), %rsi    # 0x3af41b
leaq 0x1fce26(%rip), %rdx    # 0x3af43b
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1cc(%rip), %rax    # 0x56e7f0
movq %rax, 0x3bc1b5(%rip)    # 0x56e7e0
leaq 0x3bc1ae(%rip), %r15    # 0x56e7e0
leaq 0x1fce03(%rip), %rsi    # 0x3af43c
leaq 0x1fce20(%rip), %rdx    # 0x3af460
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1c1(%rip), %rax    # 0x56e810
movq %rax, 0x3bc1aa(%rip)    # 0x56e800
leaq 0x3bc1a3(%rip), %r15    # 0x56e800
leaq 0x1fcdfd(%rip), %rsi    # 0x3af461
leaq 0x1fce13(%rip), %rdx    # 0x3af47e
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1b6(%rip), %rax    # 0x56e830
movq %rax, 0x3bc19f(%rip)    # 0x56e820
leaq 0x3bc198(%rip), %r15    # 0x56e820
leaq 0x1fcdf0(%rip), %rsi    # 0x3af47f
leaq 0x1fce0a(%rip), %rdx    # 0x3af4a0
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1ab(%rip), %rax    # 0x56e850
movq %rax, 0x3bc194(%rip)    # 0x56e840
leaq 0x3bc18d(%rip), %r15    # 0x56e840
leaq 0x1fcde7(%rip), %rsi    # 0x3af4a1
leaq 0x1fce05(%rip), %rdx    # 0x3af4c6
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc1a0(%rip), %rax    # 0x56e870
movq %rax, 0x3bc189(%rip)    # 0x56e860
leaq 0x3bc182(%rip), %r15    # 0x56e860
leaq 0x1fcde2(%rip), %rsi    # 0x3af4c7
leaq 0x1fce04(%rip), %rdx    # 0x3af4f0
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc195(%rip), %rax    # 0x56e890
movq %rax, 0x3bc17e(%rip)    # 0x56e880
leaq 0x3bc177(%rip), %r15    # 0x56e880
leaq 0x1fcde1(%rip), %rsi    # 0x3af4f1
leaq 0x1fcdf1(%rip), %rdx    # 0x3af508
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc18a(%rip), %rax    # 0x56e8b0
movq %rax, 0x3bc173(%rip)    # 0x56e8a0
leaq 0x3bc16c(%rip), %r15    # 0x56e8a0
leaq 0x1fcdce(%rip), %rsi    # 0x3af509
leaq 0x1fcddf(%rip), %rdx    # 0x3af521
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc17f(%rip), %rax    # 0x56e8d0
movq %rax, 0x3bc168(%rip)    # 0x56e8c0
leaq 0x3bc161(%rip), %r15    # 0x56e8c0
leaq 0x1fcdbc(%rip), %rsi    # 0x3af522
leaq 0x1fcdcd(%rip), %rdx    # 0x3af53a
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc174(%rip), %rax    # 0x56e8f0
movq %rax, 0x3bc15d(%rip)    # 0x56e8e0
leaq 0x3bc156(%rip), %r15    # 0x56e8e0
leaq 0x1fcdaa(%rip), %rsi    # 0x3af53b
leaq 0x1fcdbc(%rip), %rdx    # 0x3af554
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc169(%rip), %rax    # 0x56e910
movq %rax, 0x3bc152(%rip)    # 0x56e900
leaq 0x3bc14b(%rip), %r15    # 0x56e900
leaq 0x1fcd35(%rip), %rsi    # 0x3af4f1
leaq 0x1fcd45(%rip), %rdx    # 0x3af508
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc15e(%rip), %rax    # 0x56e930
movq %rax, 0x3bc147(%rip)    # 0x56e920
leaq 0x3bc140(%rip), %r15    # 0x56e920
leaq 0x1fcd6e(%rip), %rsi    # 0x3af555
leaq 0x1fcd83(%rip), %rdx    # 0x3af571
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc153(%rip), %rax    # 0x56e950
movq %rax, 0x3bc13c(%rip)    # 0x56e940
leaq 0x3bc135(%rip), %r15    # 0x56e940
leaq 0x1fcd60(%rip), %rsi    # 0x3af572
leaq 0x1fcd75(%rip), %rdx    # 0x3af58e
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc148(%rip), %rax    # 0x56e970
movq %rax, 0x3bc131(%rip)    # 0x56e960
leaq 0x3bc12a(%rip), %r15    # 0x56e960
leaq 0x1fcd52(%rip), %rsi    # 0x3af58f
leaq 0x1fcd6c(%rip), %rdx    # 0x3af5b0
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc13d(%rip), %rax    # 0x56e990
movq %rax, 0x3bc126(%rip)    # 0x56e980
leaq 0x3bc11f(%rip), %r15    # 0x56e980
leaq 0x1fccba(%rip), %rsi    # 0x3af522
leaq 0x1fcccb(%rip), %rdx    # 0x3af53a
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc132(%rip), %rax    # 0x56e9b0
movq %rax, 0x3bc11b(%rip)    # 0x56e9a0
leaq 0x3bc114(%rip), %r15    # 0x56e9a0
leaq 0x1fcd1e(%rip), %rsi    # 0x3af5b1
leaq 0x1fcd34(%rip), %rdx    # 0x3af5ce
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc127(%rip), %rax    # 0x56e9d0
movq %rax, 0x3bc110(%rip)    # 0x56e9c0
leaq 0x3bc109(%rip), %r15    # 0x56e9c0
leaq 0x1fcd11(%rip), %rsi    # 0x3af5cf
leaq 0x1fcd31(%rip), %rdx    # 0x3af5f6
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc11c(%rip), %rax    # 0x56e9f0
movq %rax, 0x3bc105(%rip)    # 0x56e9e0
leaq 0x3bc0fe(%rip), %r15    # 0x56e9e0
leaq 0x1fcd0e(%rip), %rsi    # 0x3af5f7
leaq 0x1fcd33(%rip), %rdx    # 0x3af623
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc111(%rip), %rax    # 0x56ea10
movq %rax, 0x3bc0fa(%rip)    # 0x56ea00
leaq 0x3bc0f3(%rip), %r15    # 0x56ea00
leaq 0x1fcd10(%rip), %rsi    # 0x3af624
leaq 0x1fcd40(%rip), %rdx    # 0x3af65b
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc106(%rip), %rax    # 0x56ea30
movq %rax, 0x3bc0ef(%rip)    # 0x56ea20
leaq 0x3bc0e8(%rip), %r15    # 0x56ea20
leaq 0x1fcd1d(%rip), %rsi    # 0x3af65c
leaq 0x1fcd3e(%rip), %rdx    # 0x3af684
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0fb(%rip), %rax    # 0x56ea50
movq %rax, 0x3bc0e4(%rip)    # 0x56ea40
leaq 0x3bc0dd(%rip), %r15    # 0x56ea40
leaq 0x1fcd1b(%rip), %rsi    # 0x3af685
leaq 0x1fcd3e(%rip), %rdx    # 0x3af6af
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0f0(%rip), %rax    # 0x56ea70
movq %rax, 0x3bc0d9(%rip)    # 0x56ea60
leaq 0x3bc0d2(%rip), %r15    # 0x56ea60
leaq 0x1fcd1b(%rip), %rsi    # 0x3af6b0
leaq 0x1fcd3e(%rip), %rdx    # 0x3af6da
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0e5(%rip), %rax    # 0x56ea90
movq %rax, 0x3bc0ce(%rip)    # 0x56ea80
leaq 0x3bc0c7(%rip), %r15    # 0x56ea80
leaq 0x1fcd1b(%rip), %rsi    # 0x3af6db
leaq 0x1fcd40(%rip), %rdx    # 0x3af707
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0da(%rip), %rax    # 0x56eab0
movq %rax, 0x3bc0c3(%rip)    # 0x56eaa0
leaq 0x3bc0bc(%rip), %r15    # 0x56eaa0
leaq 0x1fcd1d(%rip), %rsi    # 0x3af708
leaq 0x1fcd3c(%rip), %rdx    # 0x3af72e
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0cf(%rip), %rax    # 0x56ead0
movq %rax, 0x3bc0b8(%rip)    # 0x56eac0
leaq 0x3bc0b1(%rip), %r15    # 0x56eac0
leaq 0x1fcd19(%rip), %rsi    # 0x3af72f
leaq 0x1fcd3a(%rip), %rdx    # 0x3af757
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0c4(%rip), %rax    # 0x56eaf0
movq %rax, 0x3bc0ad(%rip)    # 0x56eae0
leaq 0x3bc0a6(%rip), %r15    # 0x56eae0
leaq 0x1fcd17(%rip), %rsi    # 0x3af758
leaq 0x1fcd38(%rip), %rdx    # 0x3af780
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0b9(%rip), %rax    # 0x56eb10
movq %rax, 0x3bc0a2(%rip)    # 0x56eb00
leaq 0x3bc09b(%rip), %r15    # 0x56eb00
leaq 0x1fcd15(%rip), %rsi    # 0x3af781
leaq 0x1fcd38(%rip), %rdx    # 0x3af7ab
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0ae(%rip), %rax    # 0x56eb30
movq %rax, 0x3bc097(%rip)    # 0x56eb20
leaq 0x3bc090(%rip), %r15    # 0x56eb20
leaq 0x1fcd15(%rip), %rsi    # 0x3af7ac
leaq 0x1fcd37(%rip), %rdx    # 0x3af7d5
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc0a3(%rip), %rax    # 0x56eb50
movq %rax, 0x3bc08c(%rip)    # 0x56eb40
leaq 0x3bc085(%rip), %r15    # 0x56eb40
leaq 0x1fcd14(%rip), %rsi    # 0x3af7d6
leaq 0x1fcd46(%rip), %rdx    # 0x3af80f
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc098(%rip), %rax    # 0x56eb70
movq %rax, 0x3bc081(%rip)    # 0x56eb60
leaq 0x3bc07a(%rip), %r15    # 0x56eb60
leaq 0x1fcd23(%rip), %rsi    # 0x3af810
leaq 0x1fcd45(%rip), %rdx    # 0x3af839
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc08d(%rip), %rax    # 0x56eb90
movq %rax, 0x3bc076(%rip)    # 0x56eb80
leaq 0x3bc06f(%rip), %r15    # 0x56eb80
leaq 0x1fcd22(%rip), %rsi    # 0x3af83a
leaq 0x1fcd54(%rip), %rdx    # 0x3af873
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc082(%rip), %rax    # 0x56ebb0
movq %rax, 0x3bc06b(%rip)    # 0x56eba0
leaq 0x3bc064(%rip), %r15    # 0x56eba0
leaq 0x1fcd31(%rip), %rsi    # 0x3af874
leaq 0x1fcd70(%rip), %rdx    # 0x3af8ba
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc077(%rip), %rax    # 0x56ebd0
movq %rax, 0x3bc060(%rip)    # 0x56ebc0
leaq 0x3bc059(%rip), %r15    # 0x56ebc0
leaq 0x1fcd4d(%rip), %rsi    # 0x3af8bb
leaq 0x1fcd8c(%rip), %rdx    # 0x3af901
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc06c(%rip), %rax    # 0x56ebf0
movq %rax, 0x3bc055(%rip)    # 0x56ebe0
leaq 0x3bc04e(%rip), %r15    # 0x56ebe0
leaq 0x1fcd69(%rip), %rsi    # 0x3af902
leaq 0x1fcda9(%rip), %rdx    # 0x3af949
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc061(%rip), %rax    # 0x56ec10
movq %rax, 0x3bc04a(%rip)    # 0x56ec00
leaq 0x3bc043(%rip), %r15    # 0x56ec00
leaq 0x1fcd86(%rip), %rsi    # 0x3af94a
leaq 0x1fcdc6(%rip), %rdx    # 0x3af991
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc056(%rip), %rax    # 0x56ec30
movq %rax, 0x3bc03f(%rip)    # 0x56ec20
leaq 0x3bc038(%rip), %r15    # 0x56ec20
leaq 0x1fcda3(%rip), %rsi    # 0x3af992
leaq 0x1fcdbf(%rip), %rdx    # 0x3af9b5
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc04b(%rip), %rax    # 0x56ec50
movq %rax, 0x3bc034(%rip)    # 0x56ec40
leaq 0x3bc02d(%rip), %r15    # 0x56ec40
leaq 0x1fcd9c(%rip), %rsi    # 0x3af9b6
leaq 0x1fcdb8(%rip), %rdx    # 0x3af9d9
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc040(%rip), %rax    # 0x56ec70
movq %rax, 0x3bc029(%rip)    # 0x56ec60
leaq 0x3bc022(%rip), %r15    # 0x56ec60
leaq 0x1fcd95(%rip), %rsi    # 0x3af9da
leaq 0x1fcdad(%rip), %rdx    # 0x3af9f9
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc035(%rip), %rax    # 0x56ec90
movq %rax, 0x3bc01e(%rip)    # 0x56ec80
leaq 0x3bc017(%rip), %r15    # 0x56ec80
leaq 0x1fcd8a(%rip), %rsi    # 0x3af9fa
leaq 0x1fcda4(%rip), %rdx    # 0x3afa1b
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc02a(%rip), %rax    # 0x56ecb0
movq %rax, 0x3bc013(%rip)    # 0x56eca0
leaq 0x3bc00c(%rip), %r15    # 0x56eca0
leaq 0x1fcd81(%rip), %rsi    # 0x3afa1c
leaq 0x1fcda7(%rip), %rdx    # 0x3afa49
movq %r15, %rdi
callq 0x1e4740
leaq 0x3bc01f(%rip), %rax    # 0x56ecd0
movq %rax, 0x3bc008(%rip)    # 0x56ecc0
leaq 0x3bc001(%rip), %r15    # 0x56ecc0
leaq 0x1fcd84(%rip), %rsi    # 0x3afa4a
leaq 0x1fcdb8(%rip), %rdx    # 0x3afa85
movq %r15, %rdi
callq 0x1e4740
leaq -0x83ba1(%rip), %rdi    # 0x12f13b
leaq 0x38d62d(%rip), %rdx    # 0x540310
xorl %esi, %esi
callq 0x11e480
leaq 0x3bbfef(%rip), %rdi    # 0x56ece0
callq 0x11e2e0
movq %rsp, %r14
jmp 0x1b2135
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
jmp 0x1b2d58
movq %rax, %r14
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x1b2d73
movq (%r15), %rsi
incq %rsi
callq 0x11e0c0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %rbx, %r15
movq %rax, %r15
jne 0x1b2d5f
leaq 0x3bbf56(%rip), %rdi    # 0x56ece0
callq 0x11e220
jmp 0x1b2e2a
movq %rax, %r14
jmp 0x1b2d83
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
jmp 0x1b2dbb
jmp 0x1b2ddf
movq %rax, %r14
movq 0x210(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1b2e2a
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x11e0c0
jmp 0x1b2e2a
jmp 0x1b2ddf
movq %rax, %r14
jmp 0x1b2e2a
jmp 0x1b2e06
jmp 0x1b2def
jmp 0x1b2dea
movq %rax, %r14
jmp 0x1b2e20
movq %rax, %r14
jmp 0x1b2e16
movq %rax, %r14
leaq 0xc0(%rsp), %rdi
callq 0x1e60a4
jmp 0x1b2e16
movq %rax, %r14
leaq 0x210(%rsp), %rdi
callq 0x1e6d46
leaq 0x8(%rsp), %rdi
callq 0x1e7008
leaq 0x70(%rsp), %rdi
callq 0x37133c
movq %rsp, %rdi
callq 0x1e7056
movq %r14, %rdi
callq 0x11e330