// File: /workspace/github_cpp_makefile_star2_O2/gprateek93[P]LaTeX_to_HTML/converter.cpp
// Function: converter::traverseMath[abi:cxx11](ast_node*, int)
string converter :: traverseMath(ast_node *root, int type){
    string s = "";
    if(type == 22 || type == 23){
        s+="<sub>" + root->data + "</sub>" + getMapping(type) + "<sup>" + root->attributes + "</sup>";
    }
    else if(type == 20){
        s+=getMapping(type)+root->data;
    }
    else if(type == 21){
        s+="("+root->data+")/("+root->attributes+")";
    }
    s+=traverseChildren(root);
    return s;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xe0, %rsp
movl %ecx, %r12d
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x3c1b(%rip), %rsi      # 0xb566
leaq -0x40(%rbp), %rdx
callq 0x5916
movl %r12d, %eax
andl $-0x2, %eax
cmpl $0x16, %eax
jne 0x7a53
leaq 0x8(%r14), %rdx
leaq 0x41e3(%rip), %rsi      # 0xbb51
leaq -0xe0(%rbp), %rdi
callq 0x80a2
leaq 0x41d6(%rip), %rdx      # 0xbb57
leaq -0x100(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x7fb1
leaq -0xc0(%rbp), %rdi
movq %r15, %rsi
movl %r12d, %edx
callq 0x6edc
leaq -0x80(%rbp), %rdi
leaq -0x100(%rbp), %rsi
leaq -0xc0(%rbp), %rdx
callq 0x8031
leaq 0x419a(%rip), %rdx      # 0xbb5e
leaq -0xa0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x7fb1
leaq 0x28(%r14), %rdx
leaq -0x60(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8008
leaq 0x4175(%rip), %rdx      # 0xbb64
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x7fb1
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0x33d0
leaq -0x40(%rbp), %rdi
callq 0x33e8
leaq -0x60(%rbp), %rdi
callq 0x33e8
leaq -0xa0(%rbp), %rdi
callq 0x33e8
leaq -0x80(%rbp), %rdi
callq 0x33e8
leaq -0xc0(%rbp), %rdi
callq 0x33e8
leaq -0x100(%rbp), %rdi
callq 0x33e8
leaq -0xe0(%rbp), %rdi
jmp 0x7b22
cmpl $0x15, %r12d
je 0x7aa1
cmpl $0x14, %r12d
jne 0x7b27
leaq -0x60(%rbp), %rdi
pushq $0x14
popq %rdx
movq %r15, %rsi
callq 0x6edc
leaq 0x8(%r14), %rdx
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x8008
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0x33d0
leaq -0x40(%rbp), %rdi
callq 0x33e8
leaq -0x60(%rbp), %rdi
jmp 0x7b22
leaq 0x8(%r14), %rdx
leaq 0x3b4e(%rip), %rsi      # 0xb5fa
leaq -0x80(%rbp), %rdi
callq 0x80a2
leaq 0x40af(%rip), %rdx      # 0xbb6b
leaq -0xa0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x7fb1
leaq 0x28(%r14), %rdx
leaq -0x60(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x8008
leaq 0x3ebe(%rip), %rdx      # 0xb9a5
leaq -0x40(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x7fb1
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0x33d0
leaq -0x40(%rbp), %rdi
callq 0x33e8
leaq -0x60(%rbp), %rdi
callq 0x33e8
leaq -0xa0(%rbp), %rdi
callq 0x33e8
leaq -0x80(%rbp), %rdi
callq 0x33e8
leaq -0x40(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
callq 0x6f0c
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq 0x33d0
leaq -0x40(%rbp), %rdi
callq 0x33e8
movq %rbx, %rax
addq $0xe0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x33e8
jmp 0x7b6f
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x33e8
jmp 0x7b7d
movq %rax, %r14
leaq -0xa0(%rbp), %rdi
callq 0x33e8
jmp 0x7b9c
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x33e8
jmp 0x7ba5
movq %rax, %r14
leaq -0x80(%rbp), %rdi
jmp 0x7c21
movq %rax, %r14
leaq -0x60(%rbp), %rdi
jmp 0x7c21
jmp 0x7c28
jmp 0x7c28
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x33e8
jmp 0x7bc0
movq %rax, %r14
leaq -0x60(%rbp), %rdi
callq 0x33e8
jmp 0x7bce
movq %rax, %r14
leaq -0xa0(%rbp), %rdi
callq 0x33e8
jmp 0x7bdf
movq %rax, %r14
leaq -0x80(%rbp), %rdi
callq 0x33e8
jmp 0x7bed
movq %rax, %r14
leaq -0xc0(%rbp), %rdi
callq 0x33e8
leaq -0x100(%rbp), %rdi
callq 0x33e8
leaq -0xe0(%rbp), %rdi
jmp 0x7c21
movq %rax, %r14
jmp 0x7bf9
movq %rax, %r14
jmp 0x7c05
jmp 0x7c28
movq %rax, %r14
leaq -0x40(%rbp), %rdi
callq 0x33e8
jmp 0x7c2b
movq %rax, %r14
movq %rbx, %rdi
callq 0x33e8
movq %r14, %rdi
callq 0x3360
nop