// File: /workspace/github_cpp_makefile_star2_O2/dtsaras[P]GCW/GCW.cpp
// Function: output_basic_utility(std::ostream*, std::vector<double, std::allocator<double>>, std::vector<double, std::allocator<double>>, std::vector<double, std::allocator<double>>, std::vector<double, std::allocator<double>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int*, int*)
void output_basic_utility(ostream * output, vector<double> sim_Sj, vector<double> sim_S_S_Sj, vector<double> DSS, vector<double> final_sim, string variable, int reps, int * eventsArray, int * budgetsArray){
	if (variable == "c")
		*output << setw(35) << "Competitors";
	else
		*output << setw(35) << "Budgets";
	*output << setw(35) << "avg[Sigma(Sj)]" << setw(35) << "avg[Sigma(S) - Sigma(S - {Sj})]" << setw(35) << "D(S,S)" << setw(35) << "Total Similarity" << endl;
	for (int i = 0; i < reps; ++i){
		if (variable == "c")
			*output << setw(35) << eventsArray[i];
		else
			*output << setw(35) << budgetsArray[i];

		*output << setw(35) << sim_Sj[i] << setw(35) << sim_S_S_Sj[i] << setw(35) << DSS[i] << setw(35) << final_sim[i] << endl;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %r9, %rbx
movq %r8, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movq %rdx, (%rsp)
movq %rsi, %r13
movq %rdi, %rbp
movl 0x50(%rsp), %r14d
leaq 0xe457(%rip), %rsi      # 0x13ac8
movq %r9, %rdi
callq 0x8830
movq (%rbp), %rcx
movq -0x18(%rcx), %rcx
pushq $0x23
popq %r15
movq %r15, 0x10(%rbp,%rcx)
leaq 0xda33(%rip), %rcx      # 0x130c4
leaq 0xda38(%rip), %rsi      # 0x130d0
testb %al, %al
cmovneq %rcx, %rsi
movq %rbp, %rdi
callq 0x3360
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
leaq 0xda1e(%rip), %rsi      # 0x130d8
movq %rbp, %rdi
callq 0x3360
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
leaq 0xda12(%rip), %rsi      # 0x130e7
movq %rax, %rdi
callq 0x3360
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
leaq 0xda17(%rip), %rsi      # 0x13107
movq %rax, %rdi
callq 0x3360
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
leaq 0xda03(%rip), %rsi      # 0x1310e
movq %rax, %rdi
callq 0x3360
movq %rax, %rdi
callq 0x3190
xorl %r12d, %r12d
testl %r14d, %r14d
cmovlel %r12d, %r14d
cmpq %r12, %r14
je 0x57f7
movq %rbx, %rdi
leaq 0xe390(%rip), %rsi      # 0x13ac8
callq 0x8830
movq (%rbp), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rbp,%rcx)
testb %al, %al
movq 0x60(%rsp), %rax
cmovneq 0x58(%rsp), %rax
movl (%rax,%r12,4), %esi
movq %rbp, %rdi
callq 0x3580
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
movq (%r13), %rax
movsd (%rax,%r12,8), %xmm0
movq %rbp, %rdi
callq 0x34f0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq (%rsp), %rcx
movq (%rcx), %rcx
movsd (%rcx,%r12,8), %xmm0
movq %rax, %rdi
callq 0x34f0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq 0x8(%rsp), %rcx
movq (%rcx), %rcx
movsd (%rcx,%r12,8), %xmm0
movq %rax, %rdi
callq 0x34f0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq 0x10(%rsp), %rcx
movq (%rcx), %rcx
movsd (%rcx,%r12,8), %xmm0
movq %rax, %rdi
callq 0x34f0
movq %rax, %rdi
callq 0x3190
incq %r12
jmp 0x5725
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq