#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 */
typedef int /*<<< orphan*/ count;

/* Variables and functions */
int /*<<< orphan*/ bzero(int *, int);
char *i3_get_field(char *packet, char **ps) {
  int count[256];
  char has_apostrophe = 0, has_backslash = 0;
  char foundit = 0;
  bzero(count, sizeof(count));
  *ps = packet;
  while (1) {
    switch (*ps[0]) {
    case '{':
      if (!has_apostrophe)
        count[(int)'{']++;
      break;
    case '}':
      if (!has_apostrophe)
        count[(int)'}']++;
      break;
    case '[':
      if (!has_apostrophe)
        count[(int)'[']++;
      break;
    case ']':
      if (!has_apostrophe)
        count[(int)']']++;
      break;
    case '(':
      if (!has_apostrophe)
        count[(int)'(']++;
      break;
    case ')':
      if (!has_apostrophe)
        count[(int)')']++;
      break;
    case '\\':
      if (has_backslash)
        has_backslash = 0;
      else
        has_backslash = 1;
      break;
    case '"':
      if (has_backslash) {
        has_backslash = 0;
      } else {
        if (has_apostrophe)
          has_apostrophe = 0;
        else
          has_apostrophe = 1;
      }
      break;
    case ',':
    case ':':
      if (has_apostrophe)
        break;
      if (has_backslash)
        break;
      if (count[(int)'{'] != count[(int)'}'])
        break;
      if (count[(int)'['] != count[(int)']'])
        break;
      if (count[(int)'('] != count[(int)')'])
        break;
      foundit = 1;
      break;
    }
    if (foundit)
      break;
    (*ps)++;
  }
  *ps[0] = '\0';
  (*ps)++;
  return *ps;
}


x86 assembly (clang, -O0):
<i3_get_field>:
push   %rbp
mov    %rsp,%rbp
sub    $0x420,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
movb   $0x0,-0x411(%rbp)
movb   $0x0,-0x412(%rbp)
movb   $0x0,-0x413(%rbp)
lea    -0x410(%rbp),%rdi
mov    $0x400,%esi
call   1030 <bzero@plt>
mov    -0x8(%rbp),%rcx
mov    -0x10(%rbp),%rax
mov    %rcx,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movsbl (%rax),%eax
add    $0xffffffde,%eax
mov    %eax,%ecx
mov    %rcx,-0x420(%rbp)
sub    $0x5b,%eax
ja     1328 <i3_get_field+0x218>
mov    -0x420(%rbp),%rax
lea    0xe7f(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
cmpb   $0x0,-0x411(%rbp)
jne    11a6 <i3_get_field+0x96>
mov    -0x224(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x224(%rbp)
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x411(%rbp)
jne    11c7 <i3_get_field+0xb7>
mov    -0x21c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x21c(%rbp)
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x411(%rbp)
jne    11e8 <i3_get_field+0xd8>
mov    -0x2a4(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2a4(%rbp)
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x411(%rbp)
jne    1209 <i3_get_field+0xf9>
mov    -0x29c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x29c(%rbp)
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x411(%rbp)
jne    122a <i3_get_field+0x11a>
mov    -0x370(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x370(%rbp)
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x411(%rbp)
jne    124b <i3_get_field+0x13b>
mov    -0x36c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x36c(%rbp)
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x412(%rbp)
je     1269 <i3_get_field+0x159>
movb   $0x0,-0x412(%rbp)
jmp    1270 <i3_get_field+0x160>
movb   $0x1,-0x412(%rbp)
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x412(%rbp)
je     128e <i3_get_field+0x17e>
movb   $0x0,-0x412(%rbp)
jmp    12b3 <i3_get_field+0x1a3>
cmpb   $0x0,-0x411(%rbp)
je     12a7 <i3_get_field+0x197>
movb   $0x0,-0x411(%rbp)
jmp    12ae <i3_get_field+0x19e>
movb   $0x1,-0x411(%rbp)
jmp    12b3 <i3_get_field+0x1a3>
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x411(%rbp)
je     12ca <i3_get_field+0x1ba>
jmp    1328 <i3_get_field+0x218>
cmpb   $0x0,-0x412(%rbp)
je     12dc <i3_get_field+0x1cc>
jmp    1328 <i3_get_field+0x218>
mov    -0x224(%rbp),%eax
cmp    -0x21c(%rbp),%eax
je     12f3 <i3_get_field+0x1e3>
jmp    1328 <i3_get_field+0x218>
mov    -0x2a4(%rbp),%eax
cmp    -0x29c(%rbp),%eax
je     130a <i3_get_field+0x1fa>
jmp    1328 <i3_get_field+0x218>
mov    -0x370(%rbp),%eax
cmp    -0x36c(%rbp),%eax
je     1321 <i3_get_field+0x211>
jmp    1328 <i3_get_field+0x218>
movb   $0x1,-0x413(%rbp)
cmpb   $0x0,-0x413(%rbp)
je     133a <i3_get_field+0x22a>
jmp    134d <i3_get_field+0x23d>
mov    -0x10(%rbp),%rax
mov    (%rax),%rcx
add    $0x1,%rcx
mov    %rcx,(%rax)
jmp    1154 <i3_get_field+0x44>
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movb   $0x0,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%rcx
add    $0x1,%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
add    $0x420,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<i3_get_field>:
push   %rbp
push   %r14
push   %rbx
sub    $0x400,%rsp
mov    %rsi,%r14
mov    %rdi,%rbx
mov    %rsp,%rdi
mov    $0x400,%esi
call   1030 <bzero@plt>
mov    0x1ec(%rsp),%ebp
mov    0x1f4(%rsp),%ecx
mov    0x16c(%rsp),%r10d
mov    0x174(%rsp),%r11d
mov    0xa0(%rsp),%r8d
mov    0xa4(%rsp),%r9d
xor    %esi,%esi
lea    0xe9b(%rip),%rdi
xor    %edx,%edx
jmp    1184 <i3_get_field+0x74>
mov    $0x0,%esi
cmp    %r9d,%r8d
je     1274 <i3_get_field+0x164>
nopw   0x0(%rax,%rax,1)
add    $0x1,%rbx
mov    %rbx,(%r14)
movsbl (%rbx),%eax
add    $0xffffffde,%eax
cmp    $0x5b,%eax
ja     1180 <i3_get_field+0x70>
movslq (%rdi,%rax,4),%rax
add    %rdi,%rax
jmp    *%rax
mov    %esi,%eax
or     %dl,%al
jne    1180 <i3_get_field+0x70>
xor    %edx,%edx
cmp    %ecx,%ebp
jne    1269 <i3_get_field+0x159>
cmp    %r11d,%r10d
je     1169 <i3_get_field+0x59>
xor    %esi,%esi
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
xor    %eax,%eax
test   %sil,%sil
setne  %sil
sete   %al
add    %eax,%r9d
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
xor    %eax,%eax
test   %sil,%sil
setne  %sil
sete   %al
add    %eax,%r10d
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
test   %dl,%dl
sete   %dl
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
xor    %eax,%eax
test   %sil,%sil
setne  %sil
sete   %al
add    %eax,%r11d
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
test   %dl,%dl
je     1257 <i3_get_field+0x147>
xor    %edx,%edx
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
xor    %eax,%eax
test   %sil,%sil
setne  %sil
sete   %al
add    %eax,%r8d
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
xor    %eax,%eax
test   %sil,%sil
setne  %sil
sete   %al
add    %eax,%ebp
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
xor    %eax,%eax
test   %sil,%sil
setne  %sil
sete   %al
add    %eax,%ecx
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
test   %sil,%sil
sete   %sil
xor    %edx,%edx
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
xor    %esi,%esi
add    $0x1,%rbx
jmp    1184 <i3_get_field+0x74>
movb   $0x0,(%rbx)
mov    (%r14),%rax
add    $0x1,%rax
mov    %rax,(%r14)
add    $0x400,%rsp
pop    %rbx
pop    %r14
pop    %rbp
ret

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

LLVM IR (-O2):
define i8* @i3_get_field(i8* %0, i8** nocapture %1) {
%3 = alloca [256 x i32]
%4 = bitcast [256 x i32]* %3 to i8*
%5 = getelementptr inbounds [256 x i32], [256 x i32]* %3, i64 0, i64 0
%6 = call i32 @bzero(i32* %5, i32 1024)
%7 = getelementptr inbounds [256 x i32], [256 x i32]* %3, i64 0, i64 40
%8 = getelementptr inbounds [256 x i32], [256 x i32]* %3, i64 0, i64 123
%9 = getelementptr inbounds [256 x i32], [256 x i32]* %3, i64 0, i64 125
%10 = getelementptr inbounds [256 x i32], [256 x i32]* %3, i64 0, i64 91
%11 = getelementptr inbounds [256 x i32], [256 x i32]* %3, i64 0, i64 93
%12 = getelementptr inbounds [256 x i32], [256 x i32]* %3, i64 0, i64 41
%13 = load i32, i32* %8
%14 = load i32, i32* %9
%15 = load i32, i32* %10
%16 = load i32, i32* %11
%17 = load i32, i32* %7
%18 = load i32, i32* %12
br label %19
19: ; preds = %85, %2
%20 = phi i32 [ %18, %2 ], [ %86, %85 ]
%21 = phi i32 [ %17, %2 ], [ %87, %85 ]
%22 = phi i32 [ %16, %2 ], [ %88, %85 ]
%23 = phi i32 [ %15, %2 ], [ %89, %85 ]
%24 = phi i32 [ %14, %2 ], [ %90, %85 ]
%25 = phi i32 [ %13, %2 ], [ %91, %85 ]
%26 = phi i8* [ %0, %2 ], [ %94, %85 ]
%27 = phi i8 [ 0, %2 ], [ %93, %85 ]
%28 = phi i8 [ 0, %2 ], [ %92, %85 ]
store i8* %26, i8** %1
%29 = load i8, i8* %26
%30 = sext i8 %29 to i32
switch i32 %30, label %85 [
i32 123, label %31
i32 125, label %37
i32 91, label %43
i32 93, label %49
i32 40, label %55
i32 41, label %61
i32 92, label %67
i32 34, label %70
i32 44, label %75
i32 58, label %75
]
31: ; preds = %19
%32 = icmp eq i8 %27, 0
%33 = zext i1 %32 to i32
%34 = add nsw i32 %25, %33
%35 = xor i1 %32, true
%36 = zext i1 %35 to i8
br label %85
37: ; preds = %19
%38 = icmp eq i8 %27, 0
%39 = zext i1 %38 to i32
%40 = add nsw i32 %24, %39
%41 = xor i1 %38, true
%42 = zext i1 %41 to i8
br label %85
43: ; preds = %19
%44 = icmp eq i8 %27, 0
%45 = zext i1 %44 to i32
%46 = add nsw i32 %23, %45
%47 = xor i1 %44, true
%48 = zext i1 %47 to i8
br label %85
49: ; preds = %19
%50 = icmp eq i8 %27, 0
%51 = zext i1 %50 to i32
%52 = add nsw i32 %22, %51
%53 = xor i1 %50, true
%54 = zext i1 %53 to i8
br label %85
55: ; preds = %19
%56 = icmp eq i8 %27, 0
%57 = zext i1 %56 to i32
%58 = add nsw i32 %21, %57
%59 = xor i1 %56, true
%60 = zext i1 %59 to i8
br label %85
61: ; preds = %19
%62 = icmp eq i8 %27, 0
%63 = zext i1 %62 to i32
%64 = add nsw i32 %20, %63
%65 = xor i1 %62, true
%66 = zext i1 %65 to i8
br label %85
67: ; preds = %19
%68 = icmp eq i8 %28, 0
%69 = zext i1 %68 to i8
br label %85
70: ; preds = %19
%71 = icmp eq i8 %28, 0
br i1 %71, label %72, label %85
72: ; preds = %70
%73 = icmp eq i8 %27, 0
%74 = zext i1 %73 to i8
br label %85
75: ; preds = %19, %19
%76 = icmp ne i8 %27, 0
%77 = icmp ne i8 %28, 0
%78 = select i1 %76, i1 true, i1 %77
br i1 %78, label %85, label %79
79: ; preds = %75
%80 = icmp eq i32 %25, %24
%81 = icmp eq i32 %23, %22
%82 = select i1 %80, i1 %81, i1 false
%83 = icmp eq i32 %21, %20
%84 = select i1 %82, i1 %83, i1 false
br i1 %84, label %95, label %85
85: ; preds = %61, %55, %49, %43, %37, %31, %72, %70, %67, %79, %75, %19
%86 = phi i32 [ %20, %72 ], [ %20, %70 ], [ %20, %67 ], [ %20, %79 ], [ %20, %75 ], [ %20, %19 ], [ %20, %31 ], [ %20, %37 ], [ %20, %43 ], [ %20, %49 ], [ %20, %55 ], [ %64, %61 ]
%87 = phi i32 [ %21, %72 ], [ %21, %70 ], [ %21, %67 ], [ %21, %79 ], [ %21, %75 ], [ %21, %19 ], [ %21, %31 ], [ %21, %37 ], [ %21, %43 ], [ %21, %49 ], [ %58, %55 ], [ %21, %61 ]
%88 = phi i32 [ %22, %72 ], [ %22, %70 ], [ %22, %67 ], [ %22, %79 ], [ %22, %75 ], [ %22, %19 ], [ %22, %31 ], [ %22, %37 ], [ %22, %43 ], [ %52, %49 ], [ %22, %55 ], [ %22, %61 ]
%89 = phi i32 [ %23, %72 ], [ %23, %70 ], [ %23, %67 ], [ %23, %79 ], [ %23, %75 ], [ %23, %19 ], [ %23, %31 ], [ %23, %37 ], [ %46, %43 ], [ %23, %49 ], [ %23, %55 ], [ %23, %61 ]
%90 = phi i32 [ %24, %72 ], [ %24, %70 ], [ %24, %67 ], [ %24, %79 ], [ %24, %75 ], [ %24, %19 ], [ %24, %31 ], [ %40, %37 ], [ %24, %43 ], [ %24, %49 ], [ %24, %55 ], [ %24, %61 ]
%91 = phi i32 [ %25, %72 ], [ %25, %70 ], [ %25, %67 ], [ %25, %79 ], [ %25, %75 ], [ %25, %19 ], [ %34, %31 ], [ %25, %37 ], [ %25, %43 ], [ %25, %49 ], [ %25, %55 ], [ %25, %61 ]
%92 = phi i8 [ 0, %72 ], [ 0, %70 ], [ %69, %67 ], [ 0, %79 ], [ %28, %75 ], [ %28, %19 ], [ %28, %31 ], [ %28, %37 ], [ %28, %43 ], [ %28, %49 ], [ %28, %55 ], [ %28, %61 ]
%93 = phi i8 [ %74, %72 ], [ %27, %70 ], [ %27, %67 ], [ 0, %79 ], [ %27, %75 ], [ %27, %19 ], [ %36, %31 ], [ %42, %37 ], [ %48, %43 ], [ %54, %49 ], [ %60, %55 ], [ %66, %61 ]
%94 = getelementptr inbounds i8, i8* %26, i64 1
br label %19
95: ; preds = %79
store i8 0, i8* %26
%96 = load i8*, i8** %1
%97 = getelementptr inbounds i8, i8* %96, i64 1
store i8* %97, i8** %1
ret i8* %97
}