// File: 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
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x198(%rbp)
movl $0x2, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x190(%rbp)
movl -0x14(%rbp), %eax
addl %eax, %eax
cltq
movq %rax, -0x188(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x9910
movq -0x188(%rbp), %rsi
movq -0x180(%rbp), %rcx
leaq -0x38(%rbp), %rdi
movl $0x20, %edx
callq 0xad00
jmp 0xd61f
movq -0x190(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x9460
movq %rax, -0x1a0(%rbp)
jmp 0xd638
movq -0x1a0(%rbp), %rdi
leaq 0x3cb94(%rip), %rsi     # 0x4a1da
callq 0x94c0
movq %rax, -0x1a8(%rbp)
jmp 0xd654
movq -0x1a8(%rbp), %rdi
movq 0x5e8d6(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0xd669
leaq -0x38(%rbp), %rdi
callq 0x9a48
leaq -0x39(%rbp), %rdi
callq 0x9520
movl -0x14(%rbp), %eax
incl %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movl -0x14(%rbp), %eax
addl %eax, %eax
cltq
movq %rax, -0x1b8(%rbp)
leaq -0x71(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x9910
movq -0x1b8(%rbp), %rsi
movq -0x1b0(%rbp), %rcx
leaq -0x70(%rbp), %rdi
movl $0x20, %edx
callq 0xad00
jmp 0xd6ca
movq -0x1c0(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x9460
movq %rax, -0x1c8(%rbp)
jmp 0xd6e3
movq -0x1c8(%rbp), %rdi
leaq 0x3caf3(%rip), %rsi     # 0x4a1e4
callq 0x94c0
movq %rax, -0x1d0(%rbp)
jmp 0xd6ff
movq -0x1d0(%rbp), %rdi
movq -0x198(%rbp), %rax
movsd (%rax), %xmm0
callq 0x99a0
movq %rax, -0x1d8(%rbp)
jmp 0xd71f
movq -0x1d8(%rbp), %rdi
movq 0x5e80b(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0xd734
leaq -0x70(%rbp), %rdi
callq 0x9a48
leaq -0x71(%rbp), %rdi
callq 0x9520
movq -0x10(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movl -0x14(%rbp), %eax
addl %eax, %eax
cltq
movq %rax, -0x1e8(%rbp)
leaq -0x99(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x9910
movq -0x1e8(%rbp), %rsi
movq -0x1e0(%rbp), %rcx
leaq -0x98(%rbp), %rdi
movl $0x20, %edx
callq 0xad00
jmp 0xd793
movq -0x1f0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x9460
movq %rax, -0x1f8(%rbp)
jmp 0xd7af
movq -0x1f8(%rbp), %rdi
leaq 0x3ca38(%rip), %rsi     # 0x4a1f5
callq 0x94c0
movq %rax, -0x200(%rbp)
jmp 0xd7cb
movq -0x200(%rbp), %rdi
movq -0x198(%rbp), %rax
movsd 0x8(%rax), %xmm0
callq 0x99a0
movq %rax, -0x208(%rbp)
jmp 0xd7ec
movq -0x208(%rbp), %rdi
movq 0x5e73e(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0xd801
leaq -0x98(%rbp), %rdi
callq 0x9a48
leaq -0x99(%rbp), %rdi
callq 0x9520
movq -0x10(%rbp), %rax
movq %rax, -0x220(%rbp)
movl -0x14(%rbp), %eax
addl %eax, %eax
cltq
movq %rax, -0x218(%rbp)
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x210(%rbp)
callq 0x9910
movq -0x218(%rbp), %rsi
movq -0x210(%rbp), %rcx
leaq -0xc0(%rbp), %rdi
movl $0x20, %edx
callq 0xad00
jmp 0xd866
movq -0x220(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x9460
movq %rax, -0x228(%rbp)
jmp 0xd882
movq -0x228(%rbp), %rdi
leaq 0x3c977(%rip), %rsi     # 0x4a207
callq 0x94c0
movq %rax, -0x230(%rbp)
jmp 0xd89e
movq -0x230(%rbp), %rdi
movq 0x5e68c(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0xd8b3
leaq -0xc0(%rbp), %rdi
callq 0x9a48
leaq -0xc1(%rbp), %rdi
callq 0x9520
movq -0x198(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x14(%rbp)
addq $0x10, %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
callq 0xf800
movq %rax, -0xd8(%rbp)
movq -0xd0(%rbp), %rdi
callq 0xf830
movq %rax, -0xe0(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0xf860
testb $0x1, %al
jne 0xd928
jmp 0xda2c
leaq -0xd8(%rbp), %rdi
callq 0xf8a0
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x30ab0
leaq -0xd8(%rbp), %rdi
callq 0xf8c0
jmp 0xd90c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xd97f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x9a48
leaq -0x39(%rbp), %rdi
callq 0x9520
jmp 0xdd30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xd9b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x9a48
leaq -0x71(%rbp), %rdi
callq 0x9520
jmp 0xdd30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xd9e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x9a48
leaq -0x99(%rbp), %rdi
callq 0x9520
jmp 0xdd30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xda1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x9a48
leaq -0xc1(%rbp), %rdi
callq 0x9520
jmp 0xdd30
movl -0x14(%rbp), %eax
decl %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x248(%rbp)
movl -0x14(%rbp), %eax
addl %eax, %eax
cltq
movq %rax, -0x240(%rbp)
leaq -0x109(%rbp), %rdi
movq %rdi, -0x238(%rbp)
callq 0x9910
movq -0x240(%rbp), %rsi
movq -0x238(%rbp), %rcx
leaq -0x108(%rbp), %rdi
movl $0x20, %edx
callq 0xad00
jmp 0xda81
movq -0x248(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x9460
movq %rax, -0x250(%rbp)
jmp 0xda9d
movq -0x250(%rbp), %rdi
leaq 0x3c765(%rip), %rsi     # 0x4a210
callq 0x94c0
movq %rax, -0x258(%rbp)
jmp 0xdab9
movq -0x258(%rbp), %rdi
movq 0x5e471(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0xdace
leaq -0x108(%rbp), %rdi
callq 0x9a48
leaq -0x109(%rbp), %rdi
callq 0x9520
movq -0x198(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x14(%rbp)
addq $0x28, %rax
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rdi
callq 0xf8e0
movq %rax, -0x120(%rbp)
movq -0x118(%rbp), %rdi
callq 0xf910
movq %rax, -0x128(%rbp)
leaq -0x120(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0xf940
testb $0x1, %al
jne 0xdb40
jmp 0xdbab
leaq -0x120(%rbp), %rdi
callq 0xf980
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x48eb0
leaq -0x120(%rbp), %rdi
callq 0xf9a0
jmp 0xdb27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xdb9a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x9a48
leaq -0x109(%rbp), %rdi
callq 0x9520
jmp 0xdd30
movl -0x14(%rbp), %eax
decl %eax
movl %eax, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x270(%rbp)
movl -0x14(%rbp), %eax
addl %eax, %eax
cltq
movq %rax, -0x268(%rbp)
leaq -0x151(%rbp), %rdi
movq %rdi, -0x260(%rbp)
callq 0x9910
movq -0x268(%rbp), %rsi
movq -0x260(%rbp), %rcx
leaq -0x150(%rbp), %rdi
movl $0x20, %edx
callq 0xad00
jmp 0xdc00
movq -0x270(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x9460
movq %rax, -0x278(%rbp)
jmp 0xdc1c
movq -0x278(%rbp), %rdi
leaq 0x3c5f2(%rip), %rsi     # 0x4a21c
callq 0x94c0
movq %rax, -0x280(%rbp)
jmp 0xdc38
movq -0x280(%rbp), %rdi
movq 0x5e2f2(%rip), %rsi     # 0x6bf38
callq 0x9500
jmp 0xdc4d
leaq -0x150(%rbp), %rdi
callq 0x9a48
leaq -0x151(%rbp), %rdi
callq 0x9520
movq -0x198(%rbp), %rax
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movl %ecx, -0x14(%rbp)
addq $0x40, %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdi
callq 0xf9c0
movq %rax, -0x168(%rbp)
movq -0x160(%rbp), %rdi
callq 0xf9f0
movq %rax, -0x170(%rbp)
leaq -0x168(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0xfa20
testb $0x1, %al
jne 0xdcbf
jmp 0xdd27
leaq -0x168(%rbp), %rdi
callq 0xfa60
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
callq 0x47ee0
leaq -0x168(%rbp), %rdi
callq 0xfa80
jmp 0xdca6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xdd19
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x9a48
leaq -0x151(%rbp), %rdi
callq 0x9520
jmp 0xdd30
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x98f0
nopl (%rax)