// File: /workspace/github_cpp_makefile_star2_O1/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 $0x28, %rsp
movq %r9, %rbx
movq %r8, %r15
movq %rcx, %r12
movq %rdx, 0x20(%rsp)
movq %rsi, %r14
movq %rdi, %rbp
leaq 0x12d75(%rip), %rsi     # 0x18b6f
movq %r9, %rdi
callq 0x3100
movq (%rbp), %rcx
movq -0x18(%rcx), %rcx
movq $0x23, 0x10(%rbp,%rcx)
testl %eax, %eax
je 0x5e25
leaq 0x122e2(%rip), %rsi     # 0x18100
movl $0x7, %edx
jmp 0x5e31
leaq 0x122c8(%rip), %rsi     # 0x180f4
movl $0xb, %edx
movq %rbp, %rdi
callq 0x33b0
movq %r12, 0x10(%rsp)
movq %r15, 0x18(%rsp)
movq (%rbp), %rax
movq -0x18(%rax), %rax
movl $0x23, %r15d
movq %r15, 0x10(%rbp,%rax)
leaq 0x122ab(%rip), %rsi     # 0x18108
movl $0xe, %edx
movq %rbp, %rdi
callq 0x33b0
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
leaq 0x12299(%rip), %rsi     # 0x18117
movl $0x1f, %edx
movq %rbp, %rdi
callq 0x33b0
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
leaq 0x12298(%rip), %rsi     # 0x18137
movl $0x6, %edx
movq %rbp, %rdi
callq 0x33b0
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
leaq 0x1227e(%rip), %rsi     # 0x1813e
movl $0x10, %edx
movq %rbp, %rdi
callq 0x33b0
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x3360
movsbl %al, %esi
movq %rbp, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3240
movl 0x60(%rsp), %eax
testl %eax, %eax
jle 0x6000
movq %r14, %r12
movl %eax, %eax
movq %rax, 0x8(%rsp)
xorl %r13d, %r13d
movq %rbx, %rdi
leaq 0x12c57(%rip), %rsi     # 0x18b6f
callq 0x3100
testl %eax, %eax
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq 0x70(%rsp), %rcx
cmoveq 0x68(%rsp), %rcx
movq %r15, 0x10(%rbp,%rax)
movl (%rcx,%r13,4), %esi
movq %rbp, %rdi
callq 0x35b0
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq %r15, 0x10(%rbp,%rax)
movq (%r12), %rax
movsd (%rax,%r13,8), %xmm0
movq %rbp, %rdi
callq 0x3520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq 0x20(%rsp), %rcx
movq (%rcx), %rcx
movsd (%rcx,%r13,8), %xmm0
movq %rax, %rdi
callq 0x3520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq 0x10(%rsp), %rcx
movq (%rcx), %rcx
movsd (%rcx,%r13,8), %xmm0
movq %rax, %rdi
callq 0x3520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq %r15, 0x10(%rax,%rcx)
movq 0x18(%rsp), %rcx
movq (%rcx), %rcx
movsd (%rcx,%r13,8), %xmm0
movq %rax, %rdi
callq 0x3520
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x3360
movsbl %al, %esi
movq %r14, %rdi
callq 0x3040
movq %rax, %rdi
callq 0x3240
incq %r13
cmpq %r13, 0x8(%rsp)
jne 0x5f0e
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq