// File: eniac[P]Mantis/src/compile/compile_p4.cpp
// Function: generateSetvarControl(std::vector<AstNode*, std::allocator<AstNode*>>*)
void generateSetvarControl(vector<AstNode*>* newNodes) {
    ostringstream oss;
    oss << "control "<< kSetmblIngControlName << " {\n";
    oss << "  apply(__tiSetVars);\n";
    oss << "}\n\n";
    newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                           new string("control"),
                                           new string(kSetmblIngControlName)));

    oss.str("");
    oss << "control "<< kSetmblEgrControlName << " {\n";
    oss << "  apply(__teSetVars);\n";
    oss << "}\n\n";
    newNodes->push_back(new UnanchoredNode(new string(oss.str()),
                                           new string("control"),
                                           new string(kSetmblEgrControlName)));

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x280, %rsp            # imm = 0x280
movq %rdi, -0x8(%rbp)
leaq -0x180(%rbp), %rdi
movq %rdi, -0x1e8(%rbp)
callq 0xaa7b0
movq -0x1e8(%rbp), %rdi
leaq 0x18f19(%rip), %rsi     # 0x13df29
callq 0xaa540
movq %rax, -0x1e0(%rbp)
jmp 0x12501e
movq -0x1e0(%rbp), %rdi
leaq 0x18d78(%rip), %rsi     # 0x13dda4
callq 0xaa540
movq %rax, -0x1f0(%rbp)
jmp 0x12503a
movq -0x1f0(%rbp), %rdi
leaq 0x18f4f(%rip), %rsi     # 0x13df97
callq 0xaa540
jmp 0x12504f
leaq 0x1919c(%rip), %rsi     # 0x13e1f2
leaq -0x180(%rbp), %rdi
callq 0xaa540
jmp 0x125064
leaq 0x193ea(%rip), %rsi     # 0x13e455
leaq -0x180(%rbp), %rdi
callq 0xaa540
jmp 0x125079
movq -0x8(%rbp), %rax
movq %rax, -0x200(%rbp)
movl $0x58, %edi
callq 0xaa560
movq %rax, -0x1f8(%rbp)
jmp 0x125097
movb $0x1, -0x19d(%rbp)
movl $0x20, %edi
callq 0xaa560
movq %rax, -0x208(%rbp)
jmp 0x1250b1
movq -0x208(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0xaa580
jmp 0x1250c6
movl $0x20, %edi
callq 0xaa560
movq %rax, -0x210(%rbp)
jmp 0x1250d9
movb $0x1, -0x19a(%rbp)
leaq -0x199(%rbp), %rdi
movq %rdi, -0x218(%rbp)
callq 0xaaa70
movq -0x210(%rbp), %rdi
movq -0x218(%rbp), %rdx
leaq 0x18e4f(%rip), %rsi     # 0x13df57
callq 0xaa7d0
jmp 0x12510f
movb $0x0, -0x19a(%rbp)
movl $0x20, %edi
callq 0xaa560
movq %rax, -0x220(%rbp)
jmp 0x125129
movb $0x1, -0x19c(%rbp)
leaq -0x19b(%rbp), %rdi
movq %rdi, -0x228(%rbp)
callq 0xaaa70
movq -0x220(%rbp), %rdi
movq -0x228(%rbp), %rdx
leaq 0x18c4c(%rip), %rsi     # 0x13dda4
callq 0xaa7d0
jmp 0x12515f
movq -0x220(%rbp), %rcx
movq -0x210(%rbp), %rdx
movq -0x208(%rbp), %rsi
movq -0x1f8(%rbp), %rdi
movb $0x0, -0x19c(%rbp)
callq 0xcaee0
jmp 0x125189
movq -0x200(%rbp), %rdi
movq -0x1f8(%rbp), %rax
movb $0x0, -0x19d(%rbp)
movq %rax, -0x198(%rbp)
leaq -0x198(%rbp), %rsi
callq 0xb2540
jmp 0x1251b3
leaq -0x19b(%rbp), %rdi
callq 0xaa5f0
leaq -0x199(%rbp), %rdi
callq 0xaa5f0
leaq -0x1c1(%rbp), %rdi
movq %rdi, -0x230(%rbp)
callq 0xaaa70
movq -0x230(%rbp), %rdx
leaq 0x169b7(%rip), %rsi     # 0x13bba3
leaq -0x1c0(%rbp), %rdi
callq 0xaa7d0
jmp 0x1251fa
leaq -0x180(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0xaa2c0
jmp 0x12520f
leaq -0x1c0(%rbp), %rdi
callq 0xaabe8
leaq -0x1c1(%rbp), %rdi
callq 0xaa5f0
leaq 0x18cfb(%rip), %rsi     # 0x13df29
leaq -0x180(%rbp), %rdi
callq 0xaa540
movq %rax, -0x238(%rbp)
jmp 0x125243
movq -0x238(%rbp), %rdi
leaq 0x18c15(%rip), %rsi     # 0x13de66
callq 0xaa540
movq %rax, -0x240(%rbp)
jmp 0x12525f
movq -0x240(%rbp), %rdi
leaq 0x18d2a(%rip), %rsi     # 0x13df97
callq 0xaa540
jmp 0x125274
leaq 0x18f8e(%rip), %rsi     # 0x13e209
leaq -0x180(%rbp), %rdi
callq 0xaa540
jmp 0x125289
leaq 0x191c5(%rip), %rsi     # 0x13e455
leaq -0x180(%rbp), %rdi
callq 0xaa540
jmp 0x12529e
movq -0x8(%rbp), %rax
movq %rax, -0x250(%rbp)
movl $0x58, %edi
callq 0xaa560
movq %rax, -0x248(%rbp)
jmp 0x1252bc
movb $0x1, -0x1d5(%rbp)
movl $0x20, %edi
callq 0xaa560
movq %rax, -0x258(%rbp)
jmp 0x1252d6
movq -0x258(%rbp), %rdi
leaq -0x180(%rbp), %rsi
callq 0xaa580
jmp 0x1252eb
movl $0x20, %edi
callq 0xaa560
movq %rax, -0x260(%rbp)
jmp 0x1252fe
movb $0x1, -0x1d2(%rbp)
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x268(%rbp)
callq 0xaaa70
movq -0x260(%rbp), %rdi
movq -0x268(%rbp), %rdx
leaq 0x18c2a(%rip), %rsi     # 0x13df57
callq 0xaa7d0
jmp 0x125334
movb $0x0, -0x1d2(%rbp)
movl $0x20, %edi
callq 0xaa560
movq %rax, -0x270(%rbp)
jmp 0x12534e
movb $0x1, -0x1d4(%rbp)
leaq -0x1d3(%rbp), %rdi
movq %rdi, -0x278(%rbp)
callq 0xaaa70
movq -0x270(%rbp), %rdi
movq -0x278(%rbp), %rdx
leaq 0x18ae9(%rip), %rsi     # 0x13de66
callq 0xaa7d0
jmp 0x125384
movq -0x270(%rbp), %rcx
movq -0x260(%rbp), %rdx
movq -0x258(%rbp), %rsi
movq -0x248(%rbp), %rdi
movb $0x0, -0x1d4(%rbp)
callq 0xcaee0
jmp 0x1253ae
movq -0x250(%rbp), %rdi
movq -0x248(%rbp), %rax
movb $0x0, -0x1d5(%rbp)
movq %rax, -0x1d0(%rbp)
leaq -0x1d0(%rbp), %rsi
callq 0xb2540
jmp 0x1253d8
leaq -0x1d3(%rbp), %rdi
callq 0xaa5f0
leaq -0x1d1(%rbp), %rdi
callq 0xaa5f0
leaq -0x180(%rbp), %rdi
callq 0xaa130
addq $0x280, %rsp            # imm = 0x280
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x1255e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x1254c3
movq -0x208(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
callq 0xaa4e0
jmp 0x1254c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x12549e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
leaq -0x19b(%rbp), %rdi
callq 0xaa5f0
testb $0x1, -0x19c(%rbp)
jne 0x125490
jmp 0x12549c
movq -0x220(%rbp), %rdi
callq 0xaa4e0
jmp 0x12549e
leaq -0x199(%rbp), %rdi
callq 0xaa5f0
testb $0x1, -0x19a(%rbp)
jne 0x1254b5
jmp 0x1254c1
movq -0x210(%rbp), %rdi
callq 0xaa4e0
jmp 0x1254c3
testb $0x1, -0x19d(%rbp)
jne 0x1254ce
jmp 0x1254da
movq -0x1f8(%rbp), %rdi
callq 0xaa4e0
jmp 0x1255e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x125511
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0xaabe8
leaq -0x1c1(%rbp), %rdi
callq 0xaa5f0
jmp 0x1255e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x1255c9
movq -0x258(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
callq 0xaa4e0
jmp 0x1255c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
jmp 0x1255a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x188(%rbp)
movl %eax, -0x18c(%rbp)
leaq -0x1d3(%rbp), %rdi
callq 0xaa5f0
testb $0x1, -0x1d4(%rbp)
jne 0x125596
jmp 0x1255a2
movq -0x270(%rbp), %rdi
callq 0xaa4e0
jmp 0x1255a4
leaq -0x1d1(%rbp), %rdi
callq 0xaa5f0
testb $0x1, -0x1d2(%rbp)
jne 0x1255bb
jmp 0x1255c7
movq -0x260(%rbp), %rdi
callq 0xaa4e0
jmp 0x1255c9
testb $0x1, -0x1d5(%rbp)
jne 0x1255d4
jmp 0x1255e0
movq -0x248(%rbp), %rdi
callq 0xaa4e0
jmp 0x1255e2
leaq -0x180(%rbp), %rdi
callq 0xaa130
movq -0x188(%rbp), %rdi
callq 0xaaa60
nopw (%rax,%rax)