#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int atoi(char *);
int debug_command_code(char *);
int /*<<< orphan*/ debug_deactivate();
int /*<<< orphan*/ debug_display_all_registers();
int /*<<< orphan*/ debug_display_bt();
int /*<<< orphan*/ debug_display_dfl();
int /*<<< orphan*/ debug_display_dmt();
int /*<<< orphan*/ debug_display_dst();
int /*<<< orphan*/ debug_display_fst();
int /*<<< orphan*/ debug_display_ft();
int /*<<< orphan*/ debug_display_help();
int /*<<< orphan*/ debug_display_inodetable();
int /*<<< orphan*/ debug_display_list();
int /*<<< orphan*/ debug_display_location(int);
int /*<<< orphan*/ debug_display_mem_range(int, int);
int /*<<< orphan*/ debug_display_memlist();
int /*<<< orphan*/ debug_display_page(int);
int /*<<< orphan*/ debug_display_pcb();
int /*<<< orphan*/ debug_display_pcb_pid(int);
int /*<<< orphan*/ debug_display_pt_pid(int);
int /*<<< orphan*/ debug_display_pt_ptbr();
int /*<<< orphan*/ debug_display_range_reg(char *, char *);
int /*<<< orphan*/ debug_display_register(char *);
int /*<<< orphan*/ debug_display_rf();
int /*<<< orphan*/ debug_display_rt();
int /*<<< orphan*/ debug_display_sst();
int /*<<< orphan*/ debug_display_st();
int /*<<< orphan*/ debug_display_tst();
int /*<<< orphan*/ debug_display_usertable();
int /*<<< orphan*/ debug_display_val(char *);
int /*<<< orphan*/ debug_dmt_pid(int);
int /*<<< orphan*/ debug_invalid_cmd(char *);
int /*<<< orphan*/ debug_rt_pid(int);
int /*<<< orphan*/ debug_skip_n(int, int);
int /*<<< orphan*/ debug_watch_add(int);
int /*<<< orphan*/ debug_watch_clear();
int /*<<< orphan*/ printf(char *, ...);
char *strtok(char *, char const *);
int debug_command(char *command) {
  int code;
  char *arg1, *cmd, *arg2;
  const char *delim = " \t";
  cmd = strtok(command, delim);
  code = debug_command_code(cmd);
  switch (code) {
  case 0:
    arg1 = strtok(NULL, delim);
    if (arg1)
      debug_skip_n(atoi(arg1), 0);
    return 1;
  case 1:
    arg1 = strtok(NULL, delim);
    if (arg1)
      debug_skip_n(atoi(arg1), 1);
    debug_deactivate();
    return 1;
  case 2:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_display_all_registers();
    else {
      arg2 = strtok(NULL, delim);
      if (!arg2)
        debug_display_register(arg1);
      else
        debug_display_range_reg(arg1, arg2);
    }
    break;
  case 3:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_invalid_cmd(command);
    else {
      arg2 = strtok(NULL, delim);
      if (!arg2)
        debug_display_mem_range(atoi(arg1), atoi(arg1));
      else
        debug_display_mem_range(atoi(arg1), atoi(arg2));
    }
    break;
  case 4:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_display_pcb();
    else
      debug_display_pcb_pid(atoi(arg1));
    break;
  case 5:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_display_pt_ptbr();
    else
      debug_display_pt_pid(atoi(arg1));
    break;
  case 8:
    debug_display_ft();
    break;
  case 9:
    debug_display_st();
    break;
  case 11:
    debug_display_fst();
    break;
  case 12:
    debug_display_dst();
    break;
  case 13:
    debug_display_sst();
    break;
  case 14:
    debug_display_tst();
    break;
  case 15:
    debug_display_bt();
    break;
  case 6:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_display_dmt();
    else
      debug_dmt_pid(atoi(arg1));
    break;
  case 19:
    debug_display_rf();
    break;
  case 7:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_display_rt();
    else
      debug_rt_pid(atoi(arg1));
    break;
  case 10:
    debug_display_memlist();
    break;
  case 18:
    debug_display_dfl();
    break;
  case 16:
    debug_display_inodetable();
    break;
  case 17:
    debug_display_usertable();
    break;
  case 20:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_invalid_cmd(command);
    else
      debug_display_location(atoi(arg1));
    break;
  case 21:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_invalid_cmd(command);
    else
      debug_display_val(arg1);
    break;
  case 22:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_invalid_cmd(command);
    else {
      debug_watch_add(atoi(arg1));
      printf("Watch point added at %d.\n", atoi(arg1));
    }
    break;
  case 23:
    debug_watch_clear();
    printf("Watch points cleared.\n");
    break;
  case 24:
    debug_display_list();
    break;
  case 25:
    arg1 = strtok(NULL, delim);
    if (!arg1)
      debug_invalid_cmd(command);
    else
      debug_display_page(atoi(arg1));
    break;
  case 27:
    debug_display_help();
    break;
  default:
    debug_invalid_cmd(command);
  }
  return 0;
}


x86 assembly (clang, -O0):
<debug_command>:
push   %rbp
mov    %rsp,%rbp
sub    $0x50,%rsp
mov    %rdi,-0x10(%rbp)
lea    0xcfd(%rip),%rax
mov    %rax,-0x38(%rbp)
mov    -0x10(%rbp),%rdi
mov    -0x38(%rbp),%rsi
call   1200 <strtok@plt>
mov    %rax,-0x28(%rbp)
mov    -0x28(%rbp),%rdi
call   1210 <debug_command_code@plt>
mov    %eax,-0x14(%rbp)
mov    -0x14(%rbp),%eax
mov    %rax,-0x40(%rbp)
sub    $0x1b,%rax
ja     17f7 <debug_command+0x497>
mov    -0x40(%rbp),%rax
lea    0xc50(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
je     13e7 <debug_command+0x87>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
xor    %esi,%esi
call   1220 <debug_skip_n@plt>
movl   $0x1,-0x4(%rbp)
jmp    1807 <debug_command+0x4a7>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
je     1424 <debug_command+0xc4>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
mov    $0x1,%esi
call   1220 <debug_skip_n@plt>
mov    $0x0,%al
call   1280 <debug_deactivate@plt>
movl   $0x1,-0x4(%rbp)
jmp    1807 <debug_command+0x4a7>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    145f <debug_command+0xff>
mov    $0x0,%al
call   1060 <debug_display_all_registers@plt>
jmp    149b <debug_command+0x13b>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x30(%rbp)
cmpq   $0x0,-0x30(%rbp)
jne    1489 <debug_command+0x129>
mov    -0x20(%rbp),%rdi
call   10c0 <debug_display_register@plt>
jmp    1496 <debug_command+0x136>
mov    -0x20(%rbp),%rdi
mov    -0x30(%rbp),%rsi
call   11a0 <debug_display_range_reg@plt>
jmp    149b <debug_command+0x13b>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    14ca <debug_command+0x16a>
mov    -0x10(%rbp),%rdi
call   1160 <debug_invalid_cmd@plt>
jmp    152e <debug_command+0x1ce>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x30(%rbp)
cmpq   $0x0,-0x30(%rbp)
jne    150a <debug_command+0x1aa>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,-0x44(%rbp)
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    -0x44(%rbp),%edi
mov    %eax,%esi
call   1250 <debug_display_mem_range@plt>
jmp    1529 <debug_command+0x1c9>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,-0x48(%rbp)
mov    -0x30(%rbp),%rdi
call   1230 <atoi@plt>
mov    -0x48(%rbp),%edi
mov    %eax,%esi
call   1250 <debug_display_mem_range@plt>
jmp    152e <debug_command+0x1ce>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    155b <debug_command+0x1fb>
mov    $0x0,%al
call   11b0 <debug_display_pcb@plt>
jmp    156b <debug_command+0x20b>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
call   1270 <debug_display_pcb_pid@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    1598 <debug_command+0x238>
mov    $0x0,%al
call   11d0 <debug_display_pt_ptbr@plt>
jmp    15a8 <debug_command+0x248>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
call   1240 <debug_display_pt_pid@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   11f0 <debug_display_ft@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   11e0 <debug_display_st@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1040 <debug_display_fst@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1190 <debug_display_dst@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1120 <debug_display_sst@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1180 <debug_display_tst@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1070 <debug_display_bt@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    1629 <debug_command+0x2c9>
mov    $0x0,%al
call   10f0 <debug_display_dmt@plt>
jmp    1639 <debug_command+0x2d9>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
call   1130 <debug_dmt_pid@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   10b0 <debug_display_rf@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    1672 <debug_command+0x312>
mov    $0x0,%al
call   10e0 <debug_display_rt@plt>
jmp    1682 <debug_command+0x322>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
call   1100 <debug_rt_pid@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1140 <debug_display_memlist@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1030 <debug_display_dfl@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   11c0 <debug_display_inodetable@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1170 <debug_display_usertable@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    16e1 <debug_command+0x381>
mov    -0x10(%rbp),%rdi
call   1160 <debug_invalid_cmd@plt>
jmp    16f1 <debug_command+0x391>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
call   1110 <debug_display_location@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    1720 <debug_command+0x3c0>
mov    -0x10(%rbp),%rdi
call   1160 <debug_invalid_cmd@plt>
jmp    1729 <debug_command+0x3c9>
mov    -0x20(%rbp),%rdi
call   1150 <debug_display_val@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    1758 <debug_command+0x3f8>
mov    -0x10(%rbp),%rdi
call   1160 <debug_invalid_cmd@plt>
jmp    1781 <debug_command+0x421>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
call   1080 <debug_watch_add@plt>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%esi
lea    0x8f9(%rip),%rdi
mov    $0x0,%al
call   10a0 <printf@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1050 <debug_watch_clear@plt>
lea    0x8f9(%rip),%rdi
mov    $0x0,%al
call   10a0 <printf@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   1260 <debug_display_list@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x38(%rbp),%rsi
xor    %eax,%eax
mov    %eax,%edi
call   1200 <strtok@plt>
mov    %rax,-0x20(%rbp)
cmpq   $0x0,-0x20(%rbp)
jne    17d6 <debug_command+0x476>
mov    -0x10(%rbp),%rdi
call   1160 <debug_invalid_cmd@plt>
jmp    17e6 <debug_command+0x486>
mov    -0x20(%rbp),%rdi
call   1230 <atoi@plt>
mov    %eax,%edi
call   1090 <debug_display_page@plt>
jmp    1800 <debug_command+0x4a0>
mov    $0x0,%al
call   10d0 <debug_display_help@plt>
jmp    1800 <debug_command+0x4a0>
mov    -0x10(%rbp),%rdi
call   1160 <debug_invalid_cmd@plt>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x50,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<debug_command>:
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
mov    %rdi,%rbx
lea    0xcef(%rip),%rsi
call   1210 <strtok@plt>
mov    %rax,%rdi
call   1220 <debug_command_code@plt>
cmp    $0x1b,%eax
ja     1716 <debug_command+0x3a6>
mov    %eax,%eax
lea    0xc60(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xcc0(%rip),%rsi
xor    %edi,%edi
call   1210 <strtok@plt>
mov    $0x1,%r14d
test   %rax,%rax
je     1778 <debug_command+0x408>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
xor    %esi,%esi
call   1230 <debug_skip_n@plt>
jmp    1778 <debug_command+0x408>
lea    0xc8d(%rip),%rsi
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     1403 <debug_command+0x93>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
mov    $0x1,%esi
call   1230 <debug_skip_n@plt>
xor    %eax,%eax
call   1290 <debug_deactivate@plt>
mov    $0x1,%r14d
jmp    1778 <debug_command+0x408>
lea    0xc54(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     172f <debug_command+0x3bf>
mov    %rax,%rbx
lea    0xc37(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
mov    %rbx,%rdi
test   %rax,%rax
je     1768 <debug_command+0x3f8>
mov    %rax,%rsi
call   11b0 <debug_display_range_reg@plt>
jmp    1778 <debug_command+0x408>
lea    0xc0d(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     170c <debug_command+0x39c>
mov    %rax,%r15
lea    0xbf0(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
mov    %rax,%rbx
mov    %r15,%rdi
call   1240 <atoi@plt>
mov    %eax,%ebp
test   %rbx,%rbx
je     176f <debug_command+0x3ff>
mov    %rbx,%rdi
call   1240 <atoi@plt>
mov    %ebp,%edi
mov    %eax,%esi
jmp    1773 <debug_command+0x403>
lea    0xbb8(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     1738 <debug_command+0x3c8>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
call   1280 <debug_display_pcb_pid@plt>
jmp    1778 <debug_command+0x408>
lea    0xb8a(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     1744 <debug_command+0x3d4>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
call   1250 <debug_display_pt_pid@plt>
jmp    1778 <debug_command+0x408>
lea    0xb5c(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     1750 <debug_command+0x3e0>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
call   1140 <debug_dmt_pid@plt>
jmp    1778 <debug_command+0x408>
lea    0xb2e(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     175c <debug_command+0x3ec>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
call   1110 <debug_rt_pid@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1200 <debug_display_ft@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   11f0 <debug_display_st@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1150 <debug_display_memlist@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1040 <debug_display_fst@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   11a0 <debug_display_dst@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1130 <debug_display_sst@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1190 <debug_display_tst@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1080 <debug_display_bt@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   11d0 <debug_display_inodetable@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1180 <debug_display_usertable@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1030 <debug_display_dfl@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   10c0 <debug_display_rf@plt>
jmp    1778 <debug_command+0x408>
lea    0xa4c(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     170c <debug_command+0x39c>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
call   1120 <debug_display_location@plt>
jmp    1778 <debug_command+0x408>
lea    0xa1e(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     170c <debug_command+0x39c>
mov    %rax,%rdi
call   1160 <debug_display_val@plt>
jmp    1778 <debug_command+0x408>
lea    0x9f7(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     170c <debug_command+0x39c>
mov    %rax,%r15
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
call   1090 <debug_watch_add@plt>
mov    %r15,%rdi
call   1240 <atoi@plt>
lea    0x9c6(%rip),%rdi
mov    %eax,%esi
xor    %eax,%eax
call   10b0 <printf@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1050 <debug_watch_clear@plt>
lea    0x9c1(%rip),%rdi
call   1060 <puts@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1270 <debug_display_list@plt>
jmp    1778 <debug_command+0x408>
lea    0x984(%rip),%rsi
xor    %r14d,%r14d
xor    %edi,%edi
call   1210 <strtok@plt>
test   %rax,%rax
je     170c <debug_command+0x39c>
mov    %rax,%rdi
call   1240 <atoi@plt>
mov    %eax,%edi
call   10a0 <debug_display_page@plt>
jmp    1778 <debug_command+0x408>
mov    %rbx,%rdi
call   1170 <debug_invalid_cmd@plt>
jmp    1778 <debug_command+0x408>
mov    %rbx,%rdi
call   1170 <debug_invalid_cmd@plt>
xor    %r14d,%r14d
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   10e0 <debug_display_help@plt>
jmp    1778 <debug_command+0x408>
xor    %eax,%eax
call   1070 <debug_display_all_registers@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   11c0 <debug_display_pcb@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   11e0 <debug_display_pt_ptbr@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   1100 <debug_display_dmt@plt>
jmp    1778 <debug_command+0x408>
xor    %r14d,%r14d
xor    %eax,%eax
call   10f0 <debug_display_rt@plt>
jmp    1778 <debug_command+0x408>
call   10d0 <debug_display_register@plt>
jmp    1778 <debug_command+0x408>
mov    %ebp,%edi
mov    %ebp,%esi
call   1260 <debug_display_mem_range@plt>
mov    %r14d,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [3 x i8] c" \09\00"
@.str.1 = [26 x i8] c"Watch point added at %d.\0A\00"
@.str.2 = [23 x i8] c"Watch points cleared.\0A\00"
define i32 @debug_command(i8* %0) {
%2 = alloca i32
%3 = alloca i8*
%4 = alloca i32
%5 = alloca i8*
%6 = alloca i8*
%7 = alloca i8*
%8 = alloca i8*
store i8* %0, i8** %3
store i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), i8** %8
%9 = load i8*, i8** %3
%10 = load i8*, i8** %8
%11 = call i8* @strtok(i8* %9, i8* %10)
store i8* %11, i8** %6
%12 = load i8*, i8** %6
%13 = call i32 @debug_command_code(i8* %12)
store i32 %13, i32* %4
%14 = load i32, i32* %4
switch i32 %14, label %217 [
i32 0, label %15
i32 1, label %25
i32 2, label %36
i32 3, label %57
i32 4, label %84
i32 5, label %96
i32 8, label %108
i32 9, label %110
i32 11, label %112
i32 12, label %114
i32 13, label %116
i32 14, label %118
i32 15, label %120
i32 6, label %122
i32 19, label %134
i32 7, label %136
i32 10, label %148
i32 18, label %150
i32 16, label %152
i32 17, label %154
i32 20, label %156
i32 21, label %169
i32 22, label %181
i32 23, label %197
i32 24, label %200
i32 25, label %202
i32 27, label %215
]
15: ; preds = %1
%16 = load i8*, i8** %8
%17 = call i8* @strtok(i8* null, i8* %16)
store i8* %17, i8** %5
%18 = load i8*, i8** %5
%19 = icmp ne i8* %18, null
br i1 %19, label %20, label %24
20: ; preds = %15
%21 = load i8*, i8** %5
%22 = call i32 @atoi(i8* %21)
%23 = call i32 @debug_skip_n(i32 %22, i32 0)
br label %24
24: ; preds = %20, %15
store i32 1, i32* %2
br label %221
25: ; preds = %1
%26 = load i8*, i8** %8
%27 = call i8* @strtok(i8* null, i8* %26)
store i8* %27, i8** %5
%28 = load i8*, i8** %5
%29 = icmp ne i8* %28, null
br i1 %29, label %30, label %34
30: ; preds = %25
%31 = load i8*, i8** %5
%32 = call i32 @atoi(i8* %31)
%33 = call i32 @debug_skip_n(i32 %32, i32 1)
br label %34
34: ; preds = %30, %25
%35 = call i32 (...) @debug_deactivate()
store i32 1, i32* %2
br label %221
36: ; preds = %1
%37 = load i8*, i8** %8
%38 = call i8* @strtok(i8* null, i8* %37)
store i8* %38, i8** %5
%39 = load i8*, i8** %5
%40 = icmp ne i8* %39, null
br i1 %40, label %43, label %41
41: ; preds = %36
%42 = call i32 (...) @debug_display_all_registers()
br label %56
43: ; preds = %36
%44 = load i8*, i8** %8
%45 = call i8* @strtok(i8* null, i8* %44)
store i8* %45, i8** %7
%46 = load i8*, i8** %7
%47 = icmp ne i8* %46, null
br i1 %47, label %51, label %48
48: ; preds = %43
%49 = load i8*, i8** %5
%50 = call i32 @debug_display_register(i8* %49)
br label %55
51: ; preds = %43
%52 = load i8*, i8** %5
%53 = load i8*, i8** %7
%54 = call i32 @debug_display_range_reg(i8* %52, i8* %53)
br label %55
55: ; preds = %51, %48
br label %56
56: ; preds = %55, %41
br label %220
57: ; preds = %1
%58 = load i8*, i8** %8
%59 = call i8* @strtok(i8* null, i8* %58)
store i8* %59, i8** %5
%60 = load i8*, i8** %5
%61 = icmp ne i8* %60, null
br i1 %61, label %65, label %62
62: ; preds = %57
%63 = load i8*, i8** %3
%64 = call i32 @debug_invalid_cmd(i8* %63)
br label %83
65: ; preds = %57
%66 = load i8*, i8** %8
%67 = call i8* @strtok(i8* null, i8* %66)
store i8* %67, i8** %7
%68 = load i8*, i8** %7
%69 = icmp ne i8* %68, null
br i1 %69, label %76, label %70
70: ; preds = %65
%71 = load i8*, i8** %5
%72 = call i32 @atoi(i8* %71)
%73 = load i8*, i8** %5
%74 = call i32 @atoi(i8* %73)
%75 = call i32 @debug_display_mem_range(i32 %72, i32 %74)
br label %82
76: ; preds = %65
%77 = load i8*, i8** %5
%78 = call i32 @atoi(i8* %77)
%79 = load i8*, i8** %7
%80 = call i32 @atoi(i8* %79)
%81 = call i32 @debug_display_mem_range(i32 %78, i32 %80)
br label %82
82: ; preds = %76, %70
br label %83
83: ; preds = %82, %62
br label %220
84: ; preds = %1
%85 = load i8*, i8** %8
%86 = call i8* @strtok(i8* null, i8* %85)
store i8* %86, i8** %5
%87 = load i8*, i8** %5
%88 = icmp ne i8* %87, null
br i1 %88, label %91, label %89
89: ; preds = %84
%90 = call i32 (...) @debug_display_pcb()
br label %95
91: ; preds = %84
%92 = load i8*, i8** %5
%93 = call i32 @atoi(i8* %92)
%94 = call i32 @debug_display_pcb_pid(i32 %93)
br label %95
95: ; preds = %91, %89
br label %220
96: ; preds = %1
%97 = load i8*, i8** %8
%98 = call i8* @strtok(i8* null, i8* %97)
store i8* %98, i8** %5
%99 = load i8*, i8** %5
%100 = icmp ne i8* %99, null
br i1 %100, label %103, label %101
101: ; preds = %96
%102 = call i32 (...) @debug_display_pt_ptbr()
br label %107
103: ; preds = %96
%104 = load i8*, i8** %5
%105 = call i32 @atoi(i8* %104)
%106 = call i32 @debug_display_pt_pid(i32 %105)
br label %107
107: ; preds = %103, %101
br label %220
108: ; preds = %1
%109 = call i32 (...) @debug_display_ft()
br label %220
110: ; preds = %1
%111 = call i32 (...) @debug_display_st()
br label %220
112: ; preds = %1
%113 = call i32 (...) @debug_display_fst()
br label %220
114: ; preds = %1
%115 = call i32 (...) @debug_display_dst()
br label %220
116: ; preds = %1
%117 = call i32 (...) @debug_display_sst()
br label %220
118: ; preds = %1
%119 = call i32 (...) @debug_display_tst()
br label %220
120: ; preds = %1
%121 = call i32 (...) @debug_display_bt()
br label %220
122: ; preds = %1
%123 = load i8*, i8** %8
%124 = call i8* @strtok(i8* null, i8* %123)
store i8* %124, i8** %5
%125 = load i8*, i8** %5
%126 = icmp ne i8* %125, null
br i1 %126, label %129, label %127
127: ; preds = %122
%128 = call i32 (...) @debug_display_dmt()
br label %133
129: ; preds = %122
%130 = load i8*, i8** %5
%131 = call i32 @atoi(i8* %130)
%132 = call i32 @debug_dmt_pid(i32 %131)
br label %133
133: ; preds = %129, %127
br label %220
134: ; preds = %1
%135 = call i32 (...) @debug_display_rf()
br label %220
136: ; preds = %1
%137 = load i8*, i8** %8
%138 = call i8* @strtok(i8* null, i8* %137)
store i8* %138, i8** %5
%139 = load i8*, i8** %5
%140 = icmp ne i8* %139, null
br i1 %140, label %143, label %141
141: ; preds = %136
%142 = call i32 (...) @debug_display_rt()
br label %147
143: ; preds = %136
%144 = load i8*, i8** %5
%145 = call i32 @atoi(i8* %144)
%146 = call i32 @debug_rt_pid(i32 %145)
br label %147
147: ; preds = %143, %141
br label %220
148: ; preds = %1
%149 = call i32 (...) @debug_display_memlist()
br label %220
150: ; preds = %1
%151 = call i32 (...) @debug_display_dfl()
br label %220
152: ; preds = %1
%153 = call i32 (...) @debug_display_inodetable()
br label %220
154: ; preds = %1
%155 = call i32 (...) @debug_display_usertable()
br label %220
156: ; preds = %1
%157 = load i8*, i8** %8
%158 = call i8* @strtok(i8* null, i8* %157)
store i8* %158, i8** %5
%159 = load i8*, i8** %5
%160 = icmp ne i8* %159, null
br i1 %160, label %164, label %161
161: ; preds = %156
%162 = load i8*, i8** %3
%163 = call i32 @debug_invalid_cmd(i8* %162)
br label %168
164: ; preds = %156
%165 = load i8*, i8** %5
%166 = call i32 @atoi(i8* %165)
%167 = call i32 @debug_display_location(i32 %166)
br label %168
168: ; preds = %164, %161
br label %220
169: ; preds = %1
%170 = load i8*, i8** %8
%171 = call i8* @strtok(i8* null, i8* %170)
store i8* %171, i8** %5
%172 = load i8*, i8** %5
%173 = icmp ne i8* %172, null
br i1 %173, label %177, label %174
174: ; preds = %169
%175 = load i8*, i8** %3
%176 = call i32 @debug_invalid_cmd(i8* %175)
br label %180
177: ; preds = %169
%178 = load i8*, i8** %5
%179 = call i32 @debug_display_val(i8* %178)
br label %180
180: ; preds = %177, %174
br label %220
181: ; preds = %1
%182 = load i8*, i8** %8
%183 = call i8* @strtok(i8* null, i8* %182)
store i8* %183, i8** %5
%184 = load i8*, i8** %5
%185 = icmp ne i8* %184, null
br i1 %185, label %189, label %186
186: ; preds = %181
%187 = load i8*, i8** %3
%188 = call i32 @debug_invalid_cmd(i8* %187)
br label %196
189: ; preds = %181
%190 = load i8*, i8** %5
%191 = call i32 @atoi(i8* %190)
%192 = call i32 @debug_watch_add(i32 %191)
%193 = load i8*, i8** %5
%194 = call i32 @atoi(i8* %193)
%195 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0), i32 %194)
br label %196
196: ; preds = %189, %186
br label %220
197: ; preds = %1
%198 = call i32 (...) @debug_watch_clear()
%199 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.2, i64 0, i64 0))
br label %220
200: ; preds = %1
%201 = call i32 (...) @debug_display_list()
br label %220
202: ; preds = %1
%203 = load i8*, i8** %8
%204 = call i8* @strtok(i8* null, i8* %203)
store i8* %204, i8** %5
%205 = load i8*, i8** %5
%206 = icmp ne i8* %205, null
br i1 %206, label %210, label %207
207: ; preds = %202
%208 = load i8*, i8** %3
%209 = call i32 @debug_invalid_cmd(i8* %208)
br label %214
210: ; preds = %202
%211 = load i8*, i8** %5
%212 = call i32 @atoi(i8* %211)
%213 = call i32 @debug_display_page(i32 %212)
br label %214
214: ; preds = %210, %207
br label %220
215: ; preds = %1
%216 = call i32 (...) @debug_display_help()
br label %220
217: ; preds = %1
%218 = load i8*, i8** %3
%219 = call i32 @debug_invalid_cmd(i8* %218)
br label %220
220: ; preds = %217, %215, %214, %200, %197, %196, %180, %168, %154, %152, %150, %148, %147, %134, %133, %120, %118, %116, %114, %112, %110, %108, %107, %95, %83, %56
store i32 0, i32* %2
br label %221
221: ; preds = %220, %34, %24
%222 = load i32, i32* %2
ret i32 %222
}

LLVM IR (-O2):
@.str = [3 x i8] c" \09\00"
@.str.1 = [26 x i8] c"Watch point added at %d.\0A\00"
@str = [22 x i8] c"Watch points cleared.\00"
define i32 @debug_command(i8* %0) {
%2 = tail call i8* @strtok(i8* %0, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%3 = tail call i32 @debug_command_code(i8* %2)
switch i32 %3, label %140 [
i32 0, label %4
i32 1, label %10
i32 2, label %18
i32 3, label %30
i32 4, label %44
i32 5, label %52
i32 8, label %60
i32 9, label %62
i32 11, label %64
i32 12, label %66
i32 13, label %68
i32 14, label %70
i32 15, label %72
i32 6, label %74
i32 19, label %82
i32 7, label %84
i32 10, label %92
i32 18, label %94
i32 16, label %96
i32 17, label %98
i32 20, label %100
i32 21, label %108
i32 22, label %115
i32 23, label %125
i32 24, label %128
i32 25, label %130
i32 27, label %138
]
4: ; preds = %1
%5 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%6 = icmp eq i8* %5, null
br i1 %6, label %142, label %7
7: ; preds = %4
%8 = tail call i32 @atoi(i8* %5)
%9 = tail call i32 @debug_skip_n(i32 %8, i32 0)
br label %142
10: ; preds = %1
%11 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%12 = icmp eq i8* %11, null
br i1 %12, label %16, label %13
13: ; preds = %10
%14 = tail call i32 @atoi(i8* %11)
%15 = tail call i32 @debug_skip_n(i32 %14, i32 1)
br label %16
16: ; preds = %13, %10
%17 = tail call i32 (...) @debug_deactivate()
br label %142
18: ; preds = %1
%19 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%20 = icmp eq i8* %19, null
br i1 %20, label %21, label %23
21: ; preds = %18
%22 = tail call i32 (...) @debug_display_all_registers()
br label %142
23: ; preds = %18
%24 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%25 = icmp eq i8* %24, null
br i1 %25, label %26, label %28
26: ; preds = %23
%27 = tail call i32 @debug_display_register(i8* %19)
br label %142
28: ; preds = %23
%29 = tail call i32 @debug_display_range_reg(i8* %19, i8* %24)
br label %142
30: ; preds = %1
%31 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%32 = icmp eq i8* %31, null
br i1 %32, label %33, label %35
33: ; preds = %30
%34 = tail call i32 @debug_invalid_cmd(i8* %0)
br label %142
35: ; preds = %30
%36 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%37 = icmp eq i8* %36, null
%38 = tail call i32 @atoi(i8* %31)
br i1 %37, label %39, label %41
39: ; preds = %35
%40 = tail call i32 @debug_display_mem_range(i32 %38, i32 %38)
br label %142
41: ; preds = %35
%42 = tail call i32 @atoi(i8* %36)
%43 = tail call i32 @debug_display_mem_range(i32 %38, i32 %42)
br label %142
44: ; preds = %1
%45 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%46 = icmp eq i8* %45, null
br i1 %46, label %47, label %49
47: ; preds = %44
%48 = tail call i32 (...) @debug_display_pcb()
br label %142
49: ; preds = %44
%50 = tail call i32 @atoi(i8* %45)
%51 = tail call i32 @debug_display_pcb_pid(i32 %50)
br label %142
52: ; preds = %1
%53 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%54 = icmp eq i8* %53, null
br i1 %54, label %55, label %57
55: ; preds = %52
%56 = tail call i32 (...) @debug_display_pt_ptbr()
br label %142
57: ; preds = %52
%58 = tail call i32 @atoi(i8* %53)
%59 = tail call i32 @debug_display_pt_pid(i32 %58)
br label %142
60: ; preds = %1
%61 = tail call i32 (...) @debug_display_ft()
br label %142
62: ; preds = %1
%63 = tail call i32 (...) @debug_display_st()
br label %142
64: ; preds = %1
%65 = tail call i32 (...) @debug_display_fst()
br label %142
66: ; preds = %1
%67 = tail call i32 (...) @debug_display_dst()
br label %142
68: ; preds = %1
%69 = tail call i32 (...) @debug_display_sst()
br label %142
70: ; preds = %1
%71 = tail call i32 (...) @debug_display_tst()
br label %142
72: ; preds = %1
%73 = tail call i32 (...) @debug_display_bt()
br label %142
74: ; preds = %1
%75 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%76 = icmp eq i8* %75, null
br i1 %76, label %77, label %79
77: ; preds = %74
%78 = tail call i32 (...) @debug_display_dmt()
br label %142
79: ; preds = %74
%80 = tail call i32 @atoi(i8* %75)
%81 = tail call i32 @debug_dmt_pid(i32 %80)
br label %142
82: ; preds = %1
%83 = tail call i32 (...) @debug_display_rf()
br label %142
84: ; preds = %1
%85 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%86 = icmp eq i8* %85, null
br i1 %86, label %87, label %89
87: ; preds = %84
%88 = tail call i32 (...) @debug_display_rt()
br label %142
89: ; preds = %84
%90 = tail call i32 @atoi(i8* %85)
%91 = tail call i32 @debug_rt_pid(i32 %90)
br label %142
92: ; preds = %1
%93 = tail call i32 (...) @debug_display_memlist()
br label %142
94: ; preds = %1
%95 = tail call i32 (...) @debug_display_dfl()
br label %142
96: ; preds = %1
%97 = tail call i32 (...) @debug_display_inodetable()
br label %142
98: ; preds = %1
%99 = tail call i32 (...) @debug_display_usertable()
br label %142
100: ; preds = %1
%101 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%102 = icmp eq i8* %101, null
br i1 %102, label %103, label %105
103: ; preds = %100
%104 = tail call i32 @debug_invalid_cmd(i8* %0)
br label %142
105: ; preds = %100
%106 = tail call i32 @atoi(i8* %101)
%107 = tail call i32 @debug_display_location(i32 %106)
br label %142
108: ; preds = %1
%109 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%110 = icmp eq i8* %109, null
br i1 %110, label %111, label %113
111: ; preds = %108
%112 = tail call i32 @debug_invalid_cmd(i8* %0)
br label %142
113: ; preds = %108
%114 = tail call i32 @debug_display_val(i8* %109)
br label %142
115: ; preds = %1
%116 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%117 = icmp eq i8* %116, null
br i1 %117, label %118, label %120
118: ; preds = %115
%119 = tail call i32 @debug_invalid_cmd(i8* %0)
br label %142
120: ; preds = %115
%121 = tail call i32 @atoi(i8* %116)
%122 = tail call i32 @debug_watch_add(i32 %121)
%123 = tail call i32 @atoi(i8* %116)
%124 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([26 x i8], [26 x i8]* @.str.1, i64 0, i64 0), i32 %123)
br label %142
125: ; preds = %1
%126 = tail call i32 (...) @debug_watch_clear()
%127 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([22 x i8], [22 x i8]* @str, i64 0, i64 0))
br label %142
128: ; preds = %1
%129 = tail call i32 (...) @debug_display_list()
br label %142
130: ; preds = %1
%131 = tail call i8* @strtok(i8* null, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0))
%132 = icmp eq i8* %131, null
br i1 %132, label %133, label %135
133: ; preds = %130
%134 = tail call i32 @debug_invalid_cmd(i8* %0)
br label %142
135: ; preds = %130
%136 = tail call i32 @atoi(i8* %131)
%137 = tail call i32 @debug_display_page(i32 %136)
br label %142
138: ; preds = %1
%139 = tail call i32 (...) @debug_display_help()
br label %142
140: ; preds = %1
%141 = tail call i32 @debug_invalid_cmd(i8* %0)
br label %142
142: ; preds = %60, %62, %64, %66, %68, %70, %72, %82, %92, %94, %96, %98, %125, %128, %138, %140, %26, %28, %21, %39, %41, %33, %49, %47, %57, %55, %79, %77, %89, %87, %105, %103, %113, %111, %120, %118, %135, %133, %4, %7, %16
%143 = phi i32 [ 1, %16 ], [ 1, %7 ], [ 1, %4 ], [ 0, %133 ], [ 0, %135 ], [ 0, %118 ], [ 0, %120 ], [ 0, %111 ], [ 0, %113 ], [ 0, %103 ], [ 0, %105 ], [ 0, %87 ], [ 0, %89 ], [ 0, %77 ], [ 0, %79 ], [ 0, %55 ], [ 0, %57 ], [ 0, %47 ], [ 0, %49 ], [ 0, %33 ], [ 0, %41 ], [ 0, %39 ], [ 0, %21 ], [ 0, %28 ], [ 0, %26 ], [ 0, %140 ], [ 0, %138 ], [ 0, %128 ], [ 0, %125 ], [ 0, %98 ], [ 0, %96 ], [ 0, %94 ], [ 0, %92 ], [ 0, %82 ], [ 0, %72 ], [ 0, %70 ], [ 0, %68 ], [ 0, %66 ], [ 0, %64 ], [ 0, %62 ], [ 0, %60 ]
ret i32 %143
}