// File: /workspace/github_cpp_makefile_star2_O3/sighingnow[P]compile-pascal/pl0_opt.cpp
// Function: BasicBlock::dump()
void BasicBlock::dump() {
    cout << ";; +++++++++++++++++++ Basic block: ";
    if (this->no == 0) {
        cout << "header ";
        cout << "begin with: " << this->begin << " ";
        cout << "end with: " << this->end << " ";
    }
    else {
        cout << this->no << " ";
        cout << "prefix: [";
        for (auto && i: this->prefix) { cout << i << " "; }
        cout << "]  ";
        cout << "suffix: [";
        for (auto && i: this->suffix) { cout << i << " "; }
        cout << "]";
    }
    if (this->is_end) { cout << " is end "; }
    cout << endl;
    for (auto && c: this->code) {
        cout << ";; " << c.str() << endl;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x4044e(%rip), %r14     # 0xb9fd8
leaq 0x190ef(%rip), %rsi     # 0x92c80
movl $0x24, %edx
movq %r14, %rdi
callq 0x52e0
movl (%rbx), %esi
movq 0x40431(%rip), %r15     # 0xb9fd8
testl %esi, %esi
je 0x79ca3
movq %r15, %rdi
callq 0x53c0
leaq 0x19748(%rip), %rsi     # 0x93306
movl $0x1, %edx
movq %rax, %rdi
callq 0x52e0
leaq 0x190f3(%rip), %rsi     # 0x92cc5
movl $0x9, %edx
movq %r15, %rdi
callq 0x52e0
movq 0x30(%rbx), %r13
movq 0x38(%rbx), %rbp
cmpq %rbp, %r13
je 0x79c1f
movq 0x403e5(%rip), %r15     # 0xb9fd8
leaq 0x1970c(%rip), %r12     # 0x93306
movl (%r13), %esi
movq %r15, %rdi
callq 0x53c0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
addq $0x4, %r13
cmpq %rbp, %r13
jne 0x79bfa
movq 0x403b2(%rip), %r15     # 0xb9fd8
leaq 0x190a2(%rip), %rsi     # 0x92ccf
movl $0x3, %edx
movq %r15, %rdi
callq 0x52e0
leaq 0x19092(%rip), %rsi     # 0x92cd3
movl $0x9, %edx
movq %r15, %rdi
callq 0x52e0
movq 0x48(%rbx), %r13
movq 0x50(%rbx), %rbp
cmpq %rbp, %r13
je 0x79c8e
movq 0x40376(%rip), %r15     # 0xb9fd8
leaq 0x1969d(%rip), %r12     # 0x93306
movl (%r13), %esi
movq %r15, %rdi
callq 0x53c0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
addq $0x4, %r13
cmpq %rbp, %r13
jne 0x79c69
movq 0x40343(%rip), %rdi     # 0xb9fd8
leaq 0x18f8c(%rip), %rsi     # 0x92c28
movl $0x1, %edx
jmp 0x79d17
leaq 0x18ffb(%rip), %rsi     # 0x92ca5
movl $0x7, %edx
movq %r15, %rdi
callq 0x52e0
leaq 0x18fef(%rip), %rsi     # 0x92cad
movl $0xc, %edx
movq %r15, %rdi
callq 0x52e0
movl 0x8(%rbx), %esi
movq %r15, %rdi
callq 0x53c0
leaq 0x19629(%rip), %r12     # 0x93306
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
leaq 0x18fc6(%rip), %rsi     # 0x92cba
movl $0xa, %edx
movq %r15, %rdi
callq 0x52e0
movl 0xc(%rbx), %esi
movq %r15, %rdi
callq 0x53c0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x52e0
cmpb $0x1, 0x5(%rbx)
jne 0x79d3a
movq 0x402af(%rip), %rdi     # 0xb9fd8
leaq 0x18fad(%rip), %rsi     # 0x92cdd
movl $0x8, %edx
callq 0x52e0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x5240
movsbl %al, %esi
movq %r14, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x5190
movq 0x18(%rbx), %r14
movq 0x20(%rbx), %rbp
cmpq %rbp, %r14
je 0x79e01
movq 0x4025f(%rip), %rbx     # 0xb9fd8
leaq 0x192e5(%rip), %r15     # 0x93065
leaq 0x8(%rsp), %r12
movl $0x3, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x52e0
movq %r12, %rdi
movq %r14, %rsi
callq 0x629c4
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %rbx, %rdi
callq 0x52e0
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x5240
movsbl %al, %esi
movq %r13, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x5190
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x79df8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
addq $0x50, %r14
cmpq %rbp, %r14
jne 0x79d85
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x79e2f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5260
movq %rbx, %rdi
callq 0x53d0
nop