// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x38, %rsp
movq %rdi, %r14
leaq 0x18(%rsp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movups %xmm0, (%rbx)
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x444e
testb %al, %al
jne 0x244d
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0xc(%rsp), %rdx
movl $0x64, (%rdx)
leaq 0x10(%rsp), %rdi
callq 0x4460
testb %al, %al
je 0x2469
cmpq $0x1, 0x30(%rsp)
jne 0x2485
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x444e
testb %al, %al
je 0x24a1
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x4ae8
cmpl $0x64, (%rax)
jne 0x24bd
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0xc(%rsp), %rdx
movl $0xc8, (%rdx)
leaq 0x10(%rsp), %rdi
callq 0x4460
testb %al, %al
jne 0x24d9
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x4ae8
cmpl $0xc8, (%rax)
jne 0x24f5
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x44a0
testb %al, %al
je 0x250e
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x44a0
testb %al, %al
jne 0x2527
leaq 0x8(%rsp), %rsi
movl $0xe, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x44a0
testb %al, %al
jne 0x2540
cmpq $0x0, 0x30(%rsp)
jne 0x2559
leaq 0x8(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x4ae8
testq %rax, %rax
jne 0x2572
movq %r14, %rdi
callq 0x44e0
movq %rbx, %rdi
callq 0x4910
addq $0x38, %rsp
popq %rbx
popq %r14
retq
leaq 0x506f(%rip), %rdi      # 0x74c3
leaq 0x4e99(%rip), %rsi      # 0x72f4
leaq 0x5392(%rip), %rcx      # 0x77f4
pushq $0x1a
jmp 0x2589
leaq 0x5068(%rip), %rdi      # 0x74d8
leaq 0x4e7d(%rip), %rsi      # 0x72f4
leaq 0x5376(%rip), %rcx      # 0x77f4
pushq $0x1b
jmp 0x2589
leaq 0x505c(%rip), %rdi      # 0x74e8
leaq 0x4e61(%rip), %rsi      # 0x72f4
leaq 0x535a(%rip), %rcx      # 0x77f4
pushq $0x1c
jmp 0x2589
leaq 0x501c(%rip), %rdi      # 0x74c4
leaq 0x4e45(%rip), %rsi      # 0x72f4
leaq 0x533e(%rip), %rcx      # 0x77f4
pushq $0x1d
jmp 0x2589
leaq 0x5034(%rip), %rdi      # 0x74f8
leaq 0x4e29(%rip), %rsi      # 0x72f4
leaq 0x5322(%rip), %rcx      # 0x77f4
pushq $0x1f
jmp 0x2589
leaq 0x5026(%rip), %rdi      # 0x7506
leaq 0x4e0d(%rip), %rsi      # 0x72f4
leaq 0x5306(%rip), %rcx      # 0x77f4
pushq $0x20
jmp 0x2589
leaq 0x501b(%rip), %rdi      # 0x7517
leaq 0x4df1(%rip), %rsi      # 0x72f4
leaq 0x52ea(%rip), %rcx      # 0x77f4
pushq $0x22
jmp 0x2589
leaq 0x5015(%rip), %rdi      # 0x752a
leaq 0x4dd8(%rip), %rsi      # 0x72f4
leaq 0x52d1(%rip), %rcx      # 0x77f4
pushq $0x23
jmp 0x2589
leaq 0x4ffb(%rip), %rdi      # 0x7529
leaq 0x4dbf(%rip), %rsi      # 0x72f4
leaq 0x52b8(%rip), %rcx      # 0x77f4
pushq $0x24
jmp 0x2589
leaq 0x4ff1(%rip), %rdi      # 0x7538
leaq 0x4da6(%rip), %rsi      # 0x72f4
leaq 0x529f(%rip), %rcx      # 0x77f4
pushq $0x25
jmp 0x2589
leaq 0x4ef3(%rip), %rdi      # 0x7453
leaq 0x4d8d(%rip), %rsi      # 0x72f4
leaq 0x5286(%rip), %rcx      # 0x77f4
pushq $0x26
jmp 0x2589
leaq 0x4fcf(%rip), %rdi      # 0x7548
leaq 0x4d74(%rip), %rsi      # 0x72f4
leaq 0x526d(%rip), %rcx      # 0x77f4
pushq $0x28
popq %rdx
callq 0x1070
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
jmp 0x25a3
movq %rax, %r14
movq %rbx, %rdi
callq 0x4910
movq %r14, %rdi
callq 0x1170