// File: ArashPartow[P]exprtk/./exprtk.hpp
// Function: exprtk::parser<double>::expression_generator<double>::branch_to_id[abi:cxx11](exprtk::details::expression_node<double>*) const
inline std::string branch_to_id(expression_node_ptr branch) const
         {
            static const std::string null_str   ("(null)" );
            static const std::string const_str  ("(c)"    );
            static const std::string var_str    ("(v)"    );
            static const std::string vov_str    ("(vov)"  );
            static const std::string cov_str    ("(cov)"  );
            static const std::string voc_str    ("(voc)"  );
            static const std::string str_str    ("(s)"    );
            static const std::string strrng_str ("(rngs)" );
            static const std::string cs_str     ("(cs)"   );
            static const std::string cstrrng_str("(crngs)");

            if (details::is_null_node(branch))
               return null_str;
            else if (details::is_constant_node(branch))
               return const_str;
            else if (details::is_variable_node(branch))
               return var_str;
            else if (details::is_vov_node(branch))
               return vov_str;
            else if (details::is_cov_node(branch))
               return cov_str;
            else if (details::is_voc_node(branch))
               return voc_str;
            else if (details::is_string_node(branch))
               return str_str;
            else if (details::is_const_string_node(branch))
               return cs_str;
            else if (details::is_string_range_node(branch))
               return strrng_str;
            else if (details::is_const_string_range_node(branch))
               return cstrrng_str;
            else if (details::is_t0ot1ot2_node(branch))
               return "(" + dynamic_cast<details::T0oT1oT2_base_node<T>*>(branch)->type_id() + ")";
            else if (details::is_t0ot1ot2ot3_node(branch))
               return "(" + dynamic_cast<details::T0oT1oT2oT3_base_node<T>*>(branch)->type_id() + ")";
            else
               return "ERROR";
         }

// Assembly:
subq $0x158, %rsp            # imm = 0x158
movq %rdi, 0x88(%rsp)
movq %rdi, %rax
movq %rax, 0x90(%rsp)
movq %rdi, 0x150(%rsp)
movq %rsi, 0x148(%rsp)
movq %rdx, 0x140(%rsp)
cmpb $0x0, 0x35d127(%rip)    # 0x7e05e0
jne 0x483531
leaq 0x35d11e(%rip), %rdi    # 0x7e05e0
callq 0x11b2c0
cmpl $0x0, %eax
je 0x483531
leaq 0x13f(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x11b6f0
movq 0x80(%rsp), %rdx
leaq 0x35d0d0(%rip), %rdi    # 0x7e05c0
leaq 0x124a82(%rip), %rsi    # 0x5a7f79
callq 0x134520
jmp 0x4834fe
leaq 0x13f(%rsp), %rdi
callq 0x11b820
movq 0x34fac6(%rip), %rdi    # 0x7d2fd8
leaq 0x35d0a7(%rip), %rsi    # 0x7e05c0
leaq 0x34ff00(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35d0b4(%rip), %rdi    # 0x7e05e0
callq 0x11b470
cmpb $0x0, 0x35d0d0(%rip)    # 0x7e0608
jne 0x4835aa
leaq 0x35d0c7(%rip), %rdi    # 0x7e0608
callq 0x11b2c0
cmpl $0x0, %eax
je 0x4835aa
leaq 0x12b(%rsp), %rdi
movq %rdi, 0x78(%rsp)
callq 0x11b6f0
movq 0x78(%rsp), %rdx
leaq 0x35d07f(%rip), %rdi    # 0x7e05e8
leaq 0x12395f(%rip), %rsi    # 0x5a6ecf
callq 0x134520
jmp 0x483577
leaq 0x12b(%rsp), %rdi
callq 0x11b820
movq 0x34fa4d(%rip), %rdi    # 0x7d2fd8
leaq 0x35d056(%rip), %rsi    # 0x7e05e8
leaq 0x34fe87(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35d063(%rip), %rdi    # 0x7e0608
callq 0x11b470
cmpb $0x0, 0x35d07f(%rip)    # 0x7e0630
jne 0x483623
leaq 0x35d076(%rip), %rdi    # 0x7e0630
callq 0x11b2c0
cmpl $0x0, %eax
je 0x483623
leaq 0x12a(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0x11b6f0
movq 0x70(%rsp), %rdx
leaq 0x35d02e(%rip), %rdi    # 0x7e0610
leaq 0x141bc2(%rip), %rsi    # 0x5c51ab
callq 0x134520
jmp 0x4835f0
leaq 0x12a(%rsp), %rdi
callq 0x11b820
movq 0x34f9d4(%rip), %rdi    # 0x7d2fd8
leaq 0x35d005(%rip), %rsi    # 0x7e0610
leaq 0x34fe0e(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35d012(%rip), %rdi    # 0x7e0630
callq 0x11b470
cmpb $0x0, 0x35d02e(%rip)    # 0x7e0658
jne 0x48369c
leaq 0x35d025(%rip), %rdi    # 0x7e0658
callq 0x11b2c0
cmpl $0x0, %eax
je 0x48369c
leaq 0x129(%rsp), %rdi
movq %rdi, 0x68(%rsp)
callq 0x11b6f0
movq 0x68(%rsp), %rdx
leaq 0x35cfdd(%rip), %rdi    # 0x7e0638
leaq 0x12491e(%rip), %rsi    # 0x5a7f80
callq 0x134520
jmp 0x483669
leaq 0x129(%rsp), %rdi
callq 0x11b820
movq 0x34f95b(%rip), %rdi    # 0x7d2fd8
leaq 0x35cfb4(%rip), %rsi    # 0x7e0638
leaq 0x34fd95(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35cfc1(%rip), %rdi    # 0x7e0658
callq 0x11b470
cmpb $0x0, 0x35cfdd(%rip)    # 0x7e0680
jne 0x483715
leaq 0x35cfd4(%rip), %rdi    # 0x7e0680
callq 0x11b2c0
cmpl $0x0, %eax
je 0x483715
leaq 0x128(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x11b6f0
movq 0x60(%rsp), %rdx
leaq 0x35cf8c(%rip), %rdi    # 0x7e0660
leaq 0x1248ab(%rip), %rsi    # 0x5a7f86
callq 0x134520
jmp 0x4836e2
leaq 0x128(%rsp), %rdi
callq 0x11b820
movq 0x34f8e2(%rip), %rdi    # 0x7d2fd8
leaq 0x35cf63(%rip), %rsi    # 0x7e0660
leaq 0x34fd1c(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35cf70(%rip), %rdi    # 0x7e0680
callq 0x11b470
cmpb $0x0, 0x35cf8c(%rip)    # 0x7e06a8
jne 0x48378e
leaq 0x35cf83(%rip), %rdi    # 0x7e06a8
callq 0x11b2c0
cmpl $0x0, %eax
je 0x48378e
leaq 0x127(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x11b6f0
movq 0x58(%rsp), %rdx
leaq 0x35cf3b(%rip), %rdi    # 0x7e0688
leaq 0x124838(%rip), %rsi    # 0x5a7f8c
callq 0x134520
jmp 0x48375b
leaq 0x127(%rsp), %rdi
callq 0x11b820
movq 0x34f869(%rip), %rdi    # 0x7d2fd8
leaq 0x35cf12(%rip), %rsi    # 0x7e0688
leaq 0x34fca3(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35cf1f(%rip), %rdi    # 0x7e06a8
callq 0x11b470
cmpb $0x0, 0x35cf3b(%rip)    # 0x7e06d0
jne 0x483807
leaq 0x35cf32(%rip), %rdi    # 0x7e06d0
callq 0x11b2c0
cmpl $0x0, %eax
je 0x483807
leaq 0x126(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x11b6f0
movq 0x50(%rsp), %rdx
leaq 0x35ceea(%rip), %rdi    # 0x7e06b0
leaq 0x1247c5(%rip), %rsi    # 0x5a7f92
callq 0x134520
jmp 0x4837d4
leaq 0x126(%rsp), %rdi
callq 0x11b820
movq 0x34f7f0(%rip), %rdi    # 0x7d2fd8
leaq 0x35cec1(%rip), %rsi    # 0x7e06b0
leaq 0x34fc2a(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35cece(%rip), %rdi    # 0x7e06d0
callq 0x11b470
cmpb $0x0, 0x35ceea(%rip)    # 0x7e06f8
jne 0x483880
leaq 0x35cee1(%rip), %rdi    # 0x7e06f8
callq 0x11b2c0
cmpl $0x0, %eax
je 0x483880
leaq 0x125(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x11b6f0
movq 0x48(%rsp), %rdx
leaq 0x35ce99(%rip), %rdi    # 0x7e06d8
leaq 0x124750(%rip), %rsi    # 0x5a7f96
callq 0x134520
jmp 0x48384d
leaq 0x125(%rsp), %rdi
callq 0x11b820
movq 0x34f777(%rip), %rdi    # 0x7d2fd8
leaq 0x35ce70(%rip), %rsi    # 0x7e06d8
leaq 0x34fbb1(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35ce7d(%rip), %rdi    # 0x7e06f8
callq 0x11b470
cmpb $0x0, 0x35ce99(%rip)    # 0x7e0720
jne 0x4838f9
leaq 0x35ce90(%rip), %rdi    # 0x7e0720
callq 0x11b2c0
cmpl $0x0, %eax
je 0x4838f9
leaq 0x124(%rsp), %rdi
movq %rdi, 0x40(%rsp)
callq 0x11b6f0
movq 0x40(%rsp), %rdx
leaq 0x35ce48(%rip), %rdi    # 0x7e0700
leaq 0x1246de(%rip), %rsi    # 0x5a7f9d
callq 0x134520
jmp 0x4838c6
leaq 0x124(%rsp), %rdi
callq 0x11b820
movq 0x34f6fe(%rip), %rdi    # 0x7d2fd8
leaq 0x35ce1f(%rip), %rsi    # 0x7e0700
leaq 0x34fb38(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35ce2c(%rip), %rdi    # 0x7e0720
callq 0x11b470
cmpb $0x0, 0x35ce48(%rip)    # 0x7e0748
jne 0x483972
leaq 0x35ce3f(%rip), %rdi    # 0x7e0748
callq 0x11b2c0
cmpl $0x0, %eax
je 0x483972
leaq 0x123(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x11b6f0
movq 0x38(%rsp), %rdx
leaq 0x35cdf7(%rip), %rdi    # 0x7e0728
leaq 0x12466a(%rip), %rsi    # 0x5a7fa2
callq 0x134520
jmp 0x48393f
leaq 0x123(%rsp), %rdi
callq 0x11b820
movq 0x34f685(%rip), %rdi    # 0x7d2fd8
leaq 0x35cdce(%rip), %rsi    # 0x7e0728
leaq 0x34fabf(%rip), %rdx    # 0x7d3420
callq 0x11b630
leaq 0x35cddb(%rip), %rdi    # 0x7e0748
callq 0x11b470
movq 0x140(%rsp), %rdi
callq 0x3af620
testb $0x1, %al
jne 0x483988
jmp 0x483b95
movq 0x88(%rsp), %rdi
leaq 0x35cc29(%rip), %rsi    # 0x7e05c0
callq 0x11b140
jmp 0x483f9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x13f(%rsp), %rdi
callq 0x11b820
leaq 0x35cc17(%rip), %rdi    # 0x7e05e0
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x12b(%rsp), %rdi
callq 0x11b820
leaq 0x35cc0d(%rip), %rdi    # 0x7e0608
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x12a(%rsp), %rdi
callq 0x11b820
leaq 0x35cc03(%rip), %rdi    # 0x7e0630
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x129(%rsp), %rdi
callq 0x11b820
leaq 0x35cbf9(%rip), %rdi    # 0x7e0658
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x128(%rsp), %rdi
callq 0x11b820
leaq 0x35cbef(%rip), %rdi    # 0x7e0680
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x127(%rsp), %rdi
callq 0x11b820
leaq 0x35cbe5(%rip), %rdi    # 0x7e06a8
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x126(%rsp), %rdi
callq 0x11b820
leaq 0x35cbdb(%rip), %rdi    # 0x7e06d0
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x125(%rsp), %rdi
callq 0x11b820
leaq 0x35cbd1(%rip), %rdi    # 0x7e06f8
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x124(%rsp), %rdi
callq 0x11b820
leaq 0x35cbc7(%rip), %rdi    # 0x7e0720
callq 0x11b360
jmp 0x483fad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x123(%rsp), %rdi
callq 0x11b820
leaq 0x35cbbd(%rip), %rdi    # 0x7e0748
callq 0x11b360
jmp 0x483fad
movq 0x140(%rsp), %rdi
callq 0x39cbf0
testb $0x1, %al
jne 0x483ba8
jmp 0x483bc1
movq 0x88(%rsp), %rdi
leaq 0x35ca31(%rip), %rsi    # 0x7e05e8
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x23c960
testb $0x1, %al
jne 0x483bd4
jmp 0x483bed
movq 0x88(%rsp), %rdi
leaq 0x35ca2d(%rip), %rsi    # 0x7e0610
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x483fc0
testb $0x1, %al
jne 0x483c00
jmp 0x483c19
movq 0x88(%rsp), %rdi
leaq 0x35ca29(%rip), %rsi    # 0x7e0638
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x484020
testb $0x1, %al
jne 0x483c2c
jmp 0x483c45
movq 0x88(%rsp), %rdi
leaq 0x35ca25(%rip), %rsi    # 0x7e0660
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x484080
testb $0x1, %al
jne 0x483c58
jmp 0x483c71
movq 0x88(%rsp), %rdi
leaq 0x35ca21(%rip), %rsi    # 0x7e0688
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x23c9a0
testb $0x1, %al
jne 0x483c84
jmp 0x483c9d
movq 0x88(%rsp), %rdi
leaq 0x35ca1d(%rip), %rsi    # 0x7e06b0
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x438670
testb $0x1, %al
jne 0x483cb0
jmp 0x483cc9
movq 0x88(%rsp), %rdi
leaq 0x35ca41(%rip), %rsi    # 0x7e0700
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x3e9720
testb $0x1, %al
jne 0x483cdc
jmp 0x483cf5
movq 0x88(%rsp), %rdi
leaq 0x35c9ed(%rip), %rsi    # 0x7e06d8
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x4386b0
testb $0x1, %al
jne 0x483d08
jmp 0x483d21
movq 0x88(%rsp), %rdi
leaq 0x35ca11(%rip), %rsi    # 0x7e0728
callq 0x11b140
jmp 0x483f9d
movq 0x140(%rsp), %rdi
callq 0x4840e0
testb $0x1, %al
jne 0x483d37
jmp 0x483e32
movq 0x140(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpq $0x0, %rax
je 0x483d6d
movq 0x30(%rsp), %rdi
leaq 0x2e648a(%rip), %rsi    # 0x76a1e0
leaq 0x2edbeb(%rip), %rdx    # 0x771948
xorl %eax, %eax
movl %eax, %ecx
callq 0x11b6d0
movq %rax, 0x28(%rsp)
jmp 0x483d76
xorl %eax, %eax
movq %rax, 0x28(%rsp)
jmp 0x483d76
movq 0x28(%rsp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq 0xe0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq *%rax
movq 0x20(%rsp), %rdx
leaq 0x123150(%rip), %rsi    # 0x5a6eed
leaq 0x100(%rsp), %rdi
callq 0x29dd70
jmp 0x483dac
movq 0x88(%rsp), %rdi
leaq 0x131843(%rip), %rdx    # 0x5b55fe
leaq 0x100(%rsp), %rsi
callq 0x29dc30
jmp 0x483dca
leaq 0x100(%rsp), %rdi
callq 0x11b838
leaq 0xe0(%rsp), %rdi
callq 0x11b838
jmp 0x483f9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
jmp 0x483e20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x100(%rsp), %rdi
callq 0x11b838
leaq 0xe0(%rsp), %rdi
callq 0x11b838
jmp 0x483fad
movq 0x140(%rsp), %rdi
callq 0x484140
testb $0x1, %al
jne 0x483e48
jmp 0x483f40
movq 0x140(%rsp), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, %rax
je 0x483e7e
movq 0x18(%rsp), %rdi
leaq 0x2e6379(%rip), %rsi    # 0x76a1e0
leaq 0x2f7512(%rip), %rdx    # 0x77b380
xorl %eax, %eax
movl %eax, %ecx
callq 0x11b6d0
movq %rax, 0x10(%rsp)
jmp 0x483e87
xorl %eax, %eax
movq %rax, 0x10(%rsp)
jmp 0x483e87
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq 0xa0(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq *%rax
movq 0x8(%rsp), %rdx
leaq 0x12303f(%rip), %rsi    # 0x5a6eed
leaq 0xc0(%rsp), %rdi
callq 0x29dd70
jmp 0x483ebd
movq 0x88(%rsp), %rdi
leaq 0x131732(%rip), %rdx    # 0x5b55fe
leaq 0xc0(%rsp), %rsi
callq 0x29dc30
jmp 0x483edb
leaq 0xc0(%rsp), %rdi
callq 0x11b838
leaq 0xa0(%rsp), %rdi
callq 0x11b838
jmp 0x483f9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
jmp 0x483f31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0xc0(%rsp), %rdi
callq 0x11b838
leaq 0xa0(%rsp), %rdi
callq 0x11b838
jmp 0x483fad
leaq 0x9f(%rsp), %rdi
movq %rdi, (%rsp)
callq 0x11b6f0
movq 0x88(%rsp), %rdi
movq (%rsp), %rdx
leaq 0x1236c3(%rip), %rsi    # 0x5a7627
callq 0x134520
jmp 0x483f6b
leaq 0x9f(%rsp), %rdi
callq 0x11b820
jmp 0x483f9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x130(%rsp)
movl %eax, 0x12c(%rsp)
leaq 0x9f(%rsp), %rdi
callq 0x11b820
jmp 0x483fad
movq 0x90(%rsp), %rax
addq $0x158, %rsp            # imm = 0x158
retq
movq 0x130(%rsp), %rdi
callq 0x11b4e0
nopw (%rax,%rax)