// File: biotomas[P]ipasir/sat/picosat961/picosat-961/picosat.c
// Function: dumplits
static void
dumplits (PS * ps, Lit ** l, Lit ** end)
{
  int first;
  Lit ** p;

  if (l == end)
    {
      /* empty clause */
    }
  else if (l + 1 == end)
    {
      fprintf (ps->out, "%d ", LIT2INT (l[0]));
    }
  else
    { 
      assert (l + 2 <= end);
      first = (abs (LIT2INT (l[0])) > abs (LIT2INT (l[1])));
      fprintf (ps->out, "%d ", LIT2INT (l[first]));
      fprintf (ps->out, "%d ", LIT2INT (l[!first]));
      for (p = l + 2; p < end; p++)
	 fprintf (ps->out, "%d ", LIT2INT (*p));
    }

  fputc ('0', ps->out);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
jne 0xdd33
jmp 0xdfb8
movq -0x10(%rbp), %rax
addq $0x8, %rax
cmpq -0x18(%rbp), %rax
jne 0xdd9a
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
andl $0x1, %ecx
movl $0x1, %edx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x0, %ecx
cmovnel %eax, %edx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
shrl %eax
imull %eax, %edx
leaq 0xff6a(%rip), %rsi      # 0x1dcf8
movb $0x0, %al
callq 0x1130
jmp 0xdfb6
movq -0x10(%rbp), %rax
addq $0x10, %rax
cmpq -0x18(%rbp), %rax
ja 0xddaa
jmp 0xddc9
leaq 0x1017c(%rip), %rdi     # 0x1df2d
leaq 0xf4ec(%rip), %rsi      # 0x1d2a4
movl $0x435, %edx            # imm = 0x435
leaq 0x10176(%rip), %rcx     # 0x1df3a
callq 0x10b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
movl %eax, %edx
andl $0x1, %edx
movl $0x1, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpl $0x0, %edx
cmovnel %ecx, %eax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movq -0x8(%rbp), %rdx
movq 0x38(%rdx), %rdx
subq %rdx, %rcx
shrl %ecx
imull %ecx, %eax
movl %eax, %ecx
negl %ecx
cmovnsl %ecx, %eax
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq -0x8(%rbp), %rdx
movq 0x38(%rdx), %rdx
subq %rdx, %rcx
movl %ecx, %esi
andl $0x1, %esi
movl $0x1, %ecx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
cmpl $0x0, %esi
cmovnel %edx, %ecx
movq -0x10(%rbp), %rdx
movq 0x8(%rdx), %rdx
movq -0x8(%rbp), %rsi
movq 0x38(%rsi), %rsi
subq %rsi, %rdx
shrl %edx
imull %edx, %ecx
movl %ecx, %edx
negl %edx
cmovnsl %edx, %ecx
cmpl %ecx, %eax
setg %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
andl $0x1, %ecx
movl $0x1, %edx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x0, %ecx
cmovnel %eax, %edx
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
shrl %eax
imull %eax, %edx
leaq 0xfe3f(%rip), %rsi      # 0x1dcf8
movb $0x0, %al
callq 0x1130
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
cmpl $0x0, -0x1c(%rbp)
setne %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
andl $0x1, %ecx
movl $0x1, %edx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x0, %ecx
cmovnel %eax, %edx
movq -0x10(%rbp), %rax
cmpl $0x0, -0x1c(%rbp)
setne %cl
xorb $-0x1, %cl
andb $0x1, %cl
movzbl %cl, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
shrl %eax
imull %eax, %edx
leaq 0xfdc3(%rip), %rsi      # 0x1dcf8
movb $0x0, %al
callq 0x1130
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0xdfb4
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
movl %eax, %ecx
andl $0x1, %ecx
movl $0x1, %edx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x0, %ecx
cmovnel %eax, %edx
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x38(%rcx), %rcx
subq %rcx, %rax
shrl %eax
imull %eax, %edx
leaq 0xfd59(%rip), %rsi      # 0x1dcf8
movb $0x0, %al
callq 0x1130
movq -0x28(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x28(%rbp)
jmp 0xdf48
jmp 0xdfb6
jmp 0xdfb8
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movl $0x30, %edi
callq 0x10f0
addq $0x30, %rsp
popq %rbp
retq