LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_function::dump(std::ostream&, int)
void AST_function::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Declaration of Function " 
         << func->getName()
         << " -> "
         << types.types[func->getType()]->name
         << endl;
    
    strm << setw(3)
         << (formal_parameters->args.size() ? formal_parameters->line : line)
         << ":     (" << endl;
    dump_indentation(strm, indentation);
    
    formal_parameters->dump(strm, indentation+1);

    strm << setw(3)
         << (formal_parameters->args.size() ?
            formal_parameters->args.back()->getLine() : line)
         << ":     )" << endl;
    
    instructions->dump(strm, indentation+1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1c5c0(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1c3bc(%rip), %rsi     # 0x234cc
movq %r14, %rdi
callq 0x62b0
movq %rax, %r12
movq 0x98(%r15), %rsi
movq %rsp, %r13
movq %r13, %rdi
callq 0x13efa
movq %r12, %rdi
movq %r13, %rsi
callq 0x62a0
leaq 0x1c3a6(%rip), %rsi     # 0x234e5
movq %rax, %rdi
callq 0x62b0
movq %rax, %r12
movq 0x98(%r15), %rdi
callq 0x13f0c
cltq
leaq 0x312a9(%rip), %rcx     # 0x38408
movq (%rcx), %rcx
movq (%rcx,%rax,8), %rsi
addq $0x8, %rsi
movq %r12, %rdi
callq 0x62a0
movq %rax, %rdi
callq 0x6130
movq %rsp, %rdi
callq 0x65c8
movq (%r14), %rax
movq -0x18(%rax), %rax
pushq $0x3
popq %r12
movq %r12, 0x10(%r14,%rax)
movq 0xa0(%r15), %rax
movq 0x18(%rax), %rcx
cmpq 0x10(%rax), %rcx
cmoveq %r15, %rax
movl 0x8(%rax), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1c333(%rip), %rsi     # 0x234ea
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
movq 0xa0(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
movq (%r14), %rax
movq -0x18(%rax), %rax
movq %r12, 0x10(%r14,%rax)
movq 0xa0(%r15), %rcx
movq 0x18(%rcx), %rax
cmpq 0x10(%rcx), %rax
je 0x720e
movq -0x8(%rax), %rdi
callq 0x13f10
movl %eax, %esi
jmp 0x7212
movl 0x8(%r15), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1c2d1(%rip), %rsi     # 0x234f2
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0xa8(%r15), %rdi
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %rbx
movq %rsp, %rdi
callq 0x65c8
movq %rbx, %rdi
callq 0x6530
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_arg_list::dump(std::ostream&, int)
void AST_arg_list::dump(ostream &strm, int indentation){  
    vector<symbol*>::iterator it;
    for ( it = args.begin(); it != args.end(); ){
        strm << setw(3) << (*it)->getLine() << ": ";
        dump_indentation(strm, indentation);

        strm << types.types[(*it)->getType()]->name << "(";
        strm << (*it)->getName();
        strm << ")";
        
        if ( ++it != args.end() ){
            strm << ",";
        }
        strm << endl;
        
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x10(%rdi), %r13
leaq 0x8(%rsp), %rbp
leaq 0x1c26e(%rip), %r12     # 0x234f8
cmpq 0x18(%r15), %r13
je 0x7354
movq (%r14), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%r14,%rax)
movq (%r13), %rdi
callq 0x13f10
movq %r14, %rdi
movl %eax, %esi
callq 0x6510
movq %rax, %rdi
leaq 0x1c3f6(%rip), %rsi     # 0x236b7
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
movq (%r13), %rdi
callq 0x13f0c
cltq
leaq 0x31126(%rip), %rcx     # 0x38408
movq (%rcx), %rcx
movq (%rcx,%rax,8), %rsi
addq $0x8, %rsi
movq %r14, %rdi
callq 0x62a0
movq %rax, %rdi
leaq 0x1c1f1(%rip), %rsi     # 0x234f0
callq 0x62b0
movq (%r13), %rsi
movq %rbp, %rdi
callq 0x13efa
movq %r14, %rdi
movq %rbp, %rsi
callq 0x62a0
movq %rbp, %rdi
callq 0x65c8
movq %r14, %rdi
movq %r12, %rsi
callq 0x62b0
addq $0x8, %r13
cmpq 0x18(%r15), %r13
je 0x7347
movq %r14, %rdi
leaq 0x1c350(%rip), %rsi     # 0x23692
callq 0x62b0
movq %r14, %rdi
callq 0x6130
jmp 0x728a
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65c8
movq %rbx, %rdi
callq 0x6530
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_discrete_arg_list::dump(std::ostream&, int)
void AST_discrete_arg_list::dump(ostream &strm, int indentation){  
    vector<symbol*>::iterator it;
    vector<pair<int,int> >::iterator it_boundaries;
    
    it_boundaries = boundaries.begin();
    for ( it = args.begin(); it != args.end(); ++it_boundaries){
        strm << setw(3) << (*it)->getLine() << ": ";
        dump_indentation(strm, indentation);

        strm << types.types[(*it)->getType()]->name << "(";
        strm << (*it)->getName();
        strm << ") in [" << (*it_boundaries).first << ", "
             << (*it_boundaries).second << "]";
        
        if ( ++it != args.end() ){
            strm << ",";
        }
        
        strm << endl;
        
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq 0x10(%rdi), %r13
movq 0x28(%rdi), %r12
leaq 0x8(%rsp), %rbp
cmpq 0x18(%r15), %r13
je 0x74a4
movq (%r14), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%r14,%rax)
movq (%r13), %rdi
callq 0x13f10
movq %r14, %rdi
movl %eax, %esi
callq 0x6510
movq %rax, %rdi
leaq 0x1c2e5(%rip), %rsi     # 0x236b7
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
movq (%r13), %rdi
callq 0x13f0c
cltq
leaq 0x31015(%rip), %rcx     # 0x38408
movq (%rcx), %rcx
movq (%rcx,%rax,8), %rsi
addq $0x8, %rsi
movq %r14, %rdi
callq 0x62a0
movq %rax, %rdi
leaq 0x1c0e0(%rip), %rsi     # 0x234f0
callq 0x62b0
movq (%r13), %rsi
movq %rbp, %rdi
callq 0x13efa
movq %r14, %rdi
movq %rbp, %rsi
callq 0x62a0
movq %rbp, %rdi
callq 0x65c8
movq %r14, %rdi
leaq 0x1c0bc(%rip), %rsi     # 0x234fa
callq 0x62b0
movl (%r12), %esi
movq %rax, %rdi
callq 0x6510
movq %rax, %rdi
leaq 0x1c5ed(%rip), %rsi     # 0x23a46
callq 0x62b0
movl 0x4(%r12), %esi
movq %rax, %rdi
callq 0x6510
movq %rax, %rdi
leaq 0x1bbc8(%rip), %rsi     # 0x2303d
callq 0x62b0
addq $0x8, %r13
cmpq 0x18(%r15), %r13
je 0x7493
movq %r14, %rdi
leaq 0x1c204(%rip), %rsi     # 0x23692
callq 0x62b0
movq %r14, %rdi
callq 0x6130
addq $0x8, %r12
jmp 0x739b
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65c8
movq %rbx, %rdi
callq 0x6530
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_block::dump(std::ostream&, int)
void AST_block::dump(ostream &strm, int indentation){
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "{" << endl;
    
    vector<AST_statement*>::iterator it;
    for (it = statements.begin(); it != statements.end(); ++ it){
        (*it)->dump(strm, indentation+1);
    }
    
    strm << setw(3) << (statements.size() ? statements.back()->line : line) << ": ";
    dump_indentation(strm, indentation);
    strm << "}" << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %r14d
movq %rsi, %rbx
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
leaq 0x8(%rdi), %r12
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1c1b3(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %r14d, %esi
callq 0x6e64
leaq 0x1bfe3(%rip), %rsi     # 0x23501
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x80(%r15), %r13
leal 0x1(%r14), %ebp
movq 0x88(%r15), %rax
cmpq %rax, %r13
je 0x7559
movq (%r13), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
movl %ebp, %edx
callq *(%rax)
addq $0x8, %r13
jmp 0x7539
movq (%rbx), %rcx
movq -0x18(%rcx), %rcx
movq $0x3, 0x10(%rbx,%rcx)
cmpq 0x80(%r15), %r13
je 0x757a
movq -0x8(%rax), %r12
addq $0x8, %r12
movl (%r12), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1c12a(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %r14d, %esi
callq 0x6e64
leaq 0x1bf5c(%rip), %rsi     # 0x23503
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6130
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_rlval::dump(std::ostream&, int)
void AST_rlval::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "R-L-Value:" << endl;
    value->dump(strm, indentation+1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1c076(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1bebe(%rip), %rsi     # 0x23518
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x48(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq (%rax), %rax
movq %r14, %rsi
movl %ebx, %edx
popq %rbx
popq %r14
popq %r15
jmpq *%rax
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_dereference::dump(std::ostream&, int)
void AST_dereference::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "Dereference [" << types.types[type]->name << "]" << endl;
    value->dump(strm, indentation+1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1c006(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1be59(%rip), %rsi     # 0x23523
movq %r14, %rdi
callq 0x62b0
movslq 0x10(%r15), %rcx
leaq 0x30d2b(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1b946(%rip), %rsi     # 0x2303d
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x48(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq (%rax), %rax
movq %r14, %rsi
movl %ebx, %edx
popq %rbx
popq %r14
popq %r15
jmpq *%rax
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_address::dump(std::ostream&, int)
void AST_address::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "Pointer to:" << endl;
    value->dump(strm, indentation+1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1bf68(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1bdc9(%rip), %rsi     # 0x23531
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x48(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq (%rax), %rax
movq %r14, %rsi
movl %ebx, %edx
popq %rbx
popq %r14
popq %r15
jmpq *%rax
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_array_access::dump(std::ostream&, int)
void AST_array_access::dump(ostream &strm, int indentation){
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    if (index == 0){
        strm << "Error in array access" << endl;
        return;
    }
    
    strm << "Get: [" << types.types[type]->name << "]" << endl;
    
    // si hay un error, no habr�a �ndice
    if (0 != index) {
        index->dump(strm, indentation+1);
    }
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "From:" << endl;
    
    value->dump(strm, indentation+1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %r15d
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1bef5(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x6e64
cmpq $0x0, 0x50(%r14)
je 0x78a3
leaq 0x1bd6c(%rip), %rsi     # 0x23553
movq %rbx, %rdi
callq 0x62b0
movslq 0x10(%r14), %rcx
leaq 0x30c0e(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1b829(%rip), %rsi     # 0x2303d
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x50(%r14), %rdi
leal 0x1(%r15), %ebp
testq %rdi, %rdi
je 0x783b
movq (%rdi), %rax
movq %rbx, %rsi
movl %ebp, %edx
callq *(%rax)
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rbx,%rax)
movl 0x8(%r14), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1be59(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x6e64
leaq 0x1bce2(%rip), %rsi     # 0x2355a
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x48(%r14), %rdi
movq (%rdi), %rax
movq (%rax), %rax
movq %rbx, %rsi
movl %ebp, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmpq *%rax
leaq 0x1bc93(%rip), %rsi     # 0x2353d
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmp 0x6130
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_struct_access::dump(std::ostream&, int)
void AST_struct_access::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "Get " << field << "[" << types.types[type]->name << "] ";
    strm << "from:" << endl;
    
    value->dump(strm, indentation+1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1bdc4(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1bc54(%rip), %rsi     # 0x23560
movq %r14, %rdi
callq 0x62b0
leaq 0x50(%r15), %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1bc31(%rip), %rsi     # 0x23558
movq %rax, %rdi
callq 0x62b0
movslq 0x10(%r15), %rcx
leaq 0x30ace(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1bb58(%rip), %rsi     # 0x234ac
movq %rax, %rdi
callq 0x62b0
leaq 0x1bc02(%rip), %rsi     # 0x23565
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x48(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq (%rax), %rax
movq %r14, %rsi
movl %ebx, %edx
popq %rbx
popq %r14
popq %r15
jmpq *%rax
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_op::binary_operator[abi:cxx11]()
string AST_op::binary_operator(){
    switch ( oper_type ){
        case PLUS:
            return "+";
        case MINUS:
            return "-";
        case PROD:
            return "*";
        case DIV:
            return "/";
        case MOD:
            return "%";
        case AND:
            return "&&";
        case OR:
            return "||";
        case IMP:
            return "==>";
        case CONSEQ:
            return "<==";
        case EQ:
            return "==";
        case UNEQ:
            return "!=";
        case LESS:
            return "<";
        case LESS_EQ:
            return "<=";
        case GREAT:
            return ">";
        case GREAT_EQ:
            return ">=";
    }
    return "";
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
movl 0x68(%rsi), %eax
cmpq $0xe, %rax
ja 0x79ef
leaq 0x1b6e8(%rip), %rcx     # 0x2308c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1bbb7(%rip), %rsi     # 0x2356b
jmp 0x7a3e
leaq 0x1bbc7(%rip), %rsi     # 0x23587
jmp 0x7a3e
leaq 0x1bbb9(%rip), %rsi     # 0x23582
jmp 0x7a3e
leaq 0x1bb9d(%rip), %rsi     # 0x2356f
jmp 0x7a3e
leaq 0x1bba9(%rip), %rsi     # 0x23584
jmp 0x7a3e
leaq 0x1bb98(%rip), %rsi     # 0x2357c
jmp 0x7a3e
leaq 0x1dce5(%rip), %rsi     # 0x256d2
jmp 0x7a3e
leaq 0x1d97c(%rip), %rsi     # 0x25372
jmp 0x7a3e
leaq 0x1bb6e(%rip), %rsi     # 0x2356d
jmp 0x7a3e
leaq 0x1bb6f(%rip), %rsi     # 0x23577
jmp 0x7a3e
leaq 0x1dcf8(%rip), %rsi     # 0x25709
jmp 0x7a3e
leaq 0x1bb57(%rip), %rsi     # 0x23571
jmp 0x7a3e
leaq 0x1d930(%rip), %rsi     # 0x25353
jmp 0x7a3e
leaq 0x1bb48(%rip), %rsi     # 0x23574
jmp 0x7a3e
leaq 0x1bb4a(%rip), %rsi     # 0x2357f
jmp 0x7a3e
leaq 0x1bb3d(%rip), %rsi     # 0x2357b
leaq 0xf(%rsp), %rdx
movq %rbx, %rdi
callq 0x6d6c
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
retq
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_op::dump(std::ostream&, int)
void AST_op::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << binary_operator() << " [" << types.types[type]->name << "]" << endl;
    
    left->dump(strm, indentation+1);
    right->dump(strm, indentation+1);
    
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1bc2e(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x8(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x798c
movq %r14, %rdi
movq %r12, %rsi
callq 0x62a0
leaq 0x1ba9a(%rip), %rsi     # 0x23557
movq %rax, %rdi
callq 0x62b0
movslq 0x10(%r15), %rcx
leaq 0x30938(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1b553(%rip), %rsi     # 0x2303d
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
leaq 0x8(%rsp), %rdi
callq 0x65c8
movq 0x58(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
movq 0x60(%r15), %rdi
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x65c8
movq %rbx, %rdi
callq 0x6530
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_un_op::unary_operator[abi:cxx11]()
string AST_un_op::unary_operator(){
    
    switch ( oper_type ){
        case NOT:
            return "!";
        case NEG:
            return "-";
    }
}

// Assembly:
pushq %rbx
subq $0x10, %rsp
movq %rdi, %rbx
cmpl $0x1, 0x48(%rsi)
jne 0x7b60
leaq 0x20fd5(%rip), %rsi     # 0x28b2e
leaq 0xf(%rsp), %rdx
jmp 0x7b6c
leaq 0x1dba2(%rip), %rsi     # 0x25709
leaq 0xe(%rsp), %rdx
movq %rbx, %rdi
callq 0x6d6c
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_un_op::dump(std::ostream&, int)
void AST_un_op::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "Unary " << unary_operator()
         << " [" << types.types[type]->name << "]" << endl;
    
    expr->dump(strm, indentation+1);
    
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1bb02(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1b9bc(%rip), %rsi     # 0x2358a
movq %r14, %rdi
callq 0x62b0
movq %rax, %r12
movq %rsp, %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0x7b44
movq %r12, %rdi
movq %r13, %rsi
callq 0x62a0
leaq 0x1b95e(%rip), %rsi     # 0x23557
movq %rax, %rdi
callq 0x62b0
movslq 0x10(%r15), %rcx
leaq 0x307fc(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1b417(%rip), %rsi     # 0x2303d
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq %rsp, %rdi
callq 0x65c8
movq 0x50(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %rbx
movq %rsp, %rdi
callq 0x65c8
movq %rbx, %rdi
callq 0x6530
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_ident::dump(std::ostream&, int)
void AST_ident::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "Identifier: " << value;
    if ( sym ){
        strm << " ["
             << types.types[sym->getType()]->name
             << ":"
             << sym->getLine()
             << ":"
             << sym->getColumn()
             << "]";
    } else {
        strm << " [UNDEFINED]";
    }
    strm << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1b787(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1b6b3(%rip), %rsi     # 0x235fc
movq %rbx, %rdi
callq 0x62b0
leaq 0x48(%r14), %rsi
movq %rax, %rdi
callq 0x62a0
cmpq $0x0, 0x68(%r14)
je 0x7ff4
leaq 0x1b5e8(%rip), %rsi     # 0x23557
movq %rbx, %rdi
callq 0x62b0
movq %rax, %r15
movq 0x68(%r14), %rdi
callq 0x13f0c
cltq
leaq 0x3047c(%rip), %rcx     # 0x38408
movq (%rcx), %rcx
movq (%rcx,%rax,8), %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x62a0
leaq 0x1d354(%rip), %r15     # 0x252fa
movq %rax, %rdi
movq %r15, %rsi
callq 0x62b0
movq %rax, %r12
movq 0x68(%r14), %rdi
callq 0x13f10
movq %r12, %rdi
movl %eax, %esi
callq 0x6510
movq %rax, %rdi
movq %r15, %rsi
callq 0x62b0
movq %rax, %r15
movq 0x68(%r14), %rdi
callq 0x13f14
movq %r15, %rdi
movl %eax, %esi
callq 0x6510
leaq 0x1b04e(%rip), %rsi     # 0x2303d
movq %rax, %rdi
jmp 0x7ffe
leaq 0x1b60e(%rip), %rsi     # 0x23609
movq %rbx, %rdi
callq 0x62b0
movq %rbx, %rdi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x6130
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_function_call::dump(std::ostream&, int)
void AST_function_call::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << name;
    if ( sym ){
        strm << " ["
             << types.types[sym->getType()]->name
             << ":"
             << sym->getLine()
             << ":"
             << sym->getColumn()
             << "]";
    } else {
        strm << " [UNDEFINED]";
    }
    
    strm << endl;
    strm << "     ";
    dump_indentation(strm, indentation);
    
    strm << "(" << endl;
    params->dump(strm, indentation+1);
    
    strm << "     ";
    dump_indentation(strm, indentation);
    strm << ")" << endl;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %edx, %r14d
movq %rsi, %rbx
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1b66f(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %r14d, %esi
callq 0x6e64
leaq 0x50(%r15), %rsi
movq %rbx, %rdi
callq 0x62a0
cmpq $0x0, 0x70(%r15)
je 0x80fe
leaq 0x1b4de(%rip), %rsi     # 0x23557
movq %rbx, %rdi
callq 0x62b0
movq %rax, %r12
movq 0x70(%r15), %rdi
callq 0x13f0c
cltq
leaq 0x30372(%rip), %rcx     # 0x38408
movq (%rcx), %rcx
movq (%rcx,%rax,8), %rsi
addq $0x8, %rsi
movq %r12, %rdi
callq 0x62a0
leaq 0x1d24a(%rip), %r12     # 0x252fa
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rax, %r13
movq 0x70(%r15), %rdi
callq 0x13f10
movq %r13, %rdi
movl %eax, %esi
callq 0x6510
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rax, %r12
movq 0x70(%r15), %rdi
callq 0x13f14
movq %r12, %rdi
movl %eax, %esi
callq 0x6510
leaq 0x1af44(%rip), %rsi     # 0x2303d
movq %rax, %rdi
jmp 0x8108
leaq 0x1b504(%rip), %rsi     # 0x23609
movq %rbx, %rdi
callq 0x62b0
movq %rbx, %rdi
callq 0x6130
leaq 0x1d624(%rip), %r12     # 0x25740
movq %rbx, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rbx, %rdi
movl %r14d, %esi
callq 0x6e64
leaq 0x1b3b7(%rip), %rsi     # 0x234f0
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x80(%r15), %rdi
leal 0x1(%r14), %edx
movq (%rdi), %rax
movq %rbx, %rsi
callq *(%rax)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rbx, %rdi
movl %r14d, %esi
callq 0x6e64
leaq 0x1b37f(%rip), %rsi     # 0x234f8
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x6130
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_parameters_list::dump(std::ostream&, int)
void AST_parameters_list::dump(ostream &strm, int indentation){
    
    for (uint i=0; i < elem.size(); i++){
        if (0 != elem[i]) {
            elem[i]->dump(strm, indentation);
        }
        
        if ( i + 1 < elem.size() ){
            strm << "   ";
            dump_indentation(strm, indentation);
            strm << "," << endl;
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
pushq $0x1
popq %rbp
leaq 0x1d593(%rip), %r12     # 0x25742
leaq 0x1b4dc(%rip), %r13     # 0x23692
leal -0x1(%rbp), %ecx
movq 0x10(%r15), %rdx
movq 0x18(%r15), %rax
subq %rdx, %rax
sarq $0x3, %rax
cmpq %rcx, %rax
jbe 0x821f
movq (%rdx,%rcx,8), %rdi
testq %rdi, %rdi
je 0x81ec
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
movq 0x18(%r15), %rax
subq 0x10(%r15), %rax
sarq $0x3, %rax
movl %ebp, %ecx
cmpq %rcx, %rax
jbe 0x821b
movq %r14, %rdi
movq %r12, %rsi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
movq %r14, %rdi
movq %r13, %rsi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
incl %ebp
jmp 0x81b6
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_conversion::dump(std::ostream&, int)
void AST_conversion::dump(ostream &strm, int indentation){
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Conversion from " << types.types[original_type]->name
         << " to " << types.types[type]->name << endl;
     
     expr->dump(strm, indentation+1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1b457(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1b39d(%rip), %rsi     # 0x23616
movq %r14, %rdi
callq 0x62b0
movslq 0x48(%r15), %rcx
leaq 0x3017c(%rip), %r12     # 0x38408
movq (%r12), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1b380(%rip), %rsi     # 0x23627
movq %rax, %rdi
callq 0x62b0
movslq 0x10(%r15), %rcx
movq (%r12), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
movq %rax, %rdi
callq 0x6130
movq 0x50(%r15), %rdi
incl %ebx
movq (%rdi), %rax
movq (%rax), %rax
movq %r14, %rsi
movl %ebx, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
jmpq *%rax
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_assignment::dump(std::ostream&, int)
void AST_assignment::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Assignment:" << endl;
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation+1);
    
    strm << "Lvalue ["
         << types.types[lvalue->type]->name
         << "]" << endl;
    lvalue->dump(strm, indentation+2);
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation+1);
    
    if (0 != expr) {
        strm << "Rvalue ["
             << types.types[expr->type]->name
             << "]" << endl;
        
        expr->dump(strm, indentation+2);
    } else {
        strm << "Rvalue undefined" << endl;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %r14d
movq %rsi, %rbx
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
pushq $0x3
popq %r13
movq %r13, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1b34b(%rip), %r12     # 0x236b7
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rbx, %rdi
movl %r14d, %esi
callq 0x6e64
leaq 0x1b2a3(%rip), %rsi     # 0x2362c
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
movl 0x8(%r15), %esi
movq %rbx, %rdi
callq 0x6510
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
leal 0x1(%r14), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1b267(%rip), %rsi     # 0x23638
movq %rbx, %rdi
callq 0x62b0
movq 0x78(%r15), %rcx
movslq 0x10(%rcx), %rcx
leaq 0x30020(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1ac3b(%rip), %rsi     # 0x2303d
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x78(%r15), %rdi
addl $0x2, %r14d
movq (%rdi), %rax
movq %rbx, %rsi
movl %r14d, %edx
callq *(%rax)
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
movl 0x8(%r15), %esi
movq %rbx, %rdi
callq 0x6510
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
cmpq $0x0, 0x80(%r15)
je 0x84ca
leaq 0x1b1de(%rip), %rsi     # 0x23641
movq %rbx, %rdi
callq 0x62b0
movq 0x80(%r15), %rcx
movslq 0x10(%rcx), %rcx
leaq 0x2ff8b(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1aba6(%rip), %rsi     # 0x2303d
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x80(%r15), %rdi
movq (%rdi), %rax
movq (%rax), %rax
movq %rbx, %rsi
movl %r14d, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *%rax
leaq 0x1b179(%rip), %rsi     # 0x2364a
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x6130
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_return::dump(std::ostream&, int)
void AST_return::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    if ( expr ){
        strm << "Return [" << types.types[expr->type]->name << "]" << endl;
        expr->dump(strm, indentation+1);
    } else {
        strm << "Empty return" << endl;
    }
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1b18d(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
cmpq $0x0, 0x78(%r14)
je 0x85a2
leaq 0x1b111(%rip), %rsi     # 0x2365b
movq %rbx, %rdi
callq 0x62b0
movq 0x78(%r14), %rcx
movslq 0x10(%rcx), %rcx
leaq 0x2fea7(%rip), %rdx     # 0x38408
movq (%rdx), %rdx
movq (%rdx,%rcx,8), %rsi
addq $0x8, %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1aac2(%rip), %rsi     # 0x2303d
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x78(%r14), %rdi
incl %ebp
movq (%rdi), %rax
movq (%rax), %rax
movq %rbx, %rsi
movl %ebp, %edx
popq %rbx
popq %r14
popq %rbp
jmpq *%rax
leaq 0x1b0bb(%rip), %rsi     # 0x23664
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
popq %rbx
popq %r14
popq %rbp
jmp 0x6130
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_conditional::dump(std::ostream&, int, bool)
void AST_conditional::dump(ostream &strm, int indentation, bool first){
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    if ( first ){
        strm << "If" << endl;
    } else if ( expr ){
        strm << "Else If" << endl;
    } else {
        strm << "Else" << endl;
    }

    dump_indentation(strm, indentation+1);
    strm << "     (" << endl;
    
    if ( expr ){
        expr->dump(strm, indentation+1);
    }
    
    dump_indentation(strm, indentation+1);
    strm << "     )" << endl;
    
    blck->dump(strm, indentation+1);
    
    if ( else_if ){
        else_if->dump(strm, indentation, false);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %ecx, %ebp
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1b0c6(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
cmpq $0x0, 0x78(%r15)
leaq 0x1b06a(%rip), %rax     # 0x23679
leaq 0x1b05b(%rip), %rcx     # 0x23671
cmoveq %rax, %rcx
leaq 0x1b055(%rip), %rsi     # 0x23676
testl %ebp, %ebp
cmoveq %rcx, %rsi
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
leal 0x1(%rbx), %ebp
movq %r14, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1aea0(%rip), %rsi     # 0x234eb
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x78(%r15), %rdi
testq %rdi, %rdi
je 0x866e
movq (%rdi), %rax
movq %r14, %rsi
movl %ebp, %edx
callq *(%rax)
movq %r14, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1ae74(%rip), %rsi     # 0x234f3
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x80(%r15), %rdi
movq (%rdi), %rax
movq %r14, %rsi
movl %ebp, %edx
callq *(%rax)
movq 0x88(%r15), %rdi
testq %rdi, %rdi
je 0x86c6
movq (%rdi), %rax
movq 0x18(%rax), %rax
movq %r14, %rsi
movl %ebx, %edx
xorl %ecx, %ecx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmpq *%rax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_loop::dump(std::ostream&, int)
void AST_loop::dump(ostream &strm, int indentation){
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "While" << endl;
    
    dump_indentation(strm, indentation+1);
    strm << "     (" << endl;
    
    if ( expr ){
        expr->dump(strm, indentation+1);
    }
    
    dump_indentation(strm, indentation+1);
    strm << "     )" << endl;
    
    blck->dump(strm, indentation+1);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1afb6(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1af64(%rip), %rsi     # 0x2367e
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
incl %ebx
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1adae(%rip), %rsi     # 0x234eb
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x78(%r15), %rdi
testq %rdi, %rdi
je 0x8760
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1ad82(%rip), %rsi     # 0x234f3
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x80(%r15), %rdi
movq (%rdi), %rax
movq (%rax), %rax
movq %r14, %rsi
movl %ebx, %edx
popq %rbx
popq %r14
popq %r15
jmpq *%rax
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_bounded_loop::dump(std::ostream&, int)
void AST_bounded_loop::dump(ostream &strm, int indentation){
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "For " << name << " in" << endl;
    
    dump_indentation(strm, indentation+1);
    strm << "     (" << endl;
    
    if (0 != left_bound) {
        left_bound->dump(strm, indentation+2);
    }
    
    dump_indentation(strm, indentation+1);
    strm << "     ," << endl;
    
    if (0 != right_bound) {
        right_bound->dump(strm, indentation+2);
    }
    
    dump_indentation(strm, indentation+1);
    strm << "     )" << endl;
    
    blck->dump(strm, indentation+1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movl %edx, %r15d
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1aeeb(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x6e64
leaq 0x1ae9e(%rip), %rsi     # 0x23684
movq %rbx, %rdi
callq 0x62b0
leaq 0x78(%r14), %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1ae88(%rip), %rsi     # 0x23689
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
leal 0x1(%r15), %ebp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1acc5(%rip), %rsi     # 0x234eb
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0xa8(%r14), %rdi
testq %rdi, %rdi
je 0x884e
leal 0x2(%r15), %edx
movq (%rdi), %rax
movq %rbx, %rsi
callq *(%rax)
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1ae2e(%rip), %rsi     # 0x2368d
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0xb0(%r14), %rdi
testq %rdi, %rdi
je 0x888a
addl $0x2, %r15d
movq (%rdi), %rax
movq %rbx, %rsi
movl %r15d, %edx
callq *(%rax)
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1ac58(%rip), %rsi     # 0x234f3
movq %rbx, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0xb8(%r14), %rdi
movq (%rdi), %rax
movq (%rax), %rax
movq %rbx, %rsi
movl %ebp, %edx
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
jmpq *%rax
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_read::dump(std::ostream&, int)
void AST_read::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Read " << variable;
    
    if ( sym ){
        strm << " ["
             << types.types[sym->getType()]->name
             << ":"
             << sym->getLine()
             << ":"
             << sym->getColumn()
             << "]";
    } else {
        strm << " [UNDEFINED]";
    }
    strm << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edx, %ebp
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1adbb(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %rbx, %rdi
movl %ebp, %esi
callq 0x6e64
leaq 0x1ad7f(%rip), %rsi     # 0x23694
movq %rbx, %rdi
callq 0x62b0
leaq 0x78(%r14), %rsi
movq %rax, %rdi
callq 0x62a0
cmpq $0x0, 0x98(%r14)
je 0x89cc
leaq 0x1ac19(%rip), %rsi     # 0x23557
movq %rbx, %rdi
callq 0x62b0
movq %rax, %r15
movq 0x98(%r14), %rdi
callq 0x13f0c
cltq
leaq 0x2faaa(%rip), %rcx     # 0x38408
movq (%rcx), %rcx
movq (%rcx,%rax,8), %rsi
addq $0x8, %rsi
movq %r15, %rdi
callq 0x62a0
leaq 0x1c982(%rip), %r15     # 0x252fa
movq %rax, %rdi
movq %r15, %rsi
callq 0x62b0
movq %rax, %r12
movq 0x98(%r14), %rdi
callq 0x13f10
movq %r12, %rdi
movl %eax, %esi
callq 0x6510
movq %rax, %rdi
movq %r15, %rsi
callq 0x62b0
movq %rax, %r15
movq 0x98(%r14), %rdi
callq 0x13f14
movq %r15, %rdi
movl %eax, %esi
callq 0x6510
leaq 0x1a676(%rip), %rsi     # 0x2303d
movq %rax, %rdi
jmp 0x89d6
leaq 0x1ac36(%rip), %rsi     # 0x23609
movq %rbx, %rdi
callq 0x62b0
movq %rbx, %rdi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x6130
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_print::dump(std::ostream&, int)
void AST_print::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Print" << endl;
    vector<AST_expression*>::iterator it;
    for (it=list.begin(); it!=list.end(); ++it){
        
        if ( it != list.begin() ){
            dump_indentation(strm, indentation+1);
            strm << "     ," << endl;
        }
        
        (*it)->dump(strm, indentation+1);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %edx, %ebx
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %rax
movq -0x18(%rax), %rax
movq $0x3, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1ac98(%rip), %rsi     # 0x236b7
movq %rax, %rdi
callq 0x62b0
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
leaq 0x1ac62(%rip), %rsi     # 0x2369a
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x78(%r15), %r13
incl %ebx
leaq 0x1ac38(%rip), %r12     # 0x2368d
cmpq 0x80(%r15), %r13
je 0x8a95
cmpq 0x78(%r15), %r13
je 0x8a81
movq %r14, %rdi
movl %ebx, %esi
callq 0x6e64
movq %r14, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq (%r13), %rdi
movq (%rdi), %rax
movq %r14, %rsi
movl %ebx, %edx
callq *(%rax)
addq $0x8, %r13
jmp 0x8a55
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_fill::dump(std::ostream&, int)
void AST_fill::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Fill" << endl;
    expr->dump(strm, indentation+1);
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "With " << function << endl;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %edx, %r15d
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
movq -0x18(%rax), %rax
pushq $0x3
popq %r13
movq %r13, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %r14, %rdi
callq 0x6510
leaq 0x1abe3(%rip), %r12     # 0x236b7
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %r14, %rdi
movl %r15d, %esi
callq 0x6e64
leaq 0x1abaf(%rip), %rsi     # 0x236a0
movq %r14, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq 0x78(%rbx), %rdi
leal 0x1(%r15), %edx
movq (%rdi), %rax
movq %r14, %rsi
callq *(%rax)
movq (%r14), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%r14,%rax)
movl 0x8(%rbx), %esi
movq %r14, %rdi
callq 0x6510
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %r14, %rdi
movl %r15d, %esi
callq 0x6e64
leaq 0x1ab60(%rip), %rsi     # 0x236a5
movq %r14, %rdi
callq 0x62b0
subq $-0x80, %rbx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x62a0
movq %rax, %rdi
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
jmp 0x6130
nop
// File: /workspace/github_cpp_makefile_star2_O2/kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_map::dump(std::ostream&, int)
void AST_map::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Map (" << function << ")" <<endl;
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "Source: ";
    src->dump(strm, indentation+1);
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    strm << "Destination: ";
    dst->dump(strm, indentation+1);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %r15d
movq %rsi, %rbx
movq %rdi, %r14
movq (%rsi), %rax
movq -0x18(%rax), %rax
pushq $0x3
popq %r13
movq %r13, 0x10(%rsi,%rax)
movl 0x8(%rdi), %esi
movq %rbx, %rdi
callq 0x6510
leaq 0x1ab13(%rip), %r12     # 0x236b7
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x6e64
leaq 0x1aaea(%rip), %rsi     # 0x236ab
movq %rbx, %rdi
callq 0x62b0
leaq 0x88(%r14), %rsi
movq %rax, %rdi
callq 0x62a0
leaq 0x1a919(%rip), %rsi     # 0x234f8
movq %rax, %rdi
callq 0x62b0
movq %rax, %rdi
callq 0x6130
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
movl 0x8(%r14), %esi
movq %rbx, %rdi
callq 0x6510
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x6e64
leaq 0x1aa8d(%rip), %rsi     # 0x236b1
movq %rbx, %rdi
callq 0x62b0
movq 0x78(%r14), %rdi
leal 0x1(%r15), %ebp
movq (%rdi), %rax
movq %rbx, %rsi
movl %ebp, %edx
callq *(%rax)
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %r13, 0x10(%rbx,%rax)
movl 0x8(%r14), %esi
movq %rbx, %rdi
callq 0x6510
movq %rax, %rdi
movq %r12, %rsi
callq 0x62b0
movq %rbx, %rdi
movl %r15d, %esi
callq 0x6e64
leaq 0x1aa47(%rip), %rsi     # 0x236ba
movq %rbx, %rdi
callq 0x62b0
movq 0x80(%r14), %rdi
movq (%rdi), %rax
movq (%rax), %rax
movq %rbx, %rsi
movl %ebp, %edx
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *%rax
nop