// File: nmmmnu[P]HM3/hm3/test/test_list.cc
// Function: void iterator_get_test_deref<hm3::HashList<std::vector<hm3::SkipList, std::allocator<hm3::SkipList>>>>(char const*, hm3::HashList<std::vector<hm3::SkipList, std::allocator<hm3::SkipList>>> const&, char const*, char const*)
inline void iterator_get_test_deref(const char *module, const LIST &list, const char *key, const char *value){
	auto it = list.lowerBound(key);
	auto et = list.end();

	if (value){
	PRINTF_TEST("*get it   deref",	it != et && (*it).getVal() == value	);
	PRINTF_TEST(" get it-> deref",	it != et &&   it->getVal() == value	);
	}else{
	PRINTF_TEST(".get it et",	it == et				);
	}
}

// Assembly:
subq $0x148, %rsp            # imm = 0x148
movq %rdi, 0x140(%rsp)
movq %rsi, 0x138(%rsp)
movq %rdx, 0x130(%rsp)
movq %rcx, 0x128(%rsp)
movq 0x138(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x130(%rsp), %rsi
leaq 0xd8(%rsp), %rdi
movq %rdi, 0x60(%rsp)
callq 0x98c0
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
leaq 0xe8(%rsp), %rdi
callq 0xf4a0
movq 0x138(%rsp), %rsi
leaq 0x98(%rsp), %rdi
callq 0xcae0
jmp 0xf24c
cmpq $0x0, 0x128(%rsp)
je 0xf3fa
movq 0x140(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0xe8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xcb10
movb %al, 0x57(%rsp)
jmp 0xf283
movb 0x57(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x47(%rsp)
jne 0xf294
jmp 0xf2d5
leaq 0xe8(%rsp), %rdi
callq 0xcb40
movq %rax, 0x38(%rsp)
jmp 0xf2a8
movq 0x38(%rsp), %rdi
callq 0x14cd0
movq %rax, 0x78(%rsp)
movq %rdx, 0x80(%rsp)
movq 0x128(%rsp), %rsi
leaq 0x78(%rsp), %rdi
callq 0xa340
movb %al, 0x47(%rsp)
movq 0x48(%rsp), %rsi
movb 0x47(%rsp), %dl
leaq 0x7d42(%rip), %rax      # 0x17027
leaq 0x7d3e(%rip), %rcx      # 0x1702a
testb $0x1, %dl
cmovneq %rax, %rcx
leaq 0x7d0a(%rip), %rdi      # 0x17004
leaq 0x7e8e(%rip), %rdx      # 0x1718f
xorl %eax, %eax
callq 0x2030
jmp 0xf30a
movq 0x140(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0xe8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xcb10
movb %al, 0x37(%rsp)
jmp 0xf332
movb 0x37(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x27(%rsp)
jne 0xf343
jmp 0xf381
leaq 0xe8(%rsp), %rdi
callq 0xf1a0
movq %rax, 0x18(%rsp)
jmp 0xf357
movq 0x18(%rsp), %rdi
callq 0x14cd0
movq %rax, 0x68(%rsp)
movq %rdx, 0x70(%rsp)
movq 0x128(%rsp), %rsi
leaq 0x68(%rsp), %rdi
callq 0xa340
movb %al, 0x27(%rsp)
movq 0x28(%rsp), %rsi
movb 0x27(%rsp), %dl
leaq 0x7c96(%rip), %rax      # 0x17027
leaq 0x7c92(%rip), %rcx      # 0x1702a
testb $0x1, %dl
cmovneq %rax, %rcx
leaq 0x7c5e(%rip), %rdi      # 0x17004
leaq 0x7df2(%rip), %rdx      # 0x1719f
xorl %eax, %eax
callq 0x2030
jmp 0xf3b6
jmp 0xf459
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
jmp 0xf47b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x90(%rsp)
movl %eax, 0x8c(%rsp)
leaq 0x98(%rsp), %rdi
callq 0xcc50
jmp 0xf47b
movq 0x140(%rsp), %rax
movq %rax, 0x8(%rsp)
leaq 0xe8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0xe250
movb %al, 0x17(%rsp)
jmp 0xf422
movq 0x8(%rsp), %rsi
movb 0x17(%rsp), %dl
leaq 0x7bf5(%rip), %rax      # 0x17027
leaq 0x7bf1(%rip), %rcx      # 0x1702a
testb $0x1, %dl
cmovneq %rax, %rcx
leaq 0x7bbd(%rip), %rdi      # 0x17004
leaq 0x7d61(%rip), %rdx      # 0x171af
xorl %eax, %eax
callq 0x2030
jmp 0xf457
jmp 0xf459
leaq 0x98(%rsp), %rdi
callq 0xcc50
leaq 0xe8(%rsp), %rdi
callq 0xcc50
addq $0x148, %rsp            # imm = 0x148
retq
leaq 0xe8(%rsp), %rdi
callq 0xcc50
movq 0x90(%rsp), %rdi
callq 0x2220
nopw %cs:(%rax,%rax)
nop