// File: /workspace/github_cpp_makefile_star2_O3/sgalkina[P]data_structures/src/test_map.h
// Function: gtl::smoketest_map<gtl::hash_map<int, int, gtl::default_hash<int>>>::smoketest()
void smoketest_map<T>::smoketest() {
  T map;
  assert(map.size() == 0);
  assert(!map.contains_key(1));
  assert(map.add(1, 100));
  assert(map.size() == 1);
  assert(map.contains_key(1));
  int * value = map.lookup(1);
  assert(*value == 100);
  assert(!map.add(1, 200));
  int * new_value = map.lookup(1);
  assert(*new_value == 200);
  assert(map.remove(1));
  assert(!map.remove(1));
  assert(!map.remove(14));
  assert(map.size() == 0);
  int * empty_value = map.lookup(1);
  assert(empty_value == nullptr);
  search();
}

// Assembly:
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
leaq 0x8(%rsp), %rdi
movups %xmm0, 0x18(%rdi)
movups %xmm0, 0x8(%rdi)
movq %rsp, %rsi
movl $0x1, (%rsi)
callq 0x5c42
cmpq 0x10(%rsp), %rax
jb 0x2646
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x4(%rsp), %rdx
movl $0x64, (%rdx)
leaq 0x8(%rsp), %rdi
callq 0x5a2a
testb %al, %al
je 0x2665
cmpq $0x1, 0x28(%rsp)
jne 0x2684
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5c42
cmpq 0x10(%rsp), %rax
jae 0x26a3
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5eaa
cmpl $0x64, (%rax)
jne 0x26c2
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x4(%rsp), %rdx
movl $0xc8, (%rdx)
leaq 0x8(%rsp), %rdi
callq 0x5a2a
testb %al, %al
jne 0x26e1
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5eaa
cmpl $0xc8, (%rax)
jne 0x2700
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aca
testb %al, %al
je 0x271f
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aca
testb %al, %al
jne 0x273e
movq %rsp, %rsi
movl $0xe, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aca
testb %al, %al
jne 0x275d
cmpq $0x0, 0x28(%rsp)
jne 0x277c
movq %rsp, %rsi
movl $0x1, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5eaa
testq %rax, %rax
jne 0x279b
movq %rbx, %rdi
callq 0x5b24
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2640
callq 0x1160
addq $0x30, %rsp
popq %rbx
retq
leaq 0x5e30(%rip), %rdi      # 0x847d
leaq 0x5c8c(%rip), %rsi      # 0x82e0
leaq 0x6153(%rip), %rcx      # 0x87ae
movl $0x1a, %edx
callq 0x1080
leaq 0x5e26(%rip), %rdi      # 0x8492
leaq 0x5c6d(%rip), %rsi      # 0x82e0
leaq 0x6134(%rip), %rcx      # 0x87ae
movl $0x1b, %edx
callq 0x1080
leaq 0x5e17(%rip), %rdi      # 0x84a2
leaq 0x5c4e(%rip), %rsi      # 0x82e0
leaq 0x6115(%rip), %rcx      # 0x87ae
movl $0x1c, %edx
callq 0x1080
leaq 0x5dd4(%rip), %rdi      # 0x847e
leaq 0x5c2f(%rip), %rsi      # 0x82e0
leaq 0x60f6(%rip), %rcx      # 0x87ae
movl $0x1d, %edx
callq 0x1080
leaq 0x5de9(%rip), %rdi      # 0x84b2
leaq 0x5c10(%rip), %rsi      # 0x82e0
leaq 0x60d7(%rip), %rcx      # 0x87ae
movl $0x1f, %edx
callq 0x1080
leaq 0x5dd8(%rip), %rdi      # 0x84c0
leaq 0x5bf1(%rip), %rsi      # 0x82e0
leaq 0x60b8(%rip), %rcx      # 0x87ae
movl $0x20, %edx
callq 0x1080
leaq 0x5dca(%rip), %rdi      # 0x84d1
leaq 0x5bd2(%rip), %rsi      # 0x82e0
leaq 0x6099(%rip), %rcx      # 0x87ae
movl $0x22, %edx
callq 0x1080
leaq 0x5dbe(%rip), %rdi      # 0x84e4
leaq 0x5bb3(%rip), %rsi      # 0x82e0
leaq 0x607a(%rip), %rcx      # 0x87ae
movl $0x23, %edx
callq 0x1080
leaq 0x5d9e(%rip), %rdi      # 0x84e3
leaq 0x5b94(%rip), %rsi      # 0x82e0
leaq 0x605b(%rip), %rcx      # 0x87ae
movl $0x24, %edx
callq 0x1080
leaq 0x5d8e(%rip), %rdi      # 0x84f2
leaq 0x5b75(%rip), %rsi      # 0x82e0
leaq 0x603c(%rip), %rcx      # 0x87ae
movl $0x25, %edx
callq 0x1080
leaq 0x5c8a(%rip), %rdi      # 0x840d
leaq 0x5b56(%rip), %rsi      # 0x82e0
leaq 0x601d(%rip), %rcx      # 0x87ae
movl $0x26, %edx
callq 0x1080
leaq 0x5d60(%rip), %rdi      # 0x8502
leaq 0x5b37(%rip), %rsi      # 0x82e0
leaq 0x5ffe(%rip), %rcx      # 0x87ae
movl $0x28, %edx
callq 0x1080
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
jmp 0x27ce
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x27e0
callq 0x1160
movq %rbx, %rdi
callq 0x1190