#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 */
char gethex(int);
char getoctal(int);
char tolower(int);
int ReadChar(char **strptr, char *dest) {
  char c;
  int i;
  switch (c = *((*strptr)++)) {
  case '\\': {
    switch (c = tolower((int)*((*strptr)++))) {
    case '\n':
      return (0);
      break;
    case 'b':
      *dest = '\b';
      break;
    case 'c':
      *dest = '\233';
      break;
    case 'e':
      *dest = '\033';
      break;
    case 'f':
      *dest = '\f';
      break;
    case 'g':
      *dest = '\007';
      break;
    case 'n':
      *dest = '\n';
      break;
    case 'r':
      *dest = '\r';
      break;
    case 't':
      *dest = '\t';
      break;
    case 'v':
      *dest = '\013';
      break;
    case 'x': {
      *dest = gethex((int)**strptr);
      (*strptr)++;
      c = **strptr;
      if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') ||
          (c >= 'A' && c <= 'F')) {
        *dest = (*dest << 4) + gethex((int)c);
        (*strptr)++;
      }
    } break;
    case '0':
    case '1':
    case '2':
    case '3':
    case '4':
    case '5':
    case '6':
    case '7': {
      *dest = getoctal((int)c);
      for (i = 0; i < 2; i++) {
        c = **strptr;
        if (c >= '0' && c <= '7') {
          *dest = (*dest << 3) + getoctal((int)c);
          (*strptr)++;
        }
      }
    } break;
    case ')':
    case '\\':
      *(dest++) = '\\';
      *dest = c;
      return (2);
      break;
    default:
      *dest = c;
      break;
    }
  } break;
  default: {
    *dest = c;
  } break;
  }
  return (1);
}


x86 assembly (clang, -O0):
<ReadChar>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %rdi,-0x10(%rbp)
mov    %rsi,-0x18(%rbp)
mov    -0x10(%rbp),%rcx
mov    (%rcx),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,(%rcx)
mov    (%rax),%al
mov    %al,-0x19(%rbp)
sub    $0x5c,%al
jne    13a5 <ReadChar+0x275>
jmp    1163 <ReadChar+0x33>
mov    -0x10(%rbp),%rcx
mov    (%rcx),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,(%rcx)
movsbl (%rax),%edi
call   1040 <tolower@plt>
mov    %al,-0x19(%rbp)
movsbl %al,%eax
add    $0xfffffff6,%eax
mov    %eax,%ecx
mov    %rcx,-0x28(%rbp)
sub    $0x6e,%eax
ja     1397 <ReadChar+0x267>
mov    -0x28(%rbp),%rax
lea    0xe61(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movl   $0x0,-0x4(%rbp)
jmp    13b5 <ReadChar+0x285>
mov    -0x18(%rbp),%rax
movb   $0x8,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0x9b,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0x1b,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0xc,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0x7,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0xa,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0xd,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0x9,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
movb   $0xb,(%rax)
jmp    13a0 <ReadChar+0x270>
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
movsbl (%rax),%edi
call   1050 <gethex@plt>
mov    %al,%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%rcx
add    $0x1,%rcx
mov    %rcx,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
mov    (%rax),%al
mov    %al,-0x19(%rbp)
movsbl -0x19(%rbp),%eax
cmp    $0x30,%eax
jl     126b <ReadChar+0x13b>
movsbl -0x19(%rbp),%eax
cmp    $0x39,%eax
jle    129f <ReadChar+0x16f>
movsbl -0x19(%rbp),%eax
cmp    $0x61,%eax
jl     1285 <ReadChar+0x155>
movsbl -0x19(%rbp),%eax
cmp    $0x66,%eax
jle    129f <ReadChar+0x16f>
movsbl -0x19(%rbp),%eax
cmp    $0x41,%eax
jl     12d5 <ReadChar+0x1a5>
movsbl -0x19(%rbp),%eax
cmp    $0x46,%eax
jg     12d5 <ReadChar+0x1a5>
mov    -0x18(%rbp),%rax
movsbl (%rax),%eax
shl    $0x4,%eax
mov    %eax,-0x2c(%rbp)
movsbl -0x19(%rbp),%edi
call   1050 <gethex@plt>
mov    %al,%cl
mov    -0x2c(%rbp),%eax
movsbl %cl,%ecx
add    %ecx,%eax
mov    %al,%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%rcx
add    $0x1,%rcx
mov    %rcx,(%rax)
jmp    13a0 <ReadChar+0x270>
movsbl -0x19(%rbp),%edi
call   1030 <getoctal@plt>
mov    %al,%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
movl   $0x0,-0x20(%rbp)
cmpl   $0x2,-0x20(%rbp)
jge    136b <ReadChar+0x23b>
mov    -0x10(%rbp),%rax
mov    (%rax),%rax
mov    (%rax),%al
mov    %al,-0x19(%rbp)
movsbl -0x19(%rbp),%eax
cmp    $0x30,%eax
jl     1358 <ReadChar+0x228>
movsbl -0x19(%rbp),%eax
cmp    $0x37,%eax
jg     1358 <ReadChar+0x228>
mov    -0x18(%rbp),%rax
movsbl (%rax),%eax
shl    $0x3,%eax
mov    %eax,-0x30(%rbp)
movsbl -0x19(%rbp),%edi
call   1030 <getoctal@plt>
mov    %al,%cl
mov    -0x30(%rbp),%eax
movsbl %cl,%ecx
add    %ecx,%eax
mov    %al,%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
mov    -0x10(%rbp),%rax
mov    (%rax),%rcx
add    $0x1,%rcx
mov    %rcx,(%rax)
jmp    135d <ReadChar+0x22d>
mov    -0x20(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x20(%rbp)
jmp    12f2 <ReadChar+0x1c2>
jmp    13a0 <ReadChar+0x270>
mov    -0x18(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x18(%rbp)
movb   $0x5c,(%rax)
mov    -0x19(%rbp),%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
movl   $0x2,-0x4(%rbp)
jmp    13b5 <ReadChar+0x285>
mov    -0x19(%rbp),%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
jmp    13ae <ReadChar+0x27e>
mov    -0x19(%rbp),%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
movl   $0x1,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<ReadChar>:
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
mov    %rsi,%r14
mov    (%rdi),%rax
lea    0x1(%rax),%rcx
mov    %rcx,(%rdi)
mov    (%rax),%cl
cmp    $0x5c,%cl
jne    11e5 <ReadChar+0xb5>
mov    %rdi,%rbx
lea    0x2(%rax),%rcx
mov    %rcx,(%rdi)
movsbl 0x1(%rax),%edi
call   1040 <tolower@plt>
movsbl %al,%edi
lea    -0xa(%rdi),%ecx
cmp    $0x6e,%ecx
ja     1209 <ReadChar+0xd9>
xor    %ebp,%ebp
lea    0xe86(%rip),%rdx
movslq (%rdx,%rcx,4),%rcx
add    %rdx,%rcx
jmp    *%rcx
call   1030 <getoctal@plt>
mov    %eax,%ebp
mov    %al,(%r14)
mov    (%rbx),%rax
mov    (%rax),%al
mov    %eax,%ecx
and    $0xf8,%cl
cmp    $0x30,%cl
jne    11bb <ReadChar+0x8b>
movzbl %al,%edi
shl    $0x3,%bpl
call   1030 <getoctal@plt>
add    %bpl,%al
mov    %al,(%r14)
mov    (%rbx),%rax
lea    0x1(%rax),%rcx
mov    %rcx,(%rbx)
mov    0x1(%rax),%al
mov    %eax,%ecx
and    $0xf8,%cl
mov    $0x1,%ebp
cmp    $0x30,%cl
jne    11ed <ReadChar+0xbd>
movzbl %al,%edi
mov    (%r14),%r15b
shl    $0x3,%r15b
call   1030 <getoctal@plt>
add    %r15b,%al
mov    %al,(%r14)
addq   $0x1,(%rbx)
jmp    11ed <ReadChar+0xbd>
mov    %cl,(%r14)
mov    $0x1,%ebp
mov    %ebp,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret
movb   $0x5c,(%r14)
mov    %al,0x1(%r14)
mov    $0x2,%ebp
jmp    11ed <ReadChar+0xbd>
mov    %al,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0x8,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0x9b,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0x1b,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0xc,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0x7,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0xa,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0xd,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0x9,(%r14)
jmp    11e8 <ReadChar+0xb8>
movb   $0xb,(%r14)
jmp    11e8 <ReadChar+0xb8>
mov    (%rbx),%rax
movsbl (%rax),%edi
call   1050 <gethex@plt>
mov    %al,(%r14)
mov    (%rbx),%rax
lea    0x1(%rax),%rcx
mov    %rcx,(%rbx)
movsbl 0x1(%rax),%edi
lea    -0x30(%rdi),%eax
cmp    $0xa,%al
jb     128e <ReadChar+0x15e>
mov    $0x1,%ebp
lea    -0x41(%rdi),%eax
cmp    $0x25,%al
ja     11ed <ReadChar+0xbd>
movzbl %al,%eax
movabs $0x3f0000003f,%rcx
bt     %rax,%rcx
jae    11ed <ReadChar+0xbd>
mov    (%r14),%bpl
shl    $0x4,%bpl
call   1050 <gethex@plt>
add    %bpl,%al
mov    %al,(%r14)
addq   $0x1,(%rbx)
jmp    11e8 <ReadChar+0xb8>

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

LLVM IR (-O2):
define i32 @ReadChar(i8** nocapture %0, i8* nocapture %1) {
%3 = load i8*, i8** %0
%4 = getelementptr inbounds i8, i8* %3, i64 1
store i8* %4, i8** %0
%5 = load i8, i8* %3
%6 = icmp eq i8 %5, 92
br i1 %6, label %7, label %71
7: ; preds = %2
%8 = getelementptr inbounds i8, i8* %3, i64 2
store i8* %8, i8** %0
%9 = load i8, i8* %4
%10 = sext i8 %9 to i32
%11 = tail call signext i8 @tolower(i32 %10)
%12 = sext i8 %11 to i32
switch i32 %12, label %70 [
i32 10, label %72
i32 98, label %13
i32 99, label %14
i32 101, label %15
i32 102, label %16
i32 103, label %17
i32 110, label %18
i32 114, label %19
i32 116, label %20
i32 118, label %21
i32 120, label %22
i32 48, label %42
i32 49, label %42
i32 50, label %42
i32 51, label %42
i32 52, label %42
i32 53, label %42
i32 54, label %42
i32 55, label %42
i32 41, label %68
i32 92, label %68
]
13: ; preds = %7
store i8 8, i8* %1
br label %72
14: ; preds = %7
store i8 -101, i8* %1
br label %72
15: ; preds = %7
store i8 27, i8* %1
br label %72
16: ; preds = %7
store i8 12, i8* %1
br label %72
17: ; preds = %7
store i8 7, i8* %1
br label %72
18: ; preds = %7
store i8 10, i8* %1
br label %72
19: ; preds = %7
store i8 13, i8* %1
br label %72
20: ; preds = %7
store i8 9, i8* %1
br label %72
21: ; preds = %7
store i8 11, i8* %1
br label %72
22: ; preds = %7
%23 = load i8*, i8** %0
%24 = load i8, i8* %23
%25 = sext i8 %24 to i32
%26 = tail call signext i8 @gethex(i32 %25)
store i8 %26, i8* %1
%27 = load i8*, i8** %0
%28 = getelementptr inbounds i8, i8* %27, i64 1
store i8* %28, i8** %0
%29 = load i8, i8* %28
%30 = sext i8 %29 to i32
%31 = freeze i8 %29
%32 = add i8 %31, -48
%33 = icmp ult i8 %32, 10
br i1 %33, label %35, label %34
34: ; preds = %22
switch i8 %31, label %72 [
i8 102, label %35
i8 101, label %35
i8 100, label %35
i8 99, label %35
i8 98, label %35
i8 97, label %35
i8 70, label %35
i8 69, label %35
i8 68, label %35
i8 67, label %35
i8 66, label %35
i8 65, label %35
]
35: ; preds = %34, %34, %34, %34, %34, %34, %34, %34, %34, %34, %34, %34, %22
%36 = load i8, i8* %1
%37 = shl i8 %36, 4
%38 = tail call signext i8 @gethex(i32 %30)
%39 = add i8 %37, %38
store i8 %39, i8* %1
%40 = load i8*, i8** %0
%41 = getelementptr inbounds i8, i8* %40, i64 1
store i8* %41, i8** %0
br label %72
42: ; preds = %7, %7, %7, %7, %7, %7, %7, %7
%43 = tail call signext i8 @getoctal(i32 %12)
store i8 %43, i8* %1
%44 = load i8*, i8** %0
%45 = load i8, i8* %44
%46 = and i8 %45, -8
%47 = icmp eq i8 %46, 48
br i1 %47, label %48, label %56
48: ; preds = %42
%49 = zext i8 %45 to i32
%50 = shl i8 %43, 3
%51 = tail call signext i8 @getoctal(i32 %49)
%52 = add i8 %50, %51
store i8 %52, i8* %1
%53 = load i8*, i8** %0
%54 = getelementptr inbounds i8, i8* %53, i64 1
store i8* %54, i8** %0
%55 = load i8, i8* %54
br label %56
56: ; preds = %42, %48
%57 = phi i8 [ %45, %42 ], [ %55, %48 ]
%58 = and i8 %57, -8
%59 = icmp eq i8 %58, 48
br i1 %59, label %60, label %72
60: ; preds = %56
%61 = zext i8 %57 to i32
%62 = load i8, i8* %1
%63 = shl i8 %62, 3
%64 = tail call signext i8 @getoctal(i32 %61)
%65 = add i8 %63, %64
store i8 %65, i8* %1
%66 = load i8*, i8** %0
%67 = getelementptr inbounds i8, i8* %66, i64 1
store i8* %67, i8** %0
br label %72
68: ; preds = %7, %7
%69 = getelementptr inbounds i8, i8* %1, i64 1
store i8 92, i8* %1
store i8 %11, i8* %69
br label %72
70: ; preds = %7
store i8 %11, i8* %1
br label %72
71: ; preds = %2
store i8 %5, i8* %1
br label %72
72: ; preds = %56, %60, %34, %71, %35, %70, %21, %20, %19, %18, %17, %16, %15, %14, %13, %7, %68
%73 = phi i32 [ 2, %68 ], [ 0, %7 ], [ 1, %34 ], [ 1, %13 ], [ 1, %14 ], [ 1, %15 ], [ 1, %16 ], [ 1, %17 ], [ 1, %18 ], [ 1, %19 ], [ 1, %20 ], [ 1, %21 ], [ 1, %70 ], [ 1, %35 ], [ 1, %71 ], [ 1, %60 ], [ 1, %56 ]
ret i32 %73
}