// File: /workspace/github_cpp_makefile_star2_O3/biotomas[P]ipasir/sat/picosat961/picosat-961/picomcs.c
// Function: main
int main (int argc, char ** argv) {
  const char * perr;
  int i, res;
  for (i = 1; i < argc; i++) {
    if (!strcmp (argv[i], "-h")) {
      printf ("usage: picomcs [-h][-v][-j][-n][<input>]\n");
      exit (0);
    }
    else if (!strcmp (argv[i], "-v")) verbose++;
    else if (!strcmp (argv[i], "-j")) join = 1;
    else if (!strcmp (argv[i], "-n")) noprint = 1;
    else if (argv[i][0] == '-') {
      fprintf (stderr, "*** picomcs: invalid option '%s'\n", argv[i]);
      exit (1);
    } else if (input_name) {
      fprintf (stderr, "*** picomcs: two input files specified\n");
      exit (1);
    } else if (!(input = fopen ((input_name = argv[i]), "r"))) {
      fprintf (stderr, "*** picomcs: can not read '%s'\n", argv[i]);
      exit (1);
    } else close_input = 1;
  }
  if (!input_name) input_name = "<stdin>", input = stdin;
  if ((perr = parse ())) {
    fprintf (stderr, "%s:%d: parse error: %s\n", input_name, lineno, perr);
    exit (1);
  }
  if (close_input) fclose (input);
  ps = picosat_init ();
  picosat_set_prefix (ps, "c [picosat] ");
  encode ();
  for (i = first_cid; i <= last_cid; i++) 
    picosat_set_default_phase_lit (ps, i, 1);
  for (i = first_cid; i <= last_cid; i++) picosat_assume (ps, i);
  res = picosat_sat (ps, -1);
  if (res == 10) printf ("s SATISFIABLE\n");
  else printf ("s UNSATISFIABLE\n");
  fflush (stdout);
  if (join) cumcs (); else camcs ();
  if (verbose) picosat_stats (ps);
  picosat_reset (ps);
  if (!noprint) {
    if (join) print_umcs (); else print_all_mcs ();
  }
  release ();
  return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
cmpl $0x2, %edi
jl 0x1906
movq %rsi, %rbx
movl %edi, %r12d
movl $0x1, %r14d
leaq 0x11460(%rip), %r15     # 0x12cc5
movq (%rbx,%r14,8), %rdi
cmpb $0x2d, (%rdi)
jne 0x18b3
cmpb $0x68, 0x1(%rdi)
jne 0x187e
cmpb $0x0, 0x2(%rdi)
je 0x222e
cmpb $0x76, 0x1(%rdi)
jne 0x188a
cmpb $0x0, 0x2(%rdi)
je 0x18f5
cmpb $0x6a, 0x1(%rdi)
jne 0x1896
cmpb $0x0, 0x2(%rdi)
je 0x18fd
cmpb $0x6e, 0x1(%rdi)
jne 0x2219
cmpb $0x0, 0x2(%rdi)
jne 0x2219
movb $0x1, 0x15897(%rip)     # 0x17148
jmp 0x18e7
cmpq $0x0, 0x15895(%rip)     # 0x17150
jne 0x2229
movq %rdi, 0x15888(%rip)     # 0x17150
movq %r15, %rsi
callq 0x11a0
movq %rax, 0x15881(%rip)     # 0x17158
testq %rax, %rax
je 0x221e
movb $0x1, 0x15879(%rip)     # 0x17160
incq %r14
cmpq %r14, %r12
jne 0x1865
jmp 0x1906
incl 0x15845(%rip)           # 0x17140
jmp 0x18e7
movb $0x1, 0x15840(%rip)     # 0x17144
jmp 0x18e7
movq 0x15843(%rip), %rdx     # 0x17150
testq %rdx, %rdx
jne 0x1931
leaq 0xe762(%rip), %rdx      # 0x1007b
movq %rdx, 0x15830(%rip)     # 0x17150
movq 0x156b1(%rip), %rax     # 0x16fd8
movq (%rax), %rax
movq %rax, 0x15827(%rip)     # 0x17158
leaq 0xe774(%rip), %rsi      # 0x100ac
movl $0x1, %edi
xorl %eax, %eax
callq 0x228b
movq 0x1580d(%rip), %rdi     # 0x17158
callq 0x1200
cmpl $0x63, %eax
jne 0x1978
movq 0x157fc(%rip), %rdi     # 0x17158
callq 0x1200
cmpl $0xa, %eax
je 0x1970
cmpl $-0x1, %eax
jne 0x1955
jmp 0x21cd
incl 0x157aa(%rip)           # 0x17120
jmp 0x1944
cmpl $0x70, %eax
jne 0x21af
movq 0x157d0(%rip), %rsi     # 0x17158
movl $0x70, %edi
callq 0x1170
movq 0x157bf(%rip), %rdi     # 0x17158
leaq 0xe73d(%rip), %rsi      # 0x100dd
leaq 0x15789(%rip), %rdx     # 0x17130
leaq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x1080
cmpl $0x2, %eax
jne 0x21b9
movl 0x1576e(%rip), %edx     # 0x17130
movl 0x8(%rsp), %ecx
leaq 0xe71c(%rip), %rsi      # 0x100e9
movl $0x1, %edi
xorl %eax, %eax
callq 0x228b
movslq 0x15750(%rip), %rax     # 0x17130
movslq 0x8(%rsp), %rcx
leaq (%rax,%rcx), %rsi
incq %rsi
movl $0x1, %edi
callq 0x1120
movq %rax, 0x1577b(%rip)     # 0x17178
leaq 0x15734(%rip), %rbp     # 0x17138
leaq 0xe742(%rip), %rbx      # 0x1014d
movq 0x15746(%rip), %rdi     # 0x17158
callq 0x1200
movl %eax, %r14d
cmpl $0xc, %eax
jle 0x1a77
cmpl $0xd, %r14d
je 0x1a0b
cmpl $0x20, %r14d
je 0x1a0b
cmpl $0x2d, %r14d
jne 0x1a95
movq 0x15720(%rip), %rdi     # 0x17158
callq 0x1200
movl %eax, %r14d
cmpl $0xa, %eax
jne 0x1a4b
incl 0x156d5(%rip)           # 0x17120
callq 0x1210
movq %rax, %r15
movq (%rax), %r13
movslq %r14d, %rax
testb $0x8, 0x1(%r13,%rax,2)
je 0x21c0
cmpl $0x30, %r14d
je 0x21f1
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
jmp 0x1ab5
cmpl $0x9, %r14d
je 0x1a0b
cmpl $0xa, %r14d
jne 0x1a8b
incl 0x15697(%rip)           # 0x17120
jmp 0x1a0b
cmpl $-0x1, %r14d
je 0x1bae
callq 0x1210
movq %rax, %r15
movq (%rax), %r13
movslq %r14d, %rax
testb $0x8, 0x1(%r13,%rax,2)
je 0x21e8
movl $0x1, %r12d
addl $-0x30, %r14d
movq 0x15698(%rip), %rdi     # 0x17158
callq 0x1200
cmpl $0xa, %eax
jne 0x1ad0
incl 0x15650(%rip)           # 0x17120
movslq %eax, %rcx
testb $0x8, 0x1(%r13,%rcx,2)
je 0x1aec
leal (%r14,%r14,4), %ecx
leal (%rax,%rcx,2), %r14d
addl $-0x30, %r14d
movq (%r15), %r13
jmp 0x1ab9
testl %r14d, %r14d
je 0x1b1f
cmpl 0x15638(%rip), %r14d    # 0x17130
jg 0x21d6
movl 0x15630(%rip), %eax     # 0x17134
cmpl 0x8(%rsp), %eax
je 0x21df
imull %r12d, %r14d
movl %r14d, %edi
callq 0x234d
jmp 0x1a0b
movl 0x1560e(%rip), %r15d    # 0x17134
cmpl 0x8(%rsp), %r15d
jge 0x21fa
movl $0x18, %edi
callq 0x1150
movq %rax, %r14
incl %r15d
movl %r15d, 0x155ec(%rip)    # 0x17134
movl %r15d, (%rax)
movq $0x0, 0x10(%rax)
xorl %edi, %edi
callq 0x234d
movslq 0x1561f(%rip), %r15     # 0x17180
shlq $0x2, %r15
movq %r15, %rdi
callq 0x1150
movq %rax, 0x8(%r14)
movq 0x15610(%rip), %rsi     # 0x17188
movq %rax, %rdi
movq %r15, %rdx
callq 0x1140
movq 0x15606(%rip), %rax     # 0x17190
leaq 0x10(%rax), %rcx
testq %rax, %rax
cmoveq %rbp, %rcx
movq %r14, (%rcx)
movq %r14, 0x155f1(%rip)     # 0x17190
movl $0x0, 0x155d7(%rip)     # 0x17180
jmp 0x1a0b
movl 0x8(%rsp), %eax
cmpl %eax, 0x1557c(%rip)     # 0x17134
jg 0x2241
jl 0x2260
cmpb $0x1, 0x15595(%rip)     # 0x17160
jne 0x1bd9
movq 0x15584(%rip), %rdi     # 0x17158
callq 0x10b0
callq 0x2629
movq %rax, 0x15583(%rip)     # 0x17168
leaq 0xe4af(%rip), %rsi      # 0x1009b
movq %rax, %rdi
callq 0x5318
movl 0x15536(%rip), %ecx     # 0x17130
leal 0x1(%rcx), %edx
movl %edx, 0x1556d(%rip)     # 0x17170
addl 0x1552b(%rip), %ecx     # 0x17134
movl %ecx, 0x15565(%rip)     # 0x17174
leaq 0xe5dc(%rip), %rsi      # 0x101f2
movl $0x2, %edi
xorl %eax, %eax
callq 0x228b
movq 0x1550f(%rip), %r12     # 0x17138
testq %r12, %r12
je 0x1d10
leaq 0xe5ee(%rip), %rbx      # 0x10227
leaq 0xe4a5(%rip), %r14      # 0x100e5
movq 0x15389(%rip), %r13     # 0x16fd0
cmpl $0x2, 0x154f2(%rip)     # 0x17140
jl 0x1cb1
movl (%r12), %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10d0
movl (%r12), %edi
callq 0x23ab
negl %eax
movq %r14, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x10d0
movq 0x8(%r12), %r15
movl (%r15), %esi
testl %esi, %esi
je 0x1c9a
addq $0x4, %r15
movq %r14, %rdi
xorl %eax, %eax
callq 0x10d0
movl (%r15), %esi
addq $0x4, %r15
testl %esi, %esi
jne 0x1c85
movq (%r13), %rsi
movl $0xa, %edi
callq 0x1110
movq (%r13), %rdi
callq 0x1160
movq 0x154b0(%rip), %r15     # 0x17168
movl (%r12), %edi
callq 0x23ab
negl %eax
movq %r15, %rdi
movl %eax, %esi
callq 0x58e6
movq 0x8(%r12), %r15
movl (%r15), %esi
testl %esi, %esi
je 0x1cf4
addq $0x4, %r15
movq 0x15484(%rip), %rdi     # 0x17168
callq 0x58e6
movl (%r15), %esi
addq $0x4, %r15
testl %esi, %esi
jne 0x1cdd
movq 0x1546d(%rip), %rdi     # 0x17168
xorl %esi, %esi
callq 0x58e6
movq 0x10(%r12), %r12
testq %r12, %r12
jne 0x1c47
movl 0x1541e(%rip), %edx     # 0x17134
leaq 0xe4f7(%rip), %rsi      # 0x10214
movl $0x1, %edi
xorl %eax, %eax
callq 0x228b
movl 0x15441(%rip), %ebx     # 0x17170
movl 0x1543f(%rip), %eax     # 0x17174
cmpl %eax, %ebx
jg 0x1d61
movq 0x15428(%rip), %rdi     # 0x17168
movl %ebx, %esi
movl $0x1, %edx
callq 0xa658
leal 0x1(%rbx), %ecx
movl 0x1541f(%rip), %eax     # 0x17174
cmpl %eax, %ebx
movl %ecx, %ebx
jl 0x1d39
movl 0x1540f(%rip), %ebx     # 0x17170
cmpl %eax, %ebx
jg 0x1d80
movq 0x153fc(%rip), %rdi     # 0x17168
movl %ebx, %esi
callq 0x625b
leal 0x1(%rbx), %eax
cmpl 0x153f8(%rip), %ebx     # 0x17174
movl %eax, %ebx
jl 0x1d65
movq 0x153e1(%rip), %rdi     # 0x17168
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x63f3
movl %eax, %ebp
cmpl $0xa, %eax
leaq 0xe5f3(%rip), %rax      # 0x10390
leaq 0xe5dc(%rip), %rdi      # 0x10380
cmoveq %rax, %rdi
callq 0x1090
movq 0x1521c(%rip), %rbx     # 0x16fd0
movq (%rbx), %rdi
callq 0x1160
cmpb $0x1, 0x15381(%rip)     # 0x17144
jne 0x1e42
leaq 0x10(%rsp), %rdx
movq $0x0, (%rdx)
movq 0x15390(%rip), %rdi     # 0x17168
leaq 0x605(%rip), %rsi       # 0x23e4
callq 0x8eb5
movq %rax, %r14
movl $0x1, %edi
callq 0x10a0
testl %eax, %eax
je 0x1e0b
cmpl $0x1, 0x15344(%rip)     # 0x17140
jne 0x1e0b
movq (%rbx), %rsi
movl $0xa, %edi
callq 0x1110
movl (%r14), %ecx
testl %ecx, %ecx
je 0x2009
movq 0x1535b(%rip), %rax     # 0x17178
addq $0x4, %r14
xorl %edx, %edx
movslq %ecx, %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x1e32
movb $0x1, (%rax,%rcx)
incl %edx
movl (%r14), %ecx
addq $0x4, %r14
testl %ecx, %ecx
jne 0x1e23
jmp 0x200b
movl %ebp, 0xc(%rsp)
leaq 0xe4b9(%rip), %rsi      # 0x10306
movl $0x1, %edi
xorl %eax, %eax
callq 0x228b
movq 0x15308(%rip), %rdi     # 0x17168
callq 0x8e78
testq %rax, %rax
je 0x1fc6
movq %rax, %r13
leaq 0xe4be(%rip), %r14      # 0x10336
leaq 0xe266(%rip), %r15      # 0x100e5
leaq 0x15322(%rip), %r12     # 0x171a8
movl (%r13), %edi
testl %edi, %edi
je 0x1ea3
addq $0x4, %r13
callq 0x234d
movl (%r13), %edi
addq $0x4, %r13
testl %edi, %edi
jne 0x1e92
movl 0x15297(%rip), %eax     # 0x17140
cmpl $0x2, %eax
jl 0x1f03
movl 0x152e4(%rip), %esi     # 0x17198
movq %r14, %rdi
xorl %eax, %eax
callq 0x10d0
cmpl $0x0, 0x152bb(%rip)     # 0x17180
jle 0x1ef4
xorl %r13d, %r13d
movq 0x152b7(%rip), %rax     # 0x17188
movl (%rax,%r13,4), %esi
subl 0x15255(%rip), %esi     # 0x17130
movq %r15, %rdi
xorl %eax, %eax
callq 0x10d0
incq %r13
movslq 0x15291(%rip), %rax     # 0x17180
cmpq %rax, %r13
jl 0x1eca
movq (%rbx), %rsi
movl $0xa, %edi
callq 0x1110
jmp 0x1f29
testl %eax, %eax
je 0x1f31
movl $0x1, %edi
callq 0x10a0
testl %eax, %eax
je 0x1f31
movl 0x1527d(%rip), %esi     # 0x17198
leaq 0xe429(%rip), %rdi      # 0x1034b
xorl %eax, %eax
callq 0x10d0
movq (%rbx), %rdi
callq 0x1160
movl $0x18, %edi
callq 0x1150
movq %rax, %r13
movl 0x15254(%rip), %eax     # 0x17198
incl %eax
movl %eax, 0x1524c(%rip)     # 0x17198
movl %eax, (%r13)
movq $0x0, 0x10(%r13)
xorl %edi, %edi
callq 0x234d
movslq 0x1521a(%rip), %rbp     # 0x17180
shlq $0x2, %rbp
movq %rbp, %rdi
callq 0x1150
movq %rax, 0x8(%r13)
movq 0x1520b(%rip), %rsi     # 0x17188
movq %rax, %rdi
movq %rbp, %rdx
callq 0x1140
movq 0x15211(%rip), %rax     # 0x171a0
leaq 0x10(%rax), %rcx
testq %rax, %rax
cmoveq %r12, %rcx
movq %r13, (%rcx)
movq %r13, 0x151fc(%rip)     # 0x171a0
movl $0x0, 0x151d2(%rip)     # 0x17180
movq 0x151b3(%rip), %rdi     # 0x17168
callq 0x8e78
movq %rax, %r13
testq %rax, %rax
jne 0x1e86
cmpl $0x0, 0x15173(%rip)     # 0x17140
je 0x1fea
movl $0x1, %edi
callq 0x10a0
testl %eax, %eax
je 0x1fea
movq (%rbx), %rsi
movl $0xd, %edi
callq 0x1110
movl 0x151a8(%rip), %edx     # 0x17198
leaq 0xe368(%rip), %rsi      # 0x1035f
movl $0x1, %edi
xorl %eax, %eax
callq 0x228b
movl 0xc(%rsp), %ebp
jmp 0x202c
xorl %edx, %edx
cmpl 0x14(%rsp), %edx
jne 0x226c
movl 0x10(%rsp), %ecx
leaq 0xe289(%rip), %rsi      # 0x102a9
movl $0x1, %edi
xorl %eax, %eax
callq 0x228b
cmpl $0x0, 0x1510d(%rip)     # 0x17140
je 0x2041
movq 0x1512c(%rip), %rdi     # 0x17168
callq 0x92c0
movq 0x15120(%rip), %rdi     # 0x17168
callq 0x53b0
cmpb $0x0, 0x150f4(%rip)     # 0x17148
jne 0x2134
cmpb $0x1, 0x150e3(%rip)     # 0x17144
jne 0x20d3
movl $0x76, %edi
callq 0x1050
movl 0x150fd(%rip), %ebx     # 0x17170
movl 0x150fb(%rip), %eax     # 0x17174
cmpl %eax, %ebx
jg 0x20c5
movslq %ebx, %r15
movq 0x150f1(%rip), %rcx     # 0x17178
decq %r15
leaq 0xe054(%rip), %r14      # 0x100e5
cmpb $0x0, 0x1(%rcx,%r15)
je 0x20b8
movl %ebx, %esi
subl 0x1508f(%rip), %esi     # 0x17130
movq %r14, %rdi
xorl %eax, %eax
callq 0x10d0
movq 0x150c6(%rip), %rcx     # 0x17178
movl 0x150bc(%rip), %eax     # 0x17174
movslq %eax, %rdx
incq %r15
incl %ebx
cmpq %rdx, %r15
jl 0x2091
leaq 0xf589(%rip), %rdi      # 0x11655
callq 0x1090
jmp 0x2134
movq 0x150ce(%rip), %rbx     # 0x171a8
testq %rbx, %rbx
je 0x2134
leaq 0xf56f(%rip), %r14      # 0x11655
leaq 0xdff8(%rip), %r15      # 0x100e5
movl $0x76, %edi
callq 0x1050
movq 0x8(%rbx), %r12
movl (%r12), %esi
testl %esi, %esi
je 0x2123
addq $0x4, %r12
subl 0x15023(%rip), %esi     # 0x17130
movq %r15, %rdi
xorl %eax, %eax
callq 0x10d0
movl (%r12), %esi
addq $0x4, %r12
testl %esi, %esi
jne 0x2107
movq %r14, %rdi
callq 0x1090
movq 0x10(%rbx), %rbx
testq %rbx, %rbx
jne 0x20ed
movq 0x14ffd(%rip), %r14     # 0x17138
testq %r14, %r14
je 0x215d
movq 0x8(%r14), %rdi
movq 0x10(%r14), %rbx
callq 0x1040
movq %r14, %rdi
callq 0x1040
movq %rbx, %r14
testq %rbx, %rbx
jne 0x2140
movq 0x15044(%rip), %r14     # 0x171a8
testq %r14, %r14
je 0x2186
movq 0x8(%r14), %rdi
movq 0x10(%r14), %rbx
callq 0x1040
movq %r14, %rdi
callq 0x1040
movq %rbx, %r14
testq %rbx, %rbx
jne 0x2169
movq 0x14feb(%rip), %rdi     # 0x17178
callq 0x1040
movq 0x14fef(%rip), %rdi     # 0x17188
callq 0x1040
movl %ebp, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpl $0xa, %eax
jne 0x21b9
callq 0x12a1
leaq 0xdf0e(%rip), %rbx      # 0x100ce
leaq 0x8(%rsp), %rdi
movq %rbx, %rsi
callq 0x12a8
leaq 0xdee3(%rip), %rbx      # 0x100b7
jmp 0x21c0
leaq 0xdfc1(%rip), %rbx      # 0x1019e
jmp 0x21c0
leaq 0xdfd8(%rip), %rbx      # 0x101be
jmp 0x21c0
leaq 0xdf99(%rip), %rbx      # 0x10188
jmp 0x21c0
leaq 0xdf6e(%rip), %rbx      # 0x10166
jmp 0x21c0
leaq 0xdfce(%rip), %rdi      # 0x101cf
leaq 0xdf13(%rip), %rsi      # 0x1011b
leaq 0xdf16(%rip), %rcx      # 0x10125
movl $0x9d, %edx
callq 0x10e0
callq 0x127d
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1255
callq 0x1230
leaq 0xe169(%rip), %rdi      # 0x1039e
callq 0x1090
xorl %edi, %edi
callq 0x11e0
leaq 0xdebc(%rip), %rdi      # 0x10104
leaq 0xdecc(%rip), %rsi      # 0x1011b
leaq 0xdecf(%rip), %rcx      # 0x10125
movl $0x8a, %edx
callq 0x10e0
leaq 0xded6(%rip), %rbx      # 0x1013d
jmp 0x21c0
leaq 0xe013(%rip), %rdi      # 0x10286
leaq 0xdea1(%rip), %rsi      # 0x1011b
leaq 0xe017(%rip), %rcx      # 0x10298
movl $0xfd, %edx
callq 0x10e0