// File: /workspace/github_c_makefile_star2_O0/mattn[P]orelang/ore.c
// Function: ore_cmp
static ore_value
ore_cmp(ore_context* ore, ore_value lhs, char* op, ore_value rhs) {
  if (!strcmp(op, "==")) return ore_cmp_eq(ore, lhs, rhs) ? ore_value_true() : ore_value_false();
  if (!strcmp(op, "!=")) return !ore_cmp_eq(ore, lhs, rhs) ? ore_value_true() : ore_value_false();
  if (!strcmp(op, "<")) return ore_cmp_lessmore(ore, lhs, rhs) < 0 ? ore_value_true() : ore_value_false();
  if (!strcmp(op, "<=")) return ore_cmp_lessmore(ore, lhs, rhs) <= 0 ? ore_value_true() : ore_value_false();
  if (!strcmp(op, ">")) return ore_cmp_lessmore(ore, lhs, rhs) > 0 ? ore_value_true() : ore_value_false();
  if (!strcmp(op, "<=")) return ore_cmp_lessmore(ore, lhs, rhs) >= 0 ? ore_value_true() : ore_value_false();
  if (!strcmp(op, "=~")) return ore_match_regexp(ore, lhs, rhs);
  return ore_value_false();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x30(%rbp)
movq %rdi, -0x28(%rbp)
leaq 0x38(%rbp), %rax
movq %rax, -0x20(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x5566(%rip), %rsi      # 0x1c1cc
callq 0x2130
cmpl $0x0, %eax
jne 0x16ccf
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rdi
movq 0x20(%rdx), %rsi
movq %rsp, %rax
movq %rsi, 0x48(%rax)
movups (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x38(%rax)
movups %xmm0, 0x28(%rax)
movq 0x20(%rcx), %rdx
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x180b0
cmpl $0x0, %eax
je 0x16cc1
movq -0x30(%rbp), %rdi
callq 0x106a0
jmp 0x16cca
movq -0x30(%rbp), %rdi
callq 0x106e0
jmp 0x16f75
movq -0x10(%rbp), %rdi
leaq 0x54f5(%rip), %rsi      # 0x1c1cf
callq 0x2130
cmpl $0x0, %eax
jne 0x16d43
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rdi
movq 0x20(%rdx), %rsi
movq %rsp, %rax
movq %rsi, 0x48(%rax)
movups (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x38(%rax)
movups %xmm0, 0x28(%rax)
movq 0x20(%rcx), %rdx
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x180b0
cmpl $0x0, %eax
jne 0x16d35
movq -0x30(%rbp), %rdi
callq 0x106a0
jmp 0x16d3e
movq -0x30(%rbp), %rdi
callq 0x106e0
jmp 0x16f75
movq -0x10(%rbp), %rdi
leaq 0x38e3(%rip), %rsi      # 0x1a631
callq 0x2130
cmpl $0x0, %eax
jne 0x16db7
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rdi
movq 0x20(%rdx), %rsi
movq %rsp, %rax
movq %rsi, 0x48(%rax)
movups (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x38(%rax)
movups %xmm0, 0x28(%rax)
movq 0x20(%rcx), %rdx
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x183f0
cmpl $0x0, %eax
jge 0x16da9
movq -0x30(%rbp), %rdi
callq 0x106a0
jmp 0x16db2
movq -0x30(%rbp), %rdi
callq 0x106e0
jmp 0x16f75
movq -0x10(%rbp), %rdi
leaq 0x5410(%rip), %rsi      # 0x1c1d2
callq 0x2130
cmpl $0x0, %eax
jne 0x16e2b
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rdi
movq 0x20(%rdx), %rsi
movq %rsp, %rax
movq %rsi, 0x48(%rax)
movups (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x38(%rax)
movups %xmm0, 0x28(%rax)
movq 0x20(%rcx), %rdx
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x183f0
cmpl $0x0, %eax
jg 0x16e1d
movq -0x30(%rbp), %rdi
callq 0x106a0
jmp 0x16e26
movq -0x30(%rbp), %rdi
callq 0x106e0
jmp 0x16f75
movq -0x10(%rbp), %rdi
leaq 0x3a0f(%rip), %rsi      # 0x1a845
callq 0x2130
cmpl $0x0, %eax
jne 0x16e9f
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rdi
movq 0x20(%rdx), %rsi
movq %rsp, %rax
movq %rsi, 0x48(%rax)
movups (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x38(%rax)
movups %xmm0, 0x28(%rax)
movq 0x20(%rcx), %rdx
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x183f0
cmpl $0x0, %eax
jle 0x16e91
movq -0x30(%rbp), %rdi
callq 0x106a0
jmp 0x16e9a
movq -0x30(%rbp), %rdi
callq 0x106e0
jmp 0x16f75
movq -0x10(%rbp), %rdi
leaq 0x5328(%rip), %rsi      # 0x1c1d2
callq 0x2130
cmpl $0x0, %eax
jne 0x16f10
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rdi
movq 0x20(%rdx), %rsi
movq %rsp, %rax
movq %rsi, 0x48(%rax)
movups (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x38(%rax)
movups %xmm0, 0x28(%rax)
movq 0x20(%rcx), %rdx
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x183f0
cmpl $0x0, %eax
jl 0x16f05
movq -0x30(%rbp), %rdi
callq 0x106a0
jmp 0x16f0e
movq -0x30(%rbp), %rdi
callq 0x106e0
jmp 0x16f75
movq -0x10(%rbp), %rdi
leaq 0x52ba(%rip), %rsi      # 0x1c1d5
callq 0x2130
cmpl $0x0, %eax
jne 0x16f6c
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rdx
movq -0x8(%rbp), %rsi
movq 0x20(%rdx), %r8
movq %rsp, %rax
movq %r8, 0x48(%rax)
movups (%rdx), %xmm0
movups 0x10(%rdx), %xmm1
movups %xmm1, 0x38(%rax)
movups %xmm0, 0x28(%rax)
movq 0x20(%rcx), %rdx
movq %rdx, 0x20(%rax)
movups (%rcx), %xmm0
movups 0x10(%rcx), %xmm1
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x184a0
jmp 0x16f75
movq -0x30(%rbp), %rdi
callq 0x106e0
movq -0x28(%rbp), %rax
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)