#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 /*<<< orphan*/ print(char *);
char *nextelem(char *path, char *elem) {
  int i;
  while (*path == '/')
    path++;
  if (*path == 0 || *path == ' ')
    return 0;
  for (i = 0; *path != '\0' && *path != '/' && *path != ' '; i++) {
    if (i == 28) {
      print("name component too long\n");
      return 0;
    }
    *elem++ = *path++;
  }
  *elem = '\0';
  return path;
}


x86 assembly (clang, -O0):
<nextelem>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x2f,%eax
jne    1141 <nextelem+0x31>
mov    -0x10(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x10(%rbp)
jmp    1120 <nextelem+0x10>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x0,%eax
je     1161 <nextelem+0x51>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
jne    116e <nextelem+0x5e>
movq   $0x0,-0x8(%rbp)
jmp    1221 <nextelem+0x111>
movl   $0x0,-0x1c(%rbp)
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x0,%ecx
mov    %al,-0x1d(%rbp)
je     11af <nextelem+0x9f>
mov    -0x10(%rbp),%rax
movsbl (%rax),%ecx
xor    %eax,%eax
cmp    $0x2f,%ecx
mov    %al,-0x1d(%rbp)
je     11af <nextelem+0x9f>
mov    -0x10(%rbp),%rax
movsbl (%rax),%eax
cmp    $0x20,%eax
setne  %al
mov    %al,-0x1d(%rbp)
mov    -0x1d(%rbp),%al
test   $0x1,%al
jne    11bf <nextelem+0xaf>
jmp    1212 <nextelem+0x102>
cmpl   $0x1c,-0x1c(%rbp)
jne    11e2 <nextelem+0xd2>
lea    0xe30(%rip),%rdi
call   1030 <print@plt>
movq   $0x0,-0x8(%rbp)
jmp    1221 <nextelem+0x111>
mov    -0x10(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x10(%rbp)
mov    (%rax),%cl
mov    -0x18(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x18(%rbp)
mov    %cl,(%rax)
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1175 <nextelem+0x65>
mov    -0x18(%rbp),%rax
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<nextelem>:
push   %rax
mov    %rdi,%rax
add    $0x1c,%rax
nopl   0x0(%rax,%rax,1)
movzbl -0x1c(%rax),%ecx
cmp    $0x2f,%cl
jne    112f <nextelem+0x1f>
add    $0x1,%rax
jmp    1120 <nextelem+0x10>
test   %cl,%cl
je     1138 <nextelem+0x28>
cmp    $0x20,%cl
jne    113c <nextelem+0x2c>
xor    %eax,%eax
pop    %rcx
ret
mov    %cl,(%rsi)
movzbl -0x1b(%rax),%edx
movabs $0x800100000001,%rcx
cmp    $0x2f,%rdx
ja     1165 <nextelem+0x55>
bt     %rdx,%rcx
jae    1165 <nextelem+0x55>
add    $0xffffffffffffffe5,%rax
add    $0x1,%rsi
movb   $0x0,(%rsi)
pop    %rcx
ret
mov    %dl,0x1(%rsi)
movzbl -0x1a(%rax),%edx
cmp    $0x2f,%rdx
ja     1182 <nextelem+0x72>
bt     %rdx,%rcx
jae    1182 <nextelem+0x72>
add    $0xffffffffffffffe6,%rax
add    $0x2,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x2(%rsi)
movzbl -0x19(%rax),%edx
cmp    $0x2f,%rdx
ja     119f <nextelem+0x8f>
bt     %rdx,%rcx
jae    119f <nextelem+0x8f>
add    $0xffffffffffffffe7,%rax
add    $0x3,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x3(%rsi)
movzbl -0x18(%rax),%edx
cmp    $0x2f,%rdx
ja     11bc <nextelem+0xac>
bt     %rdx,%rcx
jae    11bc <nextelem+0xac>
add    $0xffffffffffffffe8,%rax
add    $0x4,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x4(%rsi)
movzbl -0x17(%rax),%edx
cmp    $0x2f,%rdx
ja     11d9 <nextelem+0xc9>
bt     %rdx,%rcx
jae    11d9 <nextelem+0xc9>
add    $0xffffffffffffffe9,%rax
add    $0x5,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x5(%rsi)
movzbl -0x16(%rax),%edx
cmp    $0x2f,%rdx
ja     11f9 <nextelem+0xe9>
bt     %rdx,%rcx
jae    11f9 <nextelem+0xe9>
add    $0xffffffffffffffea,%rax
add    $0x6,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x6(%rsi)
movzbl -0x15(%rax),%edx
cmp    $0x2f,%rdx
ja     1219 <nextelem+0x109>
bt     %rdx,%rcx
jae    1219 <nextelem+0x109>
add    $0xffffffffffffffeb,%rax
add    $0x7,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x7(%rsi)
movzbl -0x14(%rax),%edx
cmp    $0x2f,%rdx
ja     1239 <nextelem+0x129>
bt     %rdx,%rcx
jae    1239 <nextelem+0x129>
add    $0xffffffffffffffec,%rax
add    $0x8,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x8(%rsi)
movzbl -0x13(%rax),%edx
cmp    $0x2f,%rdx
ja     1259 <nextelem+0x149>
bt     %rdx,%rcx
jae    1259 <nextelem+0x149>
add    $0xffffffffffffffed,%rax
add    $0x9,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x9(%rsi)
movzbl -0x12(%rax),%edx
cmp    $0x2f,%rdx
ja     1279 <nextelem+0x169>
bt     %rdx,%rcx
jae    1279 <nextelem+0x169>
add    $0xffffffffffffffee,%rax
add    $0xa,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0xa(%rsi)
movzbl -0x11(%rax),%edx
cmp    $0x2f,%rdx
ja     1299 <nextelem+0x189>
bt     %rdx,%rcx
jae    1299 <nextelem+0x189>
add    $0xffffffffffffffef,%rax
add    $0xb,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0xb(%rsi)
movzbl -0x10(%rax),%edx
cmp    $0x2f,%rdx
ja     12b9 <nextelem+0x1a9>
bt     %rdx,%rcx
jae    12b9 <nextelem+0x1a9>
add    $0xfffffffffffffff0,%rax
add    $0xc,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0xc(%rsi)
movzbl -0xf(%rax),%edx
cmp    $0x2f,%rdx
ja     12d9 <nextelem+0x1c9>
bt     %rdx,%rcx
jae    12d9 <nextelem+0x1c9>
add    $0xfffffffffffffff1,%rax
add    $0xd,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0xd(%rsi)
movzbl -0xe(%rax),%edx
cmp    $0x2f,%rdx
ja     12f9 <nextelem+0x1e9>
bt     %rdx,%rcx
jae    12f9 <nextelem+0x1e9>
add    $0xfffffffffffffff2,%rax
add    $0xe,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0xe(%rsi)
movzbl -0xd(%rax),%edx
cmp    $0x2f,%rdx
ja     1319 <nextelem+0x209>
bt     %rdx,%rcx
jae    1319 <nextelem+0x209>
add    $0xfffffffffffffff3,%rax
add    $0xf,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0xf(%rsi)
movzbl -0xc(%rax),%edx
cmp    $0x2f,%rdx
ja     1339 <nextelem+0x229>
bt     %rdx,%rcx
jae    1339 <nextelem+0x229>
add    $0xfffffffffffffff4,%rax
add    $0x10,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x10(%rsi)
movzbl -0xb(%rax),%edx
cmp    $0x2f,%rdx
ja     1359 <nextelem+0x249>
bt     %rdx,%rcx
jae    1359 <nextelem+0x249>
add    $0xfffffffffffffff5,%rax
add    $0x11,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x11(%rsi)
movzbl -0xa(%rax),%edx
cmp    $0x2f,%rdx
ja     1379 <nextelem+0x269>
bt     %rdx,%rcx
jae    1379 <nextelem+0x269>
add    $0xfffffffffffffff6,%rax
add    $0x12,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x12(%rsi)
movzbl -0x9(%rax),%edx
cmp    $0x2f,%rdx
ja     1399 <nextelem+0x289>
bt     %rdx,%rcx
jae    1399 <nextelem+0x289>
add    $0xfffffffffffffff7,%rax
add    $0x13,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x13(%rsi)
movzbl -0x8(%rax),%edx
cmp    $0x2f,%rdx
ja     13b9 <nextelem+0x2a9>
bt     %rdx,%rcx
jae    13b9 <nextelem+0x2a9>
add    $0xfffffffffffffff8,%rax
add    $0x14,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x14(%rsi)
movzbl -0x7(%rax),%edx
cmp    $0x2f,%rdx
ja     13d9 <nextelem+0x2c9>
bt     %rdx,%rcx
jae    13d9 <nextelem+0x2c9>
add    $0xfffffffffffffff9,%rax
add    $0x15,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x15(%rsi)
movzbl -0x6(%rax),%edx
cmp    $0x2f,%rdx
ja     13f9 <nextelem+0x2e9>
bt     %rdx,%rcx
jae    13f9 <nextelem+0x2e9>
add    $0xfffffffffffffffa,%rax
add    $0x16,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x16(%rsi)
movzbl -0x5(%rax),%edx
cmp    $0x2f,%rdx
ja     1419 <nextelem+0x309>
bt     %rdx,%rcx
jae    1419 <nextelem+0x309>
add    $0xfffffffffffffffb,%rax
add    $0x17,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x17(%rsi)
movzbl -0x4(%rax),%edx
cmp    $0x2f,%rdx
ja     1439 <nextelem+0x329>
bt     %rdx,%rcx
jae    1439 <nextelem+0x329>
add    $0xfffffffffffffffc,%rax
add    $0x18,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x18(%rsi)
movzbl -0x3(%rax),%edx
cmp    $0x2f,%rdx
ja     1459 <nextelem+0x349>
bt     %rdx,%rcx
jae    1459 <nextelem+0x349>
add    $0xfffffffffffffffd,%rax
add    $0x19,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x19(%rsi)
movzbl -0x2(%rax),%edx
cmp    $0x2f,%rdx
ja     1479 <nextelem+0x369>
bt     %rdx,%rcx
jae    1479 <nextelem+0x369>
add    $0xfffffffffffffffe,%rax
add    $0x1a,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x1a(%rsi)
movzbl -0x1(%rax),%edx
cmp    $0x2f,%rdx
ja     1499 <nextelem+0x389>
bt     %rdx,%rcx
jae    1499 <nextelem+0x389>
add    $0xffffffffffffffff,%rax
add    $0x1b,%rsi
jmp    1160 <nextelem+0x50>
mov    %dl,0x1b(%rsi)
movzbl (%rax),%edx
cmp    $0x2f,%rdx
ja     14b4 <nextelem+0x3a4>
bt     %rdx,%rcx
jae    14b4 <nextelem+0x3a4>
add    $0x1c,%rsi
jmp    1160 <nextelem+0x50>
lea    0xb45(%rip),%rdi
call   1030 <print@plt>
jmp    1138 <nextelem+0x28>

LLVM IR (-O0):
@.str = [25 x i8] c"name component too long\0A\00"
define i8* @nextelem(i8* %0, i8* %1) {
%3 = alloca i8*
%4 = alloca i8*
%5 = alloca i8*
%6 = alloca i32
store i8* %0, i8** %4
store i8* %1, i8** %5
br label %7
7: ; preds = %12, %2
%8 = load i8*, i8** %4
%9 = load i8, i8* %8
%10 = sext i8 %9 to i32
%11 = icmp eq i32 %10, 47
br i1 %11, label %12, label %15
12: ; preds = %7
%13 = load i8*, i8** %4
%14 = getelementptr inbounds i8, i8* %13, i32 1
store i8* %14, i8** %4
br label %7
15: ; preds = %7
%16 = load i8*, i8** %4
%17 = load i8, i8* %16
%18 = sext i8 %17 to i32
%19 = icmp eq i32 %18, 0
br i1 %19, label %25, label %20
20: ; preds = %15
%21 = load i8*, i8** %4
%22 = load i8, i8* %21
%23 = sext i8 %22 to i32
%24 = icmp eq i32 %23, 32
br i1 %24, label %25, label %26
25: ; preds = %20, %15
store i8* null, i8** %3
br label %61
26: ; preds = %20
store i32 0, i32* %6
br label %27
27: ; preds = %55, %26
%28 = load i8*, i8** %4
%29 = load i8, i8* %28
%30 = sext i8 %29 to i32
%31 = icmp ne i32 %30, 0
br i1 %31, label %32, label %42
32: ; preds = %27
%33 = load i8*, i8** %4
%34 = load i8, i8* %33
%35 = sext i8 %34 to i32
%36 = icmp ne i32 %35, 47
br i1 %36, label %37, label %42
37: ; preds = %32
%38 = load i8*, i8** %4
%39 = load i8, i8* %38
%40 = sext i8 %39 to i32
%41 = icmp ne i32 %40, 32
br label %42
42: ; preds = %37, %32, %27
%43 = phi i1 [ false, %32 ], [ false, %27 ], [ %41, %37 ]
br i1 %43, label %44, label %58
44: ; preds = %42
%45 = load i32, i32* %6
%46 = icmp eq i32 %45, 28
br i1 %46, label %47, label %49
47: ; preds = %44
%48 = call i32 @print(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0))
store i8* null, i8** %3
br label %61
49: ; preds = %44
%50 = load i8*, i8** %4
%51 = getelementptr inbounds i8, i8* %50, i32 1
store i8* %51, i8** %4
%52 = load i8, i8* %50
%53 = load i8*, i8** %5
%54 = getelementptr inbounds i8, i8* %53, i32 1
store i8* %54, i8** %5
store i8 %52, i8* %53
br label %55
55: ; preds = %49
%56 = load i32, i32* %6
%57 = add nsw i32 %56, 1
store i32 %57, i32* %6
br label %27
58: ; preds = %42
%59 = load i8*, i8** %5
store i8 0, i8* %59
%60 = load i8*, i8** %4
store i8* %60, i8** %3
br label %61
61: ; preds = %58, %47, %25
%62 = load i8*, i8** %3
ret i8* %62
}

LLVM IR (-O2):
@.str = [25 x i8] c"name component too long\0A\00"
define i8* @nextelem(i8* %0, i8* nocapture writeonly %1) {
br label %3
3: ; preds = %6, %2
%4 = phi i8* [ %0, %2 ], [ %7, %6 ]
%5 = load i8, i8* %4
switch i8 %5, label %8 [
i8 47, label %6
i8 0, label %125
i8 32, label %125
]
6: ; preds = %3
%7 = getelementptr inbounds i8, i8* %4, i64 1
br label %3
8: ; preds = %3
%9 = getelementptr inbounds i8, i8* %4, i64 1
%10 = getelementptr inbounds i8, i8* %1, i64 1
store i8 %5, i8* %1
%11 = load i8, i8* %9
switch i8 %11, label %14 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
12: ; preds = %118
%13 = tail call i32 @print(i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str, i64 0, i64 0))
br label %125
14: ; preds = %8
%15 = getelementptr inbounds i8, i8* %4, i64 2
%16 = getelementptr inbounds i8, i8* %1, i64 2
store i8 %11, i8* %10
%17 = load i8, i8* %15
switch i8 %17, label %18 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
18: ; preds = %14
%19 = getelementptr inbounds i8, i8* %4, i64 3
%20 = getelementptr inbounds i8, i8* %1, i64 3
store i8 %17, i8* %16
%21 = load i8, i8* %19
switch i8 %21, label %22 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
22: ; preds = %18
%23 = getelementptr inbounds i8, i8* %4, i64 4
%24 = getelementptr inbounds i8, i8* %1, i64 4
store i8 %21, i8* %20
%25 = load i8, i8* %23
switch i8 %25, label %26 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
26: ; preds = %22
%27 = getelementptr inbounds i8, i8* %4, i64 5
%28 = getelementptr inbounds i8, i8* %1, i64 5
store i8 %25, i8* %24
%29 = load i8, i8* %27
switch i8 %29, label %30 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
30: ; preds = %26
%31 = getelementptr inbounds i8, i8* %4, i64 6
%32 = getelementptr inbounds i8, i8* %1, i64 6
store i8 %29, i8* %28
%33 = load i8, i8* %31
switch i8 %33, label %34 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
34: ; preds = %30
%35 = getelementptr inbounds i8, i8* %4, i64 7
%36 = getelementptr inbounds i8, i8* %1, i64 7
store i8 %33, i8* %32
%37 = load i8, i8* %35
switch i8 %37, label %38 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
38: ; preds = %34
%39 = getelementptr inbounds i8, i8* %4, i64 8
%40 = getelementptr inbounds i8, i8* %1, i64 8
store i8 %37, i8* %36
%41 = load i8, i8* %39
switch i8 %41, label %42 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
42: ; preds = %38
%43 = getelementptr inbounds i8, i8* %4, i64 9
%44 = getelementptr inbounds i8, i8* %1, i64 9
store i8 %41, i8* %40
%45 = load i8, i8* %43
switch i8 %45, label %46 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
46: ; preds = %42
%47 = getelementptr inbounds i8, i8* %4, i64 10
%48 = getelementptr inbounds i8, i8* %1, i64 10
store i8 %45, i8* %44
%49 = load i8, i8* %47
switch i8 %49, label %50 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
50: ; preds = %46
%51 = getelementptr inbounds i8, i8* %4, i64 11
%52 = getelementptr inbounds i8, i8* %1, i64 11
store i8 %49, i8* %48
%53 = load i8, i8* %51
switch i8 %53, label %54 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
54: ; preds = %50
%55 = getelementptr inbounds i8, i8* %4, i64 12
%56 = getelementptr inbounds i8, i8* %1, i64 12
store i8 %53, i8* %52
%57 = load i8, i8* %55
switch i8 %57, label %58 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
58: ; preds = %54
%59 = getelementptr inbounds i8, i8* %4, i64 13
%60 = getelementptr inbounds i8, i8* %1, i64 13
store i8 %57, i8* %56
%61 = load i8, i8* %59
switch i8 %61, label %62 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
62: ; preds = %58
%63 = getelementptr inbounds i8, i8* %4, i64 14
%64 = getelementptr inbounds i8, i8* %1, i64 14
store i8 %61, i8* %60
%65 = load i8, i8* %63
switch i8 %65, label %66 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
66: ; preds = %62
%67 = getelementptr inbounds i8, i8* %4, i64 15
%68 = getelementptr inbounds i8, i8* %1, i64 15
store i8 %65, i8* %64
%69 = load i8, i8* %67
switch i8 %69, label %70 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
70: ; preds = %66
%71 = getelementptr inbounds i8, i8* %4, i64 16
%72 = getelementptr inbounds i8, i8* %1, i64 16
store i8 %69, i8* %68
%73 = load i8, i8* %71
switch i8 %73, label %74 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
74: ; preds = %70
%75 = getelementptr inbounds i8, i8* %4, i64 17
%76 = getelementptr inbounds i8, i8* %1, i64 17
store i8 %73, i8* %72
%77 = load i8, i8* %75
switch i8 %77, label %78 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
78: ; preds = %74
%79 = getelementptr inbounds i8, i8* %4, i64 18
%80 = getelementptr inbounds i8, i8* %1, i64 18
store i8 %77, i8* %76
%81 = load i8, i8* %79
switch i8 %81, label %82 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
82: ; preds = %78
%83 = getelementptr inbounds i8, i8* %4, i64 19
%84 = getelementptr inbounds i8, i8* %1, i64 19
store i8 %81, i8* %80
%85 = load i8, i8* %83
switch i8 %85, label %86 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
86: ; preds = %82
%87 = getelementptr inbounds i8, i8* %4, i64 20
%88 = getelementptr inbounds i8, i8* %1, i64 20
store i8 %85, i8* %84
%89 = load i8, i8* %87
switch i8 %89, label %90 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
90: ; preds = %86
%91 = getelementptr inbounds i8, i8* %4, i64 21
%92 = getelementptr inbounds i8, i8* %1, i64 21
store i8 %89, i8* %88
%93 = load i8, i8* %91
switch i8 %93, label %94 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
94: ; preds = %90
%95 = getelementptr inbounds i8, i8* %4, i64 22
%96 = getelementptr inbounds i8, i8* %1, i64 22
store i8 %93, i8* %92
%97 = load i8, i8* %95
switch i8 %97, label %98 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
98: ; preds = %94
%99 = getelementptr inbounds i8, i8* %4, i64 23
%100 = getelementptr inbounds i8, i8* %1, i64 23
store i8 %97, i8* %96
%101 = load i8, i8* %99
switch i8 %101, label %102 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
102: ; preds = %98
%103 = getelementptr inbounds i8, i8* %4, i64 24
%104 = getelementptr inbounds i8, i8* %1, i64 24
store i8 %101, i8* %100
%105 = load i8, i8* %103
switch i8 %105, label %106 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
106: ; preds = %102
%107 = getelementptr inbounds i8, i8* %4, i64 25
%108 = getelementptr inbounds i8, i8* %1, i64 25
store i8 %105, i8* %104
%109 = load i8, i8* %107
switch i8 %109, label %110 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
110: ; preds = %106
%111 = getelementptr inbounds i8, i8* %4, i64 26
%112 = getelementptr inbounds i8, i8* %1, i64 26
store i8 %109, i8* %108
%113 = load i8, i8* %111
switch i8 %113, label %114 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
114: ; preds = %110
%115 = getelementptr inbounds i8, i8* %4, i64 27
%116 = getelementptr inbounds i8, i8* %1, i64 27
store i8 %113, i8* %112
%117 = load i8, i8* %115
switch i8 %117, label %118 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
118: ; preds = %114
%119 = getelementptr inbounds i8, i8* %4, i64 28
%120 = getelementptr inbounds i8, i8* %1, i64 28
store i8 %117, i8* %116
%121 = load i8, i8* %119
switch i8 %121, label %12 [
i8 0, label %122
i8 47, label %122
i8 32, label %122
]
122: ; preds = %118, %118, %118, %114, %114, %114, %110, %110, %110, %106, %106, %106, %102, %102, %102, %98, %98, %98, %94, %94, %94, %90, %90, %90, %86, %86, %86, %82, %82, %82, %78, %78, %78, %74, %74, %74, %70, %70, %70, %66, %66, %66, %62, %62, %62, %58, %58, %58, %54, %54, %54, %50, %50, %50, %46, %46, %46, %42, %42, %42, %38, %38, %38, %34, %34, %34, %30, %30, %30, %26, %26, %26, %22, %22, %22, %18, %18, %18, %14, %14, %14, %8, %8, %8
%123 = phi i8* [ %9, %8 ], [ %9, %8 ], [ %9, %8 ], [ %15, %14 ], [ %15, %14 ], [ %15, %14 ], [ %19, %18 ], [ %19, %18 ], [ %19, %18 ], [ %23, %22 ], [ %23, %22 ], [ %23, %22 ], [ %27, %26 ], [ %27, %26 ], [ %27, %26 ], [ %31, %30 ], [ %31, %30 ], [ %31, %30 ], [ %35, %34 ], [ %35, %34 ], [ %35, %34 ], [ %39, %38 ], [ %39, %38 ], [ %39, %38 ], [ %43, %42 ], [ %43, %42 ], [ %43, %42 ], [ %47, %46 ], [ %47, %46 ], [ %47, %46 ], [ %51, %50 ], [ %51, %50 ], [ %51, %50 ], [ %55, %54 ], [ %55, %54 ], [ %55, %54 ], [ %59, %58 ], [ %59, %58 ], [ %59, %58 ], [ %63, %62 ], [ %63, %62 ], [ %63, %62 ], [ %67, %66 ], [ %67, %66 ], [ %67, %66 ], [ %71, %70 ], [ %71, %70 ], [ %71, %70 ], [ %75, %74 ], [ %75, %74 ], [ %75, %74 ], [ %79, %78 ], [ %79, %78 ], [ %79, %78 ], [ %83, %82 ], [ %83, %82 ], [ %83, %82 ], [ %87, %86 ], [ %87, %86 ], [ %87, %86 ], [ %91, %90 ], [ %91, %90 ], [ %91, %90 ], [ %95, %94 ], [ %95, %94 ], [ %95, %94 ], [ %99, %98 ], [ %99, %98 ], [ %99, %98 ], [ %103, %102 ], [ %103, %102 ], [ %103, %102 ], [ %107, %106 ], [ %107, %106 ], [ %107, %106 ], [ %111, %110 ], [ %111, %110 ], [ %111, %110 ], [ %115, %114 ], [ %115, %114 ], [ %115, %114 ], [ %119, %118 ], [ %119, %118 ], [ %119, %118 ]
%124 = phi i8* [ %10, %8 ], [ %10, %8 ], [ %10, %8 ], [ %16, %14 ], [ %16, %14 ], [ %16, %14 ], [ %20, %18 ], [ %20, %18 ], [ %20, %18 ], [ %24, %22 ], [ %24, %22 ], [ %24, %22 ], [ %28, %26 ], [ %28, %26 ], [ %28, %26 ], [ %32, %30 ], [ %32, %30 ], [ %32, %30 ], [ %36, %34 ], [ %36, %34 ], [ %36, %34 ], [ %40, %38 ], [ %40, %38 ], [ %40, %38 ], [ %44, %42 ], [ %44, %42 ], [ %44, %42 ], [ %48, %46 ], [ %48, %46 ], [ %48, %46 ], [ %52, %50 ], [ %52, %50 ], [ %52, %50 ], [ %56, %54 ], [ %56, %54 ], [ %56, %54 ], [ %60, %58 ], [ %60, %58 ], [ %60, %58 ], [ %64, %62 ], [ %64, %62 ], [ %64, %62 ], [ %68, %66 ], [ %68, %66 ], [ %68, %66 ], [ %72, %70 ], [ %72, %70 ], [ %72, %70 ], [ %76, %74 ], [ %76, %74 ], [ %76, %74 ], [ %80, %78 ], [ %80, %78 ], [ %80, %78 ], [ %84, %82 ], [ %84, %82 ], [ %84, %82 ], [ %88, %86 ], [ %88, %86 ], [ %88, %86 ], [ %92, %90 ], [ %92, %90 ], [ %92, %90 ], [ %96, %94 ], [ %96, %94 ], [ %96, %94 ], [ %100, %98 ], [ %100, %98 ], [ %100, %98 ], [ %104, %102 ], [ %104, %102 ], [ %104, %102 ], [ %108, %106 ], [ %108, %106 ], [ %108, %106 ], [ %112, %110 ], [ %112, %110 ], [ %112, %110 ], [ %116, %114 ], [ %116, %114 ], [ %116, %114 ], [ %120, %118 ], [ %120, %118 ], [ %120, %118 ]
store i8 0, i8* %124
br label %125
125: ; preds = %3, %3, %122, %12
%126 = phi i8* [ null, %12 ], [ %123, %122 ], [ null, %3 ], [ null, %3 ]
ret i8* %126
}