// File: /workspace/github_cpp_makefile_star2_O2/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
movq %rsi, %rbx
movslq %edi, %r12
pushq $0x1
popq %r15
leaq 0x108f3(%rip), %r14     # 0x11ca3
cmpq %r12, %r15
jge 0x1457
movq (%rbx,%r15,8), %rdx
cmpb $0x2d, (%rdx)
jne 0x1407
cmpb $0x68, 0x1(%rdx)
jne 0x13d2
cmpb $0x0, 0x2(%rdx)
je 0x1cc1
cmpb $0x76, 0x1(%rdx)
jne 0x13de
cmpb $0x0, 0x2(%rdx)
je 0x1446
cmpb $0x6a, 0x1(%rdx)
jne 0x13ea
cmpb $0x0, 0x2(%rdx)
je 0x144e
cmpb $0x6e, 0x1(%rdx)
jne 0x1c6c
cmpb $0x0, 0x2(%rdx)
jne 0x1c6c
movb $0x1, 0x14d43(%rip)     # 0x16148
jmp 0x143e
cmpq $0x0, 0x14d41(%rip)     # 0x16150
jne 0x1c7f
movq %rdx, 0x14d34(%rip)     # 0x16150
movq %rdx, %rdi
movq %r14, %rsi
callq 0x11a0
movq %rax, 0x14d2a(%rip)     # 0x16158
testq %rax, %rax
je 0x1ca0
movb $0x1, 0x14d22(%rip)     # 0x16160
incq %r15
jmp 0x13b0
incl 0x14cf4(%rip)           # 0x16140
jmp 0x143e
movb $0x1, 0x14cef(%rip)     # 0x16144
jmp 0x143e
movq 0x14cf2(%rip), %rdx     # 0x16150
testq %rdx, %rdx
jne 0x1482
leaq 0xdc11(%rip), %rdx      # 0xf07b
movq %rdx, 0x14cdf(%rip)     # 0x16150
movq 0x14b60(%rip), %rax     # 0x15fd8
movq (%rax), %rax
movq %rax, 0x14cd6(%rip)     # 0x16158
leaq 0xdc23(%rip), %rsi      # 0xf0ac
pushq $0x1
popq %rdi
xorl %eax, %eax
callq 0x1d1e
callq 0x1dde
cmpl $0x63, %eax
jne 0x14e0
callq 0x1dde
cmpl $0xa, %eax
je 0x1493
cmpl $-0x1, %eax
jne 0x149d
leaq 0xdc04(%rip), %r8       # 0xf0b7
movq 0x14b3e(%rip), %rax     # 0x15ff8
movq (%rax), %rdi
movq 0x14c8c(%rip), %rdx     # 0x16150
movl 0x14c56(%rip), %ecx     # 0x16120
leaq 0xdbb2(%rip), %rsi      # 0xf083
xorl %eax, %eax
callq 0x1130
pushq $0x1
popq %rdi
callq 0x11e0
cmpl $0x70, %eax
jne 0x1c1d
movq 0x14c68(%rip), %rsi     # 0x16158
pushq $0x70
popq %rdi
callq 0x1170
movq 0x14c59(%rip), %rdi     # 0x16158
leaq 0xdbd7(%rip), %rsi      # 0xf0dd
leaq 0x14c23(%rip), %rdx     # 0x16130
leaq 0x8(%rsp), %rcx
xorl %eax, %eax
callq 0x1080
cmpl $0x2, %eax
jne 0x1c1d
movl 0x14c08(%rip), %edx     # 0x16130
movl 0x8(%rsp), %ecx
leaq 0xdbb6(%rip), %rsi      # 0xf0e9
pushq $0x1
popq %rdi
xorl %eax, %eax
callq 0x1d1e
movslq 0x14bec(%rip), %rax     # 0x16130
movslq 0x8(%rsp), %rcx
leaq (%rax,%rcx), %rsi
incq %rsi
pushq $0x1
popq %rdi
callq 0x1120
movq %rax, 0x14c19(%rip)     # 0x16178
leaq 0x14bd2(%rip), %rbx     # 0x16138
movabsq $0x200004c00, %r14      # imm = 0x200004C00
callq 0x1dde
movl %eax, %r12d
leal 0x1(%r12), %eax
cmpl $0x2e, %eax
ja 0x15c7
btq %rax, %r14
jb 0x1570
cmpq $0x2e, %rax
jne 0x15be
callq 0x1dde
movl %eax, %r12d
callq 0x1210
movq %rax, %r13
movq (%rax), %r15
movslq %r12d, %rax
testb $0x8, 0x1(%r15,%rax,2)
je 0x1c29
cmpl $0x30, %r12d
je 0x1c35
pushq $-0x1
jmp 0x15e3
testq %rax, %rax
je 0x16c0
callq 0x1210
movq %rax, %r13
movq (%rax), %r15
movslq %r12d, %rax
testb $0x8, 0x1(%r15,%rax,2)
je 0x1c41
pushq $0x1
popq %rbp
addl $-0x30, %r12d
jmp 0x15fa
imull $0xa, %r12d, %ecx
leal (%rcx,%rax), %r12d
addl $-0x30, %r12d
movq (%r13), %r15
callq 0x1dde
movslq %eax, %rcx
testb $0x8, 0x1(%r15,%rcx,2)
jne 0x15ea
testl %r12d, %r12d
je 0x163d
cmpl 0x14b1a(%rip), %r12d    # 0x16130
jg 0x1c05
movl 0x14b12(%rip), %eax     # 0x16134
cmpl 0x8(%rsp), %eax
je 0x1c11
imull %ebp, %r12d
movl %r12d, %edi
callq 0x1df8
jmp 0x1570
movl 0x14af1(%rip), %ebp     # 0x16134
cmpl 0x8(%rsp), %ebp
jge 0x1c4d
pushq $0x18
popq %rdi
callq 0x1150
movq %rax, %r12
incl %ebp
movl %ebp, 0x14ad4(%rip)     # 0x16134
movl %ebp, (%rax)
andq $0x0, 0x10(%rax)
xorl %edi, %edi
callq 0x1df8
movslq 0x14b0b(%rip), %r13     # 0x16180
shlq $0x2, %r13
movq %r13, %rdi
callq 0x1150
movq %rax, 0x8(%r12)
movq 0x14afb(%rip), %rsi     # 0x16188
movq %rax, %rdi
movq %r13, %rdx
callq 0x1140
movq 0x14af1(%rip), %rax     # 0x16190
leaq 0x10(%rax), %rcx
testq %rax, %rax
cmoveq %rbx, %rcx
movq %r12, (%rcx)
movq %r12, 0x14adc(%rip)     # 0x16190
andl $0x0, 0x14ac5(%rip)     # 0x16180
jmp 0x1570
movl 0x8(%rsp), %eax
cmpl %eax, 0x14a6a(%rip)     # 0x16134
jg 0x1cd4
jl 0x1cf3
cmpb $0x1, 0x14a83(%rip)     # 0x16160
jne 0x16eb
movq 0x14a72(%rip), %rdi     # 0x16158
callq 0x10b0
callq 0x20b4
movq %rax, 0x14a71(%rip)     # 0x16168
leaq 0xd99d(%rip), %rsi      # 0xf09b
movq %rax, %rdi
callq 0x4ad4
movl 0x14a24(%rip), %ecx     # 0x16130
leal 0x1(%rcx), %edx
movl %edx, 0x14a5b(%rip)     # 0x16170
addl 0x14a19(%rip), %ecx     # 0x16134
movl %ecx, 0x14a53(%rip)     # 0x16174
leaq 0xdaca(%rip), %rsi      # 0xf1f2
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0x1d1e
leaq 0xdaee(%rip), %r14      # 0xf227
leaq 0xd9a5(%rip), %r15      # 0xf0e5
movq 0x14889(%rip), %r13     # 0x15fd0
pushq $0xa
popq %rbp
movq (%rbx), %rbx
testq %rbx, %rbx
je 0x17fa
cmpl $0x2, 0x149e3(%rip)     # 0x16140
jl 0x17b1
movl (%rbx), %esi
movq %r14, %rdi
xorl %eax, %eax
callq 0x10d0
movq %rbx, %rdi
callq 0x1e54
negl %eax
movq %r15, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x10d0
movq 0x8(%rbx), %r12
movl (%r12), %esi
testl %esi, %esi
je 0x179d
movq %r15, %rdi
xorl %eax, %eax
callq 0x10d0
addq $0x4, %r12
jmp 0x1785
movq (%r13), %rsi
movl %ebp, %edi
callq 0x1110
movq (%r13), %rdi
callq 0x1160
movq 0x149b0(%rip), %r12     # 0x16168
movq %rbx, %rdi
callq 0x1e54
negl %eax
movq %r12, %rdi
movl %eax, %esi
callq 0x50a3
movq 0x8(%rbx), %r12
movl (%r12), %esi
movq 0x1498d(%rip), %rdi     # 0x16168
testl %esi, %esi
je 0x17ea
callq 0x50a3
addq $0x4, %r12
jmp 0x17d0
xorl %esi, %esi
callq 0x50a3
addq $0x10, %rbx
jmp 0x174a
movl 0x14934(%rip), %edx     # 0x16134
leaq 0xda0d(%rip), %rsi      # 0xf214
pushq $0x1
popq %rbx
movl %ebx, %edi
xorl %eax, %eax
callq 0x1d1e
movl 0x14957(%rip), %ebp     # 0x16170
movl 0x14955(%rip), %eax     # 0x16174
cmpl %eax, %ebp
jg 0x1837
movq 0x1493e(%rip), %rdi     # 0x16168
movl %ebp, %esi
movl %ebx, %edx
callq 0x9a3f
incl %ebp
jmp 0x1819
movl 0x14933(%rip), %ebx     # 0x16170
movq 0x14924(%rip), %rdi     # 0x16168
cmpl %eax, %ebx
jg 0x1859
movl %ebx, %esi
callq 0x5a18
incl %ebx
movl 0x1491d(%rip), %eax     # 0x16174
jmp 0x183d
pushq $-0x1
popq %rsi
callq 0x5bac
movl %eax, 0xc(%rsp)
cmpl $0xa, %eax
leaq 0xdb21(%rip), %rax      # 0xf390
leaq 0xdb0a(%rip), %rdi      # 0xf380
cmoveq %rax, %rdi
callq 0x1090
movq (%r13), %rdi
callq 0x1160
cmpb $0x1, 0x148b5(%rip)     # 0x16144
jne 0x18f8
leaq 0x10(%rsp), %rdx
andq $0x0, (%rdx)
movq 0x148c7(%rip), %rdi     # 0x16168
leaq 0x5e5(%rip), %rsi       # 0x1e8d
callq 0x83a9
movq %rax, %rbx
pushq $0x1
popq %rdi
callq 0x10a0
testl %eax, %eax
je 0x18d1
cmpl $0x1, 0x1487d(%rip)     # 0x16140
jne 0x18d1
movq (%r13), %rsi
pushq $0xa
popq %rdi
callq 0x1110
xorl %edx, %edx
movq 0x1489e(%rip), %rax     # 0x16178
movslq (%rbx), %rcx
testq %rcx, %rcx
je 0x1a43
cmpb $0x0, (%rax,%rcx)
jne 0x18f2
movb $0x1, (%rax,%rcx)
incl %edx
addq $0x4, %rbx
jmp 0x18da
leaq 0xda07(%rip), %rsi      # 0xf306
pushq $0x1
popq %rdi
xorl %eax, %eax
callq 0x1d1e
leaq 0xd7d5(%rip), %r15      # 0xf0e5
pushq $0x18
popq %r14
leaq 0x1488d(%rip), %r12     # 0x161a8
movq 0x14846(%rip), %rdi     # 0x16168
callq 0x836e
testq %rax, %rax
je 0x1a64
movq %rax, %rbx
movl (%rbx), %edi
testl %edi, %edi
je 0x1944
callq 0x1df8
addq $0x4, %rbx
jmp 0x1933
movl 0x147f6(%rip), %eax     # 0x16140
cmpl $0x2, %eax
jl 0x1990
movl 0x14843(%rip), %esi     # 0x16198
leaq 0xd9da(%rip), %rdi      # 0xf336
xorl %eax, %eax
callq 0x10d0
xorl %ebx, %ebx
movslq 0x14814(%rip), %rax     # 0x16180
cmpq %rax, %rbx
jge 0x19b6
movq 0x14810(%rip), %rax     # 0x16188
movl (%rax,%rbx,4), %esi
subl 0x147af(%rip), %esi     # 0x16130
movq %r15, %rdi
xorl %eax, %eax
callq 0x10d0
incq %rbx
jmp 0x1965
testl %eax, %eax
je 0x19cb
pushq $0x1
popq %rdi
callq 0x10a0
testl %eax, %eax
je 0x19cb
movl 0x147f2(%rip), %esi     # 0x16198
leaq 0xd99e(%rip), %rdi      # 0xf34b
xorl %eax, %eax
callq 0x10d0
jmp 0x19c2
movq (%r13), %rsi
pushq $0xa
popq %rdi
callq 0x1110
movq (%r13), %rdi
callq 0x1160
movq %r14, %rdi
callq 0x1150
movq %rax, %rbx
movl 0x147bc(%rip), %eax     # 0x16198
incl %eax
movl %eax, 0x147b4(%rip)     # 0x16198
movl %eax, (%rbx)
andq $0x0, 0x10(%rbx)
xorl %edi, %edi
callq 0x1df8
movslq 0x14787(%rip), %rbp     # 0x16180
shlq $0x2, %rbp
movq %rbp, %rdi
callq 0x1150
movq %rax, 0x8(%rbx)
movq 0x14778(%rip), %rsi     # 0x16188
movq %rax, %rdi
movq %rbp, %rdx
callq 0x1140
movq 0x1477e(%rip), %rax     # 0x161a0
leaq 0x10(%rax), %rcx
testq %rax, %rax
cmoveq %r12, %rcx
movq %rbx, (%rcx)
movq %rbx, 0x14769(%rip)     # 0x161a0
andl $0x0, 0x14742(%rip)     # 0x16180
jmp 0x191b
cmpl 0x14(%rsp), %edx
jne 0x1cff
movl 0x10(%rsp), %ecx
leaq 0xd851(%rip), %rsi      # 0xf2a9
pushq $0x1
popq %rdi
xorl %eax, %eax
callq 0x1d1e
jmp 0x1a9c
cmpl $0x0, 0x146d5(%rip)     # 0x16140
je 0x1a85
pushq $0x1
popq %rdi
callq 0x10a0
testl %eax, %eax
je 0x1a85
movq (%r13), %rsi
pushq $0xd
popq %rdi
callq 0x1110
movl 0x1470d(%rip), %edx     # 0x16198
leaq 0xd8cd(%rip), %rsi      # 0xf35f
pushq $0x1
popq %rdi
xorl %eax, %eax
callq 0x1d1e
cmpl $0x0, 0x1469d(%rip)     # 0x16140
je 0x1ab1
movq 0x146bc(%rip), %rdi     # 0x16168
callq 0x8796
movq 0x146b0(%rip), %rdi     # 0x16168
callq 0x4b6c
cmpb $0x0, 0x14684(%rip)     # 0x16148
jne 0x1b8e
cmpb $0x0, 0x14673(%rip)     # 0x16144
je 0x1b29
pushq $0x76
popq %rdi
callq 0x1050
movslq 0x1468e(%rip), %r14     # 0x16170
movl 0x1468c(%rip), %eax     # 0x16174
leaq 0xd5f6(%rip), %rbx      # 0xf0e5
movslq %eax, %rcx
cmpq %rcx, %r14
jg 0x1b82
movq 0x14676(%rip), %rcx     # 0x16178
cmpb $0x0, (%rcx,%r14)
je 0x1b24
movl 0x14621(%rip), %eax     # 0x16130
movl %r14d, %esi
subl %eax, %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x10d0
movl 0x14650(%rip), %eax     # 0x16174
incq %r14
jmp 0x1aef
leaq 0x14678(%rip), %r12     # 0x161a8
pushq $0x76
popq %rbx
leaq 0xeb13(%rip), %r14      # 0x1064d
leaq 0xd5a4(%rip), %r15      # 0xf0e5
movq (%r12), %r12
testq %r12, %r12
je 0x1b8e
movl %ebx, %edi
callq 0x1050
movq 0x8(%r12), %r13
movl (%r13), %esi
testl %esi, %esi
je 0x1b74
subl 0x145cc(%rip), %esi     # 0x16130
movq %r15, %rdi
xorl %eax, %eax
callq 0x10d0
addq $0x4, %r13
jmp 0x1b56
movq %r14, %rdi
callq 0x1090
addq $0x10, %r12
jmp 0x1b41
leaq 0xeac4(%rip), %rdi      # 0x1064d
callq 0x1090
movq 0x145a3(%rip), %rbx     # 0x16138
testq %rbx, %rbx
je 0x1bb4
movq 0x8(%rbx), %rdi
movq 0x10(%rbx), %r14
callq 0x1040
movq %rbx, %rdi
callq 0x1040
movq %r14, %rbx
jmp 0x1b95
movq 0x145ed(%rip), %rbx     # 0x161a8
testq %rbx, %rbx
je 0x1bda
movq 0x8(%rbx), %rdi
movq 0x10(%rbx), %r14
callq 0x1040
movq %rbx, %rdi
callq 0x1040
movq %r14, %rbx
jmp 0x1bbb
movq 0x14597(%rip), %rdi     # 0x16178
callq 0x1040
movq 0x1459b(%rip), %rdi     # 0x16188
callq 0x1040
movl 0xc(%rsp), %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xd592(%rip), %r8       # 0xf19e
jmp 0x14b3
leaq 0xd5a6(%rip), %r8       # 0xf1be
jmp 0x14b3
leaq 0xd4aa(%rip), %r8       # 0xf0ce
jmp 0x14b3
leaq 0xd51d(%rip), %r8       # 0xf14d
jmp 0x14b3
leaq 0xd52a(%rip), %r8       # 0xf166
jmp 0x14b3
leaq 0xd540(%rip), %r8       # 0xf188
jmp 0x14b3
leaq 0xd57b(%rip), %rdi      # 0xf1cf
leaq 0xd4c0(%rip), %rsi      # 0xf11b
leaq 0xd4c3(%rip), %rcx      # 0xf125
movl $0x9d, %edx
callq 0x10e0
movq 0x14385(%rip), %rax     # 0x15ff8
movq (%rax), %rdi
leaq 0xd394(%rip), %rsi      # 0xf011
jmp 0x1cb5
movq 0x14372(%rip), %rax     # 0x15ff8
movq (%rax), %rcx
leaq 0xd3a3(%rip), %rdi      # 0xf033
pushq $0x27
popq %rsi
pushq $0x1
popq %rdx
callq 0x11f0
jmp 0x14d8
movq 0x14351(%rip), %rax     # 0x15ff8
movq (%rax), %rdi
movq (%rbx,%r15,8), %rdx
leaq 0xd3a6(%rip), %rsi      # 0xf05b
xorl %eax, %eax
callq 0x1130
jmp 0x14d8
leaq 0xd6d6(%rip), %rdi      # 0xf39e
callq 0x1090
xorl %edi, %edi
callq 0x11e0
leaq 0xd429(%rip), %rdi      # 0xf104
leaq 0xd439(%rip), %rsi      # 0xf11b
leaq 0xd43c(%rip), %rcx      # 0xf125
movl $0x8a, %edx
callq 0x10e0
leaq 0xd443(%rip), %r8       # 0xf13d
jmp 0x14b3
leaq 0xd580(%rip), %rdi      # 0xf286
leaq 0xd40e(%rip), %rsi      # 0xf11b
leaq 0xd584(%rip), %rcx      # 0xf298
movl $0xfd, %edx
callq 0x10e0