// File: /workspace/github_c_makefile_star2_O0/yangtau[P]hedgehog/src/yy.hedgehog.c
// Function: yy_lac_stack_realloc
static int
yy_lac_stack_realloc (YYPTRDIFF_T *yycapacity, YYPTRDIFF_T yyadd,
#if HG_YYDEBUG
                      char const *yydebug_prefix,
                      char const *yydebug_suffix,
#endif
                      yy_state_t **yybottom,
                      yy_state_t *yybottom_no_free,
                      yy_state_t **yytop, yy_state_t *yytop_empty)
{
  YYPTRDIFF_T yysize_old =
    *yytop == yytop_empty ? 0 : *yytop - *yybottom + 1;
  YYPTRDIFF_T yysize_new = yysize_old + yyadd;
  if (*yycapacity < yysize_new)
    {
      YYPTRDIFF_T yyalloc = 2 * yysize_new;
      yy_state_t *yybottom_new;
      /* Use YYMAXDEPTH for maximum stack size given that the stack
         should never need to grow larger than the main state stack
         needs to grow without LAC.  */
      if (YYMAXDEPTH < yysize_new)
        {
          YYDPRINTF ((stderr, "%smax size exceeded%s", yydebug_prefix,
                      yydebug_suffix));
          return YYENOMEM;
        }
      if (YYMAXDEPTH < yyalloc)
        yyalloc = YYMAXDEPTH;
      yybottom_new =
        YY_CAST (yy_state_t *,
                 YYSTACK_ALLOC (YY_CAST (YYSIZE_T,
                                         yyalloc * YYSIZEOF (*yybottom_new))));
      if (!yybottom_new)
        {
          YYDPRINTF ((stderr, "%srealloc failed%s", yydebug_prefix,
                      yydebug_suffix));
          return YYENOMEM;
        }
      if (*yytop != yytop_empty)
        {
          YYCOPY (yybottom_new, *yybottom, yysize_old);
          *yytop = yybottom_new + (yysize_old - 1);
        }
      if (*yybottom != yybottom_no_free)
        YYSTACK_FREE (*yybottom);
      *yybottom = yybottom_new;
      *yycapacity = yyalloc;
    }
  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
cmpq -0x38(%rbp), %rax
jne 0xade5
xorl %eax, %eax
movq %rax, -0x60(%rbp)
jmp 0xadfe
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq -0x20(%rbp), %rcx
movq (%rcx), %rcx
subq %rcx, %rax
addq $0x1, %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
addq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpq -0x48(%rbp), %rax
jge 0xaee3
movq -0x48(%rbp), %rax
shlq %rax
movq %rax, -0x50(%rbp)
movl $0x2710, %eax           # imm = 0x2710
cmpq -0x48(%rbp), %rax
jge 0xae45
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0xaeea
movl $0x2710, %eax           # imm = 0x2710
cmpq -0x50(%rbp), %rax
jge 0xae58
movq $0x2710, -0x50(%rbp)    # imm = 0x2710
movq -0x50(%rbp), %rdi
shlq $0x0, %rdi
callq 0x2160
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jne 0xae79
movl $0xfffffffe, -0x4(%rbp) # imm = 0xFFFFFFFE
jmp 0xaeea
movq -0x30(%rbp), %rax
movq (%rax), %rax
cmpq -0x38(%rbp), %rax
je 0xaeb4
movq -0x58(%rbp), %rdi
movq -0x20(%rbp), %rax
movq (%rax), %rsi
movq -0x40(%rbp), %rdx
shlq $0x0, %rdx
callq 0x2140
movq -0x58(%rbp), %rcx
movq -0x40(%rbp), %rax
subq $0x1, %rax
addq %rax, %rcx
movq -0x30(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movq (%rax), %rax
cmpq -0x28(%rbp), %rax
je 0xaecd
movq -0x20(%rbp), %rax
movq (%rax), %rdi
callq 0x2030
movq -0x58(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x50(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)