// File: /workspace/github_cpp_makefile_star2_O2/Kei18[P]pibt/./src/graph/pd.cpp
// Function: PD::getAllSpecialPoints()
Nodes PD::getAllSpecialPoints() {
  Nodes points;
  for (auto v : pickup) {
    auto itr = std::find_if(points.begin(), points.end(),
                            [v](Node* u) { return v->getId() == u->getId(); });
    if (itr == points.end()) points.push_back(v);
  }
  for (auto v : delivery) {
    auto itr = std::find_if(points.begin(), points.end(),
                            [v](Node* u) { return v->getId() == u->getId(); });
    if (itr == points.end()) points.push_back(v);
  }
  for (auto v : endpoints) {
    auto itr = std::find_if(points.begin(), points.end(),
                            [v](Node* u) { return v->getId() == u->getId(); });
    if (itr == points.end()) points.push_back(v);
  }
  return points;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rsi, %r14
movq %rdi, %rbx
xorps %xmm0, %xmm0
andq $0x0, 0x10(%rdi)
movups %xmm0, (%rdi)
movq 0xc0(%rsi), %r12
movq 0xc8(%rsi), %r13
leaq 0x8(%rsp), %r15
cmpq %r13, %r12
je 0x19989
movq (%r12), %rdx
movq %rdx, 0x8(%rsp)
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
movq %rcx, %rsi
subq %rax, %rsi
movq %rsi, %rdi
sarq $0x5, %rdi
testq %rdi, %rdi
jle 0x1991f
movq (%rax), %r9
movl (%rdx), %r8d
cmpl (%r9), %r8d
je 0x19970
movq 0x8(%rax), %r9
cmpl (%r9), %r8d
je 0x19939
movq 0x10(%rax), %r9
cmpl (%r9), %r8d
je 0x1993f
movq 0x18(%rax), %r9
cmpl (%r9), %r8d
je 0x19945
addq $0x20, %rax
decq %rdi
addq $-0x20, %rsi
jmp 0x198e7
sarq $0x3, %rsi
cmpq $0x3, %rsi
je 0x1994f
cmpq $0x2, %rsi
je 0x1994b
cmpq $0x1, %rsi
jne 0x19975
movl (%rdx), %edx
jmp 0x19967
addq $0x8, %rax
jmp 0x19970
addq $0x10, %rax
jmp 0x19970
addq $0x18, %rax
jmp 0x19970
movl (%rdx), %edx
jmp 0x1995c
movq (%rax), %rsi
movl (%rdx), %edx
cmpl (%rsi), %edx
je 0x19970
addq $0x8, %rax
movq (%rax), %rsi
cmpl (%rsi), %edx
je 0x19970
addq $0x8, %rax
movq (%rax), %rsi
cmpl (%rsi), %edx
cmovneq %rcx, %rax
cmpq %rcx, %rax
jne 0x19980
movq %rbx, %rdi
movq %r15, %rsi
callq 0x171da
addq $0x8, %r12
jmp 0x198c1
movq 0xd8(%r14), %r12
movq 0xe0(%r14), %r13
leaq 0x8(%rsp), %r15
cmpq %r13, %r12
je 0x19a64
movq (%r12), %rdx
movq %rdx, 0x8(%rsp)
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
movq %rcx, %rsi
subq %rax, %rsi
movq %rsi, %rdi
sarq $0x5, %rdi
testq %rdi, %rdi
jle 0x199fa
movq (%rax), %r9
movl (%rdx), %r8d
cmpl (%r9), %r8d
je 0x19a4b
movq 0x8(%rax), %r9
cmpl (%r9), %r8d
je 0x19a14
movq 0x10(%rax), %r9
cmpl (%r9), %r8d
je 0x19a1a
movq 0x18(%rax), %r9
cmpl (%r9), %r8d
je 0x19a20
addq $0x20, %rax
decq %rdi
addq $-0x20, %rsi
jmp 0x199c2
sarq $0x3, %rsi
cmpq $0x3, %rsi
je 0x19a2a
cmpq $0x2, %rsi
je 0x19a26
cmpq $0x1, %rsi
jne 0x19a50
movl (%rdx), %edx
jmp 0x19a42
addq $0x8, %rax
jmp 0x19a4b
addq $0x10, %rax
jmp 0x19a4b
addq $0x18, %rax
jmp 0x19a4b
movl (%rdx), %edx
jmp 0x19a37
movq (%rax), %rsi
movl (%rdx), %edx
cmpl (%rsi), %edx
je 0x19a4b
addq $0x8, %rax
movq (%rax), %rsi
cmpl (%rsi), %edx
je 0x19a4b
addq $0x8, %rax
movq (%rax), %rsi
cmpl (%rsi), %edx
cmovneq %rcx, %rax
cmpq %rcx, %rax
jne 0x19a5b
movq %rbx, %rdi
movq %r15, %rsi
callq 0x171da
addq $0x8, %r12
jmp 0x1999c
movq 0xf0(%r14), %r15
movq 0xf8(%r14), %r12
leaq 0x8(%rsp), %r14
cmpq %r12, %r15
je 0x19b3e
movq (%r15), %rdx
movq %rdx, 0x8(%rsp)
movq (%rbx), %rax
movq 0x8(%rbx), %rcx
movq %rcx, %rsi
subq %rax, %rsi
movq %rsi, %rdi
sarq $0x5, %rdi
testq %rdi, %rdi
jle 0x19ad4
movq (%rax), %r9
movl (%rdx), %r8d
cmpl (%r9), %r8d
je 0x19b25
movq 0x8(%rax), %r9
cmpl (%r9), %r8d
je 0x19aee
movq 0x10(%rax), %r9
cmpl (%r9), %r8d
je 0x19af4
movq 0x18(%rax), %r9
cmpl (%r9), %r8d
je 0x19afa
addq $0x20, %rax
decq %rdi
addq $-0x20, %rsi
jmp 0x19a9c
sarq $0x3, %rsi
cmpq $0x3, %rsi
je 0x19b04
cmpq $0x2, %rsi
je 0x19b00
cmpq $0x1, %rsi
jne 0x19b2a
movl (%rdx), %edx
jmp 0x19b1c
addq $0x8, %rax
jmp 0x19b25
addq $0x10, %rax
jmp 0x19b25
addq $0x18, %rax
jmp 0x19b25
movl (%rdx), %edx
jmp 0x19b11
movq (%rax), %rsi
movl (%rdx), %edx
cmpl (%rsi), %edx
je 0x19b25
addq $0x8, %rax
movq (%rax), %rsi
cmpl (%rsi), %edx
je 0x19b25
addq $0x8, %rax
movq (%rax), %rsi
cmpl (%rsi), %edx
cmovneq %rcx, %rax
cmpq %rcx, %rax
jne 0x19b35
movq %rbx, %rdi
movq %r14, %rsi
callq 0x171da
addq $0x8, %r15
jmp 0x19a77
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x19b53
jmp 0x19b53
movq %rax, %r14
movq %rbx, %rdi
callq 0x990e
movq %r14, %rdi
callq 0x6650