// File: /workspace/github_cpp_makefile_star2_O1/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 0x15c71(%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 0x1e5be
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, -0x48(%rbp)
jmp 0x1e5c9
movq %rbx, %rdi
movq %r14, %rdx
callq 0x1896a
decl %r15d
jne 0x1e580
xorps %xmm0, %xmm0
movaps %xmm0, -0x30(%rbp)
movq $0x0, -0x20(%rbp)
movl $0xc8, %edi
callq 0x2200
movq %rax, -0x30(%rbp)
movq %rax, -0x28(%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 0x1e5ff
leaq -0x30(%rbp), %rdi
movq %rcx, 0x8(%rdi)
movl $0x64, %esi
callq 0x1a4e6
leaq -0x30(%rbp), %rdi
callq 0x1928b
leaq -0x30(%rbp), %rdi
movq (%rdi), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cb8
leaq -0x30(%rbp), %rdi
callq 0x1928b
xorps %xmm0, %xmm0
movaps %xmm0, -0x70(%rbp)
movq $0x0, -0x60(%rbp)
leaq -0x30(%rbp), %rdi
movl $0x32, %esi
callq 0x1a4e6
leaq -0x70(%rbp), %rdi
callq 0x1928b
leaq -0x70(%rbp), %rdi
movq (%rdi), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x21cb8
leaq -0x70(%rbp), %rdi
callq 0x1928b
leaq -0x88(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x174e8
leaq -0xa0(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x174e8
movq -0xa0(%rbp), %rdi
testq %rdi, %rdi
je 0x1e6bf
callq 0x21b0
movq -0x88(%rbp), %rdi
testq %rdi, %rdi
je 0x1e6d0
callq 0x21b0
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x1e6de
callq 0x21b0
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e6ec
callq 0x21b0
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e6fa
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 0x1e729
callq 0x21b0
jmp 0x1e729
jmp 0x1e726
jmp 0x1e726
jmp 0x1e739
jmp 0x1e74c
movq %rax, %rbx
movq -0x70(%rbp), %rdi
testq %rdi, %rdi
je 0x1e73c
callq 0x21b0
jmp 0x1e73c
movq %rax, %rbx
movq -0x30(%rbp), %rdi
testq %rdi, %rdi
je 0x1e74f
callq 0x21b0
jmp 0x1e74f
movq %rax, %rbx
movq -0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x1e75d
callq 0x21b0
movq %rbx, %rdi
callq 0x2340