__attribute__((visibility("hidden"))) void
output_upcean_split_text(int upceanflag, unsigned char text[],
                         unsigned char textpart1[5], unsigned char textpart2[7],
                         unsigned char textpart3[7],
                         unsigned char textpart4[2]) {
  int i;
  if (upceanflag == 6) {
    textpart1[0] = text[0];
    textpart1[1] = '\0';
    for (i = 0; i < 6; i++) {
      textpart2[i] = text[i + 1];
    }
    textpart2[6] = '\0';
    textpart3[0] = text[7];
    textpart3[1] = '\0';
  } else if (upceanflag == 8) {
    for (i = 0; i < 4; i++) {
      textpart1[i] = text[i];
    }
    textpart1[4] = '\0';
    for (i = 0; i < 4; i++) {
      textpart2[i] = text[i + 4];
    }
    textpart2[4] = '\0';
  } else if (upceanflag == 12) {
    textpart1[0] = text[0];
    textpart1[1] = '\0';
    for (i = 0; i < 5; i++) {
      textpart2[i] = text[i + 1];
    }
    textpart2[5] = '\0';
    for (i = 0; i < 5; i++) {
      textpart3[i] = text[i + 6];
    }
    textpart3[5] = '\0';
    textpart4[0] = text[11];
    textpart4[1] = '\0';
  } else if (upceanflag == 13) {
    textpart1[0] = text[0];
    textpart1[1] = '\0';
    for (i = 0; i < 6; i++) {
      textpart2[i] = text[i + 1];
    }
    textpart2[6] = '\0';
    for (i = 0; i < 6; i++) {
      textpart3[i] = text[i + 7];
    }
    textpart3[6] = '\0';
  }
}


x86 assembly (clang, -O0):
<output_upcean_split_text>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x4(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8,-0x28(%rbp)
mov    %r9,-0x30(%rbp)
cmpl   $0x6,-0x4(%rbp)
jne    1195 <output_upcean_split_text+0x95>
mov    -0x10(%rbp),%rax
mov    (%rax),%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
mov    -0x18(%rbp),%rax
movb   $0x0,0x1(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x6,-0x34(%rbp)
jge    1173 <output_upcean_split_text+0x73>
mov    -0x10(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x20(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1140 <output_upcean_split_text+0x40>
mov    -0x20(%rbp),%rax
movb   $0x0,0x6(%rax)
mov    -0x10(%rbp),%rax
mov    0x7(%rax),%cl
mov    -0x28(%rbp),%rax
mov    %cl,(%rax)
mov    -0x28(%rbp),%rax
movb   $0x0,0x1(%rax)
jmp    1390 <output_upcean_split_text+0x290>
cmpl   $0x8,-0x4(%rbp)
jne    1223 <output_upcean_split_text+0x123>
movl   $0x0,-0x34(%rbp)
cmpl   $0x4,-0x34(%rbp)
jge    11d4 <output_upcean_split_text+0xd4>
mov    -0x10(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x18(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    11a6 <output_upcean_split_text+0xa6>
mov    -0x18(%rbp),%rax
movb   $0x0,0x4(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x4,-0x34(%rbp)
jge    1216 <output_upcean_split_text+0x116>
mov    -0x10(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x20(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    11e3 <output_upcean_split_text+0xe3>
mov    -0x20(%rbp),%rax
movb   $0x0,0x4(%rax)
jmp    138b <output_upcean_split_text+0x28b>
cmpl   $0xc,-0x4(%rbp)
jne    12df <output_upcean_split_text+0x1df>
mov    -0x10(%rbp),%rax
mov    (%rax),%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
mov    -0x18(%rbp),%rax
movb   $0x0,0x1(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x5,-0x34(%rbp)
jge    127b <output_upcean_split_text+0x17b>
mov    -0x10(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x20(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1248 <output_upcean_split_text+0x148>
mov    -0x20(%rbp),%rax
movb   $0x0,0x5(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x5,-0x34(%rbp)
jge    12bd <output_upcean_split_text+0x1bd>
mov    -0x10(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x28(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    128a <output_upcean_split_text+0x18a>
mov    -0x28(%rbp),%rax
movb   $0x0,0x5(%rax)
mov    -0x10(%rbp),%rax
mov    0xb(%rax),%cl
mov    -0x30(%rbp),%rax
mov    %cl,(%rax)
mov    -0x30(%rbp),%rax
movb   $0x0,0x1(%rax)
jmp    1386 <output_upcean_split_text+0x286>
cmpl   $0xd,-0x4(%rbp)
jne    1381 <output_upcean_split_text+0x281>
mov    -0x10(%rbp),%rax
mov    (%rax),%cl
mov    -0x18(%rbp),%rax
mov    %cl,(%rax)
mov    -0x18(%rbp),%rax
movb   $0x0,0x1(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x6,-0x34(%rbp)
jge    1337 <output_upcean_split_text+0x237>
mov    -0x10(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x20(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1304 <output_upcean_split_text+0x204>
mov    -0x20(%rbp),%rax
movb   $0x0,0x6(%rax)
movl   $0x0,-0x34(%rbp)
cmpl   $0x6,-0x34(%rbp)
jge    1379 <output_upcean_split_text+0x279>
mov    -0x10(%rbp),%rax
mov    -0x34(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    (%rax,%rcx,1),%dl
mov    -0x28(%rbp),%rax
movslq -0x34(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1346 <output_upcean_split_text+0x246>
mov    -0x28(%rbp),%rax
movb   $0x0,0x6(%rax)
jmp    1386 <output_upcean_split_text+0x286>
jmp    138b <output_upcean_split_text+0x28b>
jmp    1390 <output_upcean_split_text+0x290>
pop    %rbp
ret

x86 assembly (clang, -O2):
<output_upcean_split_text>:
add    $0xfffffffa,%edi
cmp    $0x7,%edi
ja     1255 <output_upcean_split_text+0x155>
lea    0xeed(%rip),%rax
movslq (%rax,%rdi,4),%rdi
add    %rax,%rdi
jmp    *%rdi
mov    (%rsi),%al
mov    %al,(%rdx)
movb   $0x0,0x1(%rdx)
mov    0x1(%rsi),%al
mov    %al,(%rcx)
mov    0x2(%rsi),%al
mov    %al,0x1(%rcx)
mov    0x3(%rsi),%al
mov    %al,0x2(%rcx)
mov    0x4(%rsi),%al
mov    %al,0x3(%rcx)
mov    0x5(%rsi),%al
mov    %al,0x4(%rcx)
mov    0x6(%rsi),%al
mov    %al,0x5(%rcx)
movb   $0x0,0x6(%rcx)
mov    0x7(%rsi),%al
mov    %al,(%r8)
add    $0x1,%r8
jmp    124f <output_upcean_split_text+0x14f>
mov    (%rsi),%al
mov    %al,(%rdx)
mov    0x1(%rsi),%al
mov    %al,0x1(%rdx)
mov    0x2(%rsi),%al
mov    %al,0x2(%rdx)
mov    0x3(%rsi),%al
mov    %al,0x3(%rdx)
movb   $0x0,0x4(%rdx)
mov    0x4(%rsi),%al
mov    %al,(%rcx)
mov    0x5(%rsi),%al
mov    %al,0x1(%rcx)
mov    0x6(%rsi),%al
mov    %al,0x2(%rcx)
mov    0x7(%rsi),%al
mov    %al,0x3(%rcx)
add    $0x4,%rcx
jmp    1252 <output_upcean_split_text+0x152>
mov    (%rsi),%al
mov    %al,(%rdx)
movb   $0x0,0x1(%rdx)
mov    0x1(%rsi),%al
mov    %al,(%rcx)
mov    0x2(%rsi),%al
mov    %al,0x1(%rcx)
mov    0x3(%rsi),%al
mov    %al,0x2(%rcx)
mov    0x4(%rsi),%al
mov    %al,0x3(%rcx)
mov    0x5(%rsi),%al
mov    %al,0x4(%rcx)
movb   $0x0,0x5(%rcx)
mov    0x6(%rsi),%al
mov    %al,(%r8)
mov    0x7(%rsi),%al
mov    %al,0x1(%r8)
mov    0x8(%rsi),%al
mov    %al,0x2(%r8)
mov    0x9(%rsi),%al
mov    %al,0x3(%r8)
mov    0xa(%rsi),%al
mov    %al,0x4(%r8)
movb   $0x0,0x5(%r8)
mov    0xb(%rsi),%al
mov    %al,(%r9)
add    $0x1,%r9
mov    %r9,%rcx
jmp    1252 <output_upcean_split_text+0x152>
mov    (%rsi),%al
mov    %al,(%rdx)
movb   $0x0,0x1(%rdx)
mov    0x1(%rsi),%al
mov    %al,(%rcx)
mov    0x2(%rsi),%al
mov    %al,0x1(%rcx)
mov    0x3(%rsi),%al
mov    %al,0x2(%rcx)
mov    0x4(%rsi),%al
mov    %al,0x3(%rcx)
mov    0x5(%rsi),%al
mov    %al,0x4(%rcx)
mov    0x6(%rsi),%al
mov    %al,0x5(%rcx)
movb   $0x0,0x6(%rcx)
mov    0x7(%rsi),%al
mov    %al,(%r8)
mov    0x8(%rsi),%al
mov    %al,0x1(%r8)
mov    0x9(%rsi),%al
mov    %al,0x2(%r8)
mov    0xa(%rsi),%al
mov    %al,0x3(%r8)
mov    0xb(%rsi),%al
mov    %al,0x4(%r8)
mov    0xc(%rsi),%al
mov    %al,0x5(%r8)
add    $0x6,%r8
mov    %r8,%rcx
movb   $0x0,(%rcx)
ret

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

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