// File: /workspace/github_cpp_makefile_star2_O2/dtsaras[P]GCW/GCW.cpp
// Function: output_stats_k_and_p(std::ostream*, double***, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int*, int*)
void output_stats_k_and_p(ostream * output, double *** data, string variable, string algorithms, int reps, int * eventsArray, int * budgetsArray){
	string names[3] = {"total similarity", "time", "memory"};
	for (int d = 0; d < 3; ++d){
		*output << names[d] << endl;
		*output << setw(16) << "#";
		for (int i = 0; i < reps; ++i){
			if (variable == "c")
				*output << setw(16) << eventsArray[i];
			else
				*output << setw(16) << budgetsArray[i];
		}
		*output << endl;

		for (int i = 0; i < algorithms.size(); i += 2){
			if (algorithms.substr(i,2) == "EG")
				*output << setw(16) << "GCW";
			else
				*output << setw(16) << algorithms.substr(i,2);
			for (int j = 0; j < reps; ++j){
				*output << setw(16) << data[d][i/2][j];
			}
			*output << endl;
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb8, %rsp
movq %r9, 0x28(%rsp)
movl %r8d, %r14d
movq %rcx, 0x10(%rsp)
movq %rdx, 0x20(%rsp)
movq %rsi, %r13
movq %rdi, %rbp
leaq 0xddc1(%rip), %rsi      # 0x1309c
leaq 0x50(%rsp), %r12
leaq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x3130
leaq 0x70(%rsp), %rbx
leaq 0xddb4(%rip), %rsi      # 0x130ad
leaq 0xf(%rsp), %rdx
movq %rbx, %rdi
callq 0x3130
leaq 0x90(%rsp), %rbx
leaq 0xdd9d(%rip), %rsi      # 0x130b2
leaq 0xe(%rsp), %rdx
movq %rbx, %rdi
callq 0x3130
xorl %ebx, %ebx
testl %r14d, %r14d
cmovlel %ebx, %r14d
movq 0x10(%rsp), %r12
cmpq $0x3, %rbx
je 0x54c0
movq %rbx, %rax
shlq $0x5, %rax
leaq (%rsp,%rax), %rsi
addq $0x50, %rsi
movq %rbp, %rdi
callq 0x3310
movq %rax, %rdi
callq 0x3190
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq $0x10, 0x10(%rbp,%rax)
movq %rbp, %rdi
leaq 0xdd45(%rip), %rsi      # 0x130b9
callq 0x3360
xorl %r15d, %r15d
cmpq %r15, %r14
je 0x53c4
movq 0x20(%rsp), %rdi
leaq 0xe73b(%rip), %rsi      # 0x13ac8
callq 0x8830
movq (%rbp), %rcx
movq -0x18(%rcx), %rcx
movq $0x10, 0x10(%rbp,%rcx)
testb %al, %al
movq 0xf0(%rsp), %rax
cmovneq 0x28(%rsp), %rax
movl (%rax,%r15,4), %esi
movq %rbp, %rdi
callq 0x3580
incq %r15
jmp 0x537c
movq %rbp, %rdi
callq 0x3190
xorl %edx, %edx
leaq 0x30(%rsp), %r15
cmpq %rdx, 0x8(%r12)
jbe 0x54b8
movq %r15, %rdi
movq %r12, %rsi
movq %rdx, 0x18(%rsp)
pushq $0x2
popq %rcx
callq 0x3380
movq %r15, %rdi
leaq 0xdcc0(%rip), %rsi      # 0x130bb
callq 0x8830
movl %eax, %r12d
movq %r15, %rdi
callq 0x3160
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq $0x10, 0x10(%rbp,%rax)
testb %r12b, %r12b
je 0x5437
movq %rbp, %rdi
leaq 0xdc93(%rip), %rsi      # 0x130be
callq 0x3360
movq 0x18(%rsp), %r12
jmp 0x5462
movq %r15, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %r12
movq %r12, %rdx
pushq $0x2
popq %rcx
callq 0x3380
movq %rbp, %rdi
movq %r15, %rsi
callq 0x3310
movq %r15, %rdi
callq 0x3160
movq %r12, %r15
shrq %r15
xorl %r12d, %r12d
cmpq %r12, %r14
je 0x549d
movq (%rbp), %rax
movq -0x18(%rax), %rax
movq $0x10, 0x10(%rbp,%rax)
movq (%r13,%rbx,8), %rax
movq (%rax,%r15,8), %rax
movsd (%rax,%r12,8), %xmm0
movq %rbp, %rdi
callq 0x34f0
incq %r12
jmp 0x546b
movq %rbp, %rdi
callq 0x3190
movq 0x18(%rsp), %rdx
addq $0x2, %rdx
movq 0x10(%rsp), %r12
jmp 0x53ce
incq %rbx
jmp 0x5330
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x3160
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x54c3
addq $0xb8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x54ee
movq %rax, %r14
addq $-0x20, %rbx
movq %rbx, %rdi
callq 0x3160
cmpq %r12, %rbx
jne 0x54f1
jmp 0x553a
jmp 0x551d
jmp 0x551d
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x3160
jmp 0x5520
jmp 0x551d
jmp 0x551d
jmp 0x551d
movq %rax, %r14
pushq $0x40
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x50, %rdi
callq 0x3160
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x5523
movq %r14, %rdi
callq 0x3590