// File: /workspace/github_c_makefile_star2_O0/reactive-systems[P]aiger-ltl-model-checker/aiger.c
// Function: aiger_reset
void
aiger_reset (aiger * public)
{
  unsigned i;

  IMPORT_private_FROM (public);

  aiger_delete_symbols (private, public->inputs, private->size_inputs);
  aiger_delete_symbols (private, public->latches, private->size_latches);
  aiger_delete_symbols (private, public->outputs, private->size_outputs);
  aiger_delete_symbols (private, public->bad, private->size_bad);
  aiger_delete_symbols (private, public->constraints,
                        private->size_constraints);
  for (i = 0; i < public->num_justice; i++)
    DELETEN (public->justice[i].lits, public->justice[i].size);
  aiger_delete_symbols (private, public->justice, private->size_justice);
  aiger_delete_symbols (private, public->fairness, private->size_fairness);
  DELETEN (public->ands, private->size_ands);

  aiger_delete_comments (public);
  DELETEN (public->comments, private->size_comments);

  DELETEN (private->coi, private->size_coi);

  DELETEN (private->types, private->size_types);
  aiger_delete_str (private, private->error);
  DELETE (private);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rsi
movq -0x18(%rbp), %rax
movl 0x8c(%rax), %edx
callq 0x2610
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rsi
movq -0x18(%rbp), %rax
movl 0x90(%rax), %edx
callq 0x2610
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x18(%rbp), %rax
movl 0x94(%rax), %edx
callq 0x2610
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rsi
movq -0x18(%rbp), %rax
movl 0x9c(%rax), %edx
callq 0x2610
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x48(%rax), %rsi
movq -0x18(%rbp), %rax
movl 0xa0(%rax), %edx
callq 0x2610
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1c(%rcx), %eax
jae 0x2469
jmp 0x23f0
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movl -0xc(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movl 0xc(%rax), %eax
shlq $0x2, %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x8(%rbp), %rcx
movq 0x50(%rcx), %rcx
movl -0xc(%rbp), %edx
shlq $0x5, %rdx
addq %rdx, %rcx
movq 0x10(%rcx), %rsi
movq -0x20(%rbp), %rdx
callq *%rax
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rax
movl -0xc(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq $0x0, 0x10(%rax)
jmp 0x245b
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x23e2
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x50(%rax), %rsi
movq -0x18(%rbp), %rax
movl 0xa4(%rax), %edx
callq 0x2610
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rsi
movq -0x18(%rbp), %rax
movl 0xa8(%rax), %edx
callq 0x2610
movq -0x18(%rbp), %rax
movl 0x98(%rax), %eax
imulq $0xc, %rax, %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x8(%rbp), %rcx
movq 0x60(%rcx), %rsi
movq -0x28(%rbp), %rdx
callq *%rax
movq -0x8(%rbp), %rax
movq $0x0, 0x60(%rax)
movq -0x8(%rbp), %rdi
callq 0x2670
movq -0x18(%rbp), %rax
movl 0xb0(%rax), %eax
shlq $0x3, %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x8(%rbp), %rcx
movq 0x68(%rcx), %rsi
movq -0x30(%rbp), %rdx
callq *%rax
movq -0x8(%rbp), %rax
movq $0x0, 0x68(%rax)
jmp 0x252e
movq -0x18(%rbp), %rax
movl 0x88(%rax), %eax
shlq $0x0, %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x18(%rbp), %rcx
movq 0x80(%rcx), %rsi
movq -0x38(%rbp), %rdx
callq *%rax
movq -0x18(%rbp), %rax
movq $0x0, 0x80(%rax)
jmp 0x2578
movq -0x18(%rbp), %rax
movl 0x78(%rax), %eax
shlq $0x3, %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x18(%rbp), %rcx
movq 0x70(%rcx), %rsi
movq -0x40(%rbp), %rdx
callq *%rax
movq -0x18(%rbp), %rax
movq $0x0, 0x70(%rax)
movq -0x18(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0xd0(%rax), %rsi
callq 0x2710
movq $0xd8, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq 0xc8(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0xb8(%rcx), %rdi
movq -0x18(%rbp), %rsi
movq -0x48(%rbp), %rdx
callq *%rax
movq $0x0, -0x18(%rbp)
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)