// 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_wo_realloc()
void
test_vector_modifiers_insert_range_begin_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.begin(), vec_random.begin(), vec_random.end());
	print_vec_info(vec);

	ft::vector<int> empty;

	vec.reserve(50);

	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 0x15c3d(%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 0x1e5f2
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x1e5fd
movq %rbx, %rdi
movq %r14, %rdx
callq 0x18afe
decl %r15d
jne 0x1e5b4
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 0x1e62f
leaq -0x30(%rbp), %rdi
movq %rcx, 0x8(%rdi)
movl $0x64, %esi
callq 0x1a596
leaq -0x30(%rbp), %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
movaps %xmm0, -0x70(%rbp)
movq $0x0, -0x60(%rbp)
leaq -0x30(%rbp), %rdi
movl $0x32, %esi
callq 0x1a596
leaq -0x70(%rbp), %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 0x1e6ef
callq 0x21b0
movq -0x88(%rbp), %rdi
testq %rdi, %rdi
je 0x1e700
callq 0x21b0
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x1e70e
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e71c
callq 0x21b0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e72a
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 0x1e759
callq 0x21b0
jmp 0x1e759
jmp 0x1e756
jmp 0x1e756
jmp 0x1e769
jmp 0x1e77c
movq %rax, %rbx
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x1e76c
callq 0x21b0
jmp 0x1e76c
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e77f
callq 0x21b0
jmp 0x1e77f
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e78d
callq 0x21b0
movq %rbx, %rdi
callq 0x2340