// File: SMT-COMP[P]scrambler/parser.cpp
// Function: yydestruct(char const*, yysymbol_kind_t, YYSTYPE*, YYLTYPE*)
static void
yydestruct (const char *yymsg,
            yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp)
{
  YY_USE (yyvaluep);
  YY_USE (yylocationp);
  if (!yymsg)
    yymsg = "Deleting";
  YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);

  YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
  switch (yykind)
    {
    case YYSYMBOL_NUMERAL: /* NUMERAL  */
#line 157 "parser.y"
            { free(((*yyvaluep).string)); }
#line 1205 "parser.cpp"
        break;

    case YYSYMBOL_DECIMAL: /* DECIMAL  */
#line 157 "parser.y"
            { free(((*yyvaluep).string)); }
#line 1211 "parser.cpp"
        break;

    case YYSYMBOL_HEXADECIMAL: /* HEXADECIMAL  */
#line 157 "parser.y"
            { free(((*yyvaluep).string)); }
#line 1217 "parser.cpp"
        break;

    case YYSYMBOL_BINARY: /* BINARY  */
#line 157 "parser.y"
            { free(((*yyvaluep).string)); }
#line 1223 "parser.cpp"
        break;

    case YYSYMBOL_SYMBOL: /* SYMBOL  */
#line 157 "parser.y"
            { free(((*yyvaluep).string)); }
#line 1229 "parser.cpp"
        break;

    case YYSYMBOL_KEYWORD: /* KEYWORD  */
#line 157 "parser.y"
            { free(((*yyvaluep).string)); }
#line 1235 "parser.cpp"
        break;

    case YYSYMBOL_STRING: /* STRING  */
#line 157 "parser.y"
            { free(((*yyvaluep).string)); }
#line 1241 "parser.cpp"
        break;

    case YYSYMBOL_sort_dec_list: /* sort_dec_list  */
#line 159 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1247 "parser.cpp"
        break;

    case YYSYMBOL_sort_dec: /* sort_dec  */
#line 160 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1253 "parser.cpp"
        break;

    case YYSYMBOL_datatype_dec_list: /* datatype_dec_list  */
#line 161 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1259 "parser.cpp"
        break;

    case YYSYMBOL_datatype_dec: /* datatype_dec  */
#line 162 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1265 "parser.cpp"
        break;

    case YYSYMBOL_constructor_dec_list: /* constructor_dec_list  */
#line 163 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1271 "parser.cpp"
        break;

    case YYSYMBOL_constructor_dec: /* constructor_dec  */
#line 164 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1277 "parser.cpp"
        break;

    case YYSYMBOL_selector_dec_list: /* selector_dec_list  */
#line 165 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1283 "parser.cpp"
        break;

    case YYSYMBOL_selector_dec: /* selector_dec  */
#line 166 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1289 "parser.cpp"
        break;

    case YYSYMBOL_a_term: /* a_term  */
#line 173 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1295 "parser.cpp"
        break;

    case YYSYMBOL_qual_identifier: /* qual_identifier  */
#line 174 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1301 "parser.cpp"
        break;

    case YYSYMBOL_term_list: /* term_list  */
#line 175 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1307 "parser.cpp"
        break;

    case YYSYMBOL_parallel_var_bindings: /* parallel_var_bindings  */
#line 176 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1313 "parser.cpp"
        break;

    case YYSYMBOL_var_bindings: /* var_bindings  */
#line 177 "parser.y"
            { delete ((*yyvaluep).bindinglist); }
#line 1319 "parser.cpp"
        break;

    case YYSYMBOL_var_binding: /* var_binding  */
#line 178 "parser.y"
            { delete ((*yyvaluep).binding); }
#line 1325 "parser.cpp"
        break;

    case YYSYMBOL_sorted_var_list: /* sorted_var_list  */
#line 179 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1331 "parser.cpp"
        break;

    case YYSYMBOL_sorted_var: /* sorted_var  */
#line 180 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1337 "parser.cpp"
        break;

    case YYSYMBOL_match_case_list: /* match_case_list  */
#line 181 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1343 "parser.cpp"
        break;

    case YYSYMBOL_match_case: /* match_case  */
#line 182 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1349 "parser.cpp"
        break;

    case YYSYMBOL_pattern: /* pattern  */
#line 183 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1355 "parser.cpp"
        break;

    case YYSYMBOL_symbol_list: /* symbol_list  */
#line 184 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1361 "parser.cpp"
        break;

    case YYSYMBOL_a_sort: /* a_sort  */
#line 185 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1367 "parser.cpp"
        break;

    case YYSYMBOL_sort_list: /* sort_list  */
#line 186 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1373 "parser.cpp"
        break;

    case YYSYMBOL_attribute_value: /* attribute_value  */
#line 187 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1379 "parser.cpp"
        break;

    case YYSYMBOL_attribute_list: /* attribute_list  */
#line 188 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1385 "parser.cpp"
        break;

    case YYSYMBOL_attribute: /* attribute  */
#line 189 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1391 "parser.cpp"
        break;

    case YYSYMBOL_index: /* index  */
#line 170 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1397 "parser.cpp"
        break;

    case YYSYMBOL_index_list: /* index_list  */
#line 171 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1403 "parser.cpp"
        break;

    case YYSYMBOL_identifier: /* identifier  */
#line 172 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1409 "parser.cpp"
        break;

    case YYSYMBOL_spec_constant: /* spec_constant  */
#line 167 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1415 "parser.cpp"
        break;

    case YYSYMBOL_generic_sexpr: /* generic_sexpr  */
#line 168 "parser.y"
            { delete ((*yyvaluep).curnode); }
#line 1421 "parser.cpp"
        break;

    case YYSYMBOL_generic_sexpr_list: /* generic_sexpr_list  */
#line 169 "parser.y"
            { delete ((*yyvaluep).nodelist); }
#line 1427 "parser.cpp"
        break;

      default:
        break;
    }
  YY_IGNORE_MAYBE_UNINITIALIZED_END
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x141bc
leaq 0x7315(%rip), %rax      # 0x1b4cd
movq %rax, -0x8(%rbp)
jmp 0x141be
cmpl $0x0, 0x121b7(%rip)     # 0x2637c
je 0x14215
movq 0x11df2(%rip), %rax     # 0x25fc0
movq (%rax), %rdi
movq -0x8(%rbp), %rdx
leaq 0x6989(%rip), %rsi      # 0x1ab65
movb $0x0, %al
callq 0x3370
movq 0x11dd6(%rip), %rax     # 0x25fc0
movq (%rax), %rdi
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x13f60
movq 0x11dbc(%rip), %rax     # 0x25fc0
movq (%rax), %rdi
leaq 0x574f(%rip), %rsi      # 0x1995d
movb $0x0, %al
callq 0x3370
jmp 0x14217
movl -0xc(%rbp), %eax
addl $-0x3, %eax
movl %eax, %ecx
movq %rcx, -0x28(%rbp)
subl $0x5f, %eax
ja 0x1482e
movq -0x28(%rbp), %rax
leaq 0x5b7d(%rip), %rcx      # 0x19db4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x32e0
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x32e0
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x32e0
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x32e0
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x32e0
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x32e0
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x32e0
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x142da
movq -0x30(%rbp), %rdi
callq 0x72b0
movq -0x30(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, %rax
je 0x14302
movq -0x38(%rbp), %rdi
callq 0x7470
movq -0x38(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, %rax
je 0x1432a
movq -0x40(%rbp), %rdi
callq 0x72b0
movq -0x40(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, %rax
je 0x14352
movq -0x48(%rbp), %rdi
callq 0x7470
movq -0x48(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
cmpq $0x0, %rax
je 0x1437a
movq -0x50(%rbp), %rdi
callq 0x72b0
movq -0x50(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, %rax
je 0x143a2
movq -0x58(%rbp), %rdi
callq 0x7470
movq -0x58(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x60(%rbp)
cmpq $0x0, %rax
je 0x143ca
movq -0x60(%rbp), %rdi
callq 0x72b0
movq -0x60(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x68(%rbp)
cmpq $0x0, %rax
je 0x143f2
movq -0x68(%rbp), %rdi
callq 0x7470
movq -0x68(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, %rax
je 0x1441a
movq -0x70(%rbp), %rdi
callq 0x7470
movq -0x70(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x78(%rbp)
cmpq $0x0, %rax
je 0x14442
movq -0x78(%rbp), %rdi
callq 0x7470
movq -0x78(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, %rax
je 0x1446a
movq -0x80(%rbp), %rdi
callq 0x72b0
movq -0x80(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x88(%rbp)
cmpq $0x0, %rax
je 0x1449b
movq -0x88(%rbp), %rdi
callq 0x72b0
movq -0x88(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x90(%rbp)
cmpq $0x0, %rax
je 0x144cc
movq -0x90(%rbp), %rdi
callq 0x14b30
movq -0x90(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x98(%rbp)
cmpq $0x0, %rax
je 0x144f1
movq -0x98(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xa0(%rbp)
cmpq $0x0, %rax
je 0x14522
movq -0xa0(%rbp), %rdi
callq 0x72b0
movq -0xa0(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xa8(%rbp)
cmpq $0x0, %rax
je 0x14553
movq -0xa8(%rbp), %rdi
callq 0x7470
movq -0xa8(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb0(%rbp)
cmpq $0x0, %rax
je 0x14584
movq -0xb0(%rbp), %rdi
callq 0x72b0
movq -0xb0(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xb8(%rbp)
cmpq $0x0, %rax
je 0x145b5
movq -0xb8(%rbp), %rdi
callq 0x7470
movq -0xb8(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc0(%rbp)
cmpq $0x0, %rax
je 0x145e6
movq -0xc0(%rbp), %rdi
callq 0x7470
movq -0xc0(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xc8(%rbp)
cmpq $0x0, %rax
je 0x14617
movq -0xc8(%rbp), %rdi
callq 0x72b0
movq -0xc8(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd0(%rbp)
cmpq $0x0, %rax
je 0x14648
movq -0xd0(%rbp), %rdi
callq 0x7470
movq -0xd0(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd8(%rbp)
cmpq $0x0, %rax
je 0x14679
movq -0xd8(%rbp), %rdi
callq 0x72b0
movq -0xd8(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe0(%rbp)
cmpq $0x0, %rax
je 0x146aa
movq -0xe0(%rbp), %rdi
callq 0x7470
movq -0xe0(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe8(%rbp)
cmpq $0x0, %rax
je 0x146db
movq -0xe8(%rbp), %rdi
callq 0x72b0
movq -0xe8(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xf0(%rbp)
cmpq $0x0, %rax
je 0x1470c
movq -0xf0(%rbp), %rdi
callq 0x7470
movq -0xf0(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xf8(%rbp)
cmpq $0x0, %rax
je 0x1473d
movq -0xf8(%rbp), %rdi
callq 0x7470
movq -0xf8(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x100(%rbp)
cmpq $0x0, %rax
je 0x1476e
movq -0x100(%rbp), %rdi
callq 0x72b0
movq -0x100(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x108(%rbp)
cmpq $0x0, %rax
je 0x1479f
movq -0x108(%rbp), %rdi
callq 0x7470
movq -0x108(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x110(%rbp)
cmpq $0x0, %rax
je 0x147d0
movq -0x110(%rbp), %rdi
callq 0x7470
movq -0x110(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x118(%rbp)
cmpq $0x0, %rax
je 0x147fe
movq -0x118(%rbp), %rdi
callq 0x7470
movq -0x118(%rbp), %rdi
callq 0x3240
jmp 0x14830
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x120(%rbp)
cmpq $0x0, %rax
je 0x1482c
movq -0x120(%rbp), %rdi
callq 0x72b0
movq -0x120(%rbp), %rdi
callq 0x3240
jmp 0x14830
jmp 0x14830
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
nopl (%rax)