// File: /workspace/github_cpp_makefile_star2_O2/akshithasriraman[P]Accelerometer/run.cc
// Function: main
int main(int argc, char** argv) {
    std::cout <<"\n\n**********************Conducting analytical model validation experiments (Table 6)************************\n";
    std::cout << "1. Estimating speedup for AES-NI case study:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer validation/aesni.txt");

    std::cout << "2. Estimating speedup for Encryption case study:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer validation/encryption.txt");

    std::cout << "3. Estimating speedup for Inference case study:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer validation/inference.txt");

    std::cout <<"\n\n**********************Conducting analytical model application experiments (Figure 17)************************\n";
    std::cout << "1. Estimating speedup for Compression On-chip:Sync application:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer application/compression_on-chip-sync.txt");

    std::cout << "2. Estimating speedup for Compression Off-chip:Sync application:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer application/compression_off-chip-sync.txt");

    std::cout << "3. Estimating speedup for Compression Off-chip:Sync-OS application:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer application/compression_off-chip-sync-os.txt");

    std::cout << "4. Estimating speedup for Compression Off-chip:Async application:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer application/compression_off-chip-async.txt");

    std::cout << "5. Estimating speedup for Memory Copy On-chip:Sync application:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer application/memcpy_on-chip-sync.txt");

    std::cout << "6. Estimating speedup for Memory Allocation On-chip:Sync application:\n    Result: ";
    std::cout << ExecuteShellCommand("./accelerometer application/malloc_on-chip-sync.txt");

    std::cout << "\n\n************************DONE************************\n\n";

    return 0;
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq 0x2bb3(%rip), %rbx      # 0x4fc8
leaq 0xbfa(%rip), %rsi       # 0x3016
movq %rbx, %rdi
callq 0x2110
leaq 0xc59(%rip), %rsi       # 0x3084
movq %rbx, %rdi
callq 0x2110
leaq 0xc84(%rip), %rsi       # 0x30be
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x2b65(%rip), %rbx      # 0x4fc8
leaq 0xc79(%rip), %rsi       # 0x30e3
movq %rbx, %rdi
callq 0x2110
leaq 0xca8(%rip), %rsi       # 0x3121
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x2b26(%rip), %rbx      # 0x4fc8
leaq 0xca2(%rip), %rsi       # 0x314b
movq %rbx, %rdi
callq 0x2110
leaq 0xcd0(%rip), %rsi       # 0x3188
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x2ae7(%rip), %rbx      # 0x4fc8
leaq 0xcc9(%rip), %rsi       # 0x31b1
movq %rbx, %rdi
callq 0x2110
leaq 0xd2b(%rip), %rsi       # 0x3222
movq %rbx, %rdi
callq 0x2110
leaq 0xd69(%rip), %rsi       # 0x326f
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x2a99(%rip), %rbx      # 0x4fc8
leaq 0xd72(%rip), %rsi       # 0x32a8
movq %rbx, %rdi
callq 0x2110
leaq 0xdb1(%rip), %rsi       # 0x32f6
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x2a5a(%rip), %rbx      # 0x4fc8
leaq 0xdbb(%rip), %rsi       # 0x3330
movq %rbx, %rdi
callq 0x2110
leaq 0xdfd(%rip), %rsi       # 0x3381
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x2a1b(%rip), %rbx      # 0x4fc8
leaq 0xe0a(%rip), %rsi       # 0x33be
movq %rbx, %rdi
callq 0x2110
leaq 0xe4a(%rip), %rsi       # 0x340d
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x29dc(%rip), %rbx      # 0x4fc8
leaq 0xe55(%rip), %rsi       # 0x3448
movq %rbx, %rdi
callq 0x2110
leaq 0xe93(%rip), %rsi       # 0x3495
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x299d(%rip), %rbx      # 0x4fc8
leaq 0xe97(%rip), %rsi       # 0x34c9
movq %rbx, %rdi
callq 0x2110
leaq 0xedb(%rip), %rsi       # 0x351c
leaq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x230c
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2090
movq 0x295e(%rip), %rdi      # 0x4fc8
leaq 0xedf(%rip), %rsi       # 0x3550
callq 0x2110
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
jmp 0x2690
jmp 0x2690
jmp 0x2690
jmp 0x2690
jmp 0x2690
jmp 0x2690
jmp 0x2690
jmp 0x2690
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2090
movq %rbx, %rdi
callq 0x21b0
nop