// File: kiudee[P]VAHD-Projekt/Supervisor.cpp
// Function: Supervisor::Edge2GDL[abi:cxx11](int, int, int)
std::string Supervisor::Edge2GDL(int sourceid, int targetid, int edgetype)
{
    std::string result("");
    switch (edgetype) {
    case LEFTRIGHT:
        result += "rightnearedge: {\n";
        result += "color: 33\n";
        result += "backarrowstyle: solid\n";
        break;
    case LEFT:
        result += "leftnearedge: {\n";
        result += "color: 32\n";
        break;
    case RIGHT:
        result += "rightnearedge: {\n";
        result += "color: 33\n";
        break;
    case EDGE0:
        result += "edge: {\n";
        result += "color: 34\n";
        break;
    case EDGE1:
        result += "edge: {\n";
        result += "color: 35\n";
        break;
    }

    // Source Node
    result += "source: \"";
    std::ostringstream s1;
    s1 << sourceid;
    result += s1.str();
    result += "\"\n";

    // Target Node
    result += "target: \"";
    std::ostringstream s2;
    s2 << targetid;
    result += s2.str();
    result += "\"\n";

    result += "}\n";
    return result;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x380, %rsp            # imm = 0x380
movq %rdi, -0x370(%rbp)
movq %rdi, %rax
movq %rax, -0x378(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movl %r8d, -0x1c(%rbp)
movb $0x0, -0x1d(%rbp)
leaq -0x1e(%rbp), %rdi
movq %rdi, -0x368(%rbp)
callq 0x3340
movq -0x370(%rbp), %rdi
movq -0x368(%rbp), %rdx
leaq 0x12cb9(%rip), %rsi     # 0x174c0
callq 0x5c60
jmp 0x480e
leaq -0x1e(%rbp), %rdi
callq 0x3200
movl -0x1c(%rbp), %eax
movq %rax, -0x380(%rbp)
subq $0x4, %rax
ja 0x4964
movq -0x380(%rbp), %rax
leaq 0x127cb(%rip), %rcx     # 0x17004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1e(%rbp), %rdi
callq 0x3200
jmp 0x4b2b
movq -0x370(%rbp), %rdi
leaq 0x127f2(%rip), %rsi     # 0x1705c
callq 0x31a0
jmp 0x4871
movq -0x370(%rbp), %rdi
leaq 0x127ef(%rip), %rsi     # 0x1706e
callq 0x31a0
jmp 0x4886
movq -0x370(%rbp), %rdi
leaq 0x127e5(%rip), %rsi     # 0x17079
callq 0x31a0
jmp 0x489b
jmp 0x4964
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x4b1f
movq -0x370(%rbp), %rdi
leaq 0x127d1(%rip), %rsi     # 0x17090
callq 0x31a0
jmp 0x48c6
movq -0x370(%rbp), %rdi
leaq 0x127cd(%rip), %rsi     # 0x170a1
callq 0x31a0
jmp 0x48db
jmp 0x4964
movq -0x370(%rbp), %rdi
leaq 0x1276e(%rip), %rsi     # 0x1705c
callq 0x31a0
jmp 0x48f5
movq -0x370(%rbp), %rdi
leaq 0x1276b(%rip), %rsi     # 0x1706e
callq 0x31a0
jmp 0x490a
jmp 0x4964
movq -0x370(%rbp), %rdi
leaq 0x1277e(%rip), %rsi     # 0x17098
callq 0x31a0
jmp 0x4921
movq -0x370(%rbp), %rdi
leaq 0x1277d(%rip), %rsi     # 0x170ac
callq 0x31a0
jmp 0x4936
jmp 0x4964
movq -0x370(%rbp), %rdi
leaq 0x12752(%rip), %rsi     # 0x17098
callq 0x31a0
jmp 0x494d
movq -0x370(%rbp), %rdi
leaq 0x1275c(%rip), %rsi     # 0x170b7
callq 0x31a0
jmp 0x4962
jmp 0x4964
movq -0x370(%rbp), %rdi
leaq 0x12750(%rip), %rsi     # 0x170c2
callq 0x31a0
jmp 0x4979
leaq -0x1a8(%rbp), %rdi
callq 0x3280
jmp 0x4987
movl -0x14(%rbp), %esi
leaq -0x1a8(%rbp), %rdi
callq 0x3320
jmp 0x4998
leaq -0x1c8(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x31e0
jmp 0x49ad
movq -0x370(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x3260
jmp 0x49c2
leaq -0x1c8(%rbp), %rdi
callq 0x3100
movq -0x370(%rbp), %rdi
leaq 0x12671(%rip), %rsi     # 0x1704d
callq 0x31a0
jmp 0x49e3
movq -0x370(%rbp), %rdi
leaq 0x126db(%rip), %rsi     # 0x170cc
callq 0x31a0
jmp 0x49f8
leaq -0x340(%rbp), %rdi
callq 0x3280
jmp 0x4a06
movl -0x18(%rbp), %esi
leaq -0x340(%rbp), %rdi
callq 0x3320
jmp 0x4a17
leaq -0x360(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x31e0
jmp 0x4a2c
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rsi
callq 0x3260
jmp 0x4a41
leaq -0x360(%rbp), %rdi
callq 0x3100
movq -0x370(%rbp), %rdi
leaq 0x125f2(%rip), %rsi     # 0x1704d
callq 0x31a0
jmp 0x4a62
movq -0x370(%rbp), %rdi
leaq 0x125e9(%rip), %rsi     # 0x17059
callq 0x31a0
jmp 0x4a77
movb $0x1, -0x1d(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x3070
leaq -0x1a8(%rbp), %rdi
callq 0x3070
testb $0x1, -0x1d(%rbp)
jne 0x4b0f
jmp 0x4b03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x4af5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x3100
jmp 0x4af5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
jmp 0x4ae9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x28(%rbp)
movl %eax, -0x2c(%rbp)
leaq -0x360(%rbp), %rdi
callq 0x3100
leaq -0x340(%rbp), %rdi
callq 0x3070
leaq -0x1a8(%rbp), %rdi
callq 0x3070
jmp 0x4b1f
movq -0x370(%rbp), %rdi
callq 0x3100
movq -0x378(%rbp), %rax
addq $0x380, %rsp            # imm = 0x380
popq %rbp
retq
movq -0x370(%rbp), %rdi
callq 0x3100
movq -0x28(%rbp), %rdi
callq 0x3330
nopw %cs:(%rax,%rax)