// File: JenTus[P]TCEM/src_TCEM/allocator.cc
// Function: Cide::allocator::writeInMasterOutputFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, float, float, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::set<int, std::less<int>, std::allocator<int>>, std::set<int, std::less<int>, std::allocator<int>>)
void allocator::writeInMasterOutputFile(const string& algorithm, float duration, float memory, string score, set<int> reds, set<int> blues) {
        // seed-node item mgScore totScore runTime(sec) memory(mb)
        outMasterStream << std::fixed<<std::setprecision(2) << algorithm << " & " << duration << " & " <<  memory << " & " << score <<  endl;
        set<int>::iterator it;

        outMasterStream << "red: ";
        for (it=reds.begin(); it!=reds.end(); ++it)
            outMasterStream << *it << " ";
        outMasterStream << endl;

        outMasterStream << "blue: ";
        for (it=blues.begin(); it!= blues.end(); ++it) {
            outMasterStream << *it << " ";
        }
        outMasterStream << endl;
    }

// Assembly:
subq $0x98, %rsp
movq %rdx, 0x20(%rsp)
movq %rcx, 0x30(%rsp)
movq %r8, 0x10(%rsp)
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movss %xmm0, 0x84(%rsp)
movss %xmm1, 0x80(%rsp)
movq %rdx, 0x78(%rsp)
movq %rcx, 0x70(%rsp)
movq %r8, 0x68(%rsp)
movq 0x90(%rsp), %rdi
movq %rdi, 0x28(%rsp)
addq $0xb98, %rdi            # imm = 0xB98
leaq 0x169e(%rip), %rsi      # 0xea80
callq 0x40f0
movq %rax, 0x18(%rsp)
movl $0x2, %edi
callq 0xeaa0
movq 0x18(%rsp), %rdi
movl %eax, 0x64(%rsp)
movl 0x64(%rsp), %esi
callq 0x45a0
movq %rax, %rdi
movq 0x88(%rsp), %rsi
callq 0x4310
movq %rax, %rdi
leaq 0x1706b(%rip), %rsi     # 0x2448d
callq 0x4370
movq %rax, %rdi
movss 0x84(%rsp), %xmm0
callq 0x4270
movq %rax, %rdi
leaq 0x1704b(%rip), %rsi     # 0x2448d
callq 0x4370
movq %rax, %rdi
movss 0x80(%rsp), %xmm0
callq 0x4270
movq %rax, %rdi
leaq 0x1702b(%rip), %rsi     # 0x2448d
callq 0x4370
movq 0x20(%rsp), %rsi
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x21b4a(%rip), %rsi     # 0x2efc8
callq 0x43c0
leaq 0x58(%rsp), %rdi
callq 0xf750
movq 0x28(%rsp), %rdi
addq $0xb98, %rdi            # imm = 0xB98
leaq 0x16ff1(%rip), %rsi     # 0x24491
callq 0x4370
movq 0x30(%rsp), %rdi
callq 0xe760
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x30(%rsp), %rdi
callq 0xe790
movq %rax, 0x48(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0xf770
testb $0x1, %al
jne 0xd4e2
jmp 0xd523
movq 0x28(%rsp), %rax
addq $0xb98, %rax            # imm = 0xB98
movq %rax, 0x8(%rsp)
leaq 0x58(%rsp), %rdi
callq 0xf790
movq 0x8(%rsp), %rdi
movl (%rax), %esi
callq 0x4650
movq %rax, %rdi
leaq 0x16d15(%rip), %rsi     # 0x24227
callq 0x4370
leaq 0x58(%rsp), %rdi
callq 0xf7b0
jmp 0xd4be
movq 0x28(%rsp), %rdi
addq $0xb98, %rdi            # imm = 0xB98
movq 0x21a92(%rip), %rsi     # 0x2efc8
callq 0x43c0
movq 0x28(%rsp), %rdi
addq $0xb98, %rdi            # imm = 0xB98
leaq 0x16f49(%rip), %rsi     # 0x24497
callq 0x4370
movq 0x10(%rsp), %rdi
callq 0xe760
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x10(%rsp), %rdi
callq 0xe790
movq %rax, 0x38(%rsp)
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0xf770
testb $0x1, %al
jne 0xd590
jmp 0xd5cf
movq 0x28(%rsp), %rax
addq $0xb98, %rax            # imm = 0xB98
movq %rax, (%rsp)
leaq 0x58(%rsp), %rdi
callq 0xf790
movq (%rsp), %rdi
movl (%rax), %esi
callq 0x4650
movq %rax, %rdi
leaq 0x16c69(%rip), %rsi     # 0x24227
callq 0x4370
leaq 0x58(%rsp), %rdi
callq 0xf7b0
jmp 0xd56c
movq 0x28(%rsp), %rdi
addq $0xb98, %rdi            # imm = 0xB98
movq 0x219e6(%rip), %rsi     # 0x2efc8
callq 0x43c0
addq $0x98, %rsp
retq
nop