// File: ArashPartow[P]exprtk/exprtk_test.cpp
// Function: bool test_expression<double>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, double const&)
inline bool test_expression(const std::string& expression_string, const T& expected_result)
{
   exprtk::symbol_table<T> symbol_table;
   symbol_table.add_constants();

   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;

   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);

   exprtk::expression<T> expression;
   expression.register_symbol_table(symbol_table);

   {
      exprtk::parser<T> parser;

      if (!parser.compile(expression_string,expression))
      {
         printf("test_expression() - Error: %s   Expression: %s\n",
                parser.error().c_str(),
                expression_string.c_str());

         return false;
      }
   }

   if (!exprtk::expression_helper<T>::is_literal(expression))
   {
      printf("test_expression() - Error: Expression did not compile to a constant!   Expression: %s\n",
             expression_string.c_str());

      return false;
   }

   const T result = expression.value();

   if (not_equal(result,expected_result))
   {
      printf("test_expression() - Computation Error:  Expression: [%s]\tExpected: %19.15f\tResult: %19.15f\n",
             expression_string.c_str(),
             static_cast<double>(expected_result),
             static_cast<double>(result));

      return false;
   }

   return true;
}

// Assembly:
subq $0xf58, %rsp            # imm = 0xF58
movq %rdi, 0xf48(%rsp)
movq %rsi, 0xf40(%rsp)
leaq 0xf38(%rsp), %rdi
movq %rdi, 0x90(%rsp)
movl $0x1, %esi
callq 0x22de90
movq 0x90(%rsp), %rdi
callq 0x22ded0
jmp 0x22cc40
leaq 0xf00(%rsp), %rdi
callq 0x22df30
jmp 0x22cc4f
leaq 0xed8(%rsp), %rdi
callq 0x22df90
jmp 0x22cc5e
leaq 0xeb0(%rsp), %rdi
callq 0x22dff0
jmp 0x22cc6d
leaq 0xe88(%rsp), %rdi
callq 0x22e050
jmp 0x22cc7c
leaq 0xe60(%rsp), %rdi
callq 0x22e0b0
jmp 0x22cc8b
leaq 0xe38(%rsp), %rdi
callq 0x22e110
jmp 0x22cc9a
leaq 0xe10(%rsp), %rdi
callq 0x22e170
jmp 0x22cca9
leaq 0xde8(%rsp), %rdi
callq 0x22e1d0
jmp 0x22ccb8
leaq 0xdc0(%rsp), %rdi
callq 0x22e230
jmp 0x22ccc7
leaq 0xd98(%rsp), %rdi
callq 0x22e290
jmp 0x22ccd6
leaq 0xd70(%rsp), %rdi
callq 0x22e2f0
jmp 0x22cce5
leaq 0xd48(%rsp), %rdi
callq 0x22e350
jmp 0x22ccf4
leaq 0xd27(%rsp), %rdi
movq %rdi, 0x88(%rsp)
callq 0x11b6f0
movq 0x88(%rsp), %rdx
leaq 0x379a14(%rip), %rsi    # 0x5a672c
leaq 0xd28(%rsp), %rdi
callq 0x134520
jmp 0x22cd27
leaq 0xf38(%rsp), %rdi
leaq 0xd28(%rsp), %rsi
leaq 0xf00(%rsp), %rdx
callq 0x22e3b0
jmp 0x22cd46
leaq 0xd28(%rsp), %rdi
callq 0x11b838
leaq 0xd27(%rsp), %rdi
callq 0x11b820
leaq 0xcff(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x11b6f0
movq 0x80(%rsp), %rdx
leaq 0x3799af(%rip), %rsi    # 0x5a6733
leaq 0xd00(%rsp), %rdi
callq 0x134520
jmp 0x22cd93
leaq 0xf38(%rsp), %rdi
leaq 0xd00(%rsp), %rsi
leaq 0xed8(%rsp), %rdx
callq 0x22e3b0
jmp 0x22cdb2
leaq 0xd00(%rsp), %rdi
callq 0x11b838
leaq 0xcff(%rsp), %rdi
callq 0x11b820
leaq 0xcd7(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x11b6f0
movq 0x78(%rsp), %rdx
leaq 0x379950(%rip), %rsi    # 0x5a673a
leaq 0xcd8(%rsp), %rdi
callq 0x134520
jmp 0x22cdf9
leaq 0xf38(%rsp), %rdi
leaq 0xcd8(%rsp), %rsi
leaq 0xeb0(%rsp), %rdx
callq 0x22e3b0
jmp 0x22ce18
leaq 0xcd8(%rsp), %rdi
callq 0x11b838
leaq 0xcd7(%rsp), %rdi
callq 0x11b820
leaq 0xcaf(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x11b6f0
movq 0x70(%rsp), %rdx
leaq 0x3798f1(%rip), %rsi    # 0x5a6741
leaq 0xcb0(%rsp), %rdi
callq 0x134520
jmp 0x22ce5f
leaq 0xf38(%rsp), %rdi
leaq 0xcb0(%rsp), %rsi
leaq 0xe88(%rsp), %rdx
callq 0x22e3b0
jmp 0x22ce7e
leaq 0xcb0(%rsp), %rdi
callq 0x11b838
leaq 0xcaf(%rsp), %rdi
callq 0x11b820
leaq 0xc87(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x11b6f0
movq 0x68(%rsp), %rdx
leaq 0x379892(%rip), %rsi    # 0x5a6748
leaq 0xc88(%rsp), %rdi
callq 0x134520
jmp 0x22cec5
leaq 0xf38(%rsp), %rdi
leaq 0xc88(%rsp), %rsi
leaq 0xe60(%rsp), %rdx
callq 0x22e3b0
jmp 0x22cee4
leaq 0xc88(%rsp), %rdi
callq 0x11b838
leaq 0xc87(%rsp), %rdi
callq 0x11b820
leaq 0xc5f(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x11b6f0
movq 0x60(%rsp), %rdx
leaq 0x379833(%rip), %rsi    # 0x5a674f
leaq 0xc60(%rsp), %rdi
callq 0x134520
jmp 0x22cf2b
leaq 0xf38(%rsp), %rdi
leaq 0xc60(%rsp), %rsi
leaq 0xe38(%rsp), %rdx
callq 0x22e3b0
jmp 0x22cf4a
leaq 0xc60(%rsp), %rdi
callq 0x11b838
leaq 0xc5f(%rsp), %rdi
callq 0x11b820
leaq 0xc37(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x11b6f0
movq 0x58(%rsp), %rdx
leaq 0x3797d4(%rip), %rsi    # 0x5a6756
leaq 0xc38(%rsp), %rdi
callq 0x134520
jmp 0x22cf91
leaq 0xf38(%rsp), %rdi
leaq 0xc38(%rsp), %rsi
leaq 0xe10(%rsp), %rdx
callq 0x22e3b0
jmp 0x22cfb0
leaq 0xc38(%rsp), %rdi
callq 0x11b838
leaq 0xc37(%rsp), %rdi
callq 0x11b820
leaq 0xc0f(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x11b6f0
movq 0x50(%rsp), %rdx
leaq 0x379775(%rip), %rsi    # 0x5a675d
leaq 0xc10(%rsp), %rdi
callq 0x134520
jmp 0x22cff7
leaq 0xf38(%rsp), %rdi
leaq 0xc10(%rsp), %rsi
leaq 0xde8(%rsp), %rdx
callq 0x22e3b0
jmp 0x22d016
leaq 0xc10(%rsp), %rdi
callq 0x11b838
leaq 0xc0f(%rsp), %rdi
callq 0x11b820
leaq 0xbe7(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x11b6f0
movq 0x48(%rsp), %rdx
leaq 0x379716(%rip), %rsi    # 0x5a6764
leaq 0xbe8(%rsp), %rdi
callq 0x134520
jmp 0x22d05d
leaq 0xf38(%rsp), %rdi
leaq 0xbe8(%rsp), %rsi
leaq 0xdc0(%rsp), %rdx
callq 0x22e3b0
jmp 0x22d07c
leaq 0xbe8(%rsp), %rdi
callq 0x11b838
leaq 0xbe7(%rsp), %rdi
callq 0x11b820
leaq 0xbbf(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x11b6f0
movq 0x40(%rsp), %rdx
leaq 0x3796b7(%rip), %rsi    # 0x5a676b
leaq 0xbc0(%rsp), %rdi
callq 0x134520
jmp 0x22d0c3
leaq 0xf38(%rsp), %rdi
leaq 0xbc0(%rsp), %rsi
leaq 0xd98(%rsp), %rdx
callq 0x22e3b0
jmp 0x22d0e2
leaq 0xbc0(%rsp), %rdi
callq 0x11b838
leaq 0xbbf(%rsp), %rdi
callq 0x11b820
leaq 0xb97(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x11b6f0
movq 0x38(%rsp), %rdx
leaq 0x379658(%rip), %rsi    # 0x5a6772
leaq 0xb98(%rsp), %rdi
callq 0x134520
jmp 0x22d129
leaq 0xf38(%rsp), %rdi
leaq 0xb98(%rsp), %rsi
leaq 0xd70(%rsp), %rdx
callq 0x22e3b0
jmp 0x22d148
leaq 0xb98(%rsp), %rdi
callq 0x11b838
leaq 0xb97(%rsp), %rdi
callq 0x11b820
leaq 0xb6f(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0x11b6f0
movq 0x30(%rsp), %rdx
leaq 0x3795f9(%rip), %rsi    # 0x5a6779
leaq 0xb70(%rsp), %rdi
callq 0x134520
jmp 0x22d18f
leaq 0xf38(%rsp), %rdi
leaq 0xb70(%rsp), %rsi
leaq 0xd48(%rsp), %rdx
callq 0x22e3b0
jmp 0x22d1ae
leaq 0xb70(%rsp), %rdi
callq 0x11b838
leaq 0xb6f(%rsp), %rdi
callq 0x11b820
leaq 0xb48(%rsp), %rdi
callq 0x22e450
jmp 0x22d1d7
leaq 0xb48(%rsp), %rdi
leaq 0xf38(%rsp), %rsi
callq 0x22e500
jmp 0x22d1ee
leaq 0xd0(%rsp), %rdi
movl $0x7f, %esi
callq 0x22e5b0
jmp 0x22d202
leaq 0x220(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x22e6e0
jmp 0x22d219
leaq 0xd0(%rsp), %rdi
callq 0x22ef10
movq 0xf48(%rsp), %rsi
leaq 0x220(%rsp), %rdi
leaq 0xb48(%rsp), %rdx
callq 0x22ef80
movb %al, 0x2f(%rsp)
jmp 0x22d249
movb 0x2f(%rsp), %al
testb $0x1, %al
jne 0x22d7f6
jmp 0x22d257
leaq 0xb0(%rsp), %rdi
leaq 0x220(%rsp), %rsi
callq 0x22f810
jmp 0x22d26e
leaq 0xb0(%rsp), %rdi
callq 0x11b120
movq %rax, 0x20(%rsp)
movq 0xf48(%rsp), %rdi
callq 0x11b120
movq 0x20(%rsp), %rsi
movq %rax, %rdx
leaq 0x3794e4(%rip), %rdi    # 0x5a6780
xorl %eax, %eax
callq 0x11b0b0
jmp 0x22d2a5
leaq 0xb0(%rsp), %rdi
callq 0x11b838
movb $0x0, 0xf57(%rsp)
movl $0x1, 0xac(%rsp)
jmp 0x22d801
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22dab6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22daa9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d42d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xd28(%rsp), %rdi
callq 0x11b838
leaq 0xd27(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d476
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xd00(%rsp), %rdi
callq 0x11b838
leaq 0xcff(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d4bf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xcd8(%rsp), %rdi
callq 0x11b838
leaq 0xcd7(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d508
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xcb0(%rsp), %rdi
callq 0x11b838
leaq 0xcaf(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d551
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xc88(%rsp), %rdi
callq 0x11b838
leaq 0xc87(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d59a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xc60(%rsp), %rdi
callq 0x11b838
leaq 0xc5f(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d5e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xc38(%rsp), %rdi
callq 0x11b838
leaq 0xc37(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d62c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xc10(%rsp), %rdi
callq 0x11b838
leaq 0xc0f(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d675
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xbe8(%rsp), %rdi
callq 0x11b838
leaq 0xbe7(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d6be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xbc0(%rsp), %rdi
callq 0x11b838
leaq 0xbbf(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d707
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xb98(%rsp), %rdi
callq 0x11b838
leaq 0xb97(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d750
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xb70(%rsp), %rdi
callq 0x11b838
leaq 0xb6f(%rsp), %rdi
callq 0x11b820
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22da0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x22ef10
jmp 0x22da0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
jmp 0x22d874
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xf30(%rsp)
movl %eax, 0xf2c(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x11b838
jmp 0x22d874
movl $0x0, 0xac(%rsp)
leaq 0x220(%rsp), %rdi
callq 0x22f8d0
movl 0xac(%rsp), %eax
testl %eax, %eax
jne 0x22d946
jmp 0x22d81f
leaq 0xb48(%rsp), %rdi
callq 0x22fad0
movb %al, 0x1f(%rsp)
jmp 0x22d832
movb 0x1f(%rsp), %al
testb $0x1, %al
jne 0x22d886
jmp 0x22d83c
movq 0xf48(%rsp), %rdi
callq 0x11b120
movq %rax, %rsi
leaq 0x378f5d(%rip), %rdi    # 0x5a67b0
xorl %eax, %eax
callq 0x11b0b0
jmp 0x22d85c
movb $0x0, 0xf57(%rsp)
movl $0x1, 0xac(%rsp)
jmp 0x22d946
leaq 0x220(%rsp), %rdi
callq 0x22f8d0
jmp 0x22da0d
leaq 0xb48(%rsp), %rdi
callq 0x22fb10
movsd %xmm0, 0x10(%rsp)
jmp 0x22d89b
movsd 0x10(%rsp), %xmm0
movsd %xmm0, 0xa0(%rsp)
movq 0xf40(%rsp), %rsi
movabsq $0x3ddb7cdfd9d7bdbb, %rax # imm = 0x3DDB7CDFD9D7BDBB
movq %rax, 0x98(%rsp)
leaq 0xa0(%rsp), %rdi
leaq 0x98(%rsp), %rdx
callq 0x22fb30
movb %al, 0xf(%rsp)
jmp 0x22d8df
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x22d8e9
jmp 0x22d933
movq 0xf48(%rsp), %rdi
callq 0x11b120
movq %rax, %rsi
movq 0xf40(%rsp), %rax
movsd (%rax), %xmm0
movsd 0xa0(%rsp), %xmm1
leaq 0x378ef2(%rip), %rdi    # 0x5a6807
movb $0x2, %al
callq 0x11b0b0
jmp 0x22d91e
movb $0x0, 0xf57(%rsp)
movl $0x1, 0xac(%rsp)
jmp 0x22d946
movb $0x1, 0xf57(%rsp)
movl $0x1, 0xac(%rsp)
leaq 0xb48(%rsp), %rdi
callq 0x22fb60
leaq 0xd48(%rsp), %rdi
callq 0x22fba0
leaq 0xd70(%rsp), %rdi
callq 0x22fbb0
leaq 0xd98(%rsp), %rdi
callq 0x22fbc0
leaq 0xdc0(%rsp), %rdi
callq 0x22fbd0
leaq 0xde8(%rsp), %rdi
callq 0x22fbe0
leaq 0xe10(%rsp), %rdi
callq 0x22fbf0
leaq 0xe38(%rsp), %rdi
callq 0x22fc00
leaq 0xe60(%rsp), %rdi
callq 0x22fc10
leaq 0xe88(%rsp), %rdi
callq 0x22fc20
leaq 0xeb0(%rsp), %rdi
callq 0x22fc30
leaq 0xed8(%rsp), %rdi
callq 0x22fc40
leaq 0xf00(%rsp), %rdi
callq 0x22fc50
leaq 0xf38(%rsp), %rdi
callq 0x22fc60
movb 0xf57(%rsp), %al
andb $0x1, %al
addq $0xf58, %rsp            # imm = 0xF58
retq
leaq 0xb48(%rsp), %rdi
callq 0x22fb60
leaq 0xd48(%rsp), %rdi
callq 0x22fba0
leaq 0xd70(%rsp), %rdi
callq 0x22fbb0
leaq 0xd98(%rsp), %rdi
callq 0x22fbc0
leaq 0xdc0(%rsp), %rdi
callq 0x22fbd0
leaq 0xde8(%rsp), %rdi
callq 0x22fbe0
leaq 0xe10(%rsp), %rdi
callq 0x22fbf0
leaq 0xe38(%rsp), %rdi
callq 0x22fc00
leaq 0xe60(%rsp), %rdi
callq 0x22fc10
leaq 0xe88(%rsp), %rdi
callq 0x22fc20
leaq 0xeb0(%rsp), %rdi
callq 0x22fc30
leaq 0xed8(%rsp), %rdi
callq 0x22fc40
leaq 0xf00(%rsp), %rdi
callq 0x22fc50
leaq 0xf38(%rsp), %rdi
callq 0x22fc60
movq 0xf30(%rsp), %rdi
callq 0x11b4e0