// File: 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:
subq $0x118, %rsp            # imm = 0x118
movq %r9, 0xa8(%rsp)
movq %r8, 0x88(%rsp)
movq %rcx, 0x90(%rsp)
movq %rdx, 0x98(%rsp)
movq %rsi, 0xa0(%rsp)
movq %rdi, %rax
movq 0xa8(%rsp), %rdi
movq 0x130(%rsp), %r9
movq 0x128(%rsp), %r9
movl 0x120(%rsp), %r9d
movq %rax, 0x110(%rsp)
movq %rsi, 0x108(%rsp)
movq %rdx, 0x100(%rsp)
movq %rcx, 0xf8(%rsp)
movq %r8, 0xf0(%rsp)
movq %rdi, 0xe8(%rsp)
leaq 0x29f36(%rip), %rsi     # 0x32a8f
callq 0xf390
testb $0x1, %al
jne 0x8b64
jmp 0x8baa
movq 0x110(%rsp), %rax
movq %rax, 0x80(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x80(%rsp), %rdi
movl %eax, 0xe4(%rsp)
movl 0xe4(%rsp), %esi
callq 0x4450
movq %rax, %rdi
leaq 0x294e5(%rip), %rsi     # 0x32088
callq 0x43f0
jmp 0x8be8
movq 0x110(%rsp), %rax
movq %rax, 0x78(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x78(%rsp), %rdi
movl %eax, 0xe0(%rsp)
movl 0xe0(%rsp), %esi
callq 0x4450
movq %rax, %rdi
leaq 0x294b1(%rip), %rsi     # 0x32094
callq 0x43f0
movq 0x110(%rsp), %rax
movq %rax, 0x58(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x58(%rsp), %rdi
movl %eax, 0xdc(%rsp)
movl 0xdc(%rsp), %esi
callq 0x4450
movq %rax, %rdi
leaq 0x2947b(%rip), %rsi     # 0x3209c
callq 0x43f0
movq %rax, 0x60(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x60(%rsp), %rdi
movl %eax, 0xd8(%rsp)
movl 0xd8(%rsp), %esi
callq 0x4450
movq %rax, %rdi
leaq 0x29454(%rip), %rsi     # 0x320ab
callq 0x43f0
movq %rax, 0x68(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x68(%rsp), %rdi
movl %eax, 0xd4(%rsp)
movl 0xd4(%rsp), %esi
callq 0x4450
movq %rax, %rdi
leaq 0x2943e(%rip), %rsi     # 0x320cb
callq 0x43f0
movq %rax, 0x70(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x70(%rsp), %rdi
movl %eax, 0xd0(%rsp)
movl 0xd0(%rsp), %esi
callq 0x4450
movq %rax, %rdi
leaq 0x2940f(%rip), %rsi     # 0x320d2
callq 0x43f0
movq %rax, %rdi
movq 0x382de(%rip), %rsi     # 0x40fb0
callq 0x4430
movl $0x0, 0xcc(%rsp)
movl 0xcc(%rsp), %eax
cmpl 0x120(%rsp), %eax
jge 0x8f0f
movq 0xa8(%rsp), %rdi
leaq 0x29d8a(%rip), %rsi     # 0x32a8f
callq 0xf390
testb $0x1, %al
jne 0x8d10
jmp 0x8d5c
movq 0x110(%rsp), %rax
movq %rax, 0x50(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x50(%rsp), %rdi
movl %eax, 0xc8(%rsp)
movl 0xc8(%rsp), %esi
callq 0x4450
movq %rax, %rdi
movq 0x128(%rsp), %rax
movslq 0xcc(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
jmp 0x8da6
movq 0x110(%rsp), %rax
movq %rax, 0x48(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x48(%rsp), %rdi
movl %eax, 0xc4(%rsp)
movl 0xc4(%rsp), %esi
callq 0x4450
movq %rax, %rdi
movq 0x130(%rsp), %rax
movslq 0xcc(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x4670
movq 0x110(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x8(%rsp), %rdi
movl %eax, 0xc0(%rsp)
movl 0xc0(%rsp), %esi
callq 0x4450
movq 0xa0(%rsp), %rdi
movq %rax, 0x10(%rsp)
movslq 0xcc(%rsp), %rsi
callq 0xeb00
movq 0x10(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x4730
movq %rax, 0x18(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x18(%rsp), %rdi
movl %eax, 0xbc(%rsp)
movl 0xbc(%rsp), %esi
callq 0x4450
movq 0x98(%rsp), %rdi
movq %rax, 0x20(%rsp)
movslq 0xcc(%rsp), %rsi
callq 0xeb00
movq 0x20(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x4730
movq %rax, 0x28(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x28(%rsp), %rdi
movl %eax, 0xb8(%rsp)
movl 0xb8(%rsp), %esi
callq 0x4450
movq 0x90(%rsp), %rdi
movq %rax, 0x30(%rsp)
movslq 0xcc(%rsp), %rsi
callq 0xeb00
movq 0x30(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x4730
movq %rax, 0x38(%rsp)
movl $0x23, %edi
callq 0xf370
movq 0x38(%rsp), %rdi
movl %eax, 0xb4(%rsp)
movl 0xb4(%rsp), %esi
callq 0x4450
movq 0x88(%rsp), %rdi
movq %rax, 0x40(%rsp)
movslq 0xcc(%rsp), %rsi
callq 0xeb00
movq 0x40(%rsp), %rdi
movsd (%rax), %xmm0
callq 0x4730
movq %rax, %rdi
movq 0x380bc(%rip), %rsi     # 0x40fb0
callq 0x4430
movl 0xcc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xcc(%rsp)
jmp 0x8ce2
addq $0x118, %rsp            # imm = 0x118
retq
nopw (%rax,%rax)