// File: DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_element_access.cpp
// Function: test_vector_element_access()
void
test_vector_element_access()
{
	test_wrapper(test_vector_element_access_brackets, "brackets");
	test_wrapper(test_vector_element_access_const_brackets, "const brackets");
	test_wrapper(test_vector_element_access_brackets_out_of_range, "brackets out of range");
	test_wrapper(test_vector_element_access_at, "at");
	test_wrapper(test_vector_element_access_const_at, "const at");
	test_wrapper(test_vector_element_access_at_out_of_range, "at out of range");
	test_wrapper(test_vector_element_access_front, "front");
	test_wrapper(test_vector_element_access_back, "back");
	test_wrapper(test_vector_element_access_front_back_mix, "front back mix");
	test_wrapper(test_vector_element_access_data, "data");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
leaq -0x21(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x3370
movq -0x1a8(%rbp), %rdx
leaq 0x6e82(%rip), %rsi      # 0x581fb
leaq -0x20(%rbp), %rdi
callq 0x3290
jmp 0x51384
leaq -0x85b(%rip), %rdi      # 0x50b30
leaq -0x20(%rbp), %rsi
callq 0x56430
jmp 0x51396
leaq -0x20(%rbp), %rdi
callq 0x3160
leaq -0x21(%rbp), %rdi
callq 0x3230
leaq -0x59(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x3370
movq -0x1b0(%rbp), %rdx
leaq 0x6e2f(%rip), %rsi      # 0x581f5
leaq -0x58(%rbp), %rdi
callq 0x3290
jmp 0x513d1
leaq -0x7a8(%rip), %rdi      # 0x50c30
leaq -0x58(%rbp), %rsi
callq 0x56430
jmp 0x513e3
leaq -0x58(%rbp), %rdi
callq 0x3160
leaq -0x59(%rbp), %rdi
callq 0x3230
leaq -0x81(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x3370
movq -0x1b8(%rbp), %rdx
leaq 0x6dee(%rip), %rsi      # 0x58204
leaq -0x80(%rbp), %rdi
callq 0x3290
jmp 0x51421
leaq -0x738(%rip), %rdi      # 0x50cf0
leaq -0x80(%rbp), %rsi
callq 0x56430
jmp 0x51433
leaq -0x80(%rbp), %rdi
callq 0x3160
leaq -0x81(%rbp), %rdi
callq 0x3230
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x3370
movq -0x1c0(%rbp), %rdx
leaq 0x6db7(%rip), %rsi      # 0x58220
leaq -0xa8(%rbp), %rdi
callq 0x3290
jmp 0x51477
leaq -0x6fe(%rip), %rdi      # 0x50d80
leaq -0xa8(%rbp), %rsi
callq 0x56430
jmp 0x5148c
leaq -0xa8(%rbp), %rdi
callq 0x3160
leaq -0xa9(%rbp), %rdi
callq 0x3230
leaq -0xd1(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x3370
movq -0x1c8(%rbp), %rdx
leaq 0x6d55(%rip), %rsi      # 0x5821a
leaq -0xd0(%rbp), %rdi
callq 0x3290
jmp 0x514d3
leaq -0x63a(%rip), %rdi      # 0x50ea0
leaq -0xd0(%rbp), %rsi
callq 0x56430
jmp 0x514e8
leaq -0xd0(%rbp), %rdi
callq 0x3160
leaq -0xd1(%rbp), %rdi
callq 0x3230
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x1d0(%rbp)
callq 0x3370
movq -0x1d0(%rbp), %rdx
leaq 0x6d02(%rip), %rsi      # 0x58223
leaq -0xf8(%rbp), %rdi
callq 0x3290
jmp 0x5152f
leaq -0x5c6(%rip), %rdi      # 0x50f70
leaq -0xf8(%rbp), %rsi
callq 0x56430
jmp 0x51544
leaq -0xf8(%rbp), %rdi
callq 0x3160
leaq -0xf9(%rbp), %rdi
callq 0x3230
leaq -0x121(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
callq 0x3370
movq -0x1d8(%rbp), %rdx
leaq 0x6cb6(%rip), %rsi      # 0x58233
leaq -0x120(%rbp), %rdi
callq 0x3290
jmp 0x5158b
leaq -0x552(%rip), %rdi      # 0x51040
leaq -0x120(%rbp), %rsi
callq 0x56430
jmp 0x515a0
leaq -0x120(%rbp), %rdi
callq 0x3160
leaq -0x121(%rbp), %rdi
callq 0x3230
leaq -0x149(%rbp), %rdi
movq %rdi, -0x1e0(%rbp)
callq 0x3370
movq -0x1e0(%rbp), %rdx
leaq 0x67cc(%rip), %rsi      # 0x57da5
leaq -0x148(%rbp), %rdi
callq 0x3290
jmp 0x515e7
leaq -0x4fe(%rip), %rdi      # 0x510f0
leaq -0x148(%rbp), %rsi
callq 0x56430
jmp 0x515fc
leaq -0x148(%rbp), %rdi
callq 0x3160
leaq -0x149(%rbp), %rdi
callq 0x3230
leaq -0x171(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0x3370
movq -0x1e8(%rbp), %rdx
leaq 0x6c04(%rip), %rsi      # 0x58239
leaq -0x170(%rbp), %rdi
callq 0x3290
jmp 0x51643
leaq -0x4aa(%rip), %rdi      # 0x511a0
leaq -0x170(%rbp), %rsi
callq 0x56430
jmp 0x51658
leaq -0x170(%rbp), %rdi
callq 0x3160
leaq -0x171(%rbp), %rdi
callq 0x3230
leaq -0x199(%rbp), %rdi
movq %rdi, -0x1f0(%rbp)
callq 0x3370
movq -0x1f0(%rbp), %rdx
leaq 0x6bb7(%rip), %rsi      # 0x58248
leaq -0x198(%rbp), %rdi
callq 0x3290
jmp 0x5169f
leaq -0x426(%rip), %rdi      # 0x51280
leaq -0x198(%rbp), %rsi
callq 0x56430
jmp 0x516b4
leaq -0x198(%rbp), %rdi
callq 0x3160
leaq -0x199(%rbp), %rdi
callq 0x3230
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x516f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x3160
leaq -0x21(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x51729
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x3160
leaq -0x59(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5175a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x3160
leaq -0x81(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x51791
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x3160
leaq -0xa9(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x517c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x3160
leaq -0xd1(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x517ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x3160
leaq -0xf9(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x51836
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x120(%rbp), %rdi
callq 0x3160
leaq -0x121(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5186d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x3160
leaq -0x149(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x518a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x3160
leaq -0x171(%rbp), %rdi
callq 0x3230
jmp 0x518e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x518d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x3160
leaq -0x199(%rbp), %rdi
callq 0x3230
movq -0x30(%rbp), %rdi
callq 0x3360
nopw (%rax,%rax)