// File: /workspace/github_cpp_makefile_star2_O1/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 $0xb48, %rsp            # imm = 0xB48
movabsq $0x3ff199999999999a, %rax # imm = 0x3FF199999999999A
movq %rax, 0x58(%rsp)
movabsq $0x400199999999999a, %rax # imm = 0x400199999999999A
movq %rax, 0x50(%rsp)
movabsq $0x400a666666666666, %rax # imm = 0x400A666666666666
movq %rax, 0x48(%rsp)
movabsq $0x401199999999999a, %rax # imm = 0x401199999999999A
movq %rax, 0x40(%rsp)
movabsq $0x4016000000000000, %rax # imm = 0x4016000000000000
movq %rax, 0x38(%rsp)
movabsq $0x401a666666666666, %rax # imm = 0x401A666666666666
movq %rax, 0x30(%rsp)
movabsq $0x401ecccccccccccd, %rax # imm = 0x401ECCCCCCCCCCCD
movq %rax, 0x28(%rsp)
movabsq $0x3ff0000000000000, %rax # imm = 0x3FF0000000000000
movq %rax, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
movl $0x1, %esi
callq 0x1eb8c4
movq %rbx, %rdi
callq 0x1eb90c
leaq 0x230(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x2312dc(%rip), %rsi    # 0x3e5b3d
leaq 0x2312d6(%rip), %rdx    # 0x3e5b3e
leaq 0x220(%rsp), %rdi
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x58(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b48ab
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x21cf54(%rip), %rsi    # 0x3d1811
leaq 0x21cf4e(%rip), %rdx    # 0x3d1812
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x50(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b48ff
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x222baf(%rip), %rsi    # 0x3d74c0
leaq 0x222ba9(%rip), %rdx    # 0x3d74c1
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x48(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b4953
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x230863(%rip), %rsi    # 0x3e51c8
leaq 0x23085d(%rip), %rdx    # 0x3e51c9
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x40(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b49a7
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x217ba0(%rip), %rsi    # 0x3cc559
leaq 0x217b9a(%rip), %rdx    # 0x3cc55a
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x38(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b49fb
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x230548(%rip), %rsi    # 0x3e4f55
leaq 0x230542(%rip), %rdx    # 0x3e4f56
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x30(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b4a4f
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x214108(%rip), %rsi    # 0x3c8b69
leaq 0x214102(%rip), %rdx    # 0x3c8b6a
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x28(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b4aa3
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x221805(%rip), %rsi    # 0x3d62ba
leaq 0x221801(%rip), %rdx    # 0x3d62bd
callq 0x1eabb8
leaq 0x8(%rsp), %rdi
leaq 0x220(%rsp), %rsi
leaq 0x20(%rsp), %rdx
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b4af7
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x220(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x2217ac(%rip), %rsi    # 0x3d62b5
leaq 0x2217a9(%rip), %rdx    # 0x3d62b9
callq 0x1eabb8
leaq 0x8(%rsp), %rbx
leaq 0x220(%rsp), %rsi
leaq 0x18(%rsp), %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x1ee244
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b4b4e
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
movb 0x3f418c(%rip), %al     # 0x5a8ce0
testb %al, %al
je 0x1b4f43
xorpd %xmm0, %xmm0
leaq 0x80(%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
leaq 0xe0(%rsp), %r14
leaq 0x60(%rsp), %rbp
leaq 0xd0(%rsp), %r12
leaq 0x220(%rsp), %r13
movq $0x0, 0x10(%rsp)
movq %rbp, %rdi
callq 0x1ebb7a
movq 0x68(%rsp), %rcx
movq 0x70(%rsp), %rax
subq %rcx, %rax
je 0x1b4c11
sarq $0x3, %rax
cmpq $0x1, %rax
movq %rax, %rdi
adcq $0x0, %rdi
cmpq %rbx, %rcx
je 0x1b4c1e
movq 0x8(%rsp), %rdx
cmpq (%rcx), %rdx
je 0x1b4c1e
addq $0x8, %rcx
movl $0x1, %esi
subq %rdi, %rsi
xorl %edi, %edi
cmpq %rdi, %rsi
je 0x1b4c11
decq %rdi
cmpq %rbx, %rcx
je 0x1b4c09
leaq 0x8(%rcx), %r8
cmpq (%rcx), %rdx
movq %r8, %rcx
jne 0x1b4bf0
negq %rdi
cmpq %rax, %rdi
jb 0x1b4c1e
leaq 0x68(%rsp), %rdi
movq %rbx, %rsi
callq 0x1f216a
movl $0x7f, %esi
movq %r12, %rdi
callq 0x1ebc94
movq %r13, %rdi
movq %r12, %rsi
callq 0x1ebd94
leaq 0x1d0(%rsp), %rdi
callq 0x1f236c
leaq 0x1a0(%rsp), %rdi
callq 0x1f236c
leaq 0x170(%rsp), %rdi
callq 0x1f236c
leaq 0x140(%rsp), %rdi
callq 0x1f236c
leaq 0x110(%rsp), %rdi
callq 0x1f236c
movq %r14, %r12
movq %r14, %rdi
callq 0x1f236c
movq 0x10(%rsp), %rbx
shlq $0x5, %rbx
leaq 0x3f3a6e(%rip), %rax    # 0x5a8700
addq %rax, %rbx
movq %r13, %r15
movq %r13, %rdi
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x1ec5b8
movl %eax, %r14d
testb %al, %al
je 0x1b4cc2
leaq 0x80(%rsp), %rdi
movq %rbp, %rsi
callq 0x39982a
jmp 0x1b4dce
movq 0x538(%rsp), %rdi
cmpq %rdi, 0x558(%rsp)
je 0x1b4d11
movq %rdi, %rcx
subq 0x540(%rsp), %rcx
movq %rcx, %rax
sarq $0x3, %rax
movabsq $-0x30c30c30c30c30c3, %rdx # imm = 0xCF3CF3CF3CF3CF3D
imulq %rdx, %rax
cmpq $0x3, %rax
jb 0x1b4d70
testq %rcx, %rcx
jle 0x1b4d44
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
jmp 0x1b4d5a
movq %r12, %rbp
movq %r12, 0xd0(%rsp)
movabsq $0x726f727245206f4e, %rax # imm = 0x726F727245206F4E
movq %rax, 0xe0(%rsp)
movq $0x8, 0xd8(%rsp)
movb $0x0, 0xe8(%rsp)
jmp 0x1b4d93
notq %rax
movabsq $-0x5555555555555555, %rdx # imm = 0xAAAAAAAAAAAAAAAB
mulq %rdx
shrq %rdx
notq %rdx
movq 0x550(%rsp), %rax
imulq $-0x1f8, %rdx, %rdi     # imm = 0xFE08
addq (%rax,%rdx,8), %rdi
addq %rcx, %rdi
movq %r12, %rbp
movq %r12, 0xd0(%rsp)
movq 0x38(%rdi), %rsi
movq 0x40(%rdi), %rdx
addq %rsi, %rdx
leaq 0xd0(%rsp), %rdi
callq 0x1eda34
movq 0xd0(%rsp), %rsi
movq (%rbx), %rdx
leaq 0x223cb7(%rip), %rdi    # 0x3d8a5c
xorl %eax, %eax
callq 0x120080
movq 0xd0(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1b4dc9
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x1200c0
leaq 0x60(%rsp), %rbp
movq %r15, %rdi
callq 0x1ed044
movq %rbp, %rdi
callq 0x1ed306
testb %r14b, %r14b
je 0x1b4f0e
movq 0x10(%rsp), %rcx
incq %rcx
movq %rcx, 0x10(%rsp)
cmpq $0x2f, %rcx
leaq 0x8(%rsp), %rbx
movq %r12, %r14
leaq 0xd0(%rsp), %r12
movq %r15, %r13
jne 0x1b4bad
xorl %ebx, %ebx
leaq 0x223c6d(%rip), %r14    # 0x3d8a87
movabsq $-0x1000000000000000, %r15 # imm = 0xF000000000000000
xorl %r12d, %r12d
xorl %r13d, %r13d
movq 0xc8(%rsp), %rcx
movq 0xa8(%rsp), %rax
movq %rcx, %rdx
subq %rax, %rdx
shrq $0x3, %rdx
cmpq $0x1, %rcx
adcq $-0x1, %rdx
shlq $0x4, %rdx
movq 0xb0(%rsp), %rsi
subq 0xb8(%rsp), %rsi
sarq $0x5, %rsi
movq 0x90(%rsp), %rcx
movq 0xa0(%rsp), %rdi
subq %rcx, %rdi
sarq $0x5, %rdi
addq %rsi, %rdi
addq %rdx, %rdi
cmpq %rdi, %r13
jae 0x1b4f12
movq %rcx, %rdx
subq 0x98(%rsp), %rdx
sarq $0x5, %rdx
leaq (%rdx,%r13), %rsi
cmpq $0xf, %rsi
ja 0x1b4ea8
addq %r12, %rcx
jmp 0x1b4ed2
movq %rsi, %rcx
shrq $0x4, %rcx
leaq (%rcx,%r15), %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 0x1fd139(%rip), %xmm0   # 0x3b2020
jne 0x1b4eeb
jnp 0x1b4f02
leaq 0x3f380e(%rip), %rax    # 0x5a8700
movq (%r12,%rax), %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0x120080
movb $0x1, %bl
incq %r13
addq $0x20, %r12
jmp 0x1b4e2a
xorl %ebx, %ebx
jmp 0x1b4f15
xorb $0x1, %bl
leaq 0x80(%rsp), %rdi
callq 0x399878
leaq 0x8(%rsp), %rdi
callq 0x1ed354
andb $0x1, %bl
movl %ebx, %eax
addq $0xb48, %rsp            # imm = 0xB48
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3f3d96(%rip), %rdi    # 0x5a8ce0
callq 0x1201a0
testl %eax, %eax
je 0x1b4b5c
leaq 0x3f37b2(%rip), %rax    # 0x5a8710
movq %rax, 0x3f379b(%rip)    # 0x5a8700
leaq 0x3f3794(%rip), %r14    # 0x5a8700
leaq 0x2233f9(%rip), %rsi    # 0x3d836c
leaq 0x22340a(%rip), %rdx    # 0x3d8384
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f37a7(%rip), %rax    # 0x5a8730
movq %rax, 0x3f3790(%rip)    # 0x5a8720
leaq 0x3f3789(%rip), %r14    # 0x5a8720
leaq 0x2233e7(%rip), %rsi    # 0x3d8385
leaq 0x2233f9(%rip), %rdx    # 0x3d839e
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f379c(%rip), %rax    # 0x5a8750
movq %rax, 0x3f3785(%rip)    # 0x5a8740
leaq 0x3f377e(%rip), %r14    # 0x5a8740
leaq 0x2233d6(%rip), %rsi    # 0x3d839f
leaq 0x2233e8(%rip), %rdx    # 0x3d83b8
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3791(%rip), %rax    # 0x5a8770
movq %rax, 0x3f377a(%rip)    # 0x5a8760
leaq 0x3f3773(%rip), %r14    # 0x5a8760
leaq 0x2233c5(%rip), %rsi    # 0x3d83b9
leaq 0x2233d8(%rip), %rdx    # 0x3d83d3
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3786(%rip), %rax    # 0x5a8790
movq %rax, 0x3f376f(%rip)    # 0x5a8780
leaq 0x3f3768(%rip), %r14    # 0x5a8780
leaq 0x22334d(%rip), %rsi    # 0x3d836c
leaq 0x22335e(%rip), %rdx    # 0x3d8384
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f377b(%rip), %rax    # 0x5a87b0
movq %rax, 0x3f3764(%rip)    # 0x5a87a0
leaq 0x3f375d(%rip), %r14    # 0x5a87a0
leaq 0x22338a(%rip), %rsi    # 0x3d83d4
leaq 0x22339f(%rip), %rdx    # 0x3d83f0
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3770(%rip), %rax    # 0x5a87d0
movq %rax, 0x3f3759(%rip)    # 0x5a87c0
leaq 0x3f3752(%rip), %r14    # 0x5a87c0
leaq 0x22337c(%rip), %rsi    # 0x3d83f1
leaq 0x223395(%rip), %rdx    # 0x3d8411
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3765(%rip), %rax    # 0x5a87f0
movq %rax, 0x3f374e(%rip)    # 0x5a87e0
leaq 0x3f3747(%rip), %r14    # 0x5a87e0
leaq 0x223372(%rip), %rsi    # 0x3d8412
leaq 0x22338f(%rip), %rdx    # 0x3d8436
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f375a(%rip), %rax    # 0x5a8810
movq %rax, 0x3f3743(%rip)    # 0x5a8800
leaq 0x3f373c(%rip), %r14    # 0x5a8800
leaq 0x22336c(%rip), %rsi    # 0x3d8437
leaq 0x223382(%rip), %rdx    # 0x3d8454
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f374f(%rip), %rax    # 0x5a8830
movq %rax, 0x3f3738(%rip)    # 0x5a8820
leaq 0x3f3731(%rip), %r14    # 0x5a8820
leaq 0x22335f(%rip), %rsi    # 0x3d8455
leaq 0x223379(%rip), %rdx    # 0x3d8476
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3744(%rip), %rax    # 0x5a8850
movq %rax, 0x3f372d(%rip)    # 0x5a8840
leaq 0x3f3726(%rip), %r14    # 0x5a8840
leaq 0x223356(%rip), %rsi    # 0x3d8477
leaq 0x223374(%rip), %rdx    # 0x3d849c
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3739(%rip), %rax    # 0x5a8870
movq %rax, 0x3f3722(%rip)    # 0x5a8860
leaq 0x3f371b(%rip), %r14    # 0x5a8860
leaq 0x223351(%rip), %rsi    # 0x3d849d
leaq 0x223373(%rip), %rdx    # 0x3d84c6
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f372e(%rip), %rax    # 0x5a8890
movq %rax, 0x3f3717(%rip)    # 0x5a8880
leaq 0x3f3710(%rip), %r14    # 0x5a8880
leaq 0x223350(%rip), %rsi    # 0x3d84c7
leaq 0x223360(%rip), %rdx    # 0x3d84de
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3723(%rip), %rax    # 0x5a88b0
movq %rax, 0x3f370c(%rip)    # 0x5a88a0
leaq 0x3f3705(%rip), %r14    # 0x5a88a0
leaq 0x22333d(%rip), %rsi    # 0x3d84df
leaq 0x22334e(%rip), %rdx    # 0x3d84f7
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3718(%rip), %rax    # 0x5a88d0
movq %rax, 0x3f3701(%rip)    # 0x5a88c0
leaq 0x3f36fa(%rip), %r14    # 0x5a88c0
leaq 0x22332b(%rip), %rsi    # 0x3d84f8
leaq 0x22333c(%rip), %rdx    # 0x3d8510
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f370d(%rip), %rax    # 0x5a88f0
movq %rax, 0x3f36f6(%rip)    # 0x5a88e0
leaq 0x3f36ef(%rip), %r14    # 0x5a88e0
leaq 0x223319(%rip), %rsi    # 0x3d8511
leaq 0x22332b(%rip), %rdx    # 0x3d852a
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3702(%rip), %rax    # 0x5a8910
movq %rax, 0x3f36eb(%rip)    # 0x5a8900
leaq 0x3f36e4(%rip), %r14    # 0x5a8900
leaq 0x2232a4(%rip), %rsi    # 0x3d84c7
leaq 0x2232b4(%rip), %rdx    # 0x3d84de
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36f7(%rip), %rax    # 0x5a8930
movq %rax, 0x3f36e0(%rip)    # 0x5a8920
leaq 0x3f36d9(%rip), %r14    # 0x5a8920
leaq 0x2232dd(%rip), %rsi    # 0x3d852b
leaq 0x2232f2(%rip), %rdx    # 0x3d8547
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36ec(%rip), %rax    # 0x5a8950
movq %rax, 0x3f36d5(%rip)    # 0x5a8940
leaq 0x3f36ce(%rip), %r14    # 0x5a8940
leaq 0x2232cf(%rip), %rsi    # 0x3d8548
leaq 0x2232e4(%rip), %rdx    # 0x3d8564
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36e1(%rip), %rax    # 0x5a8970
movq %rax, 0x3f36ca(%rip)    # 0x5a8960
leaq 0x3f36c3(%rip), %r14    # 0x5a8960
leaq 0x2232c1(%rip), %rsi    # 0x3d8565
leaq 0x2232db(%rip), %rdx    # 0x3d8586
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36d6(%rip), %rax    # 0x5a8990
movq %rax, 0x3f36bf(%rip)    # 0x5a8980
leaq 0x3f36b8(%rip), %r14    # 0x5a8980
leaq 0x223229(%rip), %rsi    # 0x3d84f8
leaq 0x22323a(%rip), %rdx    # 0x3d8510
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36cb(%rip), %rax    # 0x5a89b0
movq %rax, 0x3f36b4(%rip)    # 0x5a89a0
leaq 0x3f36ad(%rip), %r14    # 0x5a89a0
leaq 0x22328d(%rip), %rsi    # 0x3d8587
leaq 0x2232a3(%rip), %rdx    # 0x3d85a4
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36c0(%rip), %rax    # 0x5a89d0
movq %rax, 0x3f36a9(%rip)    # 0x5a89c0
leaq 0x3f36a2(%rip), %r14    # 0x5a89c0
leaq 0x223280(%rip), %rsi    # 0x3d85a5
leaq 0x2232a0(%rip), %rdx    # 0x3d85cc
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36b5(%rip), %rax    # 0x5a89f0
movq %rax, 0x3f369e(%rip)    # 0x5a89e0
leaq 0x3f3697(%rip), %r14    # 0x5a89e0
leaq 0x22327d(%rip), %rsi    # 0x3d85cd
leaq 0x2232a2(%rip), %rdx    # 0x3d85f9
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f36aa(%rip), %rax    # 0x5a8a10
movq %rax, 0x3f3693(%rip)    # 0x5a8a00
leaq 0x3f368c(%rip), %r14    # 0x5a8a00
leaq 0x22327f(%rip), %rsi    # 0x3d85fa
leaq 0x2232af(%rip), %rdx    # 0x3d8631
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f369f(%rip), %rax    # 0x5a8a30
movq %rax, 0x3f3688(%rip)    # 0x5a8a20
leaq 0x3f3681(%rip), %r14    # 0x5a8a20
leaq 0x22328c(%rip), %rsi    # 0x3d8632
leaq 0x2232ad(%rip), %rdx    # 0x3d865a
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3694(%rip), %rax    # 0x5a8a50
movq %rax, 0x3f367d(%rip)    # 0x5a8a40
leaq 0x3f3676(%rip), %r14    # 0x5a8a40
leaq 0x22328a(%rip), %rsi    # 0x3d865b
leaq 0x2232ad(%rip), %rdx    # 0x3d8685
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3689(%rip), %rax    # 0x5a8a70
movq %rax, 0x3f3672(%rip)    # 0x5a8a60
leaq 0x3f366b(%rip), %r14    # 0x5a8a60
leaq 0x22328a(%rip), %rsi    # 0x3d8686
leaq 0x2232ad(%rip), %rdx    # 0x3d86b0
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f367e(%rip), %rax    # 0x5a8a90
movq %rax, 0x3f3667(%rip)    # 0x5a8a80
leaq 0x3f3660(%rip), %r14    # 0x5a8a80
leaq 0x22328a(%rip), %rsi    # 0x3d86b1
leaq 0x2232af(%rip), %rdx    # 0x3d86dd
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3673(%rip), %rax    # 0x5a8ab0
movq %rax, 0x3f365c(%rip)    # 0x5a8aa0
leaq 0x3f3655(%rip), %r14    # 0x5a8aa0
leaq 0x22328c(%rip), %rsi    # 0x3d86de
leaq 0x2232ab(%rip), %rdx    # 0x3d8704
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3668(%rip), %rax    # 0x5a8ad0
movq %rax, 0x3f3651(%rip)    # 0x5a8ac0
leaq 0x3f364a(%rip), %r14    # 0x5a8ac0
leaq 0x223288(%rip), %rsi    # 0x3d8705
leaq 0x2232a9(%rip), %rdx    # 0x3d872d
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f365d(%rip), %rax    # 0x5a8af0
movq %rax, 0x3f3646(%rip)    # 0x5a8ae0
leaq 0x3f363f(%rip), %r14    # 0x5a8ae0
leaq 0x223286(%rip), %rsi    # 0x3d872e
leaq 0x2232a7(%rip), %rdx    # 0x3d8756
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3652(%rip), %rax    # 0x5a8b10
movq %rax, 0x3f363b(%rip)    # 0x5a8b00
leaq 0x3f3634(%rip), %r14    # 0x5a8b00
leaq 0x223284(%rip), %rsi    # 0x3d8757
leaq 0x2232a7(%rip), %rdx    # 0x3d8781
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3647(%rip), %rax    # 0x5a8b30
movq %rax, 0x3f3630(%rip)    # 0x5a8b20
leaq 0x3f3629(%rip), %r14    # 0x5a8b20
leaq 0x223284(%rip), %rsi    # 0x3d8782
leaq 0x2232a6(%rip), %rdx    # 0x3d87ab
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f363c(%rip), %rax    # 0x5a8b50
movq %rax, 0x3f3625(%rip)    # 0x5a8b40
leaq 0x3f361e(%rip), %r14    # 0x5a8b40
leaq 0x223283(%rip), %rsi    # 0x3d87ac
leaq 0x2232b5(%rip), %rdx    # 0x3d87e5
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3631(%rip), %rax    # 0x5a8b70
movq %rax, 0x3f361a(%rip)    # 0x5a8b60
leaq 0x3f3613(%rip), %r14    # 0x5a8b60
leaq 0x223292(%rip), %rsi    # 0x3d87e6
leaq 0x2232b4(%rip), %rdx    # 0x3d880f
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3626(%rip), %rax    # 0x5a8b90
movq %rax, 0x3f360f(%rip)    # 0x5a8b80
leaq 0x3f3608(%rip), %r14    # 0x5a8b80
leaq 0x223291(%rip), %rsi    # 0x3d8810
leaq 0x2232c3(%rip), %rdx    # 0x3d8849
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f361b(%rip), %rax    # 0x5a8bb0
movq %rax, 0x3f3604(%rip)    # 0x5a8ba0
leaq 0x3f35fd(%rip), %r14    # 0x5a8ba0
leaq 0x2232a0(%rip), %rsi    # 0x3d884a
leaq 0x2232df(%rip), %rdx    # 0x3d8890
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3610(%rip), %rax    # 0x5a8bd0
movq %rax, 0x3f35f9(%rip)    # 0x5a8bc0
leaq 0x3f35f2(%rip), %r14    # 0x5a8bc0
leaq 0x2232bc(%rip), %rsi    # 0x3d8891
leaq 0x2232fb(%rip), %rdx    # 0x3d88d7
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f3605(%rip), %rax    # 0x5a8bf0
movq %rax, 0x3f35ee(%rip)    # 0x5a8be0
leaq 0x3f35e7(%rip), %r14    # 0x5a8be0
leaq 0x2232d8(%rip), %rsi    # 0x3d88d8
leaq 0x223318(%rip), %rdx    # 0x3d891f
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f35fa(%rip), %rax    # 0x5a8c10
movq %rax, 0x3f35e3(%rip)    # 0x5a8c00
leaq 0x3f35dc(%rip), %r14    # 0x5a8c00
leaq 0x2232f5(%rip), %rsi    # 0x3d8920
leaq 0x223335(%rip), %rdx    # 0x3d8967
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f35ef(%rip), %rax    # 0x5a8c30
movq %rax, 0x3f35d8(%rip)    # 0x5a8c20
leaq 0x3f35d1(%rip), %r14    # 0x5a8c20
leaq 0x223312(%rip), %rsi    # 0x3d8968
leaq 0x22332e(%rip), %rdx    # 0x3d898b
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f35e4(%rip), %rax    # 0x5a8c50
movq %rax, 0x3f35cd(%rip)    # 0x5a8c40
leaq 0x3f35c6(%rip), %r14    # 0x5a8c40
leaq 0x22330b(%rip), %rsi    # 0x3d898c
leaq 0x223327(%rip), %rdx    # 0x3d89af
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f35d9(%rip), %rax    # 0x5a8c70
movq %rax, 0x3f35c2(%rip)    # 0x5a8c60
leaq 0x3f35bb(%rip), %r14    # 0x5a8c60
leaq 0x223304(%rip), %rsi    # 0x3d89b0
leaq 0x22331c(%rip), %rdx    # 0x3d89cf
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f35ce(%rip), %rax    # 0x5a8c90
movq %rax, 0x3f35b7(%rip)    # 0x5a8c80
leaq 0x3f35b0(%rip), %r14    # 0x5a8c80
leaq 0x2232f9(%rip), %rsi    # 0x3d89d0
leaq 0x223313(%rip), %rdx    # 0x3d89f1
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f35c3(%rip), %rax    # 0x5a8cb0
movq %rax, 0x3f35ac(%rip)    # 0x5a8ca0
leaq 0x3f35a5(%rip), %r14    # 0x5a8ca0
leaq 0x2232f0(%rip), %rsi    # 0x3d89f2
leaq 0x223316(%rip), %rdx    # 0x3d8a1f
movq %r14, %rdi
callq 0x1eabb8
leaq 0x3f35b8(%rip), %rax    # 0x5a8cd0
movq %rax, 0x3f35a1(%rip)    # 0x5a8cc0
leaq 0x3f359a(%rip), %r14    # 0x5a8cc0
leaq 0x2232f3(%rip), %rsi    # 0x3d8a20
leaq 0x223327(%rip), %rdx    # 0x3d8a5b
movq %r14, %rdi
callq 0x1eabb8
leaq -0x850f5(%rip), %rdi    # 0x13064e
leaq 0x3c4bc6(%rip), %rdx    # 0x57a310
xorl %esi, %esi
callq 0x120480
leaq 0x3f3588(%rip), %rdi    # 0x5a8ce0
callq 0x1202e0
jmp 0x1b4b5c
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
jmp 0x1b57bc
movq %rax, %rbx
xorl %eax, %eax
testb %al, %al
jne 0x1b57f4
addq $-0x10, %r14
leaq 0x3f2f30(%rip), %r15    # 0x5a8700
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x1b57e4
movq (%r14), %rsi
incq %rsi
callq 0x1200c0
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x1b57d0
leaq 0x3f34e5(%rip), %rdi    # 0x5a8ce0
callq 0x120220
jmp 0x1b58a0
movq %rax, %rbx
movb $0x1, %al
jmp 0x1b57c1
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
jmp 0x1b582e
jmp 0x1b5852
movq %rax, %rbx
movq 0x220(%rsp), %rdi
cmpq %r14, %rdi
je 0x1b58a0
movq 0x230(%rsp), %rsi
incq %rsi
callq 0x1200c0
jmp 0x1b58a0
jmp 0x1b5852
movq %rax, %rbx
jmp 0x1b58a0
jmp 0x1b5879
jmp 0x1b585d
jmp 0x1b5874
movq %rax, %rbx
jmp 0x1b5889
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0x1ec570
jmp 0x1b5889
movq %rax, %rbx
jmp 0x1b5893
movq %rax, %rbx
leaq 0x220(%rsp), %rdi
callq 0x1ed044
leaq 0x60(%rsp), %rdi
callq 0x1ed306
leaq 0x80(%rsp), %rdi
callq 0x399878
leaq 0x8(%rsp), %rdi
callq 0x1ed354
movq %rbx, %rdi
callq 0x120330