// File: /workspace/github_cpp_makefile_star2_O1/sumanishs[P]boost-edif-parser2/main.cpp
// Function: main
int main(int argc, char* argv[])
{
    if(argc < 2){ 
        std::cout << "Usage:" << argv[0] << " <file name>" << std::endl;
        return 1;
    }   

    std::string file (argv[1]);
    EdifReader reader;
    clock_t start, end;
    
    start = clock();
    if(reader.Read(file)){
        std::cout << "Done...." << std::endl;
        end = clock();
        double time_taken = ((double)(end - start))/CLOCKS_PER_SEC;
        std::cout << "Time taken to parse the design: " << time_taken << "seconds" << std::endl;
        return 0;
    }   
    else {
        std::cout << "Failed...." << std::endl;
        end = clock();
        double time_taken = ((double)(end - start))/CLOCKS_PER_SEC;
        std::cout << "Execution time: " << time_taken << "seconds" << std::endl;
        return 1;
    }  
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
cmpl $0x1, %edi
jg 0x2c861
movq 0x1a7b6(%rip), %rbx     # 0x46fd8
leaq 0xb6ff(%rip), %rsi      # 0x37f28
movl $0x6, %edx
movq %rbx, %rdi
callq 0x5300
movq (%r14), %r14
testq %r14, %r14
je 0x2ca3d
movq %r14, %rdi
callq 0x5120
movq 0x1a787(%rip), %rdi     # 0x46fd8
movq %r14, %rsi
movq %rax, %rdx
callq 0x5300
jmp 0x2ca54
movq 0x8(%r14), %rsi
leaq 0x8(%rsp), %r14
leaq 0x7(%rsp), %rdx
movq %r14, %rdi
callq 0xde4c
callq 0x51c0
movq %rax, %rbx
leaq 0x7(%rsp), %rdi
movq %r14, %rsi
callq 0x5b2c
testb %al, %al
je 0x2c95b
movq 0x1a73d(%rip), %r14     # 0x46fd8
leaq 0xb69a(%rip), %rsi      # 0x37f3c
movl $0x8, %edx
movq %r14, %rdi
callq 0x5300
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x1a70b(%rip), %rdi     # 0x46fd8
callq 0x5030
movq %rax, %rdi
callq 0x51e0
callq 0x51c0
movq %rax, %r14
movq 0x1a6ef(%rip), %rdi     # 0x46fd8
leaq 0xb655(%rip), %rsi      # 0x37f45
movl $0x20, %edx
callq 0x5300
subq %rbx, %r14
cvtsi2sd %r14, %xmm0
divsd 0xb616(%rip), %xmm0     # 0x37f20
movq 0x1a6c7(%rip), %rdi     # 0x46fd8
callq 0x53f0
movq %rax, %rbx
leaq 0xb646(%rip), %rsi      # 0x37f66
movl $0x7, %edx
movq %rax, %rdi
callq 0x5300
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
xorl %ebx, %ebx
movq %rax, %rdi
callq 0x51e0
jmp 0x2ca20
movq 0x1a676(%rip), %r14     # 0x46fd8
leaq 0xb605(%rip), %rsi      # 0x37f6e
movl $0xa, %edx
movq %r14, %rdi
callq 0x5300
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq 0x1a644(%rip), %rdi     # 0x46fd8
callq 0x5030
movq %rax, %rdi
callq 0x51e0
callq 0x51c0
movq %rax, %r14
movq 0x1a628(%rip), %rdi     # 0x46fd8
leaq 0xb5c2(%rip), %rsi      # 0x37f79
movl $0x10, %edx
callq 0x5300
subq %rbx, %r14
cvtsi2sd %r14, %xmm0
divsd 0xb54f(%rip), %xmm0     # 0x37f20
movq 0x1a600(%rip), %rdi     # 0x46fd8
callq 0x53f0
movq %rax, %rbx
leaq 0xb57f(%rip), %rsi      # 0x37f66
movl $0x7, %edx
movq %rax, %rdi
callq 0x5300
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movl $0x1, %ebx
movq %rax, %rdi
callq 0x51e0
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ca94
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
jmp 0x2ca94
movq (%rbx), %rax
movq -0x18(%rax), %rax
leaq (%rbx,%rax), %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x5430
leaq 0xb4d4(%rip), %rsi      # 0x37f2f
movl $0xc, %edx
movq %rbx, %rdi
callq 0x5300
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x5280
movsbl %al, %esi
movq %rbx, %rdi
callq 0x5030
movq %rax, %rdi
callq 0x51e0
movl $0x1, %ebx
movl %ebx, %eax
addq $0x28, %rsp
popq %rbx
popq %r14
retq
jmp 0x2caa2
jmp 0x2caa2
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cac0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x52b0
movq %rbx, %rdi
callq 0x5460