LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_single_middle_wo_realloc()
void
test_vector_modifiers_insert_single_middle_wo_realloc()
{
	ft::vector<std::string> vec(100, "test");
	ft::vector<std::string>::iterator it = vec.begin();
	ft::vector<std::string>::iterator tmp;

	vec.reserve(101);

	print_vec_info(vec);
	it = vec.begin();
	tmp = vec.insert(it + 50, "42");
	print_vec_info(vec);

	it = vec.begin();
	if (tmp == it + 50)
		std::cout << "valid" << std::endl;

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x8cc4(%rip), %rsi      # 0x26151
leaq 0x8cc1(%rip), %rdx      # 0x26155
leaq -0x50(%rbp), %rdi
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d4c1
callq 0x21b0
leaq -0x30(%rbp), %rdi
movl $0x65, %esi
callq 0x211b2
leaq -0x30(%rbp), %rdi
callq 0x195f2
movq -0x30(%rbp), %rbx
leaq -0x50(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x959c(%rip), %rsi      # 0x26a86
leaq 0x9597(%rip), %rdx      # 0x26a88
callq 0x2f88
addq $0x640, %rbx            # imm = 0x640
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
movq %rbx, %rsi
callq 0x219ee
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d51e
callq 0x21b0
leaq -0x30(%rbp), %rdi
callq 0x195f2
movl $0x640, %eax            # imm = 0x640
addq -0x30(%rbp), %rax
cmpq %rax, %rbx
jne 0x1d57b
movq 0x16a94(%rip), %rbx     # 0x33fd0
leaq 0x9f53(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x16a62(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1a4ce
leaq -0x50(%rbp), %rdi
callq 0xacd4
leaq -0x30(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1d5d2
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d5d5
callq 0x21b0
jmp 0x1d5d5
jmp 0x1d5d2
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d5de
callq 0x21b0
jmp 0x1d5de
movq %rax, %rbx
jmp 0x1d5de
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_single_end_w_realloc()
void
test_vector_modifiers_insert_single_end_w_realloc()
{
	ft::vector<std::string> vec(100, "test");
	ft::vector<std::string>::iterator it = vec.end();
	ft::vector<std::string>::iterator tmp;

	print_vec_info(vec);
	tmp = vec.insert(it, "42");
	print_vec_info(vec);

	it = vec.begin();
	if (tmp == it + 100)
		std::cout << "valid" << std::endl;

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x28(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x8b51(%rip), %rsi      # 0x26151
leaq 0x8b4e(%rip), %rdx      # 0x26155
leaq -0x38(%rbp), %rdi
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x38(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d634
callq 0x21b0
leaq -0x50(%rbp), %rdi
movq 0x8(%rdi), %rbx
callq 0x195f2
leaq -0x38(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x9437(%rip), %rsi      # 0x26a86
leaq 0x9432(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x38(%rbp), %rdx
movq %rbx, %rsi
callq 0x219ee
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d67c
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x195f2
movl $0xc80, %eax            # imm = 0xC80
addq -0x50(%rbp), %rax
cmpq %rax, %rbx
jne 0x1d6d9
movq 0x16936(%rip), %rbx     # 0x33fd0
leaq 0x9df5(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x16904(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x38(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1a4ce
leaq -0x38(%rbp), %rdi
callq 0xacd4
leaq -0x50(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1d730
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d733
callq 0x21b0
jmp 0x1d733
jmp 0x1d730
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d73c
callq 0x21b0
jmp 0x1d73c
movq %rax, %rbx
jmp 0x1d73c
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_single_end_wo_realloc()
void
test_vector_modifiers_insert_single_end_wo_realloc()
{
	ft::vector<std::string> vec(100, "test");
	ft::vector<std::string>::iterator it;
	ft::vector<std::string>::iterator tmp;

	vec.reserve(101);

	print_vec_info(vec);
	it = vec.end();
	tmp = vec.insert(it, "42");
	print_vec_info(vec);

	it = vec.end();
	if (tmp == it)
		std::cout << "valid" << std::endl;

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x89f3(%rip), %rsi      # 0x26151
leaq 0x89f0(%rip), %rdx      # 0x26155
leaq -0x50(%rbp), %rdi
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d792
callq 0x21b0
leaq -0x30(%rbp), %rdi
movl $0x65, %esi
callq 0x211b2
leaq -0x30(%rbp), %rdi
callq 0x195f2
movq -0x28(%rbp), %rbx
leaq -0x50(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x92cb(%rip), %rsi      # 0x26a86
leaq 0x92c6(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
movq %rbx, %rsi
callq 0x219ee
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d7e8
callq 0x21b0
leaq -0x30(%rbp), %rdi
callq 0x195f2
cmpq -0x28(%rbp), %rbx
jne 0x1d83d
movq 0x167d2(%rip), %rbx     # 0x33fd0
leaq 0x9c91(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x167a0(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1a4ce
leaq -0x50(%rbp), %rdi
callq 0xacd4
leaq -0x30(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1d894
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d897
callq 0x21b0
jmp 0x1d897
jmp 0x1d894
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d8a0
callq 0x21b0
jmp 0x1d8a0
movq %rax, %rbx
jmp 0x1d8a0
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_begin_w_realloc()
void
test_vector_modifiers_insert_fill_begin_w_realloc()
{
	ft::vector<std::string> vec(100, "test");

	print_vec_info(vec);
	vec.insert(vec.begin(), 5, "42");
	print_vec_info(vec);

	ft::vector<std::string> empty;

	print_vec_info(empty);
	empty.insert(empty.begin(), 5, "42");
	print_vec_info(empty);

	{
		ft::vector<std::string> cpy1 = vec;
		ft::vector<std::string> cpy2 = empty;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
leaq -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x888f(%rip), %rsi      # 0x26151
leaq 0x888c(%rip), %rdx      # 0x26155
leaq -0x30(%rbp), %rdi
callq 0x2f88
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rdx
leaq -0x50(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d8f6
callq 0x21b0
leaq -0x68(%rbp), %rdi
callq 0x195f2
movq -0x68(%rbp), %rbx
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x9175(%rip), %rsi      # 0x26a86
leaq 0x9170(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d940
callq 0x21b0
leaq -0x68(%rbp), %rdi
callq 0x195f2
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
callq 0x195f2
movq -0x50(%rbp), %rbx
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x9114(%rip), %rsi      # 0x26a86
leaq 0x910f(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d9a1
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x195f2
leaq -0x30(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x1a4ce
leaq -0x80(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1a4ce
leaq -0x80(%rbp), %rdi
callq 0xacd4
leaq -0x30(%rbp), %rdi
callq 0xacd4
leaq -0x50(%rbp), %rdi
callq 0xacd4
leaq -0x68(%rbp), %rdi
callq 0xacd4
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
jmp 0x1da46
jmp 0x1da43
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1da46
callq 0x21b0
jmp 0x1da46
jmp 0x1da43
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1da54
callq 0x21b0
jmp 0x1da54
jmp 0x1da51
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1da5d
callq 0x21b0
jmp 0x1da5d
movq %rax, %rbx
jmp 0x1da5d
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0xacd4
jmp 0x1da54
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_begin_wo_realloc()
void
test_vector_modifiers_insert_fill_begin_wo_realloc()
{
	ft::vector<std::string> vec(100, "test");

	vec.reserve(105);

	print_vec_info(vec);
	vec.insert(vec.begin(), 5, "42");
	print_vec_info(vec);

	ft::vector<std::string> empty;

	empty.reserve(5);

	print_vec_info(empty);
	empty.insert(empty.begin(), 5, "42");
	print_vec_info(empty);

	{
		ft::vector<std::string> cpy1 = vec;
		ft::vector<std::string> cpy2 = empty;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
leaq -0x20(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x86d2(%rip), %rsi      # 0x26151
leaq 0x86cf(%rip), %rdx      # 0x26155
leaq -0x30(%rbp), %rdi
callq 0x2f88
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rdx
leaq -0x50(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dab3
callq 0x21b0
leaq -0x68(%rbp), %rdi
movl $0x69, %esi
callq 0x211b2
leaq -0x68(%rbp), %rdi
callq 0x195f2
movq -0x68(%rbp), %rbx
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x8faa(%rip), %rsi      # 0x26a86
leaq 0x8fa5(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1db0b
callq 0x21b0
leaq -0x68(%rbp), %rdi
callq 0x195f2
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movl $0x5, %esi
callq 0x211b2
leaq -0x50(%rbp), %rdi
callq 0x195f2
movq -0x50(%rbp), %rbx
leaq -0x30(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x8f3b(%rip), %rsi      # 0x26a86
leaq 0x8f36(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1db7a
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x195f2
leaq -0x30(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x1a4ce
leaq -0x80(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1a4ce
leaq -0x80(%rbp), %rdi
callq 0xacd4
leaq -0x30(%rbp), %rdi
callq 0xacd4
leaq -0x50(%rbp), %rdi
callq 0xacd4
leaq -0x68(%rbp), %rdi
callq 0xacd4
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
jmp 0x1dc1f
jmp 0x1dc1c
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dc1f
callq 0x21b0
jmp 0x1dc1f
jmp 0x1dc1c
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dc2d
callq 0x21b0
jmp 0x1dc2d
jmp 0x1dc2a
movq %rax, %rbx
movq -0x30(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dc36
callq 0x21b0
jmp 0x1dc36
movq %rax, %rbx
jmp 0x1dc36
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0xacd4
jmp 0x1dc2d
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_middle_w_realloc()
void
test_vector_modifiers_insert_fill_middle_w_realloc()
{
	ft::vector<std::string> vec(100, "test");

	print_vec_info(vec);
	vec.insert(vec.begin() + 50, 5, "42");
	print_vec_info(vec);

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x28(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x84f9(%rip), %rsi      # 0x26151
leaq 0x84f6(%rip), %rdx      # 0x26155
leaq -0x38(%rbp), %rdi
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x38(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dc8c
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x195f2
movq -0x50(%rbp), %rbx
leaq -0x38(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x8ddf(%rip), %rsi      # 0x26a86
leaq 0x8dda(%rip), %rdx      # 0x26a88
callq 0x2f88
addq $0x640, %rbx            # imm = 0x640
leaq -0x50(%rbp), %rdi
leaq -0x38(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dcdd
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x195f2
leaq -0x38(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1a4ce
leaq -0x38(%rbp), %rdi
callq 0xacd4
leaq -0x50(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1dd3d
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dd40
callq 0x21b0
jmp 0x1dd40
jmp 0x1dd3d
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dd49
callq 0x21b0
jmp 0x1dd49
movq %rax, %rbx
jmp 0x1dd49
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_middle_wo_realloc()
void
test_vector_modifiers_insert_fill_middle_wo_realloc()
{
	ft::vector<std::string> vec(100, "test");

	vec.reserve(105);

	print_vec_info(vec);
	vec.insert(vec.begin() + 50, 5, "42");
	print_vec_info(vec);

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x83e6(%rip), %rsi      # 0x26151
leaq 0x83e3(%rip), %rdx      # 0x26155
leaq -0x50(%rbp), %rdi
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dd9f
callq 0x21b0
leaq -0x30(%rbp), %rdi
movl $0x69, %esi
callq 0x211b2
leaq -0x30(%rbp), %rdi
callq 0x195f2
movq -0x30(%rbp), %rbx
leaq -0x50(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x8cbe(%rip), %rsi      # 0x26a86
leaq 0x8cb9(%rip), %rdx      # 0x26a88
callq 0x2f88
addq $0x640, %rbx            # imm = 0x640
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1ddfe
callq 0x21b0
leaq -0x30(%rbp), %rdi
callq 0x195f2
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1a4ce
leaq -0x50(%rbp), %rdi
callq 0xacd4
leaq -0x30(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1de5e
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1de61
callq 0x21b0
jmp 0x1de61
jmp 0x1de5e
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1de6a
callq 0x21b0
jmp 0x1de6a
movq %rax, %rbx
jmp 0x1de6a
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_end_w_realloc()
void
test_vector_modifiers_insert_fill_end_w_realloc()
{
	ft::vector<std::string> vec(100, "test");

	print_vec_info(vec);
	vec.insert(vec.end(), 5, "42");
	print_vec_info(vec);

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x28(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x82c5(%rip), %rsi      # 0x26151
leaq 0x82c2(%rip), %rdx      # 0x26155
leaq -0x38(%rbp), %rdi
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x38(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dec0
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x195f2
movq -0x48(%rbp), %rbx
leaq -0x38(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x8bab(%rip), %rsi      # 0x26a86
leaq 0x8ba6(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x50(%rbp), %rdi
leaq -0x38(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1df0a
callq 0x21b0
leaq -0x50(%rbp), %rdi
callq 0x195f2
leaq -0x38(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x1a4ce
leaq -0x38(%rbp), %rdi
callq 0xacd4
leaq -0x50(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1df6a
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1df6d
callq 0x21b0
jmp 0x1df6d
jmp 0x1df6a
movq %rax, %rbx
movq -0x38(%rbp), %rdi
cmpq %r14, %rdi
je 0x1df76
callq 0x21b0
jmp 0x1df76
movq %rax, %rbx
jmp 0x1df76
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_end_wo_realloc()
void
test_vector_modifiers_insert_fill_end_wo_realloc()
{
	ft::vector<std::string> vec(100, "test");

	vec.reserve(105);

	print_vec_info(vec);
	vec.insert(vec.end(), 5, "42");
	print_vec_info(vec);

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x81b9(%rip), %rsi      # 0x26151
leaq 0x81b6(%rip), %rdx      # 0x26155
leaq -0x50(%rbp), %rdi
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1dfcc
callq 0x21b0
leaq -0x30(%rbp), %rdi
movl $0x69, %esi
callq 0x211b2
leaq -0x30(%rbp), %rdi
callq 0x195f2
movq -0x28(%rbp), %rbx
leaq -0x50(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x8a91(%rip), %rsi      # 0x26a86
leaq 0x8a8c(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1e024
callq 0x21b0
leaq -0x30(%rbp), %rdi
callq 0x195f2
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1a4ce
leaq -0x50(%rbp), %rdi
callq 0xacd4
leaq -0x30(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1e084
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1e087
callq 0x21b0
jmp 0x1e087
jmp 0x1e084
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1e090
callq 0x21b0
jmp 0x1e090
movq %rax, %rbx
jmp 0x1e090
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_extra()
void
test_vector_modifiers_insert_fill_extra()
{
	ft::vector<std::string> vec(1, "test");

	vec.reserve(6);

	print_vec_info(vec);
	vec.insert(vec.end(), 5, "42");
	print_vec_info(vec);

	{
		ft::vector<std::string> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x809f(%rip), %rsi      # 0x26151
leaq 0x809c(%rip), %rdx      # 0x26155
leaq -0x50(%rbp), %rdi
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x1, %esi
callq 0x1955c
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1e0e6
callq 0x21b0
leaq -0x30(%rbp), %rdi
movl $0x6, %esi
callq 0x211b2
leaq -0x30(%rbp), %rdi
callq 0x195f2
movq -0x28(%rbp), %rbx
leaq -0x50(%rbp), %rdi
movq %r14, (%rdi)
leaq 0x8977(%rip), %rsi      # 0x26a86
leaq 0x8972(%rip), %rdx      # 0x26a88
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rcx
movl $0x5, %edx
movq %rbx, %rsi
callq 0x1a740
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1e13e
callq 0x21b0
leaq -0x30(%rbp), %rdi
callq 0x195f2
leaq -0x50(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1a4ce
leaq -0x50(%rbp), %rdi
callq 0xacd4
leaq -0x30(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1e19e
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1e1a1
callq 0x21b0
jmp 0x1e1a1
jmp 0x1e19e
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1e1aa
callq 0x21b0
jmp 0x1e1aa
movq %rax, %rbx
jmp 0x1e1aa
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_middle_w_realloc_rand()
void
test_vector_modifiers_insert_fill_middle_w_realloc_rand()
{
	ft::vector<int> vec;
	for (int i = 1; i <= 50; i++)
		vec.push_back(i);

	print_vec_info(vec);
	vec.insert(vec.begin() + 25, 5, 42);
	print_vec_info(vec);

	{
		ft::vector<int> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq -0x48(%rbp), %r14
movl $0x1, (%r14)
movl $0x1, %eax
movq -0x28(%rbp), %rsi
cmpq -0x20(%rbp), %rsi
je 0x1e1f5
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x28(%rbp)
jmp 0x1e200
movq %rbx, %rdi
movq %r14, %rdx
callq 0x177a0
movl -0x48(%rbp), %ecx
leal 0x1(%rcx), %eax
movl %eax, -0x48(%rbp)
cmpl $0x32, %ecx
jl 0x1e1df
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x30(%rbp), %rdi
movq (%rdi), %rsi
addq $0x64, %rsi
leaq -0x48(%rbp), %rcx
movl $0x2a, (%rcx)
movl $0x5, %edx
callq 0x1ac24
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x48(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1767e
movq -0x48(%rbp), %rdi
testq %rdi, %rdi
je 0x1e25a
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e268
callq 0x21b0
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1e277
jmp 0x1e277
jmp 0x1e277
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e288
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_fill_middle_wo_realloc_rand()
void
test_vector_modifiers_insert_fill_middle_wo_realloc_rand()
{
	ft::vector<int> vec;
	for (int i = 1; i <= 50; i++)
		vec.push_back(i);

	vec.reserve(55);

	print_vec_info(vec);
	vec.insert(vec.begin() + 25, 5, 42);
	print_vec_info(vec);

	{
		ft::vector<int> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq -0x48(%rbp), %r14
movl $0x1, (%r14)
movl $0x1, %eax
movq -0x28(%rbp), %rsi
cmpq -0x20(%rbp), %rsi
je 0x1e2d3
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x28(%rbp)
jmp 0x1e2de
movq %rbx, %rdi
movq %r14, %rdx
callq 0x177a0
movl -0x48(%rbp), %ecx
leal 0x1(%rcx), %eax
movl %eax, -0x48(%rbp)
cmpl $0x32, %ecx
jl 0x1e2bd
leaq -0x30(%rbp), %rdi
movl $0x37, %esi
callq 0x1a596
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x30(%rbp), %rdi
movq (%rdi), %rsi
addq $0x64, %rsi
leaq -0x48(%rbp), %rcx
movl $0x2a, (%rcx)
movl $0x5, %edx
callq 0x1ac24
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x48(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1767e
movq -0x48(%rbp), %rdi
testq %rdi, %rdi
je 0x1e346
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e354
callq 0x21b0
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1e363
jmp 0x1e363
jmp 0x1e363
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e374
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_range_begin_w_realloc()
void
test_vector_modifiers_insert_range_begin_w_realloc()
{
	ft::vector<int> vec_random;

	srand(g_seed);

	for (int i = 0; i < 50; i++)
		vec_random.push_back(rand() % 100 - 100 / 2);

	ft::vector<int> vec(50, 42);

	print_vec_info(vec);
	vec.insert(vec.begin(), vec_random.begin(), vec_random.end());
	print_vec_info(vec);

	ft::vector<int> empty;

	print_vec_info(empty);
	empty.insert(empty.begin(), vec_random.begin(), vec_random.end());
	print_vec_info(empty);

	{
		ft::vector<int> cpy1 = vec;
		ft::vector<int> cpy2 = empty;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x88, %rsp
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq 0x15e3b(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x32, %r15d
leaq -0x30(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x30(%rbp)
movq -0x48(%rbp), %rsi
cmpq -0x40(%rbp), %rsi
je 0x1e3f4
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x1e3ff
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1e3b6
xorps %xmm0, %xmm0
movaps %xmm0, -0x30(%rbp)
movq $0x0, -0x20(%rbp)
movl $0xc8, %edi
callq 0x2200
movq %rax, -0x30(%rbp)
movq %rax, %rcx
addq $0xc8, %rcx
movq %rcx, -0x20(%rbp)
xorl %edx, %edx
movl $0x2a, (%rax,%rdx)
addq $0x4, %rdx
cmpq $0xc8, %rdx
jne 0x1e431
leaq -0x30(%rbp), %rdi
movq %rcx, 0x8(%rdi)
callq 0x193f4
leaq -0x30(%rbp), %rdi
movq (%rdi), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cca
leaq -0x30(%rbp), %rdi
callq 0x193f4
xorps %xmm0, %xmm0
leaq -0x70(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
callq 0x193f4
leaq -0x70(%rbp), %rdi
movq (%rdi), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cca
leaq -0x70(%rbp), %rdi
callq 0x193f4
leaq -0x88(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1767e
leaq -0xa0(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x1767e
movq -0xa0(%rbp), %rdi
testq %rdi, %rdi
je 0x1e4d4
callq 0x21b0
movq -0x88(%rbp), %rdi
testq %rdi, %rdi
je 0x1e4e5
callq 0x21b0
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x1e4f3
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e501
callq 0x21b0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e50f
callq 0x21b0
addq $0x88, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq -0x88(%rbp), %rdi
testq %rdi, %rdi
je 0x1e53e
callq 0x21b0
jmp 0x1e53e
jmp 0x1e53b
jmp 0x1e53b
jmp 0x1e54e
jmp 0x1e561
movq %rax, %rbx
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x1e551
callq 0x21b0
jmp 0x1e551
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e564
callq 0x21b0
jmp 0x1e564
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e572
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_range_middle_w_realloc()
void
test_vector_modifiers_insert_range_middle_w_realloc()
{
	ft::vector<int> vec_random;

	srand(g_seed);

	for (int i = 0; i < 50; i++)
		vec_random.push_back(rand() % 100 - 100 / 2);

	ft::vector<int> vec;
	for (int i = 1; i <= 50; i++)
		vec.push_back(i);

	print_vec_info(vec);
	vec.insert(vec.begin() + 25, vec_random.begin(), vec_random.end());
	print_vec_info(vec);

	{
		ft::vector<int> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x58, %rsp
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq 0x15a25(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x32, %r15d
leaq -0x30(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x30(%rbp)
movq -0x48(%rbp), %rsi
cmpq -0x40(%rbp), %rsi
je 0x1e80a
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x1e815
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1e7cc
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq -0x68(%rbp), %r14
movl $0x1, (%r14)
movl $0x1, %eax
movq -0x28(%rbp), %rsi
cmpq -0x20(%rbp), %rsi
je 0x1e852
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x28(%rbp)
jmp 0x1e85d
movq %rbx, %rdi
movq %r14, %rdx
callq 0x177a0
movl -0x68(%rbp), %ecx
leal 0x1(%rcx), %eax
movl %eax, -0x68(%rbp)
cmpl $0x32, %ecx
jl 0x1e83c
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x30(%rbp), %rdi
movq (%rdi), %rsi
addq $0x64, %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cca
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1767e
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x1e8b0
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e8be
callq 0x21b0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e8cc
callq 0x21b0
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1e8dd
jmp 0x1e8dd
jmp 0x1e8dd
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e8f3
callq 0x21b0
jmp 0x1e8f3
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e901
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_range_middle_wo_realloc()
void
test_vector_modifiers_insert_range_middle_wo_realloc()
{
	ft::vector<int> vec_random;

	srand(g_seed);

	for (int i = 0; i < 50; i++)
		vec_random.push_back(rand() % 100 - 100 / 2);

	ft::vector<int> vec;
	for (int i = 1; i <= 50; i++)
		vec.push_back(i);

	vec.reserve(100);

	print_vec_info(vec);
	vec.insert(vec.begin() + 25, vec_random.begin(), vec_random.end());
	print_vec_info(vec);

	{
		ft::vector<int> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x58, %rsp
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq 0x158b1(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x32, %r15d
leaq -0x30(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x30(%rbp)
movq -0x48(%rbp), %rsi
cmpq -0x40(%rbp), %rsi
je 0x1e97e
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x1e989
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1e940
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq -0x68(%rbp), %r14
movl $0x1, (%r14)
movl $0x1, %eax
movq -0x28(%rbp), %rsi
cmpq -0x20(%rbp), %rsi
je 0x1e9c6
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x28(%rbp)
jmp 0x1e9d1
movq %rbx, %rdi
movq %r14, %rdx
callq 0x177a0
movl -0x68(%rbp), %ecx
leal 0x1(%rcx), %eax
movl %eax, -0x68(%rbp)
cmpl $0x32, %ecx
jl 0x1e9b0
leaq -0x30(%rbp), %rdi
movl $0x64, %esi
callq 0x1a596
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x30(%rbp), %rdi
movq (%rdi), %rsi
addq $0x64, %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cca
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1767e
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x1ea32
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1ea40
callq 0x21b0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1ea4e
callq 0x21b0
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1ea5f
jmp 0x1ea5f
jmp 0x1ea5f
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1ea75
callq 0x21b0
jmp 0x1ea75
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1ea83
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_range_end_w_realloc()
void
test_vector_modifiers_insert_range_end_w_realloc()
{
	ft::vector<int> vec_random;

	srand(g_seed);

	for (int i = 0; i < 50; i++)
		vec_random.push_back(rand() % 100 - 100 / 2);

	ft::vector<int> vec;
	for (int i = 1; i <= 50; i++)
		vec.push_back(i);

	print_vec_info(vec);
	vec.insert(vec.end(), vec_random.begin(), vec_random.end());
	print_vec_info(vec);

	{
		ft::vector<int> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x58, %rsp
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq 0x1572f(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x32, %r15d
leaq -0x30(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x30(%rbp)
movq -0x48(%rbp), %rsi
cmpq -0x40(%rbp), %rsi
je 0x1eb00
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x1eb0b
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1eac2
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq -0x68(%rbp), %r14
movl $0x1, (%r14)
movl $0x1, %eax
movq -0x28(%rbp), %rsi
cmpq -0x20(%rbp), %rsi
je 0x1eb48
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x28(%rbp)
jmp 0x1eb53
movq %rbx, %rdi
movq %r14, %rdx
callq 0x177a0
movl -0x68(%rbp), %ecx
leal 0x1(%rcx), %eax
movl %eax, -0x68(%rbp)
cmpl $0x32, %ecx
jl 0x1eb32
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x30(%rbp), %rdi
movq 0x8(%rdi), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cca
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1767e
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x1eba3
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1ebb1
callq 0x21b0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1ebbf
callq 0x21b0
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1ebd0
jmp 0x1ebd0
jmp 0x1ebd0
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1ebe6
callq 0x21b0
jmp 0x1ebe6
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1ebf4
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_range_end_wo_realloc()
void
test_vector_modifiers_insert_range_end_wo_realloc()
{
	ft::vector<int> vec_random;

	srand(g_seed);

	for (int i = 0; i < 50; i++)
		vec_random.push_back(rand() % 100 - 100 / 2);

	ft::vector<int> vec(50, 42);

	vec.reserve(100);

	print_vec_info(vec);
	vec.insert(vec.end(), vec_random.begin(), vec_random.end());
	print_vec_info(vec);

	{
		ft::vector<int> cpy1 = vec;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x58, %rsp
xorps %xmm0, %xmm0
leaq -0x50(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
leaq 0x155be(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
movl $0x32, %r15d
leaq -0x30(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x30(%rbp)
movq -0x48(%rbp), %rsi
cmpq -0x40(%rbp), %rsi
je 0x1ec71
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x1ec7c
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1ec33
movl $0xc8, %edi
callq 0x2200
movq %rax, -0x30(%rbp)
movq %rax, %rcx
addq $0xc8, %rcx
movq %rcx, -0x20(%rbp)
xorl %edx, %edx
movl $0x2a, (%rax,%rdx)
addq $0x4, %rdx
cmpq $0xc8, %rdx
jne 0x1ec9f
leaq -0x30(%rbp), %rdi
movq %rcx, 0x8(%rdi)
movl $0x64, %esi
callq 0x1a596
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x30(%rbp), %rdi
movq 0x8(%rdi), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cca
leaq -0x30(%rbp), %rdi
callq 0x193f4
leaq -0x68(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x1767e
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x1ed07
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1ed15
callq 0x21b0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1ed23
callq 0x21b0
addq $0x58, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1ed34
jmp 0x1ed34
jmp 0x1ed47
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1ed4a
callq 0x21b0
jmp 0x1ed4a
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1ed58
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_insert_cplusplus()
void
test_vector_modifiers_insert_cplusplus()
{
	ft::vector<int> myvector(3, 100);
	ft::vector<int>::iterator it;

	it = myvector.begin();
	it = myvector.insert(it, 200);

	myvector.insert(it, 2, 300);

	// "it" no longer valid, get a new one:
	it = myvector.begin();

	ft::vector<int> anothervector(2, 400);
	myvector.insert(it + 2, anothervector.begin(), anothervector.end());

	int myarray[] = {501, 502, 503};
	myvector.insert(myvector.begin(), myarray, myarray + 3);

	std::cout << "myvector contains:";
	for (it = myvector.begin(); it < myvector.end(); it++)
		std::cout << ' ' << *it;
	std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movl $0xc, %edi
callq 0x2200
movq %rax, -0x48(%rbp)
movq %rax, %rcx
addq $0xc, %rcx
movq %rcx, -0x38(%rbp)
xorl %edx, %edx
movl $0x64, (%rax,%rdx)
addq $0x4, %rdx
cmpq $0xc, %rdx
jne 0x1ed8c
leaq -0x48(%rbp), %rdi
movq %rcx, 0x8(%rdi)
leaq -0x58(%rbp), %rdx
movl $0xc8, (%rdx)
movq %rax, %rsi
callq 0x21e96
leaq -0x58(%rbp), %rcx
movl $0x12c, (%rcx)          # imm = 0x12C
leaq -0x48(%rbp), %rdi
movl $0x2, %edx
movq %rax, %rsi
callq 0x1ac24
movq -0x48(%rbp), %r14
movl $0x8, %edi
callq 0x2200
movq %rax, %rbx
movabsq $0x19000000190, %rax    # imm = 0x19000000190
movq %rax, (%rbx)
movq %rbx, %rcx
addq $0x8, %rcx
addq $0x8, %r14
leaq -0x48(%rbp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x21cca
leaq -0x48(%rbp), %rdi
movq (%rdi), %rsi
movabsq $0x1f6000001f5, %rax    # imm = 0x1F6000001F5
leaq -0x4c(%rbp), %rcx
movq %rax, -0xc(%rcx)
movl $0x1f7, -0x4(%rcx)      # imm = 0x1F7
leaq -0x58(%rbp), %rdx
callq 0x21f1c
movq 0x15196(%rip), %r14     # 0x33fd0
leaq 0x7e6b(%rip), %rsi      # 0x26cac
movl $0x12, %edx
movq %r14, %rdi
callq 0x2230
movq -0x48(%rbp), %r13
cmpq -0x40(%rbp), %r13
jae 0x1ee8d
movq 0x15171(%rip), %r15     # 0x33fd0
leaq -0x29(%rbp), %r12
movb $0x20, -0x29(%rbp)
movl $0x1, %edx
movq %r15, %rdi
movq %r12, %rsi
callq 0x2230
movl (%r13), %esi
movq %rax, %rdi
callq 0x2330
addq $0x4, %r13
cmpq -0x40(%rbp), %r13
jb 0x1ee63
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x15125(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq %rbx, %rdi
callq 0x21b0
movq -0x48(%rbp), %rdi
testq %rdi, %rdi
je 0x1eece
callq 0x21b0
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1eeec
jmp 0x1eeec
jmp 0x1eee5
jmp 0x1eee5
movq %rax, %r14
jmp 0x1eef7
jmp 0x1eeec
movq %rax, %r14
movq %rbx, %rdi
callq 0x21b0
movq -0x48(%rbp), %rdi
testq %rdi, %rdi
je 0x1ef05
callq 0x21b0
movq %r14, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_erase_single_begin()
void
test_vector_modifiers_erase_single_begin()
{
	srand(g_seed);

	ft::vector<int> vec;
	ft::vector<int>::iterator it;

	for (int i = 0; i < 100; i++)
		vec.push_back(rand() % 100 - 100 / 2);

	print_vec_info(vec);
	it = vec.erase(vec.begin());
	print_vec_info(vec);

	if (it == vec.begin())
		std::cout << "valid" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
leaq 0x152bf(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movl $0x64, %r15d
leaq -0x34(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x34(%rbp)
movq -0x28(%rbp), %rsi
cmpq -0x20(%rbp), %rsi
je 0x1ef82
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x28(%rbp)
jmp 0x1ef8d
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1ef44
leaq -0x30(%rbp), %rdi
callq 0x193f4
movq -0x30(%rbp), %rbx
movq -0x28(%rbp), %rdx
leaq 0x4(%rbx), %rsi
cmpq %rdx, %rsi
je 0x1efbb
subq %rsi, %rdx
movq %rbx, %rdi
callq 0x2300
movq -0x28(%rbp), %rdx
addq $-0x4, %rdx
leaq -0x30(%rbp), %rdi
movq %rdx, 0x8(%rdi)
callq 0x193f4
movq -0x30(%rbp), %rdi
cmpq %rdi, %rbx
jne 0x1f01f
movq 0x14ff4(%rip), %rbx     # 0x33fd0
leaq 0x84b3(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x14fc2(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1f029
callq 0x21b0
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f036
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1f047
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_erase_single_end()
void
test_vector_modifiers_erase_single_end()
{
	srand(g_seed);

	ft::vector<int> vec;
	ft::vector<int>::iterator it;

	for (int i = 0; i < 100; i++)
		vec.push_back(rand() % 100 - 100 / 2);

	print_vec_info(vec);
	it = vec.erase(vec.end() - 1);
	print_vec_info(vec);

	if (it == vec.end())
		std::cout << "valid" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
leaq 0x15035(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movl $0x64, %r15d
leaq -0x1c(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x1c(%rbp)
movq -0x38(%rbp), %rsi
cmpq -0x30(%rbp), %rsi
je 0x1f20c
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x38(%rbp)
jmp 0x1f217
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1f1ce
leaq -0x40(%rbp), %rdi
callq 0x193f4
movq -0x38(%rbp), %rsi
leaq -0x4(%rsi), %rbx
movb $0x1, %al
testb %al, %al
jne 0x1f245
movq %rsi, %rdx
subq %rsi, %rdx
movq %rbx, %rdi
callq 0x2300
movq -0x38(%rbp), %rsi
addq $-0x4, %rsi
leaq -0x40(%rbp), %rdi
movq %rsi, 0x8(%rdi)
callq 0x193f4
cmpq -0x38(%rbp), %rbx
jne 0x1f2a2
movq 0x14d6d(%rip), %rbx     # 0x33fd0
leaq 0x822c(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x14d3b(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x1f2b0
callq 0x21b0
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f2bd
movq %rax, %rbx
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x1f2ce
callq 0x21b0
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_erase_single_string()
void
test_vector_modifiers_erase_single_string()
{
	ft::vector<std::string> vec(100, "42");
	ft::vector<std::string>::iterator it;


	print_vec_info(vec);
	it = vec.erase(vec.begin() + 50);
	print_vec_info(vec);

	if (it == vec.begin() + 50)
		std::cout << "valid" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
leaq -0x40(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x7796(%rip), %rsi      # 0x26a86
leaq 0x7791(%rip), %rdx      # 0x26a88
leaq -0x50(%rbp), %rdi
callq 0x2f88
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
leaq -0x11(%rbp), %rcx
movl $0x64, %esi
callq 0x1955c
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1f324
callq 0x21b0
leaq -0x30(%rbp), %rdi
callq 0x195f2
movl $0x640, %esi            # imm = 0x640
leaq -0x30(%rbp), %rdi
addq (%rdi), %rsi
callq 0x220e8
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x195f2
movl $0x640, %eax            # imm = 0x640
addq -0x30(%rbp), %rax
cmpq %rax, %rbx
jne 0x1f39e
movq 0x14c71(%rip), %rbx     # 0x33fd0
leaq 0x8130(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x14c3f(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
leaq -0x30(%rbp), %rdi
callq 0xacd4
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
jmp 0x1f3ca
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r14, %rdi
je 0x1f3d6
callq 0x21b0
jmp 0x1f3d6
movq %rax, %rbx
jmp 0x1f3d6
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0xacd4
movq %rbx, %rdi
callq 0x2340
// File: /workspace/github_cpp_makefile_star2_O3/DimitriDaSilva[P]42_ft_containers/tester/containers/vector/test_vector_modifiers.cpp
// Function: test_vector_modifiers_erase_range_end()
void
test_vector_modifiers_erase_range_end()
{
	srand(g_seed);

	ft::vector<int> vec;
	ft::vector<int>::iterator it;

	for (int i = 0; i < 100; i++)
		vec.push_back(rand() % 100 - 100 / 2);

	print_vec_info(vec);
	it = vec.erase(vec.begin() + 50, vec.end());
	print_vec_info(vec);

	if (it == vec.end())
		std::cout << "valid" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
leaq 0x14b3f(%rip), %rax     # 0x341e0
movl (%rax), %edi
callq 0x21d0
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movl $0x64, %r15d
leaq -0x34(%rbp), %r14
callq 0x2070
cltq
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x25, %rcx
addl %edx, %ecx
imull $0x64, %ecx, %ecx
negl %ecx
addl %ecx, %eax
addl $-0x32, %eax
movl %eax, -0x34(%rbp)
movq -0x28(%rbp), %rsi
cmpq -0x20(%rbp), %rsi
je 0x1f702
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x28(%rbp)
jmp 0x1f70d
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1f6c4
leaq -0x30(%rbp), %rdi
callq 0x193f4
movl $0xc8, %ebx
addq -0x30(%rbp), %rbx
cmpq -0x28(%rbp), %rbx
je 0x1f72e
movq %rbx, -0x28(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x193f4
cmpq -0x28(%rbp), %rbx
jne 0x1f783
movq 0x1488c(%rip), %rbx     # 0x33fd0
leaq 0x7d4b(%rip), %rsi      # 0x27496
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2230
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x1485a(%rip), %rdi     # 0x33fd0
callq 0x2030
movq %rax, %rdi
callq 0x2150
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1f791
callq 0x21b0
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1f79e
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1f7af
callq 0x21b0
movq %rbx, %rdi
callq 0x2340