// File: rfotino[P]consolite-compiler/src/util.cpp
// Function: otherParen(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::string otherParen(const std::string& paren) {
  if ("(" == paren) {
    return ")";
  } else if (")" == paren) {
    return "(";
  } else if ("[" == paren) {
    return "]";
  } else if ("]" == paren) {
    return "[";
  } else if ("{" == paren) {
    return "}";
  } else if ("}" == paren) {
    return "{";
  }
  return "";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x40(%rbp)
movq %rdi, %rax
movq %rax, -0x38(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rsi
leaq 0x2634(%rip), %rdi      # 0x6f0ad
callq 0xd590
testb $0x1, %al
jne 0x6ca84
jmp 0x6cacf
leaq -0x11(%rbp), %rdi
movq %rdi, -0x48(%rbp)
callq 0x8760
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rdx
leaq 0x3ece(%rip), %rsi      # 0x7096e
callq 0xced0
jmp 0x6caa7
leaq -0x11(%rbp), %rdi
callq 0x8460
jmp 0x6ccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x11(%rbp), %rdi
callq 0x8460
jmp 0x6cd0a
movq -0x10(%rbp), %rsi
leaq 0x3e94(%rip), %rdi      # 0x7096e
callq 0xd590
testb $0x1, %al
jne 0x6cae5
jmp 0x6cb30
leaq -0x25(%rbp), %rdi
movq %rdi, -0x50(%rbp)
callq 0x8760
movq -0x40(%rbp), %rdi
movq -0x50(%rbp), %rdx
leaq 0x25ac(%rip), %rsi      # 0x6f0ad
callq 0xced0
jmp 0x6cb08
leaq -0x25(%rbp), %rdi
callq 0x8460
jmp 0x6ccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x25(%rbp), %rdi
callq 0x8460
jmp 0x6cd0a
movq -0x10(%rbp), %rsi
leaq 0x2b49(%rip), %rdi      # 0x6f684
callq 0xd590
testb $0x1, %al
jne 0x6cb46
jmp 0x6cb91
leaq -0x26(%rbp), %rdi
movq %rdi, -0x58(%rbp)
callq 0x8760
movq -0x40(%rbp), %rdi
movq -0x58(%rbp), %rdx
leaq 0x2dd0(%rip), %rsi      # 0x6f932
callq 0xced0
jmp 0x6cb69
leaq -0x26(%rbp), %rdi
callq 0x8460
jmp 0x6ccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x26(%rbp), %rdi
callq 0x8460
jmp 0x6cd0a
movq -0x10(%rbp), %rsi
leaq 0x2d96(%rip), %rdi      # 0x6f932
callq 0xd590
testb $0x1, %al
jne 0x6cba7
jmp 0x6cbf2
leaq -0x27(%rbp), %rdi
movq %rdi, -0x60(%rbp)
callq 0x8760
movq -0x40(%rbp), %rdi
movq -0x60(%rbp), %rdx
leaq 0x2ac1(%rip), %rsi      # 0x6f684
callq 0xced0
jmp 0x6cbca
leaq -0x27(%rbp), %rdi
callq 0x8460
jmp 0x6ccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x27(%rbp), %rdi
callq 0x8460
jmp 0x6cd0a
movq -0x10(%rbp), %rsi
leaq 0x2e66(%rip), %rdi      # 0x6fa63
callq 0xd590
testb $0x1, %al
jne 0x6cc08
jmp 0x6cc53
leaq -0x28(%rbp), %rdi
movq %rdi, -0x68(%rbp)
callq 0x8760
movq -0x40(%rbp), %rdi
movq -0x68(%rbp), %rdx
leaq 0x2e41(%rip), %rsi      # 0x6fa65
callq 0xced0
jmp 0x6cc2b
leaq -0x28(%rbp), %rdi
callq 0x8460
jmp 0x6ccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x8460
jmp 0x6cd0a
movq -0x10(%rbp), %rsi
leaq 0x2e07(%rip), %rdi      # 0x6fa65
callq 0xd590
testb $0x1, %al
jne 0x6cc69
jmp 0x6ccae
leaq -0x29(%rbp), %rdi
movq %rdi, -0x70(%rbp)
callq 0x8760
movq -0x40(%rbp), %rdi
movq -0x70(%rbp), %rdx
leaq 0x2dde(%rip), %rsi      # 0x6fa63
callq 0xced0
jmp 0x6cc8c
leaq -0x29(%rbp), %rdi
callq 0x8460
jmp 0x6ccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x29(%rbp), %rdi
callq 0x8460
jmp 0x6cd0a
jmp 0x6ccb0
jmp 0x6ccb2
jmp 0x6ccb4
jmp 0x6ccb6
jmp 0x6ccb8
leaq -0x2a(%rbp), %rdi
movq %rdi, -0x78(%rbp)
callq 0x8760
movq -0x40(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x348b(%rip), %rsi      # 0x7015f
callq 0xced0
jmp 0x6ccdb
leaq -0x2a(%rbp), %rdi
callq 0x8460
jmp 0x6ccfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x2a(%rbp), %rdi
callq 0x8460
jmp 0x6cd0a
movq -0x38(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
movq -0x20(%rbp), %rdi
callq 0x8750
nopw %cs:(%rax,%rax)