// File: /workspace/github_cpp_makefile_star2_O3/harry830622[P]floorplanner/src/database.cpp
// Function: Database::Print(std::ostream&, int) const
void Database::Print(ostream& os, int indent_level) const {
  const int indent_size = 2;
  os << string(indent_level * indent_size, ' ') << "Database:" << endl;
  ++indent_level;
  os << string(indent_level * indent_size, ' ')
     << "outline_width_: " << outline_width_ << endl;
  os << string(indent_level * indent_size, ' ')
     << "outline_height_: " << outline_height_ << endl;
  os << string(indent_level * indent_size, ' ') << "macros_:" << endl;
  ++indent_level;
  for (const Macro& macro : macros_) {
    macro.Print(os, indent_level);
  }
  --indent_level;
  os << string(indent_level * indent_size, ' ') << "terminals_:" << endl;
  ++indent_level;
  for (const Terminal& terminal : terminals_) {
    terminal.Print(os, indent_level);
  }
  --indent_level;
  os << string(indent_level * indent_size, ' ') << "nets_:" << endl;
  ++indent_level;
  for (const Net& net : nets_) {
    net.Print(os, indent_level);
  }
}

// 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
leal (%rbx,%rbx), %r13d
movslq %r13d, %rsi
leaq 0x18(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8(%rsp), %rdi
movl $0x20, %edx
callq 0x6410
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x63f0
movq %rax, %r12
leaq 0x18c2f(%rip), %rsi     # 0x21286
movl $0x9, %edx
movq %rax, %rdi
callq 0x63f0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r12, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x86a3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
addl $0x2, %r13d
movslq %r13d, %r12
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
movq %r12, %rsi
movl $0x20, %edx
callq 0x6410
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x63f0
movq %rax, %r13
leaq 0x18bb5(%rip), %rsi     # 0x21290
movl $0x10, %edx
movq %rax, %rdi
callq 0x63f0
movsd (%r15), %xmm0
movq %r13, %rdi
callq 0x6580
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r13, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8736
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
movq %r12, %rsi
movl $0x20, %edx
callq 0x6410
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x63f0
movq %rax, %r13
leaq 0x18b3a(%rip), %rsi     # 0x212a1
movl $0x11, %edx
movq %rax, %rdi
callq 0x63f0
movsd 0x8(%r15), %xmm0
movq %r13, %rdi
callq 0x6580
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r13, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x87c3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
leaq 0x8(%rsp), %rdi
movq %rbp, (%rdi)
movq %r12, %rsi
movl $0x20, %edx
callq 0x6410
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x63f0
movq %rax, %r13
leaq 0x18abf(%rip), %rsi     # 0x212b3
movl $0x8, %edx
movq %rax, %rdi
callq 0x63f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r13, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8840
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
addl $0x2, %ebx
movq 0x10(%r15), %r13
movq 0x18(%r15), %rbp
cmpq %rbp, %r13
je 0x8863
movq %r13, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x15616
addq $0x38, %r13
jmp 0x884b
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rbp
movq %rbp, (%rdi)
movq %r12, %rsi
movl $0x20, %edx
callq 0x6410
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x63f0
movq %rax, %r13
leaq 0x18a23(%rip), %rsi     # 0x212bc
movl $0xb, %edx
movq %rax, %rdi
callq 0x63f0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r13, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x88e5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x28(%r15), %r13
movq 0x30(%r15), %rbp
cmpq %rbp, %r13
je 0x8905
movq %r13, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x206b8
addq $0x30, %r13
jmp 0x88ed
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %r13
movq %r13, (%rdi)
movq %r12, %rsi
movl $0x20, %edx
callq 0x6410
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq %r14, %rdi
callq 0x63f0
movq %rax, %r12
leaq 0x1898d(%rip), %rsi     # 0x212c8
movl $0x6, %edx
movq %rax, %rdi
callq 0x63f0
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x6370
movsbl %al, %esi
movq %r12, %rdi
callq 0x6030
movq %rax, %rdi
callq 0x6270
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x8987
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x40(%r15), %r12
movq 0x48(%r15), %r15
cmpq %r15, %r12
je 0x89a7
movq %r12, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x1fe8c
addq $0x38, %r12
jmp 0x898f
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x89c0
jmp 0x89c0
jmp 0x89c0
jmp 0x89c0
jmp 0x89c0
movq %rax, %rbx
jmp 0x89f6
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
jne 0x89e9
jmp 0x89f6
jmp 0x89dc
jmp 0x89dc
jmp 0x89dc
jmp 0x89dc
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x89f6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
movq %rbx, %rdi
callq 0x6640