// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::expression_generator<double>::synthesize_vocovoc_expression0::process(exprtk::parser<double>::expression_generator<double>&, exprtk::details::operator_type const&, exprtk::details::expression_node<double>* (&) [2])
static inline expression_node_ptr process(expression_generator<Type>& expr_gen,
                                                      const details::operator_type& operation,
                                                      expression_node_ptr (&branch)[2])
            {
               // (v0 o0 c0) o1 (v1 o2 c1)
               const details::voc_base_node<Type>* voc0 = static_cast<details::voc_base_node<Type>*>(branch[0]);
               const details::voc_base_node<Type>* voc1 = static_cast<details::voc_base_node<Type>*>(branch[1]);
               const Type  c0 = voc0->c();
               const Type& v0 = voc0->v();
               const Type  c1 = voc1->c();
               const Type& v1 = voc1->v();
               const details::operator_type o0 = voc0->operation();
               const details::operator_type o1 = operation;
               const details::operator_type o2 = voc1->operation();

               details::free_node(*(expr_gen.node_allocator_),branch[0]);
               details::free_node(*(expr_gen.node_allocator_),branch[1]);

               expression_node_ptr result = error_node();

               if (expr_gen.parser_->settings_.strength_reduction_enabled())
               {
                  // (v0 + c0) + (v1 + c1) --> (covov) (c0 + c1) + v0 + v1
                  if ((details::e_add == o0) && (details::e_add == o1) && (details::e_add == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "(t+t)+t", (c0 + c1), v0, v1, result);

                     exprtk_debug(("(v0 + c0) + (v1 + c1) --> (covov) (c0 + c1) + v0 + v1\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 + c0) - (v1 + c1) --> (covov) (c0 - c1) + v0 - v1
                  else if ((details::e_add == o0) && (details::e_sub == o1) && (details::e_add == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "(t+t)-t", (c0 - c1), v0, v1, result);

                     exprtk_debug(("(v0 + c0) - (v1 + c1) --> (covov) (c0 - c1) + v0 - v1\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 - c0) - (v1 - c1) --> (covov) (c1 - c0) + v0 - v1
                  else if ((details::e_sub == o0) && (details::e_sub == o1) && (details::e_sub == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "(t+t)-t", (c1 - c0), v0, v1, result);

                     exprtk_debug(("(v0 - c0) - (v1 - c1) --> (covov) (c1 - c0) + v0 - v1\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 * c0) * (v1 * c1) --> (covov) (c0 * c1) * v0 * v1
                  else if ((details::e_mul == o0) && (details::e_mul == o1) && (details::e_mul == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "(t*t)*t", (c0 * c1), v0, v1, result);

                     exprtk_debug(("(v0 * c0) * (v1 * c1) --> (covov) (c0 * c1) * v0 * v1\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 * c0) / (v1 * c1) --> (covov) (c0 / c1) * (v0 / v1)
                  else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_mul == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "(t*t)/t", (c0 / c1), v0, v1, result);

                     exprtk_debug(("(v0 * c0) / (v1 * c1) --> (covov) (c0 / c1) * (v0 / v1)\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 / c0) * (v1 / c1) --> (covov) (1 / (c0 * c1)) * v0 * v1
                  else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "(t*t)*t", Type(1) / (c0 * c1), v0, v1, result);

                     exprtk_debug(("(v0 / c0) * (v1 / c1) --> (covov) (1 / (c0 * c1)) * v0 * v1\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 / c0) / (v1 / c1) --> (covov) ((c1 / c0) * v0) / v1
                  else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "(t*t)/t", (c1 / c0), v0, v1, result);

                     exprtk_debug(("(v0 / c0) / (v1 / c1) --> (covov) ((c1 / c0) * v0) / v1\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 * c0) / (v1 / c1) --> (covov) (c0 * c1) * (v0 / v1)
                  else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_div == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "t*(t/t)", (c0 * c1), v0, v1, result);

                     exprtk_debug(("(v0 * c0) / (v1 / c1) --> (covov) (c0 * c1) * (v0 / v1)\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 / c0) / (v1 * c1) --> (covov) (1 / (c0 * c1)) * v0 / v1
                  else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_mul == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, "t*(t/t)", Type(1) / (c0 * c1), v0, v1, result);

                     exprtk_debug(("(v0 / c0) / (v1 * c1) --> (covov) (1 / (c0 * c1)) * v0 / v1\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 / c0) * (v1 + c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 + c1)
                  else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_add == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf4ext_expression::
                           template compile<vtype, ctype, vtype, ctype>(expr_gen, "(t*t)*(t+t)", v0, T(1) / c0, v1, c1, result);

                     exprtk_debug(("(v0 / c0) * (v1 + c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 + c1)\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 / c0) * (v1 - c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 - c1)
                  else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_sub == o2))
                  {
                     const bool synthesis_result =
                        synthesize_sf4ext_expression::
                           template compile<vtype, ctype, vtype, ctype>(expr_gen, "(t*t)*(t-t)", v0, T(1) / c0, v1, c1, result);

                     exprtk_debug(("(v0 / c0) * (v1 - c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 - c1)\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 * c) +/- (v1 * c) --> (covov) c * (v0 +/- v1)
                  else if (
                            (std::equal_to<T>()(c0,c1)) &&
                            (details::e_mul == o0)      &&
                            (details::e_mul == o2)      &&
                            (
                              (details::e_add == o1) ||
                              (details::e_sub == o1)
                            )
                          )
                  {
                     std::string specfunc;

                     switch (o1)
                     {
                        case details::e_add : specfunc = "t*(t+t)"; break;
                        case details::e_sub : specfunc = "t*(t-t)"; break;
                        default             : return error_node();
                     }

                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<ctype, vtype, vtype>(expr_gen, specfunc, c0, v0, v1, result);

                     exprtk_debug(("(v0 * c) +/- (v1 * c) --> (covov) c * (v0 +/- v1)\n"));

                     return (synthesis_result) ? result : error_node();
                  }
                  // (v0 / c) +/- (v1 / c) --> (vovoc) (v0 +/- v1) / c
                  else if (
                            (std::equal_to<T>()(c0,c1)) &&
                            (details::e_div == o0)      &&
                            (details::e_div == o2)      &&
                            (
                              (details::e_add == o1) ||
                              (details::e_sub == o1)
                            )
                          )
                  {
                     std::string specfunc;

                     switch (o1)
                     {
                        case details::e_add : specfunc = "(t+t)/t"; break;
                        case details::e_sub : specfunc = "(t-t)/t"; break;
                        default             : return error_node();
                     }

                     const bool synthesis_result =
                        synthesize_sf3ext_expression::
                           template compile<vtype, vtype, ctype>(expr_gen, specfunc, v0, v1, c0, result);

                     exprtk_debug(("(v0 / c) +/- (v1 / c) --> (vovoc) (v0 +/- v1) / c\n"));

                     return (synthesis_result) ? result : error_node();
                  }
               }

               const bool synthesis_result =
                  synthesize_sf4ext_expression::template compile<T0, T1, T2, T3>
                     (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, v1, c1, result);

               if (synthesis_result)
                  return result;

               binary_functor_t f0 = reinterpret_cast<binary_functor_t>(0);
               binary_functor_t f1 = reinterpret_cast<binary_functor_t>(0);
               binary_functor_t f2 = reinterpret_cast<binary_functor_t>(0);

               if (!expr_gen.valid_operator(o0,f0))
                  return error_node();
               else if (!expr_gen.valid_operator(o1,f1))
                  return error_node();
               else if (!expr_gen.valid_operator(o2,f2))
                  return error_node();
               else
                  return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, v1, c1, f0, f1, f2);
            }

// Assembly:
subq $0x468, %rsp            # imm = 0x468
movq %rdi, 0x458(%rsp)
movq %rsi, 0x450(%rsp)
movq %rdx, 0x448(%rsp)
movq 0x448(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x440(%rsp)
movq 0x448(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x438(%rsp)
movq 0x440(%rsp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
movsd %xmm0, 0x430(%rsp)
movq 0x440(%rsp), %rdi
movq (%rdi), %rax
callq *0x48(%rax)
movq %rax, 0x428(%rsp)
movq 0x438(%rsp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
movsd %xmm0, 0x420(%rsp)
movq 0x438(%rsp), %rdi
movq (%rdi), %rax
callq *0x48(%rax)
movq %rax, 0x418(%rsp)
movq 0x440(%rsp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movl %eax, 0x414(%rsp)
movq 0x450(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x410(%rsp)
movq 0x438(%rsp), %rdi
movq (%rdi), %rax
callq *0x38(%rax)
movl %eax, 0x40c(%rsp)
movq 0x458(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x448(%rsp), %rsi
callq 0x284bd0
movq 0x458(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x448(%rsp), %rsi
addq $0x8, %rsi
callq 0x284bd0
callq 0x2821f0
movq %rax, 0x400(%rsp)
movq 0x458(%rsp), %rax
movq 0x68(%rax), %rdi
addq $0xd0, %rdi
callq 0x250d10
testb $0x1, %al
jne 0x277b5f
jmp 0x278f09
movl $0x2, %eax
cmpl 0x414(%rsp), %eax
jne 0x277cd5
movl $0x2, %eax
cmpl 0x410(%rsp), %eax
jne 0x277cd5
movl $0x2, %eax
cmpl 0x40c(%rsp), %eax
jne 0x277cd5
movq 0x458(%rsp), %rax
movq %rax, 0x198(%rsp)
leaq 0x3d7(%rsp), %rdi
movq %rdi, 0x1a0(%rsp)
callq 0x11b6f0
movq 0x1a0(%rsp), %rdx
leaq 0x32ed86(%rip), %rsi    # 0x5a694f
leaq 0x3d8(%rsp), %rdi
callq 0x134520
jmp 0x277bd8
movq 0x198(%rsp), %rdi
movsd 0x430(%rsp), %xmm0
movsd 0x420(%rsp), %xmm1
addsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x3d8(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0x197(%rsp)
jmp 0x277c24
leaq 0x3d8(%rsp), %rdi
callq 0x11b838
leaq 0x3d7(%rsp), %rdi
callq 0x11b820
movb 0x197(%rsp), %al
andb $0x1, %al
movb %al, 0x3ff(%rsp)
testb $0x1, 0x3ff(%rsp)
je 0x277c6a
movq 0x400(%rsp), %rax
movq %rax, 0x188(%rsp)
jmp 0x277c77
callq 0x2821f0
movq %rax, 0x188(%rsp)
movq 0x188(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x277cc3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x3d8(%rsp), %rdi
callq 0x11b838
leaq 0x3d7(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x2, %eax
cmpl 0x414(%rsp), %eax
jne 0x277e4b
movl $0x3, %eax
cmpl 0x410(%rsp), %eax
jne 0x277e4b
movl $0x2, %eax
cmpl 0x40c(%rsp), %eax
jne 0x277e4b
movq 0x458(%rsp), %rax
movq %rax, 0x178(%rsp)
leaq 0x39f(%rsp), %rdi
movq %rdi, 0x180(%rsp)
callq 0x11b6f0
movq 0x180(%rsp), %rdx
leaq 0x32ec08(%rip), %rsi    # 0x5a6947
leaq 0x3a0(%rsp), %rdi
callq 0x134520
jmp 0x277d4e
movq 0x178(%rsp), %rdi
movsd 0x430(%rsp), %xmm0
movsd 0x420(%rsp), %xmm1
subsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x3a0(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0x177(%rsp)
jmp 0x277d9a
leaq 0x3a0(%rsp), %rdi
callq 0x11b838
leaq 0x39f(%rsp), %rdi
callq 0x11b820
movb 0x177(%rsp), %al
andb $0x1, %al
movb %al, 0x3c3(%rsp)
testb $0x1, 0x3c3(%rsp)
je 0x277de0
movq 0x400(%rsp), %rax
movq %rax, 0x168(%rsp)
jmp 0x277ded
callq 0x2821f0
movq %rax, 0x168(%rsp)
movq 0x168(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x277e39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x3a0(%rsp), %rdi
callq 0x11b838
leaq 0x39f(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x3, %eax
cmpl 0x414(%rsp), %eax
jne 0x277fc1
movl $0x3, %eax
cmpl 0x410(%rsp), %eax
jne 0x277fc1
movl $0x3, %eax
cmpl 0x40c(%rsp), %eax
jne 0x277fc1
movq 0x458(%rsp), %rax
movq %rax, 0x158(%rsp)
leaq 0x377(%rsp), %rdi
movq %rdi, 0x160(%rsp)
callq 0x11b6f0
movq 0x160(%rsp), %rdx
leaq 0x32ea92(%rip), %rsi    # 0x5a6947
leaq 0x378(%rsp), %rdi
callq 0x134520
jmp 0x277ec4
movq 0x158(%rsp), %rdi
movsd 0x420(%rsp), %xmm0
movsd 0x430(%rsp), %xmm1
subsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x378(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0x157(%rsp)
jmp 0x277f10
leaq 0x378(%rsp), %rdi
callq 0x11b838
leaq 0x377(%rsp), %rdi
callq 0x11b820
movb 0x157(%rsp), %al
andb $0x1, %al
movb %al, 0x39e(%rsp)
testb $0x1, 0x39e(%rsp)
je 0x277f56
movq 0x400(%rsp), %rax
movq %rax, 0x148(%rsp)
jmp 0x277f63
callq 0x2821f0
movq %rax, 0x148(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x277faf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x378(%rsp), %rdi
callq 0x11b838
leaq 0x377(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x4, %eax
cmpl 0x414(%rsp), %eax
jne 0x278137
movl $0x4, %eax
cmpl 0x410(%rsp), %eax
jne 0x278137
movl $0x4, %eax
cmpl 0x40c(%rsp), %eax
jne 0x278137
movq 0x458(%rsp), %rax
movq %rax, 0x138(%rsp)
leaq 0x34f(%rsp), %rdi
movq %rdi, 0x140(%rsp)
callq 0x11b6f0
movq 0x140(%rsp), %rdx
leaq 0x32e95c(%rip), %rsi    # 0x5a6987
leaq 0x350(%rsp), %rdi
callq 0x134520
jmp 0x27803a
movq 0x138(%rsp), %rdi
movsd 0x430(%rsp), %xmm0
movsd 0x420(%rsp), %xmm1
mulsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x350(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0x137(%rsp)
jmp 0x278086
leaq 0x350(%rsp), %rdi
callq 0x11b838
leaq 0x34f(%rsp), %rdi
callq 0x11b820
movb 0x137(%rsp), %al
andb $0x1, %al
movb %al, 0x376(%rsp)
testb $0x1, 0x376(%rsp)
je 0x2780cc
movq 0x400(%rsp), %rax
movq %rax, 0x128(%rsp)
jmp 0x2780d9
callq 0x2821f0
movq %rax, 0x128(%rsp)
movq 0x128(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x278125
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x350(%rsp), %rdi
callq 0x11b838
leaq 0x34f(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x4, %eax
cmpl 0x414(%rsp), %eax
jne 0x2782ad
movl $0x5, %eax
cmpl 0x410(%rsp), %eax
jne 0x2782ad
movl $0x4, %eax
cmpl 0x40c(%rsp), %eax
jne 0x2782ad
movq 0x458(%rsp), %rax
movq %rax, 0x118(%rsp)
leaq 0x327(%rsp), %rdi
movq %rdi, 0x120(%rsp)
callq 0x11b6f0
movq 0x120(%rsp), %rdx
leaq 0x32e7de(%rip), %rsi    # 0x5a697f
leaq 0x328(%rsp), %rdi
callq 0x134520
jmp 0x2781b0
movq 0x118(%rsp), %rdi
movsd 0x430(%rsp), %xmm0
movsd 0x420(%rsp), %xmm1
divsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x328(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0x117(%rsp)
jmp 0x2781fc
leaq 0x328(%rsp), %rdi
callq 0x11b838
leaq 0x327(%rsp), %rdi
callq 0x11b820
movb 0x117(%rsp), %al
andb $0x1, %al
movb %al, 0x34e(%rsp)
testb $0x1, 0x34e(%rsp)
je 0x278242
movq 0x400(%rsp), %rax
movq %rax, 0x108(%rsp)
jmp 0x27824f
callq 0x2821f0
movq %rax, 0x108(%rsp)
movq 0x108(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x27829b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x328(%rsp), %rdi
callq 0x11b838
leaq 0x327(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x5, %eax
cmpl 0x414(%rsp), %eax
jne 0x27842f
movl $0x4, %eax
cmpl 0x410(%rsp), %eax
jne 0x27842f
movl $0x5, %eax
cmpl 0x40c(%rsp), %eax
jne 0x27842f
movq 0x458(%rsp), %rax
movq %rax, 0xf8(%rsp)
leaq 0x2ff(%rsp), %rdi
movq %rdi, 0x100(%rsp)
callq 0x11b6f0
movq 0x100(%rsp), %rdx
leaq 0x32e670(%rip), %rsi    # 0x5a6987
leaq 0x300(%rsp), %rdi
callq 0x134520
jmp 0x278326
movq 0xf8(%rsp), %rdi
movsd 0x430(%rsp), %xmm1
movsd 0x420(%rsp), %xmm0
mulsd %xmm0, %xmm1
movsd 0x322cf4(%rip), %xmm0   # 0x59b040
divsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x300(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0xf7(%rsp)
jmp 0x27837e
leaq 0x300(%rsp), %rdi
callq 0x11b838
leaq 0x2ff(%rsp), %rdi
callq 0x11b820
movb 0xf7(%rsp), %al
andb $0x1, %al
movb %al, 0x326(%rsp)
testb $0x1, 0x326(%rsp)
je 0x2783c4
movq 0x400(%rsp), %rax
movq %rax, 0xe8(%rsp)
jmp 0x2783d1
callq 0x2821f0
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x27841d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x300(%rsp), %rdi
callq 0x11b838
leaq 0x2ff(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x5, %eax
cmpl 0x414(%rsp), %eax
jne 0x2785a5
movl $0x5, %eax
cmpl 0x410(%rsp), %eax
jne 0x2785a5
movl $0x5, %eax
cmpl 0x40c(%rsp), %eax
jne 0x2785a5
movq 0x458(%rsp), %rax
movq %rax, 0xd8(%rsp)
leaq 0x2d7(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
callq 0x11b6f0
movq 0xe0(%rsp), %rdx
leaq 0x32e4e6(%rip), %rsi    # 0x5a697f
leaq 0x2d8(%rsp), %rdi
callq 0x134520
jmp 0x2784a8
movq 0xd8(%rsp), %rdi
movsd 0x420(%rsp), %xmm0
movsd 0x430(%rsp), %xmm1
divsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x2d8(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0xd7(%rsp)
jmp 0x2784f4
leaq 0x2d8(%rsp), %rdi
callq 0x11b838
leaq 0x2d7(%rsp), %rdi
callq 0x11b820
movb 0xd7(%rsp), %al
andb $0x1, %al
movb %al, 0x2fe(%rsp)
testb $0x1, 0x2fe(%rsp)
je 0x27853a
movq 0x400(%rsp), %rax
movq %rax, 0xc8(%rsp)
jmp 0x278547
callq 0x2821f0
movq %rax, 0xc8(%rsp)
movq 0xc8(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x278593
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x2d8(%rsp), %rdi
callq 0x11b838
leaq 0x2d7(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x4, %eax
cmpl 0x414(%rsp), %eax
jne 0x27871b
movl $0x5, %eax
cmpl 0x410(%rsp), %eax
jne 0x27871b
movl $0x5, %eax
cmpl 0x40c(%rsp), %eax
jne 0x27871b
movq 0x458(%rsp), %rax
movq %rax, 0xb8(%rsp)
leaq 0x2af(%rsp), %rdi
movq %rdi, 0xc0(%rsp)
callq 0x11b6f0
movq 0xc0(%rsp), %rdx
leaq 0x32e3d8(%rip), %rsi    # 0x5a69e7
leaq 0x2b0(%rsp), %rdi
callq 0x134520
jmp 0x27861e
movq 0xb8(%rsp), %rdi
movsd 0x430(%rsp), %xmm0
movsd 0x420(%rsp), %xmm1
mulsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x2b0(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0xb7(%rsp)
jmp 0x27866a
leaq 0x2b0(%rsp), %rdi
callq 0x11b838
leaq 0x2af(%rsp), %rdi
callq 0x11b820
movb 0xb7(%rsp), %al
andb $0x1, %al
movb %al, 0x2d6(%rsp)
testb $0x1, 0x2d6(%rsp)
je 0x2786b0
movq 0x400(%rsp), %rax
movq %rax, 0xa8(%rsp)
jmp 0x2786bd
callq 0x2821f0
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x278709
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0x11b838
leaq 0x2af(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x5, %eax
cmpl 0x414(%rsp), %eax
jne 0x27889d
movl $0x5, %eax
cmpl 0x410(%rsp), %eax
jne 0x27889d
movl $0x4, %eax
cmpl 0x40c(%rsp), %eax
jne 0x27889d
movq 0x458(%rsp), %rax
movq %rax, 0x98(%rsp)
leaq 0x287(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
callq 0x11b6f0
movq 0xa0(%rsp), %rdx
leaq 0x32e262(%rip), %rsi    # 0x5a69e7
leaq 0x288(%rsp), %rdi
callq 0x134520
jmp 0x278794
movq 0x98(%rsp), %rdi
movsd 0x430(%rsp), %xmm1
movsd 0x420(%rsp), %xmm0
mulsd %xmm0, %xmm1
movsd 0x322886(%rip), %xmm0   # 0x59b040
divsd %xmm1, %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x288(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0x97(%rsp)
jmp 0x2787ec
leaq 0x288(%rsp), %rdi
callq 0x11b838
leaq 0x287(%rsp), %rdi
callq 0x11b820
movb 0x97(%rsp), %al
andb $0x1, %al
movb %al, 0x2ae(%rsp)
testb $0x1, 0x2ae(%rsp)
je 0x278832
movq 0x400(%rsp), %rax
movq %rax, 0x88(%rsp)
jmp 0x27883f
callq 0x2821f0
movq %rax, 0x88(%rsp)
movq 0x88(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x27888b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x288(%rsp), %rdi
callq 0x11b838
leaq 0x287(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x5, %eax
cmpl 0x414(%rsp), %eax
jne 0x278a06
movl $0x4, %eax
cmpl 0x410(%rsp), %eax
jne 0x278a06
movl $0x2, %eax
cmpl 0x40c(%rsp), %eax
jne 0x278a06
movq 0x458(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x25f(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x11b6f0
movq 0x80(%rsp), %rdx
leaq 0x32e467(%rip), %rsi    # 0x5a6d6b
leaq 0x260(%rsp), %rdi
callq 0x134520
jmp 0x278913
movq 0x78(%rsp), %rdi
movq 0x428(%rsp), %rdx
movsd 0x430(%rsp), %xmm1
movsd 0x32270f(%rip), %xmm0   # 0x59b040
divsd %xmm1, %xmm0
movq 0x418(%rsp), %rcx
movsd 0x420(%rsp), %xmm1
leaq 0x260(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x328600
movb %al, 0x77(%rsp)
jmp 0x278961
leaq 0x260(%rsp), %rdi
callq 0x11b838
leaq 0x25f(%rsp), %rdi
callq 0x11b820
movb 0x77(%rsp), %al
andb $0x1, %al
movb %al, 0x286(%rsp)
testb $0x1, 0x286(%rsp)
je 0x2789a1
movq 0x400(%rsp), %rax
movq %rax, 0x68(%rsp)
jmp 0x2789ab
callq 0x2821f0
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x2789f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x260(%rsp), %rdi
callq 0x11b838
leaq 0x25f(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
movl $0x5, %eax
cmpl 0x414(%rsp), %eax
jne 0x278b69
movl $0x4, %eax
cmpl 0x410(%rsp), %eax
jne 0x278b69
movl $0x3, %eax
cmpl 0x40c(%rsp), %eax
jne 0x278b69
movq 0x458(%rsp), %rax
movq %rax, 0x58(%rsp)
leaq 0x237(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x11b6f0
movq 0x60(%rsp), %rdx
leaq 0x32e340(%rip), %rsi    # 0x5a6da7
leaq 0x238(%rsp), %rdi
callq 0x134520
jmp 0x278a76
movq 0x58(%rsp), %rdi
movq 0x428(%rsp), %rdx
movsd 0x430(%rsp), %xmm1
movsd 0x3225ac(%rip), %xmm0   # 0x59b040
divsd %xmm1, %xmm0
movq 0x418(%rsp), %rcx
movsd 0x420(%rsp), %xmm1
leaq 0x238(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x328600
movb %al, 0x57(%rsp)
jmp 0x278ac4
leaq 0x238(%rsp), %rdi
callq 0x11b838
leaq 0x237(%rsp), %rdi
callq 0x11b820
movb 0x57(%rsp), %al
andb $0x1, %al
movb %al, 0x25e(%rsp)
testb $0x1, 0x25e(%rsp)
je 0x278b04
movq 0x400(%rsp), %rax
movq %rax, 0x48(%rsp)
jmp 0x278b0e
callq 0x2821f0
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
jmp 0x278b57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x238(%rsp), %rdi
callq 0x11b838
leaq 0x237(%rsp), %rdi
callq 0x11b820
jmp 0x2790f7
leaq 0x236(%rsp), %rdi
leaq 0x430(%rsp), %rsi
leaq 0x420(%rsp), %rdx
callq 0x266f00
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x47(%rsp)
jne 0x278b95
jmp 0x278bec
xorl %eax, %eax
movl $0x4, %ecx
cmpl 0x414(%rsp), %ecx
movb %al, 0x47(%rsp)
jne 0x278bec
xorl %eax, %eax
movl $0x4, %ecx
cmpl 0x40c(%rsp), %ecx
movb %al, 0x47(%rsp)
jne 0x278bec
movb $0x1, %al
movl $0x2, %ecx
cmpl 0x410(%rsp), %ecx
movb %al, 0x46(%rsp)
je 0x278be4
movl $0x3, %eax
cmpl 0x410(%rsp), %eax
sete %al
movb %al, 0x46(%rsp)
movb 0x46(%rsp), %al
movb %al, 0x47(%rsp)
movb 0x47(%rsp), %al
testb $0x1, %al
jne 0x278bf9
jmp 0x278d2c
leaq 0x210(%rsp), %rdi
callq 0x11b2b0
movl 0x410(%rsp), %eax
movl %eax, 0x40(%rsp)
subl $0x2, %eax
je 0x278c23
jmp 0x278c18
movl 0x40(%rsp), %eax
subl $0x3, %eax
je 0x278c61
jmp 0x278c79
leaq 0x32dda5(%rip), %rsi    # 0x5a69cf
leaq 0x210(%rsp), %rdi
callq 0x11b340
jmp 0x278c39
jmp 0x278c96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x210(%rsp), %rdi
callq 0x11b838
jmp 0x2790f7
leaq 0x32dd6f(%rip), %rsi    # 0x5a69d7
leaq 0x210(%rsp), %rdi
callq 0x11b340
jmp 0x278c77
jmp 0x278c96
callq 0x2821f0
movq %rax, 0x460(%rsp)
movl $0x1, 0x20c(%rsp)
jmp 0x278d1a
movq 0x458(%rsp), %rdi
movsd 0x430(%rsp), %xmm0
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
leaq 0x210(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x2aaa60
movb %al, 0x3f(%rsp)
jmp 0x278cd2
movb 0x3f(%rsp), %al
andb $0x1, %al
movb %al, 0x20b(%rsp)
testb $0x1, 0x20b(%rsp)
je 0x278cf8
movq 0x400(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x278d02
callq 0x2821f0
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x460(%rsp)
movl $0x1, 0x20c(%rsp)
leaq 0x210(%rsp), %rdi
callq 0x11b838
jmp 0x2790e7
leaq 0x20a(%rsp), %rdi
leaq 0x430(%rsp), %rsi
leaq 0x420(%rsp), %rdx
callq 0x266f00
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x2f(%rsp)
jne 0x278d58
jmp 0x278daf
xorl %eax, %eax
movl $0x5, %ecx
cmpl 0x414(%rsp), %ecx
movb %al, 0x2f(%rsp)
jne 0x278daf
xorl %eax, %eax
movl $0x5, %ecx
cmpl 0x40c(%rsp), %ecx
movb %al, 0x2f(%rsp)
jne 0x278daf
movb $0x1, %al
movl $0x2, %ecx
cmpl 0x410(%rsp), %ecx
movb %al, 0x2e(%rsp)
je 0x278da7
movl $0x3, %eax
cmpl 0x410(%rsp), %eax
sete %al
movb %al, 0x2e(%rsp)
movb 0x2e(%rsp), %al
movb %al, 0x2f(%rsp)
movb 0x2f(%rsp), %al
testb $0x1, %al
jne 0x278dbc
jmp 0x278eef
leaq 0x1e8(%rsp), %rdi
callq 0x11b2b0
movl 0x410(%rsp), %eax
movl %eax, 0x28(%rsp)
subl $0x2, %eax
je 0x278de6
jmp 0x278ddb
movl 0x28(%rsp), %eax
subl $0x3, %eax
je 0x278e24
jmp 0x278e3c
leaq 0x32db4a(%rip), %rsi    # 0x5a6937
leaq 0x1e8(%rsp), %rdi
callq 0x11b340
jmp 0x278dfc
jmp 0x278e59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x1e8(%rsp), %rdi
callq 0x11b838
jmp 0x2790f7
leaq 0x32db34(%rip), %rsi    # 0x5a695f
leaq 0x1e8(%rsp), %rdi
callq 0x11b340
jmp 0x278e3a
jmp 0x278e59
callq 0x2821f0
movq %rax, 0x460(%rsp)
movl $0x1, 0x20c(%rsp)
jmp 0x278edd
movq 0x458(%rsp), %rdi
movq 0x428(%rsp), %rdx
movq 0x418(%rsp), %rcx
movsd 0x430(%rsp), %xmm0
leaq 0x1e8(%rsp), %rsi
leaq 0x400(%rsp), %r8
callq 0x29e5f0
movb %al, 0x27(%rsp)
jmp 0x278e95
movb 0x27(%rsp), %al
andb $0x1, %al
movb %al, 0x1e7(%rsp)
testb $0x1, 0x1e7(%rsp)
je 0x278ebb
movq 0x400(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x278ec5
callq 0x2821f0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x460(%rsp)
movl $0x1, 0x20c(%rsp)
leaq 0x1e8(%rsp), %rdi
callq 0x11b838
jmp 0x2790e7
jmp 0x278ef1
jmp 0x278ef3
jmp 0x278ef5
jmp 0x278ef7
jmp 0x278ef9
jmp 0x278efb
jmp 0x278efd
jmp 0x278eff
jmp 0x278f01
jmp 0x278f03
jmp 0x278f05
jmp 0x278f07
jmp 0x278f09
movq 0x458(%rsp), %rsi
movq %rsi, (%rsp)
movl 0x414(%rsp), %edx
movl 0x410(%rsp), %ecx
movl 0x40c(%rsp), %r8d
leaq 0x1c0(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x328690
movq (%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x428(%rsp), %rdx
movsd 0x430(%rsp), %xmm0
movq 0x418(%rsp), %rcx
movsd 0x420(%rsp), %xmm1
leaq 0x400(%rsp), %r8
callq 0x328600
movb %al, 0x17(%rsp)
jmp 0x278f7b
leaq 0x1c0(%rsp), %rdi
callq 0x11b838
movb 0x17(%rsp), %al
andb $0x1, %al
movb %al, 0x1e6(%rsp)
testb $0x1, 0x1e6(%rsp)
je 0x278fda
movq 0x400(%rsp), %rax
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3c8(%rsp)
movl %eax, 0x3c4(%rsp)
leaq 0x1c0(%rsp), %rdi
callq 0x11b838
jmp 0x2790f7
movq $0x0, 0x1b8(%rsp)
movq $0x0, 0x1b0(%rsp)
movq $0x0, 0x1a8(%rsp)
movq 0x458(%rsp), %rdi
leaq 0x414(%rsp), %rsi
leaq 0x1b8(%rsp), %rdx
callq 0x2974b0
testb $0x1, %al
jne 0x279031
callq 0x2821f0
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq 0x458(%rsp), %rdi
leaq 0x410(%rsp), %rsi
leaq 0x1b0(%rsp), %rdx
callq 0x2974b0
testb $0x1, %al
jne 0x279064
callq 0x2821f0
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq 0x458(%rsp), %rdi
leaq 0x40c(%rsp), %rsi
leaq 0x1a8(%rsp), %rdx
callq 0x2974b0
testb $0x1, %al
jne 0x279094
callq 0x2821f0
movq %rax, 0x460(%rsp)
jmp 0x2790e7
movq 0x458(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x428(%rsp), %rsi
movsd 0x430(%rsp), %xmm0
movq 0x418(%rsp), %rdx
movsd 0x420(%rsp), %xmm1
movq 0x1b8(%rsp), %rcx
movq 0x1b0(%rsp), %r8
movq 0x1a8(%rsp), %r9
callq 0x3288d0
movq %rax, 0x460(%rsp)
movq 0x460(%rsp), %rax
addq $0x468, %rsp            # imm = 0x468
retq
movq 0x3c8(%rsp), %rdi
callq 0x11b4e0
nopw %cs:(%rax,%rax)
nop