// File: Kei18[P]pibt/./src/problem/mapf.cpp
// Function: MAPF::logStr[abi:cxx11]()
std::string MAPF::logStr() {
  std::string str = Problem::logStr();
  str += "[problem] type:MAPF\n";
  str += "[problem] agentnum:" + std::to_string(A.size()) + "\n";
  str += G->logStr();
  for (auto tau : T_CLOSE) str += tau->logStr();

  int cnt;
  int pathsize;
  for (auto a : A) {
    auto hist = a->getHist();
    auto itr = hist.end() - 1;
    cnt = 0;
    while ((*itr)->v == a->getGoal()) {
      ++cnt;
      --itr;
    }
    pathsize = getTerminationTime() - cnt + 1;
    str += a->logStr();
    str += "size:" + std::to_string(pathsize) + "\n";
  }
  return str;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x1c0(%rbp)
movq %rdi, %rax
movq %rax, -0x1d0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rsi
movq %rsi, -0x1c8(%rbp)
movb $0x0, -0x11(%rbp)
callq 0x57710
movq -0x1c0(%rbp), %rdi
leaq 0x5f739(%rip), %rsi     # 0xb56ff
callq 0x84c0
jmp 0x55fcd
movq -0x1c8(%rbp), %rdi
addq $0x18, %rdi
callq 0x383b0
movq %rax, %rsi
leaq -0x88(%rbp), %rdi
callq 0x51d60
jmp 0x55fee
leaq 0x5f538(%rip), %rsi     # 0xb552d
leaq -0x68(%rbp), %rdi
leaq -0x88(%rbp), %rdx
callq 0xdf00
jmp 0x56007
leaq 0x5d5a9(%rip), %rdx     # 0xb35b7
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0xdeb0
jmp 0x5601d
movq -0x1c0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x8640
jmp 0x5602f
leaq -0x48(%rbp), %rdi
callq 0x8330
leaq -0x68(%rbp), %rdi
callq 0x8330
leaq -0x88(%rbp), %rdi
callq 0x8330
movq -0x1c8(%rbp), %rax
movq 0x10(%rax), %rsi
movq (%rsi), %rax
movq 0x60(%rax), %rax
leaq -0xa8(%rbp), %rdi
callq *%rax
jmp 0x5606a
movq -0x1c0(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x8640
jmp 0x5607f
leaq -0xa8(%rbp), %rdi
callq 0x8330
movq -0x1c8(%rbp), %rax
addq $0x48, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x3a140
movq %rax, -0xb8(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x39fd0
movq %rax, -0xc0(%rbp)
leaq -0xb8(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
callq 0x51e40
testb $0x1, %al
jne 0x560df
jmp 0x561cf
leaq -0xb8(%rbp), %rdi
callq 0x51e80
movq (%rax), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0xb1c70
jmp 0x5610a
movq -0x1c0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x8640
jmp 0x5611f
leaq -0xe8(%rbp), %rdi
callq 0x8330
leaq -0xb8(%rbp), %rdi
callq 0x51ea0
jmp 0x560c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x5648e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x56184
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x5617b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x8330
leaq -0x68(%rbp), %rdi
callq 0x8330
leaq -0x88(%rbp), %rdi
callq 0x8330
jmp 0x5648e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x8330
jmp 0x5648e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x8330
jmp 0x5648e
movq -0x1c8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rdi
callq 0x39b60
movq %rax, -0x100(%rbp)
movq -0xf8(%rbp), %rdi
callq 0x399f0
movq %rax, -0x108(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x51bd0
testb $0x1, %al
jne 0x56223
jmp 0x56468
leaq -0x100(%rbp), %rdi
callq 0x51c10
movq (%rax), %rax
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rsi
leaq -0x128(%rbp), %rdi
callq 0x56840
jmp 0x5624e
leaq -0x128(%rbp), %rdi
callq 0x3ad00
movq %rax, -0x138(%rbp)
leaq -0x138(%rbp), %rdi
movl $0x1, %esi
callq 0x56870
movq %rax, -0x130(%rbp)
movl $0x0, -0xec(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x3ad70
movq (%rax), %rax
movq (%rax), %rax
movq %rax, -0x1e0(%rbp)
movq -0x110(%rbp), %rdi
callq 0x56820
movq %rax, -0x1d8(%rbp)
jmp 0x562b1
movq -0x1e0(%rbp), %rax
movq -0x1d8(%rbp), %rcx
cmpq %rcx, %rax
jne 0x562f2
movl -0xec(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xec(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x568b0
jmp 0x56283
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x5645a
movq -0x1c8(%rbp), %rdi
callq 0x568d0
movl %eax, -0x1e4(%rbp)
jmp 0x56306
movl -0x1e4(%rbp), %eax
movl -0xec(%rbp), %ecx
subl %ecx, %eax
incl %eax
movl %eax, -0xf0(%rbp)
movq -0x110(%rbp), %rsi
leaq -0x158(%rbp), %rdi
callq 0x3a7e0
jmp 0x56331
movq -0x1c0(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x8640
jmp 0x56346
leaq -0x158(%rbp), %rdi
callq 0x8330
movl -0xf0(%rbp), %esi
leaq -0x1b8(%rbp), %rdi
callq 0xdf50
jmp 0x56366
leaq 0x5f3a7(%rip), %rsi     # 0xb5714
leaq -0x198(%rbp), %rdi
leaq -0x1b8(%rbp), %rdx
callq 0xdf00
jmp 0x56382
leaq 0x5d22e(%rip), %rdx     # 0xb35b7
leaq -0x178(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0xdeb0
jmp 0x5639e
movq -0x1c0(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x8640
jmp 0x563b3
leaq -0x178(%rbp), %rdi
callq 0x8330
leaq -0x198(%rbp), %rdi
callq 0x8330
leaq -0x1b8(%rbp), %rdi
callq 0x8330
leaq -0x128(%rbp), %rdi
callq 0x3ac70
leaq -0x100(%rbp), %rdi
callq 0x51c30
jmp 0x56207
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x8330
jmp 0x5645a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x5644e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x56442
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x8330
leaq -0x198(%rbp), %rdi
callq 0x8330
leaq -0x1b8(%rbp), %rdi
callq 0x8330
leaq -0x128(%rbp), %rdi
callq 0x3ac70
jmp 0x5648e
movb $0x1, -0x11(%rbp)
testb $0x1, -0x11(%rbp)
jne 0x5647e
movq -0x1c0(%rbp), %rdi
callq 0x8330
movq -0x1d0(%rbp), %rax
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq -0x1c0(%rbp), %rdi
callq 0x8330
movq -0x20(%rbp), %rdi
callq 0x8880
nopw %cs:(%rax,%rax)