#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 */
struct mntent {
  char *mnt_fsname;
  char *mnt_dir;
  char *mnt_type;
  char *mnt_opts;
  int mnt_freq;
  int mnt_passno;
};
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ SEEK_END;
scalar_t__ alloca(int);
scalar_t__ fflush(int /*<<< orphan*/ *);
scalar_t__ fprintf(int /*<<< orphan*/ *, char *, char *, char *, char *, char *,
                   int, int);
scalar_t__ fseek(int /*<<< orphan*/ *, int /*<<< orphan*/, int /*<<< orphan*/);
int strlen(char *);
int addmntent(FILE *stream, const struct mntent *mnt) {
  struct mntent mntcopy = *mnt;
  if (fseek(stream, 0, SEEK_END))
    return 1;
  do {
    const char *rp = mntcopy.mnt_fsname;
    while (*rp != '\0')
      if (*rp == ' ' || *rp == '\t' || *rp == '\n' || *rp == '\\')
        break;
      else
        ++rp;
    if (*rp != '\0') {
      char *wp;
      rp = mntcopy.mnt_fsname;
      mntcopy.mnt_fsname = wp =
          (char *)alloca(strlen(mntcopy.mnt_fsname) * 4 + 1);
      do
        if (*rp == ' ') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '4';
          *wp++ = '0';
        } else if (*rp == '\t') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '1';
        } else if (*rp == '\n') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '2';
        } else if (*rp == '\\') {
          *wp++ = '\\';
          *wp++ = '\\';
        } else
          *wp++ = *rp;
      while (*rp++ != '\0');
    }
  } while (0);
  do {
    const char *rp = mntcopy.mnt_dir;
    while (*rp != '\0')
      if (*rp == ' ' || *rp == '\t' || *rp == '\n' || *rp == '\\')
        break;
      else
        ++rp;
    if (*rp != '\0') {
      char *wp;
      rp = mntcopy.mnt_dir;
      mntcopy.mnt_dir = wp = (char *)alloca(strlen(mntcopy.mnt_dir) * 4 + 1);
      do
        if (*rp == ' ') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '4';
          *wp++ = '0';
        } else if (*rp == '\t') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '1';
        } else if (*rp == '\n') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '2';
        } else if (*rp == '\\') {
          *wp++ = '\\';
          *wp++ = '\\';
        } else
          *wp++ = *rp;
      while (*rp++ != '\0');
    }
  } while (0);
  do {
    const char *rp = mntcopy.mnt_type;
    while (*rp != '\0')
      if (*rp == ' ' || *rp == '\t' || *rp == '\n' || *rp == '\\')
        break;
      else
        ++rp;
    if (*rp != '\0') {
      char *wp;
      rp = mntcopy.mnt_type;
      mntcopy.mnt_type = wp = (char *)alloca(strlen(mntcopy.mnt_type) * 4 + 1);
      do
        if (*rp == ' ') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '4';
          *wp++ = '0';
        } else if (*rp == '\t') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '1';
        } else if (*rp == '\n') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '2';
        } else if (*rp == '\\') {
          *wp++ = '\\';
          *wp++ = '\\';
        } else
          *wp++ = *rp;
      while (*rp++ != '\0');
    }
  } while (0);
  do {
    const char *rp = mntcopy.mnt_opts;
    while (*rp != '\0')
      if (*rp == ' ' || *rp == '\t' || *rp == '\n' || *rp == '\\')
        break;
      else
        ++rp;
    if (*rp != '\0') {
      char *wp;
      rp = mntcopy.mnt_opts;
      mntcopy.mnt_opts = wp = (char *)alloca(strlen(mntcopy.mnt_opts) * 4 + 1);
      do
        if (*rp == ' ') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '4';
          *wp++ = '0';
        } else if (*rp == '\t') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '1';
        } else if (*rp == '\n') {
          *wp++ = '\\';
          *wp++ = '0';
          *wp++ = '1';
          *wp++ = '2';
        } else if (*rp == '\\') {
          *wp++ = '\\';
          *wp++ = '\\';
        } else
          *wp++ = *rp;
      while (*rp++ != '\0');
    }
  } while (0);
  return (fprintf(stream, "%s %s %s %s %d %d\n", mntcopy.mnt_fsname,
                  mntcopy.mnt_dir, mntcopy.mnt_type, mntcopy.mnt_opts,
                  mntcopy.mnt_freq, mntcopy.mnt_passno) < 0 ||
          fflush(stream) != 0);
}


x86 assembly (clang, -O0):
<addmntent>:
push   %rbp
mov    %rsp,%rbp
sub    $0xa0,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    -0x18(%rbp),%rsi
lea    -0x40(%rbp),%rdi
mov    $0x28,%edx
call   1060 <memcpy@plt>
mov    -0x10(%rbp),%rdi
mov    0x2e58(%rip),%rax
mov    (%rax),%edx
xor    %esi,%esi
call   1080 <fseek@plt>
cmp    $0x0,%rax
je     11af <addmntent+0x4f>
movl   $0x1,-0x4(%rbp)
jmp    1b3b <addmntent+0x9db>
jmp    11b4 <addmntent+0x54>
mov    -0x40(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     1222 <addmntent+0xc2>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
je     120c <addmntent+0xac>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
je     120c <addmntent+0xac>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
je     120c <addmntent+0xac>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1211 <addmntent+0xb1>
jmp    1222 <addmntent+0xc2>
mov    -0x48(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x48(%rbp)
jmp    11bc <addmntent+0x5c>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     13f3 <addmntent+0x293>
mov    -0x40(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x40(%rbp),%rdi
call   1030 <strlen@plt>
mov    %eax,%edi
shl    $0x2,%edi
add    $0x1,%edi
call   1050 <alloca@plt>
mov    %rax,-0x50(%rbp)
mov    %rax,-0x40(%rbp)
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
jne    12b5 <addmntent+0x155>
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x5c,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x30,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x34,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x30,(%rax)
jmp    13ce <addmntent+0x26e>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
jne    1312 <addmntent+0x1b2>
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x5c,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x30,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x31,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x31,(%rax)
jmp    13c9 <addmntent+0x269>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
jne    136f <addmntent+0x20f>
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x5c,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x30,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x31,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x32,(%rax)
jmp    13c4 <addmntent+0x264>
mov    -0x48(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    13a8 <addmntent+0x248>
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x5c,(%rax)
mov    -0x50(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x50(%rbp)
movb   $0x5c,(%rax)
jmp    13bf <addmntent+0x25f>
mov    -0x48(%rbp),%rax
mov    (%rax),%cl
mov    -0x50(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x50(%rbp)
mov    %cl,(%rax)
jmp    13c4 <addmntent+0x264>
jmp    13c9 <addmntent+0x269>
jmp    13ce <addmntent+0x26e>
jmp    13d3 <addmntent+0x273>
mov    -0x48(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x48(%rbp)
movsbl (%rax),%eax
cmp    $0x0,%eax
jne    1258 <addmntent+0xf8>
jmp    13f3 <addmntent+0x293>
jmp    13f8 <addmntent+0x298>
jmp    13fd <addmntent+0x29d>
mov    -0x38(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     146b <addmntent+0x30b>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
je     1455 <addmntent+0x2f5>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
je     1455 <addmntent+0x2f5>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
je     1455 <addmntent+0x2f5>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    145a <addmntent+0x2fa>
jmp    146b <addmntent+0x30b>
mov    -0x58(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x58(%rbp)
jmp    1405 <addmntent+0x2a5>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     163c <addmntent+0x4dc>
mov    -0x38(%rbp),%rax
mov    %rax,-0x58(%rbp)
mov    -0x38(%rbp),%rdi
call   1030 <strlen@plt>
mov    %eax,%edi
shl    $0x2,%edi
add    $0x1,%edi
call   1050 <alloca@plt>
mov    %rax,-0x60(%rbp)
mov    %rax,-0x38(%rbp)
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
jne    14fe <addmntent+0x39e>
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x5c,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x30,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x34,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x30,(%rax)
jmp    1617 <addmntent+0x4b7>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
jne    155b <addmntent+0x3fb>
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x5c,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x30,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x31,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x31,(%rax)
jmp    1612 <addmntent+0x4b2>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
jne    15b8 <addmntent+0x458>
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x5c,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x30,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x31,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x32,(%rax)
jmp    160d <addmntent+0x4ad>
mov    -0x58(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    15f1 <addmntent+0x491>
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x5c,(%rax)
mov    -0x60(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x60(%rbp)
movb   $0x5c,(%rax)
jmp    1608 <addmntent+0x4a8>
mov    -0x58(%rbp),%rax
mov    (%rax),%cl
mov    -0x60(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x60(%rbp)
mov    %cl,(%rax)
jmp    160d <addmntent+0x4ad>
jmp    1612 <addmntent+0x4b2>
jmp    1617 <addmntent+0x4b7>
jmp    161c <addmntent+0x4bc>
mov    -0x58(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x58(%rbp)
movsbl (%rax),%eax
cmp    $0x0,%eax
jne    14a1 <addmntent+0x341>
jmp    163c <addmntent+0x4dc>
jmp    1641 <addmntent+0x4e1>
jmp    1646 <addmntent+0x4e6>
mov    -0x30(%rbp),%rax
mov    %rax,-0x68(%rbp)
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     16b4 <addmntent+0x554>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
je     169e <addmntent+0x53e>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
je     169e <addmntent+0x53e>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
je     169e <addmntent+0x53e>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    16a3 <addmntent+0x543>
jmp    16b4 <addmntent+0x554>
mov    -0x68(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x68(%rbp)
jmp    164e <addmntent+0x4ee>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     1885 <addmntent+0x725>
mov    -0x30(%rbp),%rax
mov    %rax,-0x68(%rbp)
mov    -0x30(%rbp),%rdi
call   1030 <strlen@plt>
mov    %eax,%edi
shl    $0x2,%edi
add    $0x1,%edi
call   1050 <alloca@plt>
mov    %rax,-0x70(%rbp)
mov    %rax,-0x30(%rbp)
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
jne    1747 <addmntent+0x5e7>
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x5c,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x30,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x34,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x30,(%rax)
jmp    1860 <addmntent+0x700>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
jne    17a4 <addmntent+0x644>
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x5c,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x30,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x31,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x31,(%rax)
jmp    185b <addmntent+0x6fb>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
jne    1801 <addmntent+0x6a1>
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x5c,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x30,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x31,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x32,(%rax)
jmp    1856 <addmntent+0x6f6>
mov    -0x68(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    183a <addmntent+0x6da>
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x5c,(%rax)
mov    -0x70(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x70(%rbp)
movb   $0x5c,(%rax)
jmp    1851 <addmntent+0x6f1>
mov    -0x68(%rbp),%rax
mov    (%rax),%cl
mov    -0x70(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x70(%rbp)
mov    %cl,(%rax)
jmp    1856 <addmntent+0x6f6>
jmp    185b <addmntent+0x6fb>
jmp    1860 <addmntent+0x700>
jmp    1865 <addmntent+0x705>
mov    -0x68(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x68(%rbp)
movsbl (%rax),%eax
cmp    $0x0,%eax
jne    16ea <addmntent+0x58a>
jmp    1885 <addmntent+0x725>
jmp    188a <addmntent+0x72a>
jmp    188f <addmntent+0x72f>
mov    -0x28(%rbp),%rax
mov    %rax,-0x78(%rbp)
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     18fd <addmntent+0x79d>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
je     18e7 <addmntent+0x787>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
je     18e7 <addmntent+0x787>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
je     18e7 <addmntent+0x787>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    18ec <addmntent+0x78c>
jmp    18fd <addmntent+0x79d>
mov    -0x78(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x78(%rbp)
jmp    1897 <addmntent+0x737>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     1ace <addmntent+0x96e>
mov    -0x28(%rbp),%rax
mov    %rax,-0x78(%rbp)
mov    -0x28(%rbp),%rdi
call   1030 <strlen@plt>
mov    %eax,%edi
shl    $0x2,%edi
add    $0x1,%edi
call   1050 <alloca@plt>
mov    %rax,-0x80(%rbp)
mov    %rax,-0x28(%rbp)
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
jne    1990 <addmntent+0x830>
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x5c,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x30,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x34,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x30,(%rax)
jmp    1aa9 <addmntent+0x949>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x9,%eax
jne    19ed <addmntent+0x88d>
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x5c,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x30,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x31,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x31,(%rax)
jmp    1aa4 <addmntent+0x944>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0xa,%eax
jne    1a4a <addmntent+0x8ea>
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x5c,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x30,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x31,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x32,(%rax)
jmp    1a9f <addmntent+0x93f>
mov    -0x78(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x5c,%eax
jne    1a83 <addmntent+0x923>
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x5c,(%rax)
mov    -0x80(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x80(%rbp)
movb   $0x5c,(%rax)
jmp    1a9a <addmntent+0x93a>
mov    -0x78(%rbp),%rax
mov    (%rax),%cl
mov    -0x80(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x80(%rbp)
mov    %cl,(%rax)
jmp    1a9f <addmntent+0x93f>
jmp    1aa4 <addmntent+0x944>
jmp    1aa9 <addmntent+0x949>
jmp    1aae <addmntent+0x94e>
mov    -0x78(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x78(%rbp)
movsbl (%rax),%eax
cmp    $0x0,%eax
jne    1933 <addmntent+0x7d3>
jmp    1ace <addmntent+0x96e>
jmp    1ad3 <addmntent+0x973>
mov    -0x10(%rbp),%rdi
mov    -0x40(%rbp),%rdx
mov    -0x38(%rbp),%rcx
mov    -0x30(%rbp),%r8
mov    -0x28(%rbp),%r9
mov    -0x20(%rbp),%r10d
mov    -0x1c(%rbp),%eax
lea    0x50b(%rip),%rsi
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
call   1040 <fprintf@plt>
mov    %rax,%rcx
mov    $0x1,%al
cmp    $0x0,%rcx
mov    %al,-0x81(%rbp)
jl     1b2d <addmntent+0x9cd>
mov    -0x10(%rbp),%rdi
call   1070 <fflush@plt>
cmp    $0x0,%rax
setne  %al
mov    %al,-0x81(%rbp)
mov    -0x81(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0xa0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<addmntent>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x18,%rsp
mov    %rdi,%r14
mov    (%rsi),%rbx
mov    0x8(%rsi),%rbp
mov    0x10(%rsi),%r12
mov    0x18(%rsi),%r13
mov    0x20(%rsi),%r15d
mov    0x24(%rsi),%eax
mov    %rax,0x10(%rsp)
mov    0x2e65(%rip),%rax
mov    (%rax),%edx
xor    %esi,%esi
call   1070 <fseek@plt>
mov    $0x1,%ecx
test   %rax,%rax
jne    155b <addmntent+0x40b>
mov    %rbx,%rax
mov    %r15,%r10
mov    %r15,0x8(%rsp)
mov    0x10(%rsp),%r15
jmp    11b4 <addmntent+0x64>
nopl   0x0(%rax)
add    $0x1,%rax
movzbl (%rax),%ecx
cmp    $0x1f,%cl
jg     11d0 <addmntent+0x80>
lea    -0x9(%rcx),%edx
cmp    $0x2,%dl
jb     11da <addmntent+0x8a>
test   %cl,%cl
jne    11b0 <addmntent+0x60>
jmp    127e <addmntent+0x12e>
nopl   (%rax)
cmp    $0x20,%cl
je     11da <addmntent+0x8a>
cmp    $0x5c,%cl
jne    11b0 <addmntent+0x60>
mov    %rbx,%rdi
call   1030 <strlen@plt>
lea    0x1(,%rax,4),%edi
call   1050 <alloca@plt>
mov    0x8(%rsp),%r10
mov    %rax,%rcx
jmp    1219 <addmntent+0xc9>
nopl   0x0(%rax,%rax,1)
mov    %dl,(%rcx)
add    $0x1,%rcx
cs nopw 0x0(%rax,%rax,1)
cmpb   $0x0,(%rbx)
lea    0x1(%rbx),%rbx
je     127b <addmntent+0x12b>
movzbl (%rbx),%edx
cmp    $0x1f,%dl
jg     1240 <addmntent+0xf0>
cmp    $0x9,%dl
je     1260 <addmntent+0x110>
cmp    $0xa,%dl
jne    1200 <addmntent+0xb0>
movl   $0x3231305c,(%rcx)
add    $0x4,%rcx
jmp    1210 <addmntent+0xc0>
nopw   0x0(%rax,%rax,1)
cmp    $0x5c,%dl
je     1270 <addmntent+0x120>
cmp    $0x20,%dl
jne    1200 <addmntent+0xb0>
movl   $0x3034305c,(%rcx)
add    $0x4,%rcx
jmp    1210 <addmntent+0xc0>
cs nopw 0x0(%rax,%rax,1)
movl   $0x3131305c,(%rcx)
add    $0x4,%rcx
jmp    1210 <addmntent+0xc0>
nopl   0x0(%rax)
movw   $0x5c5c,(%rcx)
add    $0x2,%rcx
jmp    1210 <addmntent+0xc0>
mov    %rax,%rbx
mov    %rbp,%rax
jmp    1294 <addmntent+0x144>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x1,%rax
movzbl (%rax),%ecx
cmp    $0x1f,%cl
jg     12b0 <addmntent+0x160>
lea    -0x9(%rcx),%edx
cmp    $0x2,%dl
jb     12ba <addmntent+0x16a>
test   %cl,%cl
jne    1290 <addmntent+0x140>
jmp    135e <addmntent+0x20e>
nopl   (%rax)
cmp    $0x20,%cl
je     12ba <addmntent+0x16a>
cmp    $0x5c,%cl
jne    1290 <addmntent+0x140>
mov    %rbp,%rdi
call   1030 <strlen@plt>
lea    0x1(,%rax,4),%edi
call   1050 <alloca@plt>
mov    0x8(%rsp),%r10
mov    %rax,%rcx
jmp    12fa <addmntent+0x1aa>
nopl   0x0(%rax,%rax,1)
mov    %dl,(%rcx)
add    $0x1,%rcx
cs nopw 0x0(%rax,%rax,1)
cmpb   $0x0,0x0(%rbp)
lea    0x1(%rbp),%rbp
je     135b <addmntent+0x20b>
movzbl 0x0(%rbp),%edx
cmp    $0x1f,%dl
jg     1320 <addmntent+0x1d0>
cmp    $0x9,%dl
je     1340 <addmntent+0x1f0>
cmp    $0xa,%dl
jne    12e0 <addmntent+0x190>
movl   $0x3231305c,(%rcx)
add    $0x4,%rcx
jmp    12f0 <addmntent+0x1a0>
nopl   0x0(%rax)
cmp    $0x5c,%dl
je     1350 <addmntent+0x200>
cmp    $0x20,%dl
jne    12e0 <addmntent+0x190>
movl   $0x3034305c,(%rcx)
add    $0x4,%rcx
jmp    12f0 <addmntent+0x1a0>
cs nopw 0x0(%rax,%rax,1)
movl   $0x3131305c,(%rcx)
add    $0x4,%rcx
jmp    12f0 <addmntent+0x1a0>
nopl   0x0(%rax)
movw   $0x5c5c,(%rcx)
add    $0x2,%rcx
jmp    12f0 <addmntent+0x1a0>
mov    %rax,%rbp
mov    %r12,%rax
jmp    1374 <addmntent+0x224>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x1,%rax
movzbl (%rax),%ecx
cmp    $0x1f,%cl
jg     1390 <addmntent+0x240>
lea    -0x9(%rcx),%edx
cmp    $0x2,%dl
jb     139a <addmntent+0x24a>
test   %cl,%cl
jne    1370 <addmntent+0x220>
jmp    143e <addmntent+0x2ee>
nopl   (%rax)
cmp    $0x20,%cl
je     139a <addmntent+0x24a>
cmp    $0x5c,%cl
jne    1370 <addmntent+0x220>
mov    %r12,%rdi
call   1030 <strlen@plt>
lea    0x1(,%rax,4),%edi
call   1050 <alloca@plt>
mov    0x8(%rsp),%r10
mov    %rax,%rcx
jmp    13dc <addmntent+0x28c>
nopl   0x0(%rax,%rax,1)
mov    %dl,(%rcx)
add    $0x1,%rcx
cs nopw 0x0(%rax,%rax,1)
cmpb   $0x0,(%r12)
lea    0x1(%r12),%r12
je     143b <addmntent+0x2eb>
movzbl (%r12),%edx
cmp    $0x1f,%dl
jg     1400 <addmntent+0x2b0>
cmp    $0x9,%dl
je     1420 <addmntent+0x2d0>
cmp    $0xa,%dl
jne    13c0 <addmntent+0x270>
movl   $0x3231305c,(%rcx)
add    $0x4,%rcx
jmp    13d0 <addmntent+0x280>
nopl   0x0(%rax)
cmp    $0x5c,%dl
je     1430 <addmntent+0x2e0>
cmp    $0x20,%dl
jne    13c0 <addmntent+0x270>
movl   $0x3034305c,(%rcx)
add    $0x4,%rcx
jmp    13d0 <addmntent+0x280>
cs nopw 0x0(%rax,%rax,1)
movl   $0x3131305c,(%rcx)
add    $0x4,%rcx
jmp    13d0 <addmntent+0x280>
nopl   0x0(%rax)
movw   $0x5c5c,(%rcx)
add    $0x2,%rcx
jmp    13d0 <addmntent+0x280>
mov    %rax,%r12
mov    %r13,%rax
jmp    1454 <addmntent+0x304>
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
add    $0x1,%rax
movzbl (%rax),%ecx
cmp    $0x1f,%cl
jg     1470 <addmntent+0x320>
lea    -0x9(%rcx),%edx
cmp    $0x2,%dl
jb     147a <addmntent+0x32a>
test   %cl,%cl
jne    1450 <addmntent+0x300>
jmp    151e <addmntent+0x3ce>
nopl   (%rax)
cmp    $0x20,%cl
je     147a <addmntent+0x32a>
cmp    $0x5c,%cl
jne    1450 <addmntent+0x300>
mov    %r13,%rdi
call   1030 <strlen@plt>
lea    0x1(,%rax,4),%edi
call   1050 <alloca@plt>
mov    0x8(%rsp),%r10
mov    %rax,%rcx
jmp    14bb <addmntent+0x36b>
nopl   0x0(%rax,%rax,1)
mov    %dl,(%rcx)
add    $0x1,%rcx
cs nopw 0x0(%rax,%rax,1)
cmpb   $0x0,0x0(%r13)
lea    0x1(%r13),%r13
je     151b <addmntent+0x3cb>
movzbl 0x0(%r13),%edx
cmp    $0x1f,%dl
jg     14e0 <addmntent+0x390>
cmp    $0x9,%dl
je     1500 <addmntent+0x3b0>
cmp    $0xa,%dl
jne    14a0 <addmntent+0x350>
movl   $0x3231305c,(%rcx)
add    $0x4,%rcx
jmp    14b0 <addmntent+0x360>
nopl   0x0(%rax,%rax,1)
cmp    $0x5c,%dl
je     1510 <addmntent+0x3c0>
cmp    $0x20,%dl
jne    14a0 <addmntent+0x350>
movl   $0x3034305c,(%rcx)
add    $0x4,%rcx
jmp    14b0 <addmntent+0x360>
cs nopw 0x0(%rax,%rax,1)
movl   $0x3131305c,(%rcx)
add    $0x4,%rcx
jmp    14b0 <addmntent+0x360>
nopl   0x0(%rax)
movw   $0x5c5c,(%rcx)
add    $0x2,%rcx
jmp    14b0 <addmntent+0x360>
mov    %rax,%r13
lea    0xadb(%rip),%rsi
mov    %r14,%rdi
mov    %rbx,%rdx
mov    %rbp,%rcx
mov    %r12,%r8
mov    %r13,%r9
push   %r15
push   %r10
call   1040 <fprintf@plt>
add    $0x10,%rsp
test   %rax,%rax
mov    $0x1,%ecx
js     155b <addmntent+0x40b>
mov    %r14,%rdi
call   1060 <fflush@plt>
xor    %ecx,%ecx
test   %rax,%rax
setne  %cl
mov    %ecx,%eax
add    $0x18,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
%struct.mntent = type { i8*, i8*, i8*, i8*, i32, i32 }
@SEEK_END = global i32 0
@.str = [19 x i8] c"%s %s %s %s %d %d\0A\00"
define i32 @addmntent(i32* %0, %struct.mntent* %1) {
%3 = alloca i32
%4 = alloca i32*
%5 = alloca %struct.mntent*
%6 = alloca %struct.mntent
%7 = alloca i8*
%8 = alloca i8*
%9 = alloca i8*
%10 = alloca i8*
%11 = alloca i8*
%12 = alloca i8*
%13 = alloca i8*
%14 = alloca i8*
store i32* %0, i32** %4
store %struct.mntent* %1, %struct.mntent** %5
%15 = load %struct.mntent*, %struct.mntent** %5
%16 = bitcast %struct.mntent* %6 to i8*
%17 = bitcast %struct.mntent* %15 to i8*
%18 = load i32*, i32** %4
%19 = load i32, i32* @SEEK_END
%20 = call i64 @fseek(i32* %18, i32 0, i32 %19)
%21 = icmp ne i64 %20, 0
br i1 %21, label %22, label %23
22: ; preds = %2
store i32 1, i32* %3
br label %522
23: ; preds = %2
br label %24
24: ; preds = %23
%25 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 0
%26 = load i8*, i8** %25
store i8* %26, i8** %7
br label %27
27: ; preds = %56, %24
%28 = load i8*, i8** %7
%29 = load i8, i8* %28
%30 = sext i8 %29 to i32
%31 = icmp ne i32 %30, 0
br i1 %31, label %32, label %57
32: ; preds = %27
%33 = load i8*, i8** %7
%34 = load i8, i8* %33
%35 = sext i8 %34 to i32
%36 = icmp eq i32 %35, 32
br i1 %36, label %52, label %37
37: ; preds = %32
%38 = load i8*, i8** %7
%39 = load i8, i8* %38
%40 = sext i8 %39 to i32
%41 = icmp eq i32 %40, 9
br i1 %41, label %52, label %42
42: ; preds = %37
%43 = load i8*, i8** %7
%44 = load i8, i8* %43
%45 = sext i8 %44 to i32
%46 = icmp eq i32 %45, 10
br i1 %46, label %52, label %47
47: ; preds = %42
%48 = load i8*, i8** %7
%49 = load i8, i8* %48
%50 = sext i8 %49 to i32
%51 = icmp eq i32 %50, 92
br i1 %51, label %52, label %53
52: ; preds = %47, %42, %37, %32
br label %57
53: ; preds = %47
%54 = load i8*, i8** %7
%55 = getelementptr inbounds i8, i8* %54, i32 1
store i8* %55, i8** %7
br label %56
56: ; preds = %53
br label %27
57: ; preds = %52, %27
%58 = load i8*, i8** %7
%59 = load i8, i8* %58
%60 = sext i8 %59 to i32
%61 = icmp ne i32 %60, 0
br i1 %61, label %62, label %141
62: ; preds = %57
%63 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 0
%64 = load i8*, i8** %63
store i8* %64, i8** %7
%65 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 0
%66 = load i8*, i8** %65
%67 = call i32 @strlen(i8* %66)
%68 = mul nsw i32 %67, 4
%69 = add nsw i32 %68, 1
%70 = call i64 @alloca(i32 %69)
%71 = inttoptr i64 %70 to i8*
store i8* %71, i8** %8
%72 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 0
store i8* %71, i8** %72
br label %73
73: ; preds = %134, %62
%74 = load i8*, i8** %7
%75 = load i8, i8* %74
%76 = sext i8 %75 to i32
%77 = icmp eq i32 %76, 32
br i1 %77, label %78, label %87
78: ; preds = %73
%79 = load i8*, i8** %8
%80 = getelementptr inbounds i8, i8* %79, i32 1
store i8* %80, i8** %8
store i8 92, i8* %79
%81 = load i8*, i8** %8
%82 = getelementptr inbounds i8, i8* %81, i32 1
store i8* %82, i8** %8
store i8 48, i8* %81
%83 = load i8*, i8** %8
%84 = getelementptr inbounds i8, i8* %83, i32 1
store i8* %84, i8** %8
store i8 52, i8* %83
%85 = load i8*, i8** %8
%86 = getelementptr inbounds i8, i8* %85, i32 1
store i8* %86, i8** %8
store i8 48, i8* %85
br label %133
87: ; preds = %73
%88 = load i8*, i8** %7
%89 = load i8, i8* %88
%90 = sext i8 %89 to i32
%91 = icmp eq i32 %90, 9
br i1 %91, label %92, label %101
92: ; preds = %87
%93 = load i8*, i8** %8
%94 = getelementptr inbounds i8, i8* %93, i32 1
store i8* %94, i8** %8
store i8 92, i8* %93
%95 = load i8*, i8** %8
%96 = getelementptr inbounds i8, i8* %95, i32 1
store i8* %96, i8** %8
store i8 48, i8* %95
%97 = load i8*, i8** %8
%98 = getelementptr inbounds i8, i8* %97, i32 1
store i8* %98, i8** %8
store i8 49, i8* %97
%99 = load i8*, i8** %8
%100 = getelementptr inbounds i8, i8* %99, i32 1
store i8* %100, i8** %8
store i8 49, i8* %99
br label %132
101: ; preds = %87
%102 = load i8*, i8** %7
%103 = load i8, i8* %102
%104 = sext i8 %103 to i32
%105 = icmp eq i32 %104, 10
br i1 %105, label %106, label %115
106: ; preds = %101
%107 = load i8*, i8** %8
%108 = getelementptr inbounds i8, i8* %107, i32 1
store i8* %108, i8** %8
store i8 92, i8* %107
%109 = load i8*, i8** %8
%110 = getelementptr inbounds i8, i8* %109, i32 1
store i8* %110, i8** %8
store i8 48, i8* %109
%111 = load i8*, i8** %8
%112 = getelementptr inbounds i8, i8* %111, i32 1
store i8* %112, i8** %8
store i8 49, i8* %111
%113 = load i8*, i8** %8
%114 = getelementptr inbounds i8, i8* %113, i32 1
store i8* %114, i8** %8
store i8 50, i8* %113
br label %131
115: ; preds = %101
%116 = load i8*, i8** %7
%117 = load i8, i8* %116
%118 = sext i8 %117 to i32
%119 = icmp eq i32 %118, 92
br i1 %119, label %120, label %125
120: ; preds = %115
%121 = load i8*, i8** %8
%122 = getelementptr inbounds i8, i8* %121, i32 1
store i8* %122, i8** %8
store i8 92, i8* %121
%123 = load i8*, i8** %8
%124 = getelementptr inbounds i8, i8* %123, i32 1
store i8* %124, i8** %8
store i8 92, i8* %123
br label %130
125: ; preds = %115
%126 = load i8*, i8** %7
%127 = load i8, i8* %126
%128 = load i8*, i8** %8
%129 = getelementptr inbounds i8, i8* %128, i32 1
store i8* %129, i8** %8
store i8 %127, i8* %128
br label %130
130: ; preds = %125, %120
br label %131
131: ; preds = %130, %106
br label %132
132: ; preds = %131, %92
br label %133
133: ; preds = %132, %78
br label %134
134: ; preds = %133
%135 = load i8*, i8** %7
%136 = getelementptr inbounds i8, i8* %135, i32 1
store i8* %136, i8** %7
%137 = load i8, i8* %135
%138 = sext i8 %137 to i32
%139 = icmp ne i32 %138, 0
br i1 %139, label %73, label %140
140: ; preds = %134
br label %141
141: ; preds = %140, %57
br label %142
142: ; preds = %141
br label %143
143: ; preds = %142
%144 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 1
%145 = load i8*, i8** %144
store i8* %145, i8** %9
br label %146
146: ; preds = %175, %143
%147 = load i8*, i8** %9
%148 = load i8, i8* %147
%149 = sext i8 %148 to i32
%150 = icmp ne i32 %149, 0
br i1 %150, label %151, label %176
151: ; preds = %146
%152 = load i8*, i8** %9
%153 = load i8, i8* %152
%154 = sext i8 %153 to i32
%155 = icmp eq i32 %154, 32
br i1 %155, label %171, label %156
156: ; preds = %151
%157 = load i8*, i8** %9
%158 = load i8, i8* %157
%159 = sext i8 %158 to i32
%160 = icmp eq i32 %159, 9
br i1 %160, label %171, label %161
161: ; preds = %156
%162 = load i8*, i8** %9
%163 = load i8, i8* %162
%164 = sext i8 %163 to i32
%165 = icmp eq i32 %164, 10
br i1 %165, label %171, label %166
166: ; preds = %161
%167 = load i8*, i8** %9
%168 = load i8, i8* %167
%169 = sext i8 %168 to i32
%170 = icmp eq i32 %169, 92
br i1 %170, label %171, label %172
171: ; preds = %166, %161, %156, %151
br label %176
172: ; preds = %166
%173 = load i8*, i8** %9
%174 = getelementptr inbounds i8, i8* %173, i32 1
store i8* %174, i8** %9
br label %175
175: ; preds = %172
br label %146
176: ; preds = %171, %146
%177 = load i8*, i8** %9
%178 = load i8, i8* %177
%179 = sext i8 %178 to i32
%180 = icmp ne i32 %179, 0
br i1 %180, label %181, label %260
181: ; preds = %176
%182 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 1
%183 = load i8*, i8** %182
store i8* %183, i8** %9
%184 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 1
%185 = load i8*, i8** %184
%186 = call i32 @strlen(i8* %185)
%187 = mul nsw i32 %186, 4
%188 = add nsw i32 %187, 1
%189 = call i64 @alloca(i32 %188)
%190 = inttoptr i64 %189 to i8*
store i8* %190, i8** %10
%191 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 1
store i8* %190, i8** %191
br label %192
192: ; preds = %253, %181
%193 = load i8*, i8** %9
%194 = load i8, i8* %193
%195 = sext i8 %194 to i32
%196 = icmp eq i32 %195, 32
br i1 %196, label %197, label %206
197: ; preds = %192
%198 = load i8*, i8** %10
%199 = getelementptr inbounds i8, i8* %198, i32 1
store i8* %199, i8** %10
store i8 92, i8* %198
%200 = load i8*, i8** %10
%201 = getelementptr inbounds i8, i8* %200, i32 1
store i8* %201, i8** %10
store i8 48, i8* %200
%202 = load i8*, i8** %10
%203 = getelementptr inbounds i8, i8* %202, i32 1
store i8* %203, i8** %10
store i8 52, i8* %202
%204 = load i8*, i8** %10
%205 = getelementptr inbounds i8, i8* %204, i32 1
store i8* %205, i8** %10
store i8 48, i8* %204
br label %252
206: ; preds = %192
%207 = load i8*, i8** %9
%208 = load i8, i8* %207
%209 = sext i8 %208 to i32
%210 = icmp eq i32 %209, 9
br i1 %210, label %211, label %220
211: ; preds = %206
%212 = load i8*, i8** %10
%213 = getelementptr inbounds i8, i8* %212, i32 1
store i8* %213, i8** %10
store i8 92, i8* %212
%214 = load i8*, i8** %10
%215 = getelementptr inbounds i8, i8* %214, i32 1
store i8* %215, i8** %10
store i8 48, i8* %214
%216 = load i8*, i8** %10
%217 = getelementptr inbounds i8, i8* %216, i32 1
store i8* %217, i8** %10
store i8 49, i8* %216
%218 = load i8*, i8** %10
%219 = getelementptr inbounds i8, i8* %218, i32 1
store i8* %219, i8** %10
store i8 49, i8* %218
br label %251
220: ; preds = %206
%221 = load i8*, i8** %9
%222 = load i8, i8* %221
%223 = sext i8 %222 to i32
%224 = icmp eq i32 %223, 10
br i1 %224, label %225, label %234
225: ; preds = %220
%226 = load i8*, i8** %10
%227 = getelementptr inbounds i8, i8* %226, i32 1
store i8* %227, i8** %10
store i8 92, i8* %226
%228 = load i8*, i8** %10
%229 = getelementptr inbounds i8, i8* %228, i32 1
store i8* %229, i8** %10
store i8 48, i8* %228
%230 = load i8*, i8** %10
%231 = getelementptr inbounds i8, i8* %230, i32 1
store i8* %231, i8** %10
store i8 49, i8* %230
%232 = load i8*, i8** %10
%233 = getelementptr inbounds i8, i8* %232, i32 1
store i8* %233, i8** %10
store i8 50, i8* %232
br label %250
234: ; preds = %220
%235 = load i8*, i8** %9
%236 = load i8, i8* %235
%237 = sext i8 %236 to i32
%238 = icmp eq i32 %237, 92
br i1 %238, label %239, label %244
239: ; preds = %234
%240 = load i8*, i8** %10
%241 = getelementptr inbounds i8, i8* %240, i32 1
store i8* %241, i8** %10
store i8 92, i8* %240
%242 = load i8*, i8** %10
%243 = getelementptr inbounds i8, i8* %242, i32 1
store i8* %243, i8** %10
store i8 92, i8* %242
br label %249
244: ; preds = %234
%245 = load i8*, i8** %9
%246 = load i8, i8* %245
%247 = load i8*, i8** %10
%248 = getelementptr inbounds i8, i8* %247, i32 1
store i8* %248, i8** %10
store i8 %246, i8* %247
br label %249
249: ; preds = %244, %239
br label %250
250: ; preds = %249, %225
br label %251
251: ; preds = %250, %211
br label %252
252: ; preds = %251, %197
br label %253
253: ; preds = %252
%254 = load i8*, i8** %9
%255 = getelementptr inbounds i8, i8* %254, i32 1
store i8* %255, i8** %9
%256 = load i8, i8* %254
%257 = sext i8 %256 to i32
%258 = icmp ne i32 %257, 0
br i1 %258, label %192, label %259
259: ; preds = %253
br label %260
260: ; preds = %259, %176
br label %261
261: ; preds = %260
br label %262
262: ; preds = %261
%263 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 2
%264 = load i8*, i8** %263
store i8* %264, i8** %11
br label %265
265: ; preds = %294, %262
%266 = load i8*, i8** %11
%267 = load i8, i8* %266
%268 = sext i8 %267 to i32
%269 = icmp ne i32 %268, 0
br i1 %269, label %270, label %295
270: ; preds = %265
%271 = load i8*, i8** %11
%272 = load i8, i8* %271
%273 = sext i8 %272 to i32
%274 = icmp eq i32 %273, 32
br i1 %274, label %290, label %275
275: ; preds = %270
%276 = load i8*, i8** %11
%277 = load i8, i8* %276
%278 = sext i8 %277 to i32
%279 = icmp eq i32 %278, 9
br i1 %279, label %290, label %280
280: ; preds = %275
%281 = load i8*, i8** %11
%282 = load i8, i8* %281
%283 = sext i8 %282 to i32
%284 = icmp eq i32 %283, 10
br i1 %284, label %290, label %285
285: ; preds = %280
%286 = load i8*, i8** %11
%287 = load i8, i8* %286
%288 = sext i8 %287 to i32
%289 = icmp eq i32 %288, 92
br i1 %289, label %290, label %291
290: ; preds = %285, %280, %275, %270
br label %295
291: ; preds = %285
%292 = load i8*, i8** %11
%293 = getelementptr inbounds i8, i8* %292, i32 1
store i8* %293, i8** %11
br label %294
294: ; preds = %291
br label %265
295: ; preds = %290, %265
%296 = load i8*, i8** %11
%297 = load i8, i8* %296
%298 = sext i8 %297 to i32
%299 = icmp ne i32 %298, 0
br i1 %299, label %300, label %379
300: ; preds = %295
%301 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 2
%302 = load i8*, i8** %301
store i8* %302, i8** %11
%303 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 2
%304 = load i8*, i8** %303
%305 = call i32 @strlen(i8* %304)
%306 = mul nsw i32 %305, 4
%307 = add nsw i32 %306, 1
%308 = call i64 @alloca(i32 %307)
%309 = inttoptr i64 %308 to i8*
store i8* %309, i8** %12
%310 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 2
store i8* %309, i8** %310
br label %311
311: ; preds = %372, %300
%312 = load i8*, i8** %11
%313 = load i8, i8* %312
%314 = sext i8 %313 to i32
%315 = icmp eq i32 %314, 32
br i1 %315, label %316, label %325
316: ; preds = %311
%317 = load i8*, i8** %12
%318 = getelementptr inbounds i8, i8* %317, i32 1
store i8* %318, i8** %12
store i8 92, i8* %317
%319 = load i8*, i8** %12
%320 = getelementptr inbounds i8, i8* %319, i32 1
store i8* %320, i8** %12
store i8 48, i8* %319
%321 = load i8*, i8** %12
%322 = getelementptr inbounds i8, i8* %321, i32 1
store i8* %322, i8** %12
store i8 52, i8* %321
%323 = load i8*, i8** %12
%324 = getelementptr inbounds i8, i8* %323, i32 1
store i8* %324, i8** %12
store i8 48, i8* %323
br label %371
325: ; preds = %311
%326 = load i8*, i8** %11
%327 = load i8, i8* %326
%328 = sext i8 %327 to i32
%329 = icmp eq i32 %328, 9
br i1 %329, label %330, label %339
330: ; preds = %325
%331 = load i8*, i8** %12
%332 = getelementptr inbounds i8, i8* %331, i32 1
store i8* %332, i8** %12
store i8 92, i8* %331
%333 = load i8*, i8** %12
%334 = getelementptr inbounds i8, i8* %333, i32 1
store i8* %334, i8** %12
store i8 48, i8* %333
%335 = load i8*, i8** %12
%336 = getelementptr inbounds i8, i8* %335, i32 1
store i8* %336, i8** %12
store i8 49, i8* %335
%337 = load i8*, i8** %12
%338 = getelementptr inbounds i8, i8* %337, i32 1
store i8* %338, i8** %12
store i8 49, i8* %337
br label %370
339: ; preds = %325
%340 = load i8*, i8** %11
%341 = load i8, i8* %340
%342 = sext i8 %341 to i32
%343 = icmp eq i32 %342, 10
br i1 %343, label %344, label %353
344: ; preds = %339
%345 = load i8*, i8** %12
%346 = getelementptr inbounds i8, i8* %345, i32 1
store i8* %346, i8** %12
store i8 92, i8* %345
%347 = load i8*, i8** %12
%348 = getelementptr inbounds i8, i8* %347, i32 1
store i8* %348, i8** %12
store i8 48, i8* %347
%349 = load i8*, i8** %12
%350 = getelementptr inbounds i8, i8* %349, i32 1
store i8* %350, i8** %12
store i8 49, i8* %349
%351 = load i8*, i8** %12
%352 = getelementptr inbounds i8, i8* %351, i32 1
store i8* %352, i8** %12
store i8 50, i8* %351
br label %369
353: ; preds = %339
%354 = load i8*, i8** %11
%355 = load i8, i8* %354
%356 = sext i8 %355 to i32
%357 = icmp eq i32 %356, 92
br i1 %357, label %358, label %363
358: ; preds = %353
%359 = load i8*, i8** %12
%360 = getelementptr inbounds i8, i8* %359, i32 1
store i8* %360, i8** %12
store i8 92, i8* %359
%361 = load i8*, i8** %12
%362 = getelementptr inbounds i8, i8* %361, i32 1
store i8* %362, i8** %12
store i8 92, i8* %361
br label %368
363: ; preds = %353
%364 = load i8*, i8** %11
%365 = load i8, i8* %364
%366 = load i8*, i8** %12
%367 = getelementptr inbounds i8, i8* %366, i32 1
store i8* %367, i8** %12
store i8 %365, i8* %366
br label %368
368: ; preds = %363, %358
br label %369
369: ; preds = %368, %344
br label %370
370: ; preds = %369, %330
br label %371
371: ; preds = %370, %316
br label %372
372: ; preds = %371
%373 = load i8*, i8** %11
%374 = getelementptr inbounds i8, i8* %373, i32 1
store i8* %374, i8** %11
%375 = load i8, i8* %373
%376 = sext i8 %375 to i32
%377 = icmp ne i32 %376, 0
br i1 %377, label %311, label %378
378: ; preds = %372
br label %379
379: ; preds = %378, %295
br label %380
380: ; preds = %379
br label %381
381: ; preds = %380
%382 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 3
%383 = load i8*, i8** %382
store i8* %383, i8** %13
br label %384
384: ; preds = %413, %381
%385 = load i8*, i8** %13
%386 = load i8, i8* %385
%387 = sext i8 %386 to i32
%388 = icmp ne i32 %387, 0
br i1 %388, label %389, label %414
389: ; preds = %384
%390 = load i8*, i8** %13
%391 = load i8, i8* %390
%392 = sext i8 %391 to i32
%393 = icmp eq i32 %392, 32
br i1 %393, label %409, label %394
394: ; preds = %389
%395 = load i8*, i8** %13
%396 = load i8, i8* %395
%397 = sext i8 %396 to i32
%398 = icmp eq i32 %397, 9
br i1 %398, label %409, label %399
399: ; preds = %394
%400 = load i8*, i8** %13
%401 = load i8, i8* %400
%402 = sext i8 %401 to i32
%403 = icmp eq i32 %402, 10
br i1 %403, label %409, label %404
404: ; preds = %399
%405 = load i8*, i8** %13
%406 = load i8, i8* %405
%407 = sext i8 %406 to i32
%408 = icmp eq i32 %407, 92
br i1 %408, label %409, label %410
409: ; preds = %404, %399, %394, %389
br label %414
410: ; preds = %404
%411 = load i8*, i8** %13
%412 = getelementptr inbounds i8, i8* %411, i32 1
store i8* %412, i8** %13
br label %413
413: ; preds = %410
br label %384
414: ; preds = %409, %384
%415 = load i8*, i8** %13
%416 = load i8, i8* %415
%417 = sext i8 %416 to i32
%418 = icmp ne i32 %417, 0
br i1 %418, label %419, label %498
419: ; preds = %414
%420 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 3
%421 = load i8*, i8** %420
store i8* %421, i8** %13
%422 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 3
%423 = load i8*, i8** %422
%424 = call i32 @strlen(i8* %423)
%425 = mul nsw i32 %424, 4
%426 = add nsw i32 %425, 1
%427 = call i64 @alloca(i32 %426)
%428 = inttoptr i64 %427 to i8*
store i8* %428, i8** %14
%429 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 3
store i8* %428, i8** %429
br label %430
430: ; preds = %491, %419
%431 = load i8*, i8** %13
%432 = load i8, i8* %431
%433 = sext i8 %432 to i32
%434 = icmp eq i32 %433, 32
br i1 %434, label %435, label %444
435: ; preds = %430
%436 = load i8*, i8** %14
%437 = getelementptr inbounds i8, i8* %436, i32 1
store i8* %437, i8** %14
store i8 92, i8* %436
%438 = load i8*, i8** %14
%439 = getelementptr inbounds i8, i8* %438, i32 1
store i8* %439, i8** %14
store i8 48, i8* %438
%440 = load i8*, i8** %14
%441 = getelementptr inbounds i8, i8* %440, i32 1
store i8* %441, i8** %14
store i8 52, i8* %440
%442 = load i8*, i8** %14
%443 = getelementptr inbounds i8, i8* %442, i32 1
store i8* %443, i8** %14
store i8 48, i8* %442
br label %490
444: ; preds = %430
%445 = load i8*, i8** %13
%446 = load i8, i8* %445
%447 = sext i8 %446 to i32
%448 = icmp eq i32 %447, 9
br i1 %448, label %449, label %458
449: ; preds = %444
%450 = load i8*, i8** %14
%451 = getelementptr inbounds i8, i8* %450, i32 1
store i8* %451, i8** %14
store i8 92, i8* %450
%452 = load i8*, i8** %14
%453 = getelementptr inbounds i8, i8* %452, i32 1
store i8* %453, i8** %14
store i8 48, i8* %452
%454 = load i8*, i8** %14
%455 = getelementptr inbounds i8, i8* %454, i32 1
store i8* %455, i8** %14
store i8 49, i8* %454
%456 = load i8*, i8** %14
%457 = getelementptr inbounds i8, i8* %456, i32 1
store i8* %457, i8** %14
store i8 49, i8* %456
br label %489
458: ; preds = %444
%459 = load i8*, i8** %13
%460 = load i8, i8* %459
%461 = sext i8 %460 to i32
%462 = icmp eq i32 %461, 10
br i1 %462, label %463, label %472
463: ; preds = %458
%464 = load i8*, i8** %14
%465 = getelementptr inbounds i8, i8* %464, i32 1
store i8* %465, i8** %14
store i8 92, i8* %464
%466 = load i8*, i8** %14
%467 = getelementptr inbounds i8, i8* %466, i32 1
store i8* %467, i8** %14
store i8 48, i8* %466
%468 = load i8*, i8** %14
%469 = getelementptr inbounds i8, i8* %468, i32 1
store i8* %469, i8** %14
store i8 49, i8* %468
%470 = load i8*, i8** %14
%471 = getelementptr inbounds i8, i8* %470, i32 1
store i8* %471, i8** %14
store i8 50, i8* %470
br label %488
472: ; preds = %458
%473 = load i8*, i8** %13
%474 = load i8, i8* %473
%475 = sext i8 %474 to i32
%476 = icmp eq i32 %475, 92
br i1 %476, label %477, label %482
477: ; preds = %472
%478 = load i8*, i8** %14
%479 = getelementptr inbounds i8, i8* %478, i32 1
store i8* %479, i8** %14
store i8 92, i8* %478
%480 = load i8*, i8** %14
%481 = getelementptr inbounds i8, i8* %480, i32 1
store i8* %481, i8** %14
store i8 92, i8* %480
br label %487
482: ; preds = %472
%483 = load i8*, i8** %13
%484 = load i8, i8* %483
%485 = load i8*, i8** %14
%486 = getelementptr inbounds i8, i8* %485, i32 1
store i8* %486, i8** %14
store i8 %484, i8* %485
br label %487
487: ; preds = %482, %477
br label %488
488: ; preds = %487, %463
br label %489
489: ; preds = %488, %449
br label %490
490: ; preds = %489, %435
br label %491
491: ; preds = %490
%492 = load i8*, i8** %13
%493 = getelementptr inbounds i8, i8* %492, i32 1
store i8* %493, i8** %13
%494 = load i8, i8* %492
%495 = sext i8 %494 to i32
%496 = icmp ne i32 %495, 0
br i1 %496, label %430, label %497
497: ; preds = %491
br label %498
498: ; preds = %497, %414
br label %499
499: ; preds = %498
%500 = load i32*, i32** %4
%501 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 0
%502 = load i8*, i8** %501
%503 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 1
%504 = load i8*, i8** %503
%505 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 2
%506 = load i8*, i8** %505
%507 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 3
%508 = load i8*, i8** %507
%509 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 4
%510 = load i32, i32* %509
%511 = getelementptr inbounds %struct.mntent, %struct.mntent* %6, i32 0, i32 5
%512 = load i32, i32* %511
%513 = call i64 @fprintf(i32* %500, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str, i64 0, i64 0), i8* %502, i8* %504, i8* %506, i8* %508, i32 %510, i32 %512)
%514 = icmp slt i64 %513, 0
br i1 %514, label %519, label %515
515: ; preds = %499
%516 = load i32*, i32** %4
%517 = call i64 @fflush(i32* %516)
%518 = icmp ne i64 %517, 0
br label %519
519: ; preds = %515, %499
%520 = phi i1 [ true, %499 ], [ %518, %515 ]
%521 = zext i1 %520 to i32
store i32 %521, i32* %3
br label %522
522: ; preds = %519, %22
%523 = load i32, i32* %3
ret i32 %523
}

LLVM IR (-O2):
%struct.mntent = type { i8*, i8*, i8*, i8*, i32, i32 }
@SEEK_END = global i32 0
@.str = [19 x i8] c"%s %s %s %s %d %d\0A\00"
define i32 @addmntent(i32* nocapture %0, %struct.mntent* nocapture %1) {
%3 = getelementptr inbounds %struct.mntent, %struct.mntent* %1, i64 0, i32 0
%4 = load i8*, i8** %3
%5 = getelementptr inbounds %struct.mntent, %struct.mntent* %1, i64 0, i32 1
%6 = load i8*, i8** %5
%7 = getelementptr inbounds %struct.mntent, %struct.mntent* %1, i64 0, i32 2
%8 = load i8*, i8** %7
%9 = getelementptr inbounds %struct.mntent, %struct.mntent* %1, i64 0, i32 3
%10 = load i8*, i8** %9
%11 = getelementptr inbounds %struct.mntent, %struct.mntent* %1, i64 0, i32 4
%12 = load i32, i32* %11
%13 = getelementptr inbounds %struct.mntent, %struct.mntent* %1, i64 0, i32 5
%14 = load i32, i32* %13
%15 = load i32, i32* @SEEK_END
%16 = tail call i64 @fseek(i32* %0, i32 0, i32 %15)
%17 = icmp eq i64 %16, 0
br i1 %17, label %18, label %192
18: ; preds = %2, %21
%19 = phi i8* [ %22, %21 ], [ %4, %2 ]
%20 = load i8, i8* %19
switch i8 %20, label %21 [
i8 0, label %58
i8 9, label %23
i8 10, label %23
i8 32, label %23
i8 92, label %23
]
21: ; preds = %18
%22 = getelementptr inbounds i8, i8* %19, i64 1
br label %18
23: ; preds = %18, %18, %18, %18
%24 = tail call i32 @strlen(i8* %4)
%25 = shl nsw i32 %24, 2
%26 = or i32 %25, 1
%27 = tail call i64 @alloca(i32 %26)
%28 = inttoptr i64 %27 to i8*
br label %29
29: ; preds = %53, %23
%30 = phi i8* [ %4, %23 ], [ %55, %53 ]
%31 = phi i8* [ %28, %23 ], [ %54, %53 ]
%32 = load i8, i8* %30
switch i8 %32, label %51 [
i8 32, label %33
i8 9, label %38
i8 10, label %43
i8 92, label %48
]
33: ; preds = %29
%34 = getelementptr inbounds i8, i8* %31, i64 1
store i8 92, i8* %31
%35 = getelementptr inbounds i8, i8* %31, i64 2
store i8 48, i8* %34
%36 = getelementptr inbounds i8, i8* %31, i64 3
store i8 52, i8* %35
%37 = getelementptr inbounds i8, i8* %31, i64 4
store i8 48, i8* %36
br label %53
38: ; preds = %29
%39 = getelementptr inbounds i8, i8* %31, i64 1
store i8 92, i8* %31
%40 = getelementptr inbounds i8, i8* %31, i64 2
store i8 48, i8* %39
%41 = getelementptr inbounds i8, i8* %31, i64 3
store i8 49, i8* %40
%42 = getelementptr inbounds i8, i8* %31, i64 4
store i8 49, i8* %41
br label %53
43: ; preds = %29
%44 = getelementptr inbounds i8, i8* %31, i64 1
store i8 92, i8* %31
%45 = getelementptr inbounds i8, i8* %31, i64 2
store i8 48, i8* %44
%46 = getelementptr inbounds i8, i8* %31, i64 3
store i8 49, i8* %45
%47 = getelementptr inbounds i8, i8* %31, i64 4
store i8 50, i8* %46
br label %53
48: ; preds = %29
%49 = getelementptr inbounds i8, i8* %31, i64 1
store i8 92, i8* %31
%50 = getelementptr inbounds i8, i8* %31, i64 2
store i8 92, i8* %49
br label %53
51: ; preds = %29
%52 = getelementptr inbounds i8, i8* %31, i64 1
store i8 %32, i8* %31
br label %53
53: ; preds = %33, %43, %51, %48, %38
%54 = phi i8* [ %37, %33 ], [ %42, %38 ], [ %47, %43 ], [ %50, %48 ], [ %52, %51 ]
%55 = getelementptr inbounds i8, i8* %30, i64 1
%56 = load i8, i8* %30
%57 = icmp eq i8 %56, 0
br i1 %57, label %58, label %29
58: ; preds = %18, %53
%59 = phi i8* [ %28, %53 ], [ %4, %18 ]
br label %60
60: ; preds = %63, %58
%61 = phi i8* [ %6, %58 ], [ %64, %63 ]
%62 = load i8, i8* %61
switch i8 %62, label %63 [
i8 0, label %100
i8 9, label %65
i8 10, label %65
i8 32, label %65
i8 92, label %65
]
63: ; preds = %60
%64 = getelementptr inbounds i8, i8* %61, i64 1
br label %60
65: ; preds = %60, %60, %60, %60
%66 = tail call i32 @strlen(i8* %6)
%67 = shl nsw i32 %66, 2
%68 = or i32 %67, 1
%69 = tail call i64 @alloca(i32 %68)
%70 = inttoptr i64 %69 to i8*
br label %71
71: ; preds = %95, %65
%72 = phi i8* [ %6, %65 ], [ %97, %95 ]
%73 = phi i8* [ %70, %65 ], [ %96, %95 ]
%74 = load i8, i8* %72
switch i8 %74, label %93 [
i8 32, label %75
i8 9, label %80
i8 10, label %85
i8 92, label %90
]
75: ; preds = %71
%76 = getelementptr inbounds i8, i8* %73, i64 1
store i8 92, i8* %73
%77 = getelementptr inbounds i8, i8* %73, i64 2
store i8 48, i8* %76
%78 = getelementptr inbounds i8, i8* %73, i64 3
store i8 52, i8* %77
%79 = getelementptr inbounds i8, i8* %73, i64 4
store i8 48, i8* %78
br label %95
80: ; preds = %71
%81 = getelementptr inbounds i8, i8* %73, i64 1
store i8 92, i8* %73
%82 = getelementptr inbounds i8, i8* %73, i64 2
store i8 48, i8* %81
%83 = getelementptr inbounds i8, i8* %73, i64 3
store i8 49, i8* %82
%84 = getelementptr inbounds i8, i8* %73, i64 4
store i8 49, i8* %83
br label %95
85: ; preds = %71
%86 = getelementptr inbounds i8, i8* %73, i64 1
store i8 92, i8* %73
%87 = getelementptr inbounds i8, i8* %73, i64 2
store i8 48, i8* %86
%88 = getelementptr inbounds i8, i8* %73, i64 3
store i8 49, i8* %87
%89 = getelementptr inbounds i8, i8* %73, i64 4
store i8 50, i8* %88
br label %95
90: ; preds = %71
%91 = getelementptr inbounds i8, i8* %73, i64 1
store i8 92, i8* %73
%92 = getelementptr inbounds i8, i8* %73, i64 2
store i8 92, i8* %91
br label %95
93: ; preds = %71
%94 = getelementptr inbounds i8, i8* %73, i64 1
store i8 %74, i8* %73
br label %95
95: ; preds = %75, %85, %93, %90, %80
%96 = phi i8* [ %79, %75 ], [ %84, %80 ], [ %89, %85 ], [ %92, %90 ], [ %94, %93 ]
%97 = getelementptr inbounds i8, i8* %72, i64 1
%98 = load i8, i8* %72
%99 = icmp eq i8 %98, 0
br i1 %99, label %100, label %71
100: ; preds = %60, %95
%101 = phi i8* [ %70, %95 ], [ %6, %60 ]
br label %102
102: ; preds = %105, %100
%103 = phi i8* [ %8, %100 ], [ %106, %105 ]
%104 = load i8, i8* %103
switch i8 %104, label %105 [
i8 0, label %142
i8 9, label %107
i8 10, label %107
i8 32, label %107
i8 92, label %107
]
105: ; preds = %102
%106 = getelementptr inbounds i8, i8* %103, i64 1
br label %102
107: ; preds = %102, %102, %102, %102
%108 = tail call i32 @strlen(i8* %8)
%109 = shl nsw i32 %108, 2
%110 = or i32 %109, 1
%111 = tail call i64 @alloca(i32 %110)
%112 = inttoptr i64 %111 to i8*
br label %113
113: ; preds = %137, %107
%114 = phi i8* [ %8, %107 ], [ %139, %137 ]
%115 = phi i8* [ %112, %107 ], [ %138, %137 ]
%116 = load i8, i8* %114
switch i8 %116, label %135 [
i8 32, label %117
i8 9, label %122
i8 10, label %127
i8 92, label %132
]
117: ; preds = %113
%118 = getelementptr inbounds i8, i8* %115, i64 1
store i8 92, i8* %115
%119 = getelementptr inbounds i8, i8* %115, i64 2
store i8 48, i8* %118
%120 = getelementptr inbounds i8, i8* %115, i64 3
store i8 52, i8* %119
%121 = getelementptr inbounds i8, i8* %115, i64 4
store i8 48, i8* %120
br label %137
122: ; preds = %113
%123 = getelementptr inbounds i8, i8* %115, i64 1
store i8 92, i8* %115
%124 = getelementptr inbounds i8, i8* %115, i64 2
store i8 48, i8* %123
%125 = getelementptr inbounds i8, i8* %115, i64 3
store i8 49, i8* %124
%126 = getelementptr inbounds i8, i8* %115, i64 4
store i8 49, i8* %125
br label %137
127: ; preds = %113
%128 = getelementptr inbounds i8, i8* %115, i64 1
store i8 92, i8* %115
%129 = getelementptr inbounds i8, i8* %115, i64 2
store i8 48, i8* %128
%130 = getelementptr inbounds i8, i8* %115, i64 3
store i8 49, i8* %129
%131 = getelementptr inbounds i8, i8* %115, i64 4
store i8 50, i8* %130
br label %137
132: ; preds = %113
%133 = getelementptr inbounds i8, i8* %115, i64 1
store i8 92, i8* %115
%134 = getelementptr inbounds i8, i8* %115, i64 2
store i8 92, i8* %133
br label %137
135: ; preds = %113
%136 = getelementptr inbounds i8, i8* %115, i64 1
store i8 %116, i8* %115
br label %137
137: ; preds = %117, %127, %135, %132, %122
%138 = phi i8* [ %121, %117 ], [ %126, %122 ], [ %131, %127 ], [ %134, %132 ], [ %136, %135 ]
%139 = getelementptr inbounds i8, i8* %114, i64 1
%140 = load i8, i8* %114
%141 = icmp eq i8 %140, 0
br i1 %141, label %142, label %113
142: ; preds = %102, %137
%143 = phi i8* [ %112, %137 ], [ %8, %102 ]
br label %144
144: ; preds = %147, %142
%145 = phi i8* [ %10, %142 ], [ %148, %147 ]
%146 = load i8, i8* %145
switch i8 %146, label %147 [
i8 0, label %184
i8 9, label %149
i8 10, label %149
i8 32, label %149
i8 92, label %149
]
147: ; preds = %144
%148 = getelementptr inbounds i8, i8* %145, i64 1
br label %144
149: ; preds = %144, %144, %144, %144
%150 = tail call i32 @strlen(i8* %10)
%151 = shl nsw i32 %150, 2
%152 = or i32 %151, 1
%153 = tail call i64 @alloca(i32 %152)
%154 = inttoptr i64 %153 to i8*
br label %155
155: ; preds = %179, %149
%156 = phi i8* [ %10, %149 ], [ %181, %179 ]
%157 = phi i8* [ %154, %149 ], [ %180, %179 ]
%158 = load i8, i8* %156
switch i8 %158, label %177 [
i8 32, label %159
i8 9, label %164
i8 10, label %169
i8 92, label %174
]
159: ; preds = %155
%160 = getelementptr inbounds i8, i8* %157, i64 1
store i8 92, i8* %157
%161 = getelementptr inbounds i8, i8* %157, i64 2
store i8 48, i8* %160
%162 = getelementptr inbounds i8, i8* %157, i64 3
store i8 52, i8* %161
%163 = getelementptr inbounds i8, i8* %157, i64 4
store i8 48, i8* %162
br label %179
164: ; preds = %155
%165 = getelementptr inbounds i8, i8* %157, i64 1
store i8 92, i8* %157
%166 = getelementptr inbounds i8, i8* %157, i64 2
store i8 48, i8* %165
%167 = getelementptr inbounds i8, i8* %157, i64 3
store i8 49, i8* %166
%168 = getelementptr inbounds i8, i8* %157, i64 4
store i8 49, i8* %167
br label %179
169: ; preds = %155
%170 = getelementptr inbounds i8, i8* %157, i64 1
store i8 92, i8* %157
%171 = getelementptr inbounds i8, i8* %157, i64 2
store i8 48, i8* %170
%172 = getelementptr inbounds i8, i8* %157, i64 3
store i8 49, i8* %171
%173 = getelementptr inbounds i8, i8* %157, i64 4
store i8 50, i8* %172
br label %179
174: ; preds = %155
%175 = getelementptr inbounds i8, i8* %157, i64 1
store i8 92, i8* %157
%176 = getelementptr inbounds i8, i8* %157, i64 2
store i8 92, i8* %175
br label %179
177: ; preds = %155
%178 = getelementptr inbounds i8, i8* %157, i64 1
store i8 %158, i8* %157
br label %179
179: ; preds = %159, %169, %177, %174, %164
%180 = phi i8* [ %163, %159 ], [ %168, %164 ], [ %173, %169 ], [ %176, %174 ], [ %178, %177 ]
%181 = getelementptr inbounds i8, i8* %156, i64 1
%182 = load i8, i8* %156
%183 = icmp eq i8 %182, 0
br i1 %183, label %184, label %155
184: ; preds = %144, %179
%185 = phi i8* [ %154, %179 ], [ %10, %144 ]
%186 = tail call i64 @fprintf(i32* %0, i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str, i64 0, i64 0), i8* %59, i8* %101, i8* %143, i8* %185, i32 %12, i32 %14)
%187 = icmp slt i64 %186, 0
br i1 %187, label %192, label %188
188: ; preds = %184
%189 = tail call i64 @fflush(i32* %0)
%190 = icmp ne i64 %189, 0
%191 = zext i1 %190 to i32
br label %192
192: ; preds = %184, %188, %2
%193 = phi i32 [ 1, %2 ], [ 1, %184 ], [ %191, %188 ]
ret i32 %193
}