// File: /workspace/github_cpp_makefile_star2_O1/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 0x191c3(%rip), %rsi     # 0x211da
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 0x8063
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 0x19149(%rip), %rsi     # 0x211e4
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 0x80f6
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 0x190ce(%rip), %rsi     # 0x211f5
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 0x8183
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 0x19053(%rip), %rsi     # 0x21207
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 0x8200
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
addl $0x2, %ebx
movq 0x10(%r15), %r13
movq 0x18(%r15), %rbp
cmpq %rbp, %r13
je 0x8223
movq %r13, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x156be
addq $0x38, %r13
jmp 0x820b
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 0x18fb7(%rip), %rsi     # 0x21210
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 0x82a5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x28(%r15), %r13
movq 0x30(%r15), %rbp
cmpq %rbp, %r13
je 0x82c5
movq %r13, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x20b78
addq $0x30, %r13
jmp 0x82ad
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 0x18f21(%rip), %rsi     # 0x2121c
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 0x8347
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
movq 0x40(%r15), %r12
movq 0x48(%r15), %r15
cmpq %r15, %r12
je 0x8367
movq %r12, %rdi
movq %r14, %rsi
movl %ebx, %edx
callq 0x2033c
addq $0x38, %r12
jmp 0x834f
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8380
jmp 0x8380
jmp 0x8380
jmp 0x8380
jmp 0x8380
movq %rax, %rbx
jmp 0x83b6
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
jne 0x83a9
jmp 0x83b6
jmp 0x839c
jmp 0x839c
jmp 0x839c
jmp 0x839c
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x83b6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x6390
movq %rbx, %rdi
callq 0x6640