// File: biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: cmp_glue_activity_size
static int
cmp_glue_activity_size (PS * ps, Cls * c, Cls * d)
{
  Act a, b, * p, * q;

  (void) ps;

  assert (c->learned);
  assert (d->learned);

  if (c->glue < d->glue)		// smaller glue preferred
    return 1;

  if (c->glue > d->glue)
    return -1;

  p = CLS2ACT (c);
  q = CLS2ACT (d);
  a = *p;
  b = *q;

  if (a < b)				// then higher activity
    return -1;

  if (b < a)
    return 1;

  if (c->size < d->size)		// then smaller size
    return 1;

  if (c->size > d->size)
    return -1;

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
shrl %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1b2d7
jmp 0x1b2f6
leaq 0x416e(%rip), %rdi      # 0x1f44c
leaq 0x1fbf(%rip), %rsi      # 0x1d2a4
movl $0x1551, %edx           # imm = 0x1551
leaq 0x47d1(%rip), %rcx      # 0x1fac2
callq 0x10b0
movq -0x20(%rbp), %rax
movl 0x4(%rax), %eax
shrl %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1b309
jmp 0x1b328
leaq 0x47e1(%rip), %rdi      # 0x1faf1
leaq 0x1f8d(%rip), %rsi      # 0x1d2a4
movl $0x1552, %edx           # imm = 0x1552
leaq 0x479f(%rip), %rcx      # 0x1fac2
callq 0x10b0
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
shrl $0x5, %eax
andl $0x1ffffff, %eax        # imm = 0x1FFFFFF
movq -0x20(%rbp), %rcx
movl 0x4(%rcx), %ecx
shrl $0x5, %ecx
andl $0x1ffffff, %ecx        # imm = 0x1FFFFFF
cmpl %ecx, %eax
jge 0x1b357
movl $0x1, -0x4(%rbp)
jmp 0x1b4d9
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
shrl $0x5, %eax
andl $0x1ffffff, %eax        # imm = 0x1FFFFFF
movq -0x20(%rbp), %rcx
movl 0x4(%rcx), %ecx
shrl $0x5, %ecx
andl $0x1ffffff, %ecx        # imm = 0x1FFFFFF
cmpl %ecx, %eax
jle 0x1b386
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1b4d9
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
shrl %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1b399
jmp 0x1b3b8
leaq 0x3af7(%rip), %rdi      # 0x1ee97
leaq 0x1efd(%rip), %rsi      # 0x1d2a4
movl $0x155a, %edx           # imm = 0x155A
leaq 0x470f(%rip), %rcx      # 0x1fac2
callq 0x10b0
movq -0x18(%rbp), %rax
cmpl $0x2, (%rax)
jbe 0x1b3c3
jmp 0x1b3e2
leaq 0x3af9(%rip), %rdi      # 0x1eec3
leaq 0x1ed3(%rip), %rsi      # 0x1d2a4
movl $0x155a, %edx           # imm = 0x155A
leaq 0x46e5(%rip), %rcx      # 0x1fac2
callq 0x10b0
movq -0x18(%rbp), %rax
addq $0x18, %rax
movq -0x18(%rbp), %rcx
movl (%rcx), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
movq -0x20(%rbp), %rax
movl 0x4(%rax), %eax
shrl %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x1b40e
jmp 0x1b42d
leaq 0x46e7(%rip), %rdi      # 0x1fafc
leaq 0x1e88(%rip), %rsi      # 0x1d2a4
movl $0x155b, %edx           # imm = 0x155B
leaq 0x469a(%rip), %rcx      # 0x1fac2
callq 0x10b0
movq -0x20(%rbp), %rax
cmpl $0x2, (%rax)
jbe 0x1b438
jmp 0x1b457
leaq 0x46ca(%rip), %rdi      # 0x1fb09
leaq 0x1e5e(%rip), %rsi      # 0x1d2a4
movl $0x155b, %edx           # imm = 0x155B
leaq 0x4670(%rip), %rcx      # 0x1fac2
callq 0x10b0
movq -0x20(%rbp), %rax
addq $0x18, %rax
movq -0x20(%rbp), %rcx
movl (%rcx), %ecx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x38(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jae 0x1b493
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1b4d9
movl -0x28(%rbp), %eax
cmpl -0x24(%rbp), %eax
jae 0x1b4a4
movl $0x1, -0x4(%rbp)
jmp 0x1b4d9
movq -0x18(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
cmpl (%rcx), %eax
jae 0x1b4bb
movl $0x1, -0x4(%rbp)
jmp 0x1b4d9
movq -0x18(%rbp), %rax
movl (%rax), %eax
movq -0x20(%rbp), %rcx
cmpl (%rcx), %eax
jbe 0x1b4d2
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x1b4d9
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)